diff --git a/CHANGELOG.md b/CHANGELOG.md index d7cdf4864..094baef8b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## v1.0.6-beta.6 (2026-06-16) +- Added Agent Memory so agents can extract, manage, and reuse persistent memory in agent workflows +- Added DeepChat Tape view manifests and richer trace inspection for replay and context provenance +- Added drag-and-drop skill installation, MiniMax M3 handling, and refreshed provider/model and ACP registry data +- Improved workspace watching with a Parcel watcher utility host for large workspace reliability +- Fixed markdown code block scrollbar jitter, sidebar history pagination stalls, and cloned settings save payloads +- 新增 Agent Memory,让 Agent 工作流可以提取、管理并复用持久记忆 +- 新增 DeepChat Tape view manifest 与更完整的 trace 检查,支持 replay 和上下文来源追踪 +- 新增技能拖放安装、MiniMax M3 处理,并刷新 Provider/模型与 ACP registry 数据 +- 使用 Parcel watcher utility host 改进工作区监听,提升大型工作区可靠性 +- 修复 Markdown 代码块滚动条抖动、侧边栏历史分页卡住,以及设置保存 payload clone 问题 + ## v1.0.6-beta.5 (2026-06-11) - Fixed packaged app startup by bundling the OpenDAL native binding needed by cloud sync - 修复打包应用启动问题,补齐云同步所需的 OpenDAL native binding diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 51cb0c1de..63b65ff09 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -1,7 +1,7 @@ # DeepChat 当前架构概览 -本文档描述 `2026-05-28` 的主架构。当前目标不是再做一次全量 main-kernel rewrite, -而是维持 typed renderer-main boundary,并把新增能力接到既有 route/runtime owner 上。 +本文档描述 `2026-06-13` 的主架构。当前目标是维持 typed renderer-main boundary, +并把新增能力接到既有 route/runtime owner 上。 ## 主链路 @@ -27,8 +27,8 @@ flowchart LR - renderer 业务代码优先经过 `renderer/api/*Client`、`window.deepchat` 和 shared contracts。 - `src/main/routes/index.ts` 是 typed route dispatcher,并装配 settings、sessions、chat、 - providers、models、config、MCP、plugins、skills、sync、browser、database security、 - scheduled tasks 等 route。 + providers、models、config、MCP、plugins、skills、skill sync、sync、browser、workspace、 + onboarding、OAuth、knowledge、upgrade、dialog、tools、database security、scheduled tasks 等 route。 - presenter 仍是 runtime owner,但 route services 只通过窄 port 或明确 client 依赖使用它们。 - `SessionPresenter` 仍保留为 legacy 数据访问、导出和兼容边界,不再是当前聊天主链路 owner。 @@ -58,8 +58,10 @@ flowchart LR - `src/shared/contracts/routes*.ts` 与 `events*.ts` 是 migrated path 的契约真源。 - `src/preload/createBridge.ts` 统一 route invoke 和 typed event subscribe。 - `src/renderer/api/*Client.ts` 是组件和 store 的默认入口。 -- `src/renderer/api/legacy/**` 是唯一 legacy quarantine。当前保留 `presenters.ts`、 - `presenterTransport.ts`、`runtime.ts` 三个兼容文件;新业务模块不应直接导入 legacy transport。 +- `src/renderer/api/legacy/**` 已退休并从当前树删除;guard 会阻止它被重新创建。 +- raw IPC 只允许存在于 `createBridge`、`window.api` dedicated preload API 这类明确边界内, + 业务层不得直接调用 `presenter:call`、`remoteControlPresenter:call` 或 + `window.electron.ipcRenderer`。 ### 2. Main Route Runtime @@ -98,8 +100,9 @@ flowchart LR ## 防回归规则 - 新 renderer-main 能力默认走 `renderer/api/*Client` + `window.deepchat` + shared contracts。 -- legacy transport 只能留在 `src/renderer/api/legacy/**`,不新增第二个 quarantine 目录。 -- `scripts/architecture-guard.mjs` 固定 quarantine 文件数、检测 direct legacy transport、 +- legacy transport 已退休;不要重新创建 `src/renderer/api/legacy/**`,也不要新增第二个 + compatibility quarantine。确有兼容需要时,应先定义窄 typed route/event 或专用 preload API。 +- `scripts/architecture-guard.mjs` 检测 direct legacy transport、已退休 legacy 目录、 并读取 `docs/architecture/baselines/main-kernel-bridge-register.json`。 - `scripts/agent-cleanup-guard.mjs` 用于防止已退休 agent runtime 入口回流。 diff --git a/docs/README.md b/docs/README.md index d16216fff..b4d0e780b 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,8 +1,8 @@ # DeepChat 文档索引 -本文档反映 `2026-05-28` 的当前代码结构。历史 SDD 已清理为“活跃目标才保留”的模型: -已经落地的实现只在当前项目文档中保留维护信息,不再保留一次性 `spec/plan/tasks` -过程文档。 +本文档反映 `2026-06-13` 的当前代码结构。历史 SDD 已清理为“活跃目标保留三件套、 +已落地目标只保留 durable spec”的模型:`plan.md` / `tasks.md` 只服务当前执行,已完成目标 +只在 `spec.md` 保留仍有维护价值的契约和回归语义。 当前 renderer-main 默认路径是 typed client / typed event: @@ -16,9 +16,9 @@ Renderer -> agentSessionPresenter / agentRuntimePresenter / toolPresenter / llmProviderPresenter ``` -`useLegacyPresenter()`、`window.electron`、`window.api` 只允许作为兼容路径留在 -`src/renderer/api/legacy/**` quarantine 中。业务模块的新能力应从 `renderer/api/*Client` -和 shared contracts 进入。 +`useLegacyPresenter()`、`presenter:call`、`remoteControlPresenter:call` 和 +`src/renderer/api/legacy/**` 已经退休。业务模块的新能力应从 `renderer/api/*Client` 和 +shared contracts 进入;少数仍需要 raw IPC 的能力只能封装在明确 allowlist 的 preload/API 边界内。 ## 当前必读 @@ -39,14 +39,10 @@ Renderer | 文档 | 用途 | | --- | --- | -| [architecture/baselines/dependency-report.md](./architecture/baselines/dependency-report.md) | 当前依赖与耦合基线 | -| [architecture/baselines/main-kernel-boundary-baseline.md](./architecture/baselines/main-kernel-boundary-baseline.md) | renderer-main 边界指标与 hot path 快照 | -| [architecture/baselines/main-kernel-bridge-register.md](./architecture/baselines/main-kernel-bridge-register.md) | legacy bridge 登记表 | -| [architecture/baselines/main-kernel-migration-scoreboard.md](./architecture/baselines/main-kernel-migration-scoreboard.md) | typed-boundary migration scoreboard | -| [architecture/baselines/test-failure-groups.md](./architecture/baselines/test-failure-groups.md) | 测试失败分组基线 | +| [architecture/baselines/main-kernel-bridge-register.json](./architecture/baselines/main-kernel-bridge-register.json) | `architecture-guard` 读取的 legacy bridge 机器登记表 | -这些基线由 `scripts/generate-architecture-baseline.mjs` 生成,`scripts/architecture-guard.mjs` -会读取其中的 JSON 文件。它们不是历史 SDD,不应随 completed feature 文档一起删除。 +其它 dependency、scoreboard、test failure、zero-inbound 报表属于按需生成的审计快照。当前代码 +需要重新审计时,运行 `pnpm run architecture:baseline` 生成临时报表并按需提交。 ## 当前代码地图 @@ -62,24 +58,24 @@ docs/ │ ├── tool-system.md │ └── baselines/ ├── features/ -│ └── / +│ └── / ├── issues/ -│ └── / +│ └── / ├── guides/ │ ├── getting-started.md │ ├── code-navigation.md -│ ├── debugging.md │ └── plugin-packaging.md └── spec-driven-dev.md ``` ## SDD 保留规则 -- `docs/features/**`、`docs/issues/**`、`docs/architecture/**` 下的 goal folder 只表示活跃目标。 -- 已实现能力要把当前维护事实并入 `README.md`、`ARCHITECTURE.md`、`FLOWS.md` 或对应 guide, - 然后删除旧 SDD 文件夹。 -- bug 修复类 issue SDD 超过两周即清理;按当前日期 `2026-05-28`,本次清理 cutoff 为 - `2026-05-14` 之前。 +- `docs/features/**`、`docs/issues/**`、`docs/architecture/**` 下的 active goal folder 保留 + `spec.md`、`plan.md`、`tasks.md`。 +- 已实现能力只保留仍有维护价值的 `spec.md`;删除对应 `plan.md` / `tasks.md`。 +- 已实现能力的当前维护事实也要并入 `README.md`、`ARCHITECTURE.md`、`FLOWS.md` 或对应 guide。 +- bug 修复类 issue SDD 超过两周即清理;按当前日期 `2026-06-13`,本次清理 cutoff 为 + `2026-05-30` 之前。 - 过期、未开工、只描述旧实现或旧分支的 SDD 直接删除。 ## 阅读建议 diff --git a/docs/architecture/agent-fff-node-api-search/plan.md b/docs/architecture/agent-fff-node-api-search/plan.md deleted file mode 100644 index b29072ed3..000000000 --- a/docs/architecture/agent-fff-node-api-search/plan.md +++ /dev/null @@ -1,156 +0,0 @@ -# Agent FFF Node API Search Plan - -## Architecture - -```mermaid -flowchart TD - M["Agent model"] --> T["DeepChat tool layer"] - T --> FF["glob"] - T --> FG["grep"] - FF --> S["FffSearchService"] - FG --> S - W["Workspace file picker"] --> G["FffSearchService.globFiles"] - S --> N["@ff-labs/fff-node FileFinder"] -``` - -The model never receives FFF binding details and never receives shell-search guidance. -DeepChat-owned code no longer spawns or injects bundled ripgrep. - -## Implementation Steps - -1. Add FFF Node dependency. - - Add `@ff-labs/fff-node`. - - Keep the import isolated behind `FffSearchService` so native load errors become typed - `FffSearchUnavailableError` failures. - -2. Build `FffSearchService`. - - Cache one `FileFinder` per workspace root. - - Wait for the initial scan before serving requests. - - Support `AbortSignal` during scan waits and before each search call. - - Implement: - - `findFiles(query, options)` with `fileSearch` - - `grep(query, options)` with `grep`, regex-like query detection, and full snippet hydration - - `globFiles(pattern, options)` with `glob` - - Normalize output to JSON-safe `{ path, score }` and - `{ path, lineNumber, snippet, score }`. - -3. Add agent tool handler. - - Validate arguments with zod. - - Enforce path scope permissions with `AgentFileSystemHandler`. - - Return JSON arrays and `source: "fff"` metadata. - - Do not catch FFF unavailable errors for fallback. - -4. Integrate with `AgentToolManager`. - - Register schemas and tool definitions for `glob` and `grep`. - - Route tool calls through `AgentFffSearchHandler`. - - Map legacy skill/search names to the FFF tools. - - Update read-permission target collection for `pathScope`. - - Clean legacy persisted disabled-tool `grep` values so old settings do not disable the new - FFF-backed `grep` tool. - -5. Update prompts. - - Search order: `glob -> grep -> read`. - - Forbid shell search commands and command generation for code search. - - Remove positive recommendations for `rg`, shell `grep`, `find`, `fd`, and `ls` as search tools. - -6. Remove ripgrep fallback and runtime injection. - - Delete `FffRipgrepFallback`. - - Delete legacy `runRipgrepSearch`. - - Remove ripgrep path discovery from `RuntimeHelper`. - - Remove ripgrep from bundled PATH construction. - - Remove `rg` command replacement from `replaceWithRuntimeCommand`. - - Remove `tiny-runtime-injector --type ripgrep` from all runtime install scripts. - -7. Move workspace file picker search to FFF. - - Replace `RipgrepSearcher.files()` with `FffSearchService.globFiles()`. - - Keep default directory exclusions in TypeScript. - - Delete `ripgrepSearcher.ts`. - -8. Keep packaged native loading compatible with macOS signing. - - Add `asarUnpack` entries for `@ff-labs/fff-node`, `@ff-labs/fff-bin-*`, `ffi-rs`, and - `@yuuang/ffi-rs-*`. - - In `afterPack`, copy the target `@ff-labs/fff-bin-*` package into unpacked node_modules when - Electron Builder misses the transitive optional dependency under pnpm. - - Let the existing Electron Builder mac signing flow sign unpacked native files inside - `Contents/Resources/app.asar.unpacked`. - - Do not add a runtime `rg` fallback or manual shell search path. - -## Prompt Template - -```text -Use structured file search tools for codebase navigation. - -Search order: -1. Call glob when you need candidate file paths. -2. Call grep when you need content matches, optionally scoped to candidate paths. -3. Call read only after search has identified files worth opening. - -Do not call shell commands for search. Do not generate rg, shell grep, find, fd, or ls commands, and do not use exec for code search. -Return and consume search results as JSON objects with path, lineNumber, snippet, and score fields. -``` - -## Testing Plan - -- Unit test `FffSearchService`: - - file search mapping - - grep mapping and context snippets - - glob mapping - - initial scan timeout - - abort during initial scan -- Unit test `AgentFffSearchHandler`: - - JSON output shape - - unavailable FFF error without fallback - - path scope permission rejection - - argument validation -- Unit test `AgentToolManager`: - - tool definitions expose both FFF-backed search tools - - `glob` and `grep` return visible JSON and raw metadata -- Unit test prompt/mapping: - - prompt includes FFF search guidance - - prompt does not recommend shell search - - legacy aliases resolve to FFF tools -- Unit test workspace search: - - uses FFF glob search - - preserves default excludes -- Runtime helper tests: - - bundled runtime PATH no longer includes ripgrep - - `rg` is not mapped to a bundled runtime command -- Build config tests: - - FFF and `ffi-rs` native dependency packages are explicitly listed in `asarUnpack` - -## Validation Commands - -```bash -pnpm run format -pnpm run i18n -pnpm run lint -pnpm run typecheck -pnpm exec vitest run --project main \ - test/main/build/electronBuilderConfig.test.ts \ - test/main/lib/agentRuntime/fffSearchService.test.ts \ - test/main/lib/runtimeHelper.test.ts \ - test/main/presenter/workspacePresenter/fileSearcher.test.ts \ - test/main/presenter/toolPresenter/agentTools/agentFffSearchHandler.test.ts \ - test/main/presenter/toolPresenter/agentTools/agentToolManagerFffSearch.test.ts \ - test/main/presenter/toolPresenter/toolPresenter.test.ts \ - test/main/presenter/skillPresenter/toolNameMapping.test.ts \ - test/main/scripts/afterPack.test.ts -pnpm exec electron-builder --dir --mac --arm64 -c.mac.identity=- -c.publish=never -``` - -Full `pnpm test` should be run when possible, but this branch may inherit unrelated existing test -failures from the repository. - -## Risk Notes - -- FFF native loading can fail on unsupported or improperly signed platforms. This is surfaced as a - tool error instead of falling back to shell search. -- macOS packaging needs the FFF/`ffi-rs` native dependency chain unpacked from ASAR so the existing - codesign/notarization flow sees real `.node` and `.dylib` files. -- mac x64 and arm64 builds require the matching optional `@ff-labs/fff-bin-darwin-*` package to be - installed on the packaging host; `afterPack` fails early if the target package is missing instead - of shipping a broken native loader. -- FFF warm repeated searches should outperform repeated process-based search. Cold startup can - include indexing cost. -- Removing bundled ripgrep install means any user shell command named `rg` will use the user's own - PATH, not a DeepChat-provided binary. diff --git a/docs/architecture/agent-fff-node-api-search/tasks.md b/docs/architecture/agent-fff-node-api-search/tasks.md deleted file mode 100644 index 44b7dfa66..000000000 --- a/docs/architecture/agent-fff-node-api-search/tasks.md +++ /dev/null @@ -1,82 +0,0 @@ -# Agent FFF Node API Search Tasks - -## Spec And Design - -- [x] Create SDD folder under `docs/architecture/agent-fff-node-api-search/`. -- [x] Define FFF-only search behavior and JSON result shape. -- [x] Document `glob` and `grep` tool schemas. -- [x] Document search order: `glob -> grep -> read`. -- [x] Revise design to remove ripgrep fallback and bundled ripgrep injection. - -## FFF Service - -- [x] Add `@ff-labs/fff-node` dependency. -- [x] Implement `FffSearchService.findFiles()`. -- [x] Implement `FffSearchService.grep()`. -- [x] Support regex-like `grep` queries and hydrate full snippets from disk. -- [x] Implement `FffSearchService.globFiles()` for workspace file picker search. -- [x] Cache `FileFinder` instances by workspace root. -- [x] Support abort during initial scan wait and search calls. -- [x] Return stable JSON-safe fields: `path`, `lineNumber`, `snippet`, `score`. - -## Agent Tool Integration - -- [x] Add `AgentFffSearchHandler`. -- [x] Validate tool arguments with zod. -- [x] Enforce path-scope read permissions. -- [x] Register `glob` and `grep` in `AgentToolManager`. -- [x] Return visible JSON content plus raw `source: "fff"` metadata. -- [x] Map legacy skill/search names to FFF tool names. -- [x] Clean legacy persisted disabled-tool `grep` values without blocking new `grep` updates. - -## Prompt Updates - -- [x] Add FFF search guidance to agent filesystem prompt. -- [x] Remove positive `rg`, shell `grep`, `find`, `fd`, and `ls` search recommendations. -- [x] Tell the model not to use shell commands for code search. -- [x] Update default system prompt search guidance. - -## Ripgrep Removal - -- [x] Delete `FffRipgrepFallback`. -- [x] Delete `runRipgrepSearch` from the legacy filesystem handler. -- [x] Remove ripgrep discovery from `RuntimeHelper`. -- [x] Remove ripgrep from bundled runtime PATH injection. -- [x] Remove `rg` replacement from `replaceWithRuntimeCommand`. -- [x] Remove `tiny-runtime-injector --type ripgrep` from runtime install scripts. -- [x] Delete workspace `ripgrepSearcher.ts`. -- [x] Replace workspace file search with FFF glob search. - -## Tests - -- [x] Add FFF service unit tests for file, grep, glob, timeout, and abort behavior. -- [x] Add FFF handler tests for JSON output, unavailable error, validation, and permissions. -- [x] Add tool manager tests for `glob` and `grep`. -- [x] Add prompt/tool-name mapping tests. -- [x] Add workspace file search test for FFF glob and default excludes. -- [x] Update runtime helper tests after ripgrep removal. -- [x] Add build config test for FFF native dependency ASAR unpacking. - -## Packaging - -- [x] Check whether FFF native dependencies affect macOS signing/package loading. -- [x] Unpack `@ff-labs/fff-node`, `@ff-labs/fff-bin-*`, `ffi-rs`, and `@yuuang/ffi-rs-*` for - packaged app loading and macOS codesign visibility. -- [x] Copy target `@ff-labs/fff-bin-*` package during `afterPack` when electron-builder misses the - transitive optional dependency under pnpm. -- [x] Verify an unpacked macOS package contains FFF native files under `app.asar.unpacked`. -- [x] Cover both darwin arm64 and x64 FFF native package copying in `afterPack` tests. - -## Validation - -- [x] Run `pnpm run format`. -- [x] Run `pnpm run i18n`. -- [x] Run `pnpm run lint`. -- [x] Run `pnpm run typecheck`. -- [x] Run focused main tests listed in `plan.md`. -- [x] Run or document full `pnpm test` status: full suite currently fails with existing - unrelated failures outside this FFF change. -- [x] Start a separate review agent. -- [x] Fix review findings. -- [x] Run focused build config and `afterPack` tests. -- [x] Commit, push, and create MR against `dev`. diff --git a/docs/architecture/agent-runtime-presenter-split/spec.md b/docs/architecture/agent-runtime-presenter-split/spec.md index d8e430139..82804c2b9 100644 --- a/docs/architecture/agent-runtime-presenter-split/spec.md +++ b/docs/architecture/agent-runtime-presenter-split/spec.md @@ -5,7 +5,7 @@ ## Problem -`src/main/presenter/agentRuntimePresenter/index.ts` is 5681 lines with 209 methods +`src/main/presenter/agentRuntimePresenter/index.ts` is 5656 lines with 209 methods (42 public, ~167 private). It is the core of the agent loop and the most frequently modified file in the codebase, which makes it: @@ -45,7 +45,7 @@ From the 42 public methods: - [NEEDS CLARIFICATION] Shared mutable state audit: which private fields are touched by more than one cluster (e.g. generation tokens vs. pending-input state)? The split boundary may need a small shared `runtimeState` object instead of per-service ownership. -- [NEEDS CLARIFICATION] `agentSessionPresenter` (3922 lines) holds a parallel structure; decide +- [NEEDS CLARIFICATION] `agentSessionPresenter` (3898 lines) holds a parallel structure; decide whether to split it in the same effort or sequence it after. ## Success criteria diff --git a/docs/architecture/baselines/archive-reference-report.md b/docs/architecture/baselines/archive-reference-report.md deleted file mode 100644 index b74b85edc..000000000 --- a/docs/architecture/baselines/archive-reference-report.md +++ /dev/null @@ -1,6 +0,0 @@ -# Archive Reference Baseline - -Generated on 2026-04-20. - -- Total references: 0 - diff --git a/docs/architecture/baselines/dependency-report.md b/docs/architecture/baselines/dependency-report.md deleted file mode 100644 index fbcd0ff9d..000000000 --- a/docs/architecture/baselines/dependency-report.md +++ /dev/null @@ -1,117 +0,0 @@ -# Dependency Baseline - -Generated on 2026-04-20. - -## main - -- Total files: 360 -- Internal dependency edges: 913 -- Cycles detected: 30 - -### Top outgoing dependencies - -- `presenter\index.ts`: 42 -- `presenter\configPresenter\index.ts`: 23 -- `presenter\agentRuntimePresenter\index.ts`: 22 -- `presenter\lifecyclePresenter\hooks\index.ts`: 17 -- `presenter\sqlitePresenter\index.ts`: 17 -- `presenter\sqlitePresenter\schemaCatalog.ts`: 17 -- `presenter\llmProviderPresenter\index.ts`: 14 -- `presenter\remoteControlPresenter\index.ts`: 14 -- `presenter\toolPresenter\agentTools\agentToolManager.ts`: 14 -- `presenter\agentSessionPresenter\index.ts`: 13 -- `presenter\llmProviderPresenter\acp\index.ts`: 12 -- `presenter\filePresenter\mime.ts`: 11 -- `presenter\llmProviderPresenter\managers\providerInstanceManager.ts`: 11 -- `presenter\mcpPresenter\inMemoryServers\builder.ts`: 11 -- `presenter\skillSyncPresenter\adapters\index.ts`: 11 - -### Top incoming dependencies - -- `eventbus.ts`: 56 -- `events.ts`: 56 -- `presenter\index.ts`: 44 -- `presenter\remoteControlPresenter\types.ts`: 37 -- `presenter\remoteControlPresenter\services\remoteBindingStore.ts`: 22 -- `routes\publishDeepchatEvent.ts`: 19 -- `presenter\sqlitePresenter\tables\baseTable.ts`: 17 -- `presenter\remoteControlPresenter\services\remoteConversationRunner.ts`: 16 -- `presenter\sqlitePresenter\index.ts`: 12 -- `presenter\filePresenter\BaseFileAdapter.ts`: 11 -- `presenter\llmProviderPresenter\baseProvider.ts`: 11 -- `lib\runtimeHelper.ts`: 8 -- `presenter\configPresenter\acpRegistryConstants.ts`: 8 -- `presenter\remoteControlPresenter\types\channel.ts`: 8 -- `lib\agentRuntime\sessionPaths.ts`: 7 - -### Cycle samples - -- `presenter\index.ts -> presenter\windowPresenter\index.ts -> presenter\index.ts` -- `presenter\index.ts -> presenter\windowPresenter\index.ts -> presenter\tabPresenter.ts -> presenter\index.ts` -- `presenter\index.ts -> presenter\windowPresenter\index.ts -> presenter\windowPresenter\FloatingChatWindow.ts -> presenter\index.ts` -- `presenter\index.ts -> presenter\shortcutPresenter.ts -> presenter\index.ts` -- `presenter\index.ts -> presenter\llmProviderPresenter\index.ts -> presenter\llmProviderPresenter\baseProvider.ts -> presenter\devicePresenter\index.ts -> presenter\index.ts` -- `presenter\index.ts -> presenter\llmProviderPresenter\index.ts -> presenter\llmProviderPresenter\managers\providerInstanceManager.ts -> presenter\llmProviderPresenter\providers\githubCopilotProvider.ts -> presenter\githubCopilotDeviceFlow.ts -> presenter\index.ts` -- `presenter\index.ts -> presenter\llmProviderPresenter\index.ts -> presenter\llmProviderPresenter\managers\providerInstanceManager.ts -> presenter\llmProviderPresenter\providers\ollamaProvider.ts -> presenter\llmProviderPresenter\aiSdk\index.ts -> presenter\llmProviderPresenter\aiSdk\runtime.ts -> presenter\index.ts` -- `presenter\filePresenter\mime.ts -> presenter\filePresenter\CsvFileAdapter.ts -> presenter\filePresenter\BaseFileAdapter.ts -> presenter\filePresenter\mime.ts` -- `presenter\index.ts -> presenter\sessionPresenter\index.ts -> presenter\index.ts` -- `presenter\index.ts -> presenter\sessionPresenter\index.ts -> presenter\sessionPresenter\managers\conversationManager.ts -> presenter\index.ts` -- `presenter\index.ts -> presenter\upgradePresenter\index.ts -> presenter\index.ts` -- `presenter\index.ts -> presenter\mcpPresenter\index.ts -> presenter\mcpPresenter\serverManager.ts -> presenter\mcpPresenter\mcpClient.ts -> presenter\index.ts` -- `presenter\index.ts -> presenter\mcpPresenter\index.ts -> presenter\mcpPresenter\serverManager.ts -> presenter\mcpPresenter\mcpClient.ts -> presenter\mcpPresenter\inMemoryServers\builder.ts -> presenter\mcpPresenter\inMemoryServers\deepResearchServer.ts -> presenter\index.ts` -- `presenter\index.ts -> presenter\mcpPresenter\index.ts -> presenter\mcpPresenter\serverManager.ts -> presenter\mcpPresenter\mcpClient.ts -> presenter\mcpPresenter\inMemoryServers\builder.ts -> presenter\mcpPresenter\inMemoryServers\autoPromptingServer.ts -> presenter\index.ts` -- `presenter\index.ts -> presenter\mcpPresenter\index.ts -> presenter\mcpPresenter\serverManager.ts -> presenter\mcpPresenter\mcpClient.ts -> presenter\mcpPresenter\inMemoryServers\builder.ts -> presenter\mcpPresenter\inMemoryServers\conversationSearchServer.ts -> presenter\index.ts` -- `presenter\index.ts -> presenter\mcpPresenter\index.ts -> presenter\mcpPresenter\serverManager.ts -> presenter\mcpPresenter\mcpClient.ts -> presenter\mcpPresenter\inMemoryServers\builder.ts -> presenter\mcpPresenter\inMemoryServers\builtinKnowledgeServer.ts -> presenter\index.ts` -- `presenter\index.ts -> presenter\mcpPresenter\index.ts -> presenter\mcpPresenter\toolManager.ts -> presenter\index.ts` -- `presenter\index.ts -> presenter\mcpPresenter\index.ts -> presenter\index.ts` -- `presenter\sqlitePresenter\index.ts -> presenter\agentSessionPresenter\legacyImportService.ts -> presenter\sqlitePresenter\index.ts` -- `presenter\index.ts -> presenter\syncPresenter\index.ts -> presenter\index.ts` - -## renderer - -- Total files: 220 -- Internal dependency edges: 376 -- Cycles detected: 3 - -### Top outgoing dependencies - -- `App.vue`: 25 -- `pages\ChatPage.vue`: 16 -- `components\message\MessageItemAssistant.vue`: 15 -- `i18n\index.ts`: 12 -- `components\chat\ChatStatusBar.vue`: 9 -- `views\ChatTabView.vue`: 9 -- `components\ChatConfig.vue`: 8 -- `components\mcp-config\components\McpServers.vue`: 8 -- `components\sidepanel\viewer\WorkspacePreviewPane.vue`: 8 -- `components\sidepanel\WorkspacePanel.vue`: 8 -- `pages\NewThreadPage.vue`: 8 -- `components\markdown\MarkdownRenderer.vue`: 7 -- `components\mcp-config\components\index.ts`: 7 -- `components\message\MessageBlockContent.vue`: 7 -- `lib\storeInitializer.ts`: 7 - -### Top incoming dependencies - -- `components\chat\messageListItems.ts`: 16 -- `stores\ui\session.ts`: 16 -- `stores\artifact.ts`: 13 -- `stores\providerStore.ts`: 13 -- `stores\theme.ts`: 12 -- `stores\ui\agent.ts`: 12 -- `stores\modelStore.ts`: 10 -- `stores\ui\sidepanel.ts`: 10 -- `stores\uiSettingsStore.ts`: 10 -- `stores\mcp.ts`: 8 -- `components\icons\ModelIcon.vue`: 6 -- `components\use-toast.ts`: 6 -- `stores\language.ts`: 6 -- `stores\ui\draft.ts`: 5 -- `stores\ui\pageRouter.ts`: 5 - -### Cycle samples - -- `components\json-viewer\JsonValue.ts -> components\json-viewer\JsonObject.ts -> components\json-viewer\JsonValue.ts` -- `components\json-viewer\JsonValue.ts -> components\json-viewer\JsonArray.ts -> components\json-viewer\JsonValue.ts` -- `composables\usePageCapture.example.ts -> composables\usePageCapture.example.ts` - diff --git a/docs/architecture/baselines/main-kernel-boundary-baseline.md b/docs/architecture/baselines/main-kernel-boundary-baseline.md deleted file mode 100644 index 52844fc24..000000000 --- a/docs/architecture/baselines/main-kernel-boundary-baseline.md +++ /dev/null @@ -1,114 +0,0 @@ -# Main Kernel Boundary Baseline - -Generated on 2026-04-20. -Current phase: P5. - -## Metric Snapshot - -| Metric | Value | -| --- | --- | -| `renderer.usePresenter.count` | 1 | -| `renderer.business.usePresenter.count` | 0 | -| `renderer.quarantine.usePresenter.count` | 1 | -| `renderer.windowElectron.count` | 2 | -| `renderer.business.windowElectron.count` | 0 | -| `renderer.quarantine.windowElectron.count` | 2 | -| `renderer.windowApi.count` | 2 | -| `renderer.business.windowApi.count` | 0 | -| `renderer.quarantine.windowApi.count` | 2 | -| `renderer.quarantine.sourceFile.count` | 3 | -| `hotpath.presenterEdge.count` | 10 | -| `runtime.rawTimer.count` | 122 | -| `migrated.rawChannel.count` | 4 | -| `bridge.active.count` | 0 | -| `bridge.expired.count` | 0 | - -## Renderer Single-Track Split - -- Business layer: `src/renderer/src/**` -- Quarantine layer: `src/renderer/api/legacy/**` - -| Legacy surface | Business layer | Quarantine layer | Total | -| --- | --- | --- | --- | -| legacy presenter helper | 0 | 1 | 1 | -| `window.electron` | 0 | 2 | 2 | -| `window.api` | 0 | 2 | 2 | - -## Quarantine Exit Snapshot - -- Retained capability family: `renderer legacy transport` -- Source files: 3 / 3 -- Delete condition: remove after settings compatibility surfaces stop importing the quarantine adapters. - -- `src/renderer/api/legacy/presenterTransport.ts` -- `src/renderer/api/legacy/presenters.ts` -- `src/renderer/api/legacy/runtime.ts` - -## Phase Gates - -| Phase | Gate indicator | Current signal | Status | -| --- | --- | --- | --- | -| `P0` | Fixed quarantine path `src/renderer/api/legacy/**` exists and baseline emits business/quarantine split metrics | `src/renderer/api/legacy/**` exists; split metrics emitted | ready | -| `P1` | Business layer direct legacy presenter helper / `window.electron` / `window.api` counts must reach `0` | legacyPresenter=0, window.electron=0, window.api=0 | ready | -| `P2` | Business layer `configPresenter` and `llmproviderPresenter` hits must reach `0` | configPresenter=0, llmproviderPresenter=0 | ready | -| `P3` | Business layer window/device/workspace/project/file/browser/tab presenter hits must reach `0` | window=0, device=0, workspace=0, project=0, file=0, browser=0, tab=0 | ready | -| `P4` | Business layer session residual / skill / mcp / sync / upgrade / dialog / tool presenter hits must reach `0` | agentSession=0, skill=0, mcp=0, sync=0, upgrade=0, dialog=0, tool=0 | ready | -| `P5` | Business layer direct legacy access must be `0`, and quarantine source files must satisfy the exit standard (`<= 3` source files) | businessLegacy=0/0/0, quarantineSourceFiles=3/3 | ready | - -## Hot Path Direct Dependencies - -- Direct edge count: 10 - -- `src/main/presenter/agentRuntimePresenter/index.ts -> src/main/eventbus.ts` -- `src/main/presenter/agentSessionPresenter/index.ts -> src/main/eventbus.ts` -- `src/main/presenter/index.ts -> src/main/eventbus.ts` -- `src/main/presenter/index.ts -> src/main/presenter/agentRuntimePresenter/index.ts` -- `src/main/presenter/index.ts -> src/main/presenter/agentSessionPresenter/index.ts` -- `src/main/presenter/index.ts -> src/main/presenter/llmProviderPresenter/index.ts` -- `src/main/presenter/index.ts -> src/main/presenter/sessionPresenter/index.ts` -- `src/main/presenter/llmProviderPresenter/index.ts -> src/main/eventbus.ts` -- `src/main/presenter/sessionPresenter/index.ts -> src/main/eventbus.ts` -- `src/main/presenter/sessionPresenter/index.ts -> src/main/presenter/index.ts` - -## Renderer legacy presenter helpers - -- Total count: 1 - -- `src/renderer/api/legacy/presenters.ts`: 1 - -## Renderer window.electron - -- Total count: 2 - -- `src/renderer/api/legacy/presenterTransport.ts`: 1 -- `src/renderer/api/legacy/runtime.ts`: 1 - -## Renderer window.api - -- Total count: 2 - -- `src/renderer/api/legacy/runtime.ts`: 2 - -## Raw Timers - -- Total count: 122 - -- `src/main/presenter/githubCopilotDeviceFlow.ts`: 6 -- `src/main/presenter/browser/BrowserTab.ts`: 5 -- `src/main/presenter/devicePresenter/index.ts`: 5 -- `src/renderer/src/components/message/MessageToolbar.vue`: 4 -- `src/renderer/src/composables/message/useMessageScroll.ts`: 4 -- `src/main/lib/agentRuntime/backgroundExecSessionManager.ts`: 3 -- `src/main/presenter/configPresenter/acpInitHelper.ts`: 3 -- `src/main/presenter/skillPresenter/skillExecutionService.ts`: 3 -- `src/main/presenter/tabPresenter.ts`: 3 -- `src/main/presenter/upgradePresenter/index.ts`: 3 -- `src/renderer/src/stores/mcp.ts`: 3 -- `src/main/lib/agentRuntime/rtkRuntimeService.ts`: 2 - -## Migrated Path Raw Channel Literals - -- Total count: 4 - -- `src/main/presenter/windowPresenter/index.ts`: 4 - diff --git a/docs/architecture/baselines/main-kernel-bridge-register.md b/docs/architecture/baselines/main-kernel-bridge-register.md deleted file mode 100644 index 4aa184760..000000000 --- a/docs/architecture/baselines/main-kernel-bridge-register.md +++ /dev/null @@ -1,12 +0,0 @@ -# Main Kernel Bridge Register - -Updated on 2026-04-20. -Current phase: P5. - -- Active bridges: 0 -- Expired bridges: 0 - -## Entries - -- None - diff --git a/docs/architecture/baselines/main-kernel-migration-scoreboard.json b/docs/architecture/baselines/main-kernel-migration-scoreboard.json deleted file mode 100644 index 8af594126..000000000 --- a/docs/architecture/baselines/main-kernel-migration-scoreboard.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "program": "main-kernel-refactor", - "generatedOn": "2026-04-20", - "currentPhase": "P5", - "metrics": { - "renderer.usePresenter.count": 1, - "renderer.business.usePresenter.count": 0, - "renderer.quarantine.usePresenter.count": 1, - "renderer.windowElectron.count": 2, - "renderer.business.windowElectron.count": 0, - "renderer.quarantine.windowElectron.count": 2, - "renderer.windowApi.count": 2, - "renderer.business.windowApi.count": 0, - "renderer.quarantine.windowApi.count": 2, - "renderer.quarantine.sourceFile.count": 3, - "hotpath.presenterEdge.count": 10, - "runtime.rawTimer.count": 122, - "migrated.rawChannel.count": 4, - "bridge.active.count": 0, - "bridge.expired.count": 0 - }, - "phaseGates": [ - { - "phase": "P0", - "indicator": "Fixed quarantine path `src/renderer/api/legacy/**` exists and baseline emits business/quarantine split metrics", - "current": "`src/renderer/api/legacy/**` exists; split metrics emitted", - "status": "ready" - }, - { - "phase": "P1", - "indicator": "Business layer direct legacy presenter helper / `window.electron` / `window.api` counts must reach `0`", - "current": "legacyPresenter=0, window.electron=0, window.api=0", - "status": "ready" - }, - { - "phase": "P2", - "indicator": "Business layer `configPresenter` and `llmproviderPresenter` hits must reach `0`", - "current": "configPresenter=0, llmproviderPresenter=0", - "status": "ready" - }, - { - "phase": "P3", - "indicator": "Business layer window/device/workspace/project/file/browser/tab presenter hits must reach `0`", - "current": "window=0, device=0, workspace=0, project=0, file=0, browser=0, tab=0", - "status": "ready" - }, - { - "phase": "P4", - "indicator": "Business layer session residual / skill / mcp / sync / upgrade / dialog / tool presenter hits must reach `0`", - "current": "agentSession=0, skill=0, mcp=0, sync=0, upgrade=0, dialog=0, tool=0", - "status": "ready" - }, - { - "phase": "P5", - "indicator": "Business layer direct legacy access must be `0`, and quarantine source files must satisfy the exit standard (`<= 3` source files)", - "current": "businessLegacy=0/0/0, quarantineSourceFiles=3/3", - "status": "ready" - } - ], - "hotPathEdges": [ - "src/main/presenter/agentRuntimePresenter/index.ts -> src/main/eventbus.ts", - "src/main/presenter/agentSessionPresenter/index.ts -> src/main/eventbus.ts", - "src/main/presenter/index.ts -> src/main/eventbus.ts", - "src/main/presenter/index.ts -> src/main/presenter/agentRuntimePresenter/index.ts", - "src/main/presenter/index.ts -> src/main/presenter/agentSessionPresenter/index.ts", - "src/main/presenter/index.ts -> src/main/presenter/llmProviderPresenter/index.ts", - "src/main/presenter/index.ts -> src/main/presenter/sessionPresenter/index.ts", - "src/main/presenter/llmProviderPresenter/index.ts -> src/main/eventbus.ts", - "src/main/presenter/sessionPresenter/index.ts -> src/main/eventbus.ts", - "src/main/presenter/sessionPresenter/index.ts -> src/main/presenter/index.ts" - ], - "migratedRawChannels": { - "src/main/presenter/windowPresenter/index.ts": 4 - } -} diff --git a/docs/architecture/baselines/main-kernel-migration-scoreboard.md b/docs/architecture/baselines/main-kernel-migration-scoreboard.md deleted file mode 100644 index 6f0f05ad8..000000000 --- a/docs/architecture/baselines/main-kernel-migration-scoreboard.md +++ /dev/null @@ -1,36 +0,0 @@ -# Main Kernel Migration Scoreboard - -Generated on 2026-04-20. -Current phase: P5. - -Phase 0 establishes the comparison baseline. Later phases should update this report and compare against this checkpoint. - -| Metric | Value | Status | -| --- | --- | --- | -| `renderer.usePresenter.count` | 1 | baseline | -| `renderer.business.usePresenter.count` | 0 | baseline | -| `renderer.quarantine.usePresenter.count` | 1 | baseline | -| `renderer.windowElectron.count` | 2 | baseline | -| `renderer.business.windowElectron.count` | 0 | baseline | -| `renderer.quarantine.windowElectron.count` | 2 | baseline | -| `renderer.windowApi.count` | 2 | baseline | -| `renderer.business.windowApi.count` | 0 | baseline | -| `renderer.quarantine.windowApi.count` | 2 | baseline | -| `renderer.quarantine.sourceFile.count` | 3 | baseline | -| `hotpath.presenterEdge.count` | 10 | baseline | -| `runtime.rawTimer.count` | 122 | baseline | -| `migrated.rawChannel.count` | 4 | baseline | -| `bridge.active.count` | 0 | baseline | -| `bridge.expired.count` | 0 | baseline | - -## Phase Gate Status - -| Phase | Status | Current signal | -| --- | --- | --- | -| `P0` | ready | `src/renderer/api/legacy/**` exists; split metrics emitted | -| `P1` | ready | legacyPresenter=0, window.electron=0, window.api=0 | -| `P2` | ready | configPresenter=0, llmproviderPresenter=0 | -| `P3` | ready | window=0, device=0, workspace=0, project=0, file=0, browser=0, tab=0 | -| `P4` | ready | agentSession=0, skill=0, mcp=0, sync=0, upgrade=0, dialog=0, tool=0 | -| `P5` | ready | businessLegacy=0/0/0, quarantineSourceFiles=3/3 | - diff --git a/docs/architecture/baselines/test-failure-groups.md b/docs/architecture/baselines/test-failure-groups.md deleted file mode 100644 index 0ef19eaaf..000000000 --- a/docs/architecture/baselines/test-failure-groups.md +++ /dev/null @@ -1,38 +0,0 @@ -# Test Failure Groups - -Baseline captured on `2026-04-03`. - -## 真实行为回归 / 契约漂移 - -- `test/main/presenter/agentSessionPresenter/integration.test.ts` - - `configPresenter.getAgentType()` mock 契约缺失暴露了会话编排对配置查询的硬依赖。 -- `test/main/presenter/floatingButtonPresenter/*.test.ts` - - 布局断言和当前窗口吸边行为不一致。 -- `test/main/presenter/skillSyncPresenter/*.test.ts` - - Cursor format / conversion warnings 的行为与测试契约漂移。 -- `test/renderer/stores/sessionStore.test.ts` - - sidebar group 逻辑对 `sessionKind` 缺省值不兼容。 -- `test/renderer/composables/useModelCapabilities.test.ts` - - search capability 返回值未对齐测试预期。 - -## 测试陈旧 / 遗留测试未跟上实现 - -- `test/main/presenter/mcpClient.test.ts` - - 仍然断言旧的 runtime command translation 细节。 -- `test/main/presenter/agentSessionPresenter/messageManager.test.ts` - - 仍然调用已不再暴露的方法。 -- `test/renderer/composables/useSearchConfig.test.ts` - - 测试存在,但实现文件缺失。 -- `test/renderer/components/MermaidArtifact.test.ts` - - 组件结构与测试查询方式不再匹配。 -- 多个 renderer store test 的 `pinia` mock - - 当前 mock 方式污染 `setActivePinia/createPinia`。 - -## 环境问题 - -- `test/main/presenter/SyncPresenter.test.ts` - - `better-sqlite3-multiple-ciphers` 二进制与当前 Node ABI 不匹配。 -- `test/main/presenter/llmProviderPresenter.test.ts` - - 用例依赖超时 / 网络模拟不稳定。 -- 若干 renderer test 中的 `jsdom` navigation not implemented - - 不是业务行为错误,而是测试环境能力限制。 diff --git a/docs/architecture/baselines/zero-inbound-candidates.md b/docs/architecture/baselines/zero-inbound-candidates.md deleted file mode 100644 index 22d13f18a..000000000 --- a/docs/architecture/baselines/zero-inbound-candidates.md +++ /dev/null @@ -1,75 +0,0 @@ -# Zero Inbound Candidates - -Generated on 2026-04-20. - -These files have no in-repo importers inside their scope and need manual classification before deletion. - -## main - -- Candidate count: 15 - -- `env.d.ts` -- `lib\system.ts` -- `lib\terminalHelper.ts` -- `presenter\browser\BrowserContextBuilder.ts` -- `presenter\configPresenter\aes.ts` -- `presenter\llmProviderPresenter\oauthHelper.ts` -- `presenter\mcpPresenter\agentMcpFilter.ts` -- `presenter\searchPrompts\searchPrompts.ts` -- `presenter\sessionPresenter\events.ts` -- `presenter\sessionPresenter\persistence\conversationPersister.ts` -- `presenter\sessionPresenter\persistence\messagePersister.ts` -- `presenter\sessionPresenter\tab\tabAdapter.ts` -- `presenter\sessionPresenter\types.ts` -- `presenter\sqlitePresenter\tables\attachments.ts` -- `presenter\workspacePresenter\fileCache.ts` - -## renderer - -- Candidate count: 44 - -- `components\ChatConfig.vue` -- `components\ChatConfig\ConfigSwitchField.vue` -- `components\FileItem.vue` -- `components\ModelSelect.vue` -- `components\ScrollablePopover.vue` -- `components\artifacts\ArtifactBlock.vue` -- `components\chat-input\SkillsIndicator.vue` -- `components\chat-input\VoiceCallWidget.vue` -- `components\chat-input\components\ToolbarButton.vue` -- `components\chat-input\composables\useAgentMcpData.ts` -- `components\chat-input\composables\useContextLength.ts` -- `components\chat-input\composables\useDragAndDrop.ts` -- `components\chat-input\composables\useInputHistory.ts` -- `components\chat-input\composables\useInputSettings.ts` -- `components\chat-input\composables\usePromptInputFiles.ts` -- `components\chat-input\composables\useRateLimitStatus.ts` -- `components\editor\mention\PromptParamsDialog.vue` -- `components\editor\mention\mention.ts` -- `components\editor\mention\slashMention.ts` -- `components\mcp-config\AgentMcpSelector.vue` -- `components\message\MessageActionButtons.vue` -- `components\message\MessageItemPlaceholder.vue` -- `components\message\ReferencePreview.vue` -- `components\settings\ModelConfigItem.vue` -- `composables\message\useMessageScroll.ts` -- `composables\useArtifactCodeEditor.ts` -- `composables\useArtifactContext.ts` -- `composables\useArtifactExport.ts` -- `composables\useArtifactViewMode.ts` -- `composables\useSearchConfig.ts` -- `composables\useViewportSize.ts` -- `env.d.ts` -- `lib\float.cursor.ts` -- `lib\gemini.ts` -- `lib\sanitizeText.ts` -- `main.ts` -- `stores\floatingButton.ts` -- `stores\prompts.ts` -- `stores\providerDeeplinkImport.ts` -- `stores\shortcutKey.ts` -- `stores\sync.ts` -- `stores\systemPromptStore.ts` -- `utils\maxOutputTokens.ts` -- `views\SettingsTabView.vue` - diff --git a/docs/architecture/chat-scroll-windowing/plan.md b/docs/architecture/chat-scroll-windowing/plan.md deleted file mode 100644 index a8ab6bef4..000000000 --- a/docs/architecture/chat-scroll-windowing/plan.md +++ /dev/null @@ -1,143 +0,0 @@ -# Chat Scroll Windowing Plan - -## Architecture Direction - -Use CSS `content-visibility: auto` for browser-native render skipping, combined with a custom layout model for anchor positioning and future minimap support. - -This approach was chosen over DOM-removal windowing because: -- All message DOM nodes remain present → stable anchors for minimap, search, trace jumps -- Browser handles render skipping natively → no rAF batching overhead, no streaming delays -- No spacer elements or virtual range calculations → simpler code, fewer bugs -- `contain-intrinsic-size` provides size hints → smooth scrollbar, no blank gaps - -## Four Layers - -```text -1. Message data layer - Loaded message records and stable display-message conversion. - -2. Layout model layer (useMessageWindow) - Per-message estimated/measured height, logical top/bottom offsets. - Used for anchor jumps, scroll-to-entry, and future minimap coordinates. - -3. CSS render optimization layer (MessageListRow) - content-visibility: auto + contain-intrinsic-size on each row. - Browser skips painting off-screen heavy content (markdown, code, mermaid). - -4. Scroll state layer (ChatPage) - Initial bottom positioning, auto-follow, anchored-reading, and manual jump behavior. -``` - -## Scroll Modes - -```ts -type ScrollMode = - | 'initial-bottom' // opening/switching session → always land at bottom - | 'auto-follow' // generation + autoScrollEnabled → follow bottom - | 'anchored-reading' // user scrolled away or autoScroll disabled → preserve position - | 'manual-jump' // search/trace/spotlight jump → scroll to target -``` - -### Transitions - -- Session open → `initial-bottom` (always, regardless of `autoScrollEnabled`) -- `initial-bottom` + first message change → `auto-follow` -- `auto-follow` + user scrolls up → `anchored-reading` -- `anchored-reading` + user scrolls to bottom → `auto-follow` (if `autoScrollEnabled`) -- Any mode + search/trace jump → `manual-jump` -- `manual-jump` + scroll settles → `anchored-reading` or `auto-follow` - -## CSS content-visibility Strategy - -Each `MessageListRow` has: -```css -.message-list-row { - content-visibility: auto; - contain-intrinsic-size: auto 300px; -} -``` - -The browser uses `contain-intrinsic-size` as a placeholder height for off-screen rows. Once a row is rendered, the browser remembers its actual height. This means: -- Scrollbar thumb stays accurate -- No blank gaps during fast scrolling -- Heavy markdown/code/mermaid content is only painted when near the viewport - -The streaming last row is forced visible: -```css -[data-generating='true'] .message-list-row:last-child { - content-visibility: visible; -} -``` - -## Layout Model (useMessageWindow) - -The composable maintains a pure data model for every loaded message: -- `entries`: per-message `{ id, orderSeq, estimatedHeight, measuredHeight, top, bottom }` -- `totalHeight`: sum of all message heights -- `getEntry(messageId)`: lookup for jump targets -- `setMeasuredHeight(messageId, height)`: update from ResizeObserver measurements - -This model is used for: -- Anchor jumps (scroll to estimated position, then refine after render) -- Line-of-sight preservation (capture anchor before height changes, restore after) -- Future minimap (consume `entries` for position mapping) - -## Single-Track Streaming - -Streaming output is folded into the persisted message record in place rather than -rendered as a separate trailing row, so the generating message and the finished -message share the same id and DOM node: - -- `displayMessages`: the single render track for both persisted and streaming messages -- Live streaming blocks are merged into their message record via - `applyStreamingBlocksToMessage`, so updates mutate the existing record's content -- During streaming, the last row has `content-visibility: visible` forced for smooth painting -- A virtual streaming row is only appended when the record is not yet in the store - (`hasInlineStreamingTarget` guard), preventing the same content rendering twice - after a mid-stream `loadMessages` - -When streaming completes: -1. `onStreamCompleted` swaps the record's content in place — no `clearStreamingState()` + - `loadMessages()` remount, so the DOM node stays stable (no completion flash / blank gap) -2. Measurement updates (`setMeasuredHeight` / ResizeObserver) apply to the same stable - DOM node rather than a swapped row - -## Scroll-to-Bottom - -Simple, state-machine-driven: -```ts -function scrollToBottom(force = false) { - if (force) { - markProgrammaticScroll(500) - scrollMode = 'initial-bottom' - shouldAutoFollow = true - } else if (!autoScrollEnabled || !shouldAutoFollow) { - return // respect user's reading position - } - nextTick(() => scrollDomToBottom()) -} -``` - -No rAF batching in scrollToBottom itself — the browser's native scroll coalescing handles this. The `nextTick` ensures DOM is updated before scrolling. - -## Line-of-Sight Preservation - -When heights change and we're not in auto-follow mode: -1. `captureViewportAnchor()` → `{ messageId, viewportOffset }` -2. Apply height changes -3. `scheduleViewportAnchorRestore(anchor)` → rAF → adjust `scrollTop` to keep anchor at same viewport position - -## Long Chat First Load - -Bottom-first phased loading (unchanged from existing behavior): -1. Load latest 40 messages → render → position at bottom -2. Make input interactive immediately -3. Older history loads on scroll-to-top (infinite scroll) - -## Compatibility - -### Search and trace jumps -Use layout model `getEntry(messageId)` to estimate position, scroll there, then refine after render. - -### Future minimap -Consume `useMessageWindow.entries` for `messageId → top/bottom/height/status/role` mapping. No DOM queries needed. diff --git a/docs/architecture/chat-scroll-windowing/spec.md b/docs/architecture/chat-scroll-windowing/spec.md index 1daaf3fbb..f0b995339 100644 --- a/docs/architecture/chat-scroll-windowing/spec.md +++ b/docs/architecture/chat-scroll-windowing/spec.md @@ -28,6 +28,7 @@ Relevant current files: - `src/renderer/src/pages/ChatPage.vue` - `src/renderer/src/components/chat/MessageList.vue` - `src/renderer/src/components/chat/MessageListRow.vue` +- `src/renderer/src/composables/message/useMessageWindow.ts` - `src/renderer/src/components/message/MessageItemAssistant.vue` - `src/renderer/src/components/message/MessageBlockContent.vue` - `src/renderer/src/components/markdown/MarkdownRenderer.vue` diff --git a/docs/architecture/chat-scroll-windowing/tasks.md b/docs/architecture/chat-scroll-windowing/tasks.md deleted file mode 100644 index 3b073a6f1..000000000 --- a/docs/architecture/chat-scroll-windowing/tasks.md +++ /dev/null @@ -1,63 +0,0 @@ -# Chat Scroll Windowing Tasks - -## Documentation and Review - -- [x] Capture product requirements for long-chat performance, initial bottom positioning, auto-scroll setting behavior, line-of-sight preservation, streaming smoothness, and future minimap compatibility. -- [x] Draft architecture plan for CSS content-visibility based rendering with layout model for anchors. -- [x] Review requirements with product/maintainer before implementation. -- [x] Resolve any review feedback and update `spec.md` / `plan.md`. - -## Layout Model Foundation - -- [x] Design `MessageLayoutEntry` and layout state ownership. -- [x] Implement `useMessageWindow` composable for estimated/measured heights and offset lookup. -- [x] Add batched height measurement updates via `setMeasuredHeight`. -- [x] Add viewport anchor capture and restore helpers. -- [x] Add unit tests for layout entries, height updates, and anchor preservation. - -## CSS Render Optimization - -- [x] Replace DOM-removal windowing with CSS `content-visibility: auto` on `MessageListRow`. -- [x] Remove `DynamicScroller` and spacer-based windowing from `MessageList`. -- [x] Remove `contain: layout style` from `MessageListRow` (caused jank in markdown tables/code blocks). -- [x] Force `content-visibility: visible` on last row during generation for streaming smoothness. - -## Scroll Behavior - -- [x] Implement scroll modes: `initial-bottom`, `auto-follow`, `anchored-reading`, `manual-jump`. -- [x] Ensure opening a chat positions at bottom regardless of `autoScrollEnabled`. -- [x] Ensure generation follows bottom when `autoScrollEnabled` is true. -- [x] Ensure generation does not force bottom when `autoScrollEnabled` is false. -- [x] Preserve line of sight during height changes when not auto-following. -- [x] Preserve viewport when older messages are prepended. -- [x] Restore session-restore settle behavior from remote (multi-frame bottom scroll with user-intent cancellation). - -## Streaming Performance - -- [x] Single-track streaming: fold streaming blocks into the persisted message record - (same id/DOM node) instead of a separate trailing row, removing the completion flash. -- [x] Remove rAF-batched windowing overhead that delayed streaming display. -- [x] Keep MarkdownRenderer debounce for long streaming content (32ms fast / 96ms slow), - guarded by a shared revision so a stale path can't replay older content. - -## Jump and Anchor Compatibility - -- [x] Search/trace jump to unrendered message works via layout model `getEntry`. -- [x] Post-render refinement and highlight for manually jumped targets. -- [x] Layout model exposes `entries` for future minimap consumption. - -## Long Chat Loading - -- [x] Keep latest-page/bottom-first restore behavior (40 messages). -- [x] Infinite scroll to load older messages on scroll-to-top. -- [x] Viewport position preserved when older messages are prepended. - -## Validation - -- [ ] Manual: open long chat and confirm it lands at bottom quickly. -- [ ] Manual: generate with auto-scroll enabled and confirm smooth bottom-follow. -- [ ] Manual: generate with auto-scroll disabled and confirm viewport does not jump. -- [ ] Manual: scroll away from bottom during generation and confirm line of sight stability. -- [ ] Manual: scroll through markdown tables and code blocks — confirm no jank. -- [ ] Manual: load older messages at top and confirm scroll position is preserved. -- [ ] Manual: search/trace jump to off-window message and confirm target appears/highlights. diff --git a/docs/architecture/chat-status-bar-split/plan.md b/docs/architecture/chat-status-bar-split/plan.md deleted file mode 100644 index f93af8a7e..000000000 --- a/docs/architecture/chat-status-bar-split/plan.md +++ /dev/null @@ -1,30 +0,0 @@ -# ChatStatusBar Split — Plan - -## Phase 1 steps - -1. Create `chatStatusBarReasoningOptions.ts` with the pure option helpers - (`getReasoningEffortOptions`, `getVerbosityOptions`, `getReasoningVisibilityOptions`, - `supportsReasoningEffort`, `supportsVerbosity`, `hasThinkingBudgetSupport`, - `normalizeReasoningEffort`, `normalizeVerbosity`, `normalizeReasoningVisibility`) and the - `DEFAULT_VERBOSITY_OPTIONS` constant they own. -2. Create `useGenerationNumericInputs.ts` owning `activeNumericInput`, `numericInputDrafts`, - `numericInputErrors` and their accessor functions; deps injected: - `localSettings`, `t`, `onDraftChange`. -3. Rewire `ChatStatusBar.vue`: delete moved code, import/destructure under identical names. -4. Remove imports/types that became unused (`ReasoningEffortValue`/`VerbosityValue` local - aliases move with the helpers). -5. Verify (typecheck:web, test:renderer baseline, lint, format, i18n). - -## Phase 2 sketch (separate goal) - -- `ChatStatusBarModelPanel.vue` (model list + search + settings expansion) -- `ChatStatusBarAcpOptions.vue` (ACP badge + inline/overflow options) -- Generation settings fields grouped into `GenerationSettingsFields.vue` -- Re-evaluate the `deep: true` model-groups watch once the panel is isolated - -# Tasks - -- [ ] T1: pure reasoning options module -- [ ] T2: numeric inputs composable -- [ ] T3: rewire component + cleanup imports -- [ ] T4: verification suite diff --git a/docs/architecture/chat-status-bar-split/spec.md b/docs/architecture/chat-status-bar-split/spec.md deleted file mode 100644 index 42ca02444..000000000 --- a/docs/architecture/chat-status-bar-split/spec.md +++ /dev/null @@ -1,38 +0,0 @@ -# ChatStatusBar Split — Spec - -## Problem - -`src/renderer/src/components/chat/ChatStatusBar.vue` is 3230 lines (980-line template, -2250-line script) covering ACP agent config, model selection, generation settings -(temperature/topP/context/maxTokens/timeout/thinking budget), reasoning options, system -prompts, permission mode, subagent toggle, and image/video generation settings. Any change -requires navigating the whole file; none of the logic is unit-testable in isolation. - -## Approach: staged extraction, template untouched first - -**Phase 1 (this change)** — extract script logic into composables/pure modules without touching -the template. Extracted symbols are re-exposed under the same names via destructuring, so the -template and the remaining script are unchanged: - -1. `composables/chatStatusBarReasoningOptions.ts` — pure functions (no Vue/store deps): - reasoning effort/verbosity/visibility option derivation and normalization. -2. `composables/useGenerationNumericInputs.ts` — the numeric-input state machine - (draft/error/active-field state and accessors) used by all generation numeric fields. - Component-specific persistence (revision counter) is injected via an `onDraftChange` - callback. -3. Precedent: `useChatStatusBarAcpConfig.ts` already follows this pattern. - -**Phase 2 (follow-up, not in this change)** — template split into child components: -model settings panel (the largest template block), ACP inline options, system prompt menu. -Phase 1 lowers the risk of phase 2 by giving each future child component a ready composable. - -## Non-goals (phase 1) - -- No template changes, no behavior changes, no store refactors. -- The `deep: true` watch on `modelStore.chatSelectableModelGroups` is kept as-is: its - callback is cheap and early-returns with an active session; changing watch semantics - without renderer tests for this component is not worth the risk in this phase. - -## Verification - -`typecheck:web`, `test:renderer`, `lint`, `format`, `i18n` all clean / at baseline. diff --git a/docs/architecture/chat-status-bar-split/tasks.md b/docs/architecture/chat-status-bar-split/tasks.md deleted file mode 100644 index 91350de03..000000000 --- a/docs/architecture/chat-status-bar-split/tasks.md +++ /dev/null @@ -1,16 +0,0 @@ -# ChatStatusBar Split — Tasks - -- [x] T1: pure reasoning options module (`chatStatusBarReasoningOptions.ts`) -- [x] T2: numeric inputs composable (`useGenerationNumericInputs.ts`) -- [x] T3: rewire component + cleanup imports -- [x] T4: verification suite - -## Outcome (Phase 1) - -- `ChatStatusBar.vue`: 3230 → 3004 lines; template untouched; all extracted symbols re-exposed - under identical names. -- Two new unit-testable modules under `src/renderer/src/components/chat/composables/`. -- `typecheck:web`, `lint`, `format`, `i18n` clean; `test:renderer` identical to dev baseline - (7 pre-existing failing files, same tests). -- Phase 2 (template split into child components) is sketched in [plan.md](plan.md) and remains - open as a separate goal. diff --git a/docs/architecture/console-log-cleanup/plan.md b/docs/architecture/console-log-cleanup/plan.md deleted file mode 100644 index 0502ec7cd..000000000 --- a/docs/architecture/console-log-cleanup/plan.md +++ /dev/null @@ -1,27 +0,0 @@ -# Console Log Cleanup — Plan - -## Approach - -Codemod (one-off script, not committed) over `src/main/**/*.ts`: - -1. Skip `src/main/lib/scrollCapture.ts` and `src/main/presenter/githubCopilotDeviceFlow.ts` - (contain injected-code strings); handle by hand if they also have statement-position calls. -2. Replace `/^([ \t]*)console\.log\(/gm` → `$1logger.info(` — statement position only, so - `console.log` inside template literals or mid-line stays untouched. -3. If a file changed and has no existing `shared/logger` import, prepend - `import logger from '@shared/logger'`. -4. Manually review the ~9 non-statement-position call sites left behind. -5. Add `no-console` (allow `warn`, `error`, `info`, `debug`) for `src/main/**` via an oxlint - override; lint output identifies any survivors. -6. Verify: `pnpm run lint`, `pnpm run typecheck:node`, `pnpm run format`. - -## Risks - -- A `console.log` at statement position inside a multi-line template literal would be wrongly - rewritten → mitigated by reviewing the diff of the two known injected-code files (skipped) and - grepping for `logger.info` inside backticks after the run. -- Import insertion at top of file may violate formatting → `pnpm run format` normalizes. - -## Tasks - -See [tasks.md](tasks.md). diff --git a/docs/architecture/console-log-cleanup/spec.md b/docs/architecture/console-log-cleanup/spec.md deleted file mode 100644 index a2b863277..000000000 --- a/docs/architecture/console-log-cleanup/spec.md +++ /dev/null @@ -1,35 +0,0 @@ -# Console Log Cleanup — Spec - -## Goal - -Replace ad-hoc `console.log` calls in the main process with explicit `logger` (electron-log) -usage, and add a lint rule to prevent regression. - -## Background - -- `src/shared/logger.ts` already hooks `console.*` in the main process as a safety net, but the - file header states the intent: "Use logger for recording instead of console". -- 591 `console.log` call sites exist in `src/main` (663 across the repo). Explicit logger calls - give correct levels, survive refactors of the hook, and make intent clear. -- Renderer (68 sites) is out of scope: it has no logger infrastructure today; forwarding renderer - logs to the main log file requires `electron-log` renderer IPC initialization, which is a - separate design decision. - -## Requirements - -1. All statement-position `console.log(...)` in `src/main` become `logger.info(...)` with - `import logger from '@shared/logger'` added where missing. -2. `console.log` inside injected-code strings (`executeJavaScript` payloads in - `src/main/lib/scrollCapture.ts`, `src/main/presenter/githubCopilotDeviceFlow.ts`) must NOT be - rewritten — they execute in a renderer context. -3. oxlint `no-console` rule enabled for `src/main/**` allowing `warn`/`error`/`info`/`debug` - (those remain redirected by the console hook and are out of scope for this goal). -4. Behavior note: direct `logger.info` writes to the console transport even when user logging is - disabled (the hook gates on `loggingEnabled || is.dev`); for a packaged GUI app stdout is - inert, so this is accepted. - -## Non-goals - -- Migrating `console.error` / `console.warn` (1235 sites) — separate effort. -- Renderer/preload logging infrastructure. -- Removing the console hook in `src/shared/logger.ts` (kept as safety net). diff --git a/docs/architecture/console-log-cleanup/tasks.md b/docs/architecture/console-log-cleanup/tasks.md deleted file mode 100644 index 3b066c53c..000000000 --- a/docs/architecture/console-log-cleanup/tasks.md +++ /dev/null @@ -1,17 +0,0 @@ -# Console Log Cleanup — Tasks - -- [x] T1: Codemod statement-position `console.log` → `logger.info` in `src/main` (+ imports) -- [x] T2: Manually migrate remaining non-statement-position call sites -- [x] T3: Add oxlint `no-console` override for `src/main/**` (allow warn/error/info/debug) -- [x] T4: Verify template-literal call sites were untouched (scrollCapture, githubCopilotDeviceFlow) -- [x] T5: `pnpm run format` + `pnpm run lint` + `pnpm run typecheck:node` clean - -## Outcome - -- 582 call sites migrated across 69 files; injected-code strings in `scrollCapture.ts` and - `githubCopilotDeviceFlow.ts` left untouched (the latter uses `console.log` as a renderer→main - message channel via `console-message`). -- Global `@shared/logger` mock added to `test/setup.ts` so importing logger never pulls - electron's `app` into partially-mocked tests. -- 4 test files that asserted on `console.log` spies updated to assert on `vi.mocked(logger.info)`. -- `test:main` back to the pre-change baseline (15 pre-existing failures on dev, unrelated). diff --git a/docs/architecture/deepchat-tape-baseline/plan.md b/docs/architecture/deepchat-tape-baseline/plan.md new file mode 100644 index 000000000..9e5536c62 --- /dev/null +++ b/docs/architecture/deepchat-tape-baseline/plan.md @@ -0,0 +1,12 @@ +# DeepChat Tape Baseline Plan + +## Approach + +Keep the Tape implementation baseline as a goal-scoped architecture document. +Use it as the shared map for the active Tape SDD folders. + +## Maintenance + +- Keep references to active Tape SDD folders relative to this directory. +- Update the baseline when ownership or runtime flow changes. +- Keep compatibility notes aligned with the current Tape schema. diff --git a/docs/architecture/deepchat-tape-baseline/spec.md b/docs/architecture/deepchat-tape-baseline/spec.md new file mode 100644 index 000000000..5bcbc9778 --- /dev/null +++ b/docs/architecture/deepchat-tape-baseline/spec.md @@ -0,0 +1,154 @@ +# DeepChat Tape System - Implementation Baseline + +Status: current implementation direction. Active SDD goals are +[deepchat-tape-view-manifest](../deepchat-tape-view-manifest/spec.md), +[deepchat-tape-replay-contract](../deepchat-tape-replay-contract/spec.md), and +[deepchat-tape-view-assembler](../deepchat-tape-view-assembler/spec.md), and +[deepchat-tape-view-policy](../deepchat-tape-view-policy/spec.md), and +[deepchat-tape-policy-provenance](../deepchat-tape-policy-provenance/spec.md), and +[deepchat-tape-policy-selector](../deepchat-tape-policy-selector/spec.md). + +This document keeps the Tape vision aligned with the current DeepChat codebase. The implementation +path is: + +```text +Existing DeepChat runtime + -> existing DeepChatTapeService + -> ViewManifest shadow mode + -> Inspector and replay contracts + -> TapeViewAssembler production entry + -> TapeViewPolicy boundary + -> ViewManifest policy provenance + -> TapeViewPolicy registry and selector +``` + +## Current Baseline + +DeepChat already has the main Tape primitives. + +| Tape concept | Current owner | Notes | +| --- | --- | --- | +| Tape store | `DeepChatTapeEntriesTable` | Append-only `deepchat_tape_entries` with per-session monotonic `entry_id`. | +| Tape service | `DeepChatTapeService` | Backfills message facts, exposes info/search/anchors/handoff/fork metadata. | +| Message facts | `DeepChatMessageStore` + `tapeFacts.ts` | User, assistant, tool call, tool result, replacement, and retraction facts. | +| Anchor | `kind = "anchor"` entries | `session/start`, `compaction/*`, `handoff/*`, `auto_handoff/*`, `fork/start`. | +| Effective view | `tapeEffectiveView.ts` | Reconstructs current message records from append-only facts. | +| Context assembly | `tapeViewAssembler.ts` | Production entry that assembles provider context from tape-effective records. | +| View policy | `tapeViewPolicy.ts` | Registry and selector boundary; `legacy_context_v1` delegates to the current selector. | +| Context selection | `contextBuilder.ts` | Legacy token-budget selector used by `legacy_context_v1`. | +| Request trace | `deepchat_message_traces` | Stores redacted provider request previews for the trace dialog. | +| Agent tools | `agentTapeTools.ts` | Exposes `tape_info`, `tape_search`, `tape_anchors`, `tape_handoff`. | + +The first implementation step uses this baseline as the single runtime path. `DeepChatTapeService` +remains the Tape service boundary. + +## Active SDD + +The active SDD folders are: + +```text +docs/architecture/deepchat-tape-view-manifest/ +├── spec.md +├── plan.md +└── tasks.md +docs/architecture/deepchat-tape-replay-contract/ +├── spec.md +├── plan.md +└── tasks.md +docs/architecture/deepchat-tape-view-assembler/ +├── spec.md +├── plan.md +└── tasks.md +docs/architecture/deepchat-tape-view-policy/ +├── spec.md +├── plan.md +└── tasks.md +docs/architecture/deepchat-tape-policy-provenance/ +├── spec.md +├── plan.md +└── tasks.md +docs/architecture/deepchat-tape-policy-selector/ +├── spec.md +├── plan.md +└── tasks.md +``` + +The current SDD scopes are `Existing TapeService + ViewManifest shadow mode`, replay/export +contracts, `TapeViewAssembler` as the production context assembly entry, and `TapeViewPolicy` as +the policy replacement boundary, `ViewManifest` policy provenance, and policy selector registry. + +## Scope Boundary + +### In scope + +- Generate a `ViewManifest` for each DeepChat LLM request while `TapeViewAssembler` remains + provider-message equivalent with the legacy context selector. +- Persist manifests as `view/assembled` tape events. +- Link manifests to request traces by `messageId` and request sequence. +- Add Inspector support that explains included/excluded context entries. +- Add parity tests proving shadow manifests describe the same context that the existing runtime + sends. +- Export replay slices from manifest, trace metadata, and referenced tape entries. +- Route chat and resume production context assembly through `TapeViewAssembler`. +- Route context selection through `TapeViewPolicy` with `legacy_context_v1` as the default policy. +- Persist the active Tape view policy id and version in initial chat and resume manifests. +- Resolve active Tape view policies through a registry-backed selector. + +### Deferred scope for the first increment + +- Creating a separate TapeStore abstraction. +- Memory graph retrieval, embedding-backed topic clustering, and cross-session recall. +- Live LLM replay in CI. +- Full eval pipeline and training exports. + +## Implementation Rules + +1. Keep `DeepChatTapeService` as the Tape service boundary. +2. Store manifest data as append-only tape events. +3. Keep raw prompt and provider request bodies in existing trace storage only. +4. Store IDs, hashes, token estimates, policy names, policy versions, and exclusion reasons in the + manifest. +5. Keep old sessions compatible through existing lazy backfill and bootstrap anchors. +6. Treat `ViewManifest` as an explanation and regression artifact until parity is proven. + +## Target Flow + +```text +sendMessage / resume + -> ensureSessionTapeReady() + -> TapeViewAssembler.buildChatView() / buildResumeView() + -> TapeViewPolicy selector + -> legacy_context_v1 TapeViewPolicy + -> assemble ViewManifest shadow event with legacy_context_v1@1 provenance + -> runStreamForMessage() + -> preflight provider request + -> assemble request-level ViewManifest revision if context changed + -> provider.coreStream() + -> optional request trace linked to ViewManifest + -> message/tool facts appended +``` + +## Inspector Shape + +```text ++-------------------------------------------------------------------+ +| Trace #1 Request | View Manifest | Tape Entries | Budget | ++-------------------------------------------------------------------+ +| Provider openai Model gpt-4.1 | +| View view_01 Policy legacy_context_v1@1 | ++-----------------------------+-------------------------------------+ +| Included | message/user #12 | +| | message/assistant #13 | +| Excluded | #1-#8 compressed by anchor #42 | +| Budget | 23k estimated / 64k context | ++-----------------------------+-------------------------------------+ +``` + +## Expected Benefits + +- Every LLM request can explain which conversation facts were included. +- Context compaction and handoff behavior becomes auditable through anchor and manifest metadata. +- Trace debugging gains policy-level context instead of only raw request JSON. +- Future context-policy changes get a parity baseline. +- Evaluation and replay can be derived from existing runtime facts after the manifest contract is + stable. diff --git a/docs/architecture/deepchat-tape-baseline/tasks.md b/docs/architecture/deepchat-tape-baseline/tasks.md new file mode 100644 index 000000000..36156603f --- /dev/null +++ b/docs/architecture/deepchat-tape-baseline/tasks.md @@ -0,0 +1,5 @@ +# DeepChat Tape Baseline Tasks + +- [x] Move the baseline spec into a kebab-case architecture folder. +- [x] Update relative links to active Tape SDD folders. +- [x] Update references from the legacy flat architecture path. diff --git a/docs/architecture/deepchat-tape-policy-provenance/plan.md b/docs/architecture/deepchat-tape-policy-provenance/plan.md new file mode 100644 index 000000000..865c05c64 --- /dev/null +++ b/docs/architecture/deepchat-tape-policy-provenance/plan.md @@ -0,0 +1,52 @@ +# DeepChat Tape Policy Provenance - Plan + +## Architecture Decision + +Use the existing `TapeViewAssemblerResult.policyId` and `policyVersion` as the source of truth for +initial chat and resume manifests. Keep request-level tool-loop and context-pressure recovery +manifests as shadow policies because they are post-assembly request transformations. + +## Flow + +```text +TapeViewAssembler.buildTapeChatView() + -> result.policyId = legacy_context_v1 + -> runStreamForMessage(viewContext.policy = result.policyId) + -> ViewManifest.policy = legacy_context_v1 + -> ViewManifest.policyVersion = 1 + +Tool loop / context pressure recovery + -> request-level ViewManifest + -> shadow policy label + -> policyVersion = null +``` + +## Module Changes + +| Module | Change | +| --- | --- | +| `src/shared/types/tape-view-manifest.ts` | Add `legacy_context_v1` and `policyVersion`. | +| `src/main/presenter/agentRuntimePresenter/tapeViewManifest.ts` | Persist policy version in manifest. | +| `src/main/presenter/agentRuntimePresenter/index.ts` | Pass assembler policy id/version into view context. | +| `src/main/presenter/agentRuntimePresenter/tapeService.ts` | Store policy version in event metadata. | +| `src/renderer/src/components/trace/TraceDialog.vue` | Show policy version when present. | +| Tests | Update manifest, service, and trace expectations. | + +## Compatibility + +- Existing shadow policy strings remain accepted by shared types and UI. +- Old manifests without `policyVersion` continue to render; the field is treated as absent/null. +- Replay slice export keeps its current lookup behavior. + +## Verification + +```bash +pnpm vitest run test/main/presenter/agentRuntimePresenter/tapeViewManifest.test.ts +pnpm vitest run test/main/presenter/agentRuntimePresenter/tapeService.test.ts +pnpm vitest run test/renderer/components/trace/TraceDialog.test.ts +pnpm run format +pnpm run i18n +pnpm run lint +pnpm run typecheck:node +pnpm run typecheck:web +``` diff --git a/docs/architecture/deepchat-tape-policy-provenance/spec.md b/docs/architecture/deepchat-tape-policy-provenance/spec.md new file mode 100644 index 000000000..9b514f33b --- /dev/null +++ b/docs/architecture/deepchat-tape-policy-provenance/spec.md @@ -0,0 +1,56 @@ +# DeepChat Tape Policy Provenance - Spec + +Status: implemented SDD. This goal records the active Tape view policy in every ViewManifest. + +## Problem + +`TapeViewAssembler` returns `policyId` and `policyVersion`, but `ViewManifest.policy` still stores +the older shadow labels such as `legacy_context_shadow` and `resume_shadow`. This weakens the Tape +audit trail because the persisted manifest does not identify the actual `TapeViewPolicy` that +selected the initial chat or resume context. + +## Goals + +1. Store the active `TapeViewPolicy` id in `ViewManifest.policy` for initial chat and resume + requests. +2. Store the active policy version in `ViewManifest.policyVersion`. +3. Preserve existing `tool_loop_shadow`, `context_pressure_recovery_shadow`, and legacy shadow + policy labels for compatibility. +4. Show policy version in TraceDialog when present. +5. Keep replay export and manifest lookup compatible with old manifest records. + +## Non-Goals + +- Changing the default policy away from `legacy_context_v1`. +- Adding user-facing policy selection. +- Changing token-budget selection. +- Rewriting tool-loop or context-pressure recovery selection. + +## Acceptance Criteria + +1. Normal chat manifests use `policy = "legacy_context_v1"` and `policyVersion = 1`. +2. Resume manifests use `policy = "legacy_context_v1"` and `policyVersion = 1`. +3. Tool-loop manifests keep `policy = "tool_loop_shadow"` and `policyVersion = null`. +4. Context-pressure recovery manifests keep `policy = "context_pressure_recovery_shadow"` and + `policyVersion = null`. +5. Existing shadow policy values remain valid manifest values. +6. TraceDialog displays policy version when the manifest includes one. +7. Manifest, runtime, trace UI, replay, lint, typecheck, and targeted tests pass. + +## Contract + +```ts +export type DeepChatTapeViewPolicy = + | 'legacy_context_v1' + | 'legacy_context_shadow' + | 'resume_shadow' + | 'tool_loop_shadow' + | 'context_pressure_recovery_shadow' + +export interface DeepChatTapeViewManifest { + policy: DeepChatTapeViewPolicy + policyVersion: number | null +} +``` + +`legacy_context_shadow` and `resume_shadow` are accepted for older persisted manifests only. diff --git a/docs/architecture/deepchat-tape-policy-provenance/tasks.md b/docs/architecture/deepchat-tape-policy-provenance/tasks.md new file mode 100644 index 000000000..d44286542 --- /dev/null +++ b/docs/architecture/deepchat-tape-policy-provenance/tasks.md @@ -0,0 +1,11 @@ +# DeepChat Tape Policy Provenance - Tasks + +## Implementation Tasks + +- [x] T1: Add `legacy_context_v1` and `policyVersion` to the ViewManifest contract. +- [x] T2: Pass assembler policy id/version into chat and resume ViewManifest creation. +- [x] T3: Keep tool-loop and context-pressure recovery manifests on shadow policy labels with null + policy version. +- [x] T4: Show policy version in TraceDialog when available. +- [x] T5: Update baseline docs and tests. +- [x] T6: Run focused tests, format, i18n, lint, and typecheck. diff --git a/docs/architecture/deepchat-tape-policy-selector/plan.md b/docs/architecture/deepchat-tape-policy-selector/plan.md new file mode 100644 index 000000000..72e2fbf47 --- /dev/null +++ b/docs/architecture/deepchat-tape-policy-selector/plan.md @@ -0,0 +1,50 @@ +# DeepChat Tape Policy Selector - Plan + +## Architecture Decision + +Keep selector logic inside `src/main/presenter/agentRuntimePresenter/tapeViewPolicy.ts`. This avoids +adding a service and keeps the policy boundary local to the assembler. + +## Flow + +```text +TapeViewAssembler.buildTapeChatView() + -> resolveTapeViewPolicy() + -> policy.buildChat() + -> return messages + policy id/version + selection reason + +TapeViewAssembler.buildTapeResumeView() + -> resolveTapeViewPolicy() + -> policy.buildResume() + -> return messages + policy id/version + selection reason +``` + +## Module Changes + +| Module | Change | +| --- | --- | +| `src/main/presenter/agentRuntimePresenter/tapeViewPolicy.ts` | Add registry, lookup, list, and resolver helpers. | +| `src/main/presenter/agentRuntimePresenter/tapeViewAssembler.ts` | Resolve default policy through selector. | +| `test/main/presenter/agentRuntimePresenter/tapeViewPolicy.test.ts` | Cover registry and selector behavior. | +| `test/main/presenter/agentRuntimePresenter/tapeViewAssembler.test.ts` | Assert selection reason and injected policy behavior. | +| `docs/architecture/deepchat-tape-baseline/spec.md` | Record the selector boundary. | + +## Compatibility + +- The default resolved policy remains `legacy_context_v1`. +- Existing injected policy tests continue to work. +- ViewManifest policy provenance remains `legacy_context_v1@1` for chat and resume. + +## Verification + +```bash +pnpm vitest run test/main/presenter/agentRuntimePresenter/tapeViewPolicy.test.ts +pnpm vitest run test/main/presenter/agentRuntimePresenter/tapeViewAssembler.test.ts +pnpm vitest run test/main/presenter/agentRuntimePresenter/tapeViewManifest.test.ts +pnpm run format +pnpm run i18n +pnpm run lint +pnpm run typecheck:node +pnpm run typecheck:web +pnpm vitest run --reporter=dot +``` diff --git a/docs/architecture/deepchat-tape-policy-selector/spec.md b/docs/architecture/deepchat-tape-policy-selector/spec.md new file mode 100644 index 000000000..132cec19b --- /dev/null +++ b/docs/architecture/deepchat-tape-policy-selector/spec.md @@ -0,0 +1,54 @@ +# DeepChat Tape Policy Selector - Spec + +Status: implemented SDD. This goal adds a policy registry and default selector for Tape view +assembly. + +## Problem + +`TapeViewAssembler` can accept an injected policy, but production assembly still selects the legacy +policy inline. The architecture needs a small selector boundary so future policy expansion can add +new policies without changing chat or resume assembly call sites. + +## Goals + +1. Add a `TapeViewPolicy` registry in the existing policy module. +2. Resolve the active policy through a selector for chat and resume assembly. +3. Keep `legacy_context_v1` as the default policy for all sessions. +4. Preserve current provider-bound message output. +5. Return policy selection reason in assembler metadata for audit/debugging. + +## Non-Goals + +- Introducing a new context-selection algorithm. +- Adding user-facing policy settings. +- Changing compaction, preflight, or context-pressure recovery. +- Adding a separate policy service or persistence table. + +## Acceptance Criteria + +1. `TapeViewAssembler` uses `resolveTapeViewPolicy()` for default policy selection. +2. `resolveTapeViewPolicy()` returns `legacy_context_v1` with reason `default` when no policy is + requested. +3. Unknown requested policy ids fall back to `legacy_context_v1` with reason `fallback_default`. +4. Injected test policies remain supported and report reason `injected`. +5. Assembler output remains provider-message equivalent with the previous implementation. +6. Policy registry tests cover list, lookup, default selection, and fallback selection. +7. Focused Tape tests, format, i18n, lint, typecheck, and full Vitest pass. + +## Contract + +```ts +export type TapeViewPolicySelectionReason = 'default' | 'requested' | 'fallback_default' | 'injected' + +export interface TapeViewPolicySelection { + policy: TapeViewPolicy + requestedPolicyId: string | null + reason: TapeViewPolicySelectionReason +} + +export function resolveTapeViewPolicy(input?: { + requestedPolicyId?: string | null +}): TapeViewPolicySelection +``` + +The first registry contains only `legacy_context_v1`. diff --git a/docs/architecture/deepchat-tape-policy-selector/tasks.md b/docs/architecture/deepchat-tape-policy-selector/tasks.md new file mode 100644 index 000000000..88e49aabc --- /dev/null +++ b/docs/architecture/deepchat-tape-policy-selector/tasks.md @@ -0,0 +1,10 @@ +# DeepChat Tape Policy Selector - Tasks + +## Implementation Tasks + +- [x] T1: Add registry, lookup, list, and resolver helpers to `tapeViewPolicy.ts`. +- [x] T2: Route `TapeViewAssembler` default selection through the resolver. +- [x] T3: Add selection reason to `TapeViewAssemblerResult`. +- [x] T4: Update policy and assembler tests. +- [x] T5: Update baseline Tape architecture docs. +- [x] T6: Run focused tests, format, i18n, lint, typecheck, and full tests. diff --git a/docs/architecture/deepchat-tape-replay-contract/plan.md b/docs/architecture/deepchat-tape-replay-contract/plan.md new file mode 100644 index 000000000..7fd6a9a7d --- /dev/null +++ b/docs/architecture/deepchat-tape-replay-contract/plan.md @@ -0,0 +1,58 @@ +# DeepChat Tape Replay Contract - Plan + +## Architecture Decision + +Add a replay-slice export on top of `DeepChatTapeService`. The service already owns manifest lookup +and has access to the SQLite presenter, so it remains the single Tape boundary. + +## Flow + +```text +renderer SessionClient.exportMessageTapeReplaySlice(messageId, options) + -> sessions.exportMessageTapeReplaySlice route + -> AgentSessionPresenter.exportMessageTapeReplaySlice(messageId, options) + -> AgentRuntimePresenter.exportMessageTapeReplaySlice(sessionId, messageId, options) + -> DeepChatTapeService.exportReplaySlice(sessionId, messageId, options) + -> select manifest by requestSeq or latest + -> find matching message trace by requestSeq + -> collect manifest/included/excluded/anchor tape entries + -> return deterministic replay slice +``` + +## Module Changes + +| Module | Change | +| --- | --- | +| `src/shared/types/tape-replay.ts` | Add replay slice, trace snapshot, entry snapshot, and options types. | +| `src/main/presenter/agentRuntimePresenter/tapeService.ts` | Add `exportReplaySlice()`. | +| `src/main/presenter/agentRuntimePresenter/index.ts` | Expose agent-level replay export method. | +| `src/main/presenter/agentSessionPresenter/index.ts` | Resolve `messageId -> sessionId -> agent`. | +| `src/shared/contracts/routes/sessions.routes.ts` | Add typed replay export route. | +| `src/main/routes/index.ts` | Wire the route. | +| `src/renderer/api/SessionClient.ts` | Add replay export client method. | +| `test/main/presenter/agentRuntimePresenter/tapeService.test.ts` | Cover replay export behavior. | + +## Hashing + +- `entry.payloadHash`: hash of raw `payload_json`. +- `entry.metaHash`: hash of raw `meta_json`. +- `trace.headersHash`: hash of raw `headers_json`. +- `trace.bodyHash`: hash of raw `body_json`. +- `sliceHash`: deterministic hash of the returned slice with `sliceHash` empty. + +## Compatibility + +- Missing tape table returns `null`. +- Missing manifest returns `null`. +- Missing matching trace returns a manifest-only slice. +- Old traces keep working through existing trace APIs. + +## Verification + +```bash +pnpm vitest run test/main/presenter/agentRuntimePresenter/tapeService.test.ts +pnpm run format +pnpm run i18n +pnpm run lint +pnpm run typecheck +``` diff --git a/docs/architecture/deepchat-tape-replay-contract/spec.md b/docs/architecture/deepchat-tape-replay-contract/spec.md new file mode 100644 index 000000000..74c824756 --- /dev/null +++ b/docs/architecture/deepchat-tape-replay-contract/spec.md @@ -0,0 +1,86 @@ +# DeepChat Tape Replay Contract - Spec + +Status: implemented SDD. This goal extends the completed ViewManifest shadow-mode increment with a +stable replay/export contract. + +## Problem + +ViewManifest records which context facts participated in each provider request. The next Tape +architecture layer needs a typed export shape that joins a manifest, matching trace metadata, and +referenced tape entries into one deterministic slice. Without this slice, Inspector debugging and +future eval/replay tools still need to reimplement lookup rules. + +## Goals + +1. Export a `DeepChatTapeReplaySlice` for a message request sequence. +2. Reuse `DeepChatTapeService` and existing `deepchat_tape_entries` / `deepchat_message_traces` + storage. +3. Keep metadata-only export as the default. +4. Allow explicit inclusion of existing tape payloads and trace payloads for developer replay. +5. Produce stable hashes for slice, tape entry payloads, tape entry metadata, and trace payloads. +6. Return `null` when no manifest exists for the requested message or request sequence. + +## Non-Goals + +- Running live LLM replay. +- Replacing `buildContext()` or request preflight behavior. +- Adding a dedicated replay table. +- Adding cross-session memory retrieval. + +## User Stories + +- As a runtime debugger, I can export one request's manifest, trace metadata, and referenced tape + entries with one typed call. +- As an eval author, I can identify the exact manifest hash and request hash for a historical + request. +- As a privacy-conscious maintainer, I can inspect replay structure without duplicating raw prompt + or message content by default. + +## Acceptance Criteria + +1. `DeepChatTapeService` can export the latest replay slice for a message. +2. `DeepChatTapeService` can export a replay slice for an explicit `requestSeq`. +3. The slice includes the manifest record, matching trace metadata when present, referenced tape + entry snapshots, anchor refs, and stable hashes. +4. The default export omits tape `payload` / `meta` and trace `headersJson` / `bodyJson`. +5. Explicit options can include tape payloads and trace payloads from their existing storage paths. +6. A typed route and renderer client method expose the export by `messageId`. +7. Tests cover default privacy behavior, explicit payload inclusion, missing manifests, and + request-sequence selection. + +## Contract + +```ts +export interface DeepChatTapeReplaySlice { + schemaVersion: 1 + sliceId: string + sessionId: string + messageId: string + requestSeq: number + mode: 'manifest_only' | 'trace_bound' + manifestRecord: DeepChatTapeViewManifestRecord + trace: DeepChatTapeReplayTraceSnapshot | null + entries: DeepChatTapeReplayEntrySnapshot[] + refs: { + manifestEntryId: number + includedEntryIds: number[] + excludedEntryIds: number[] + anchorEntryIds: number[] + } + hashes: { + manifestHash: string + sliceHash: string + } + createdAt: number +} +``` + +## Privacy + +Default export is metadata-only. It contains IDs, timestamps, names, source refs, and hashes. +Payload inclusion is opt-in and reads from existing storage: + +- tape entry payload/meta from `deepchat_tape_entries` +- trace headers/body from `deepchat_message_traces` + +No new raw-content storage path is introduced. diff --git a/docs/architecture/deepchat-tape-replay-contract/tasks.md b/docs/architecture/deepchat-tape-replay-contract/tasks.md new file mode 100644 index 000000000..dc27e75d4 --- /dev/null +++ b/docs/architecture/deepchat-tape-replay-contract/tasks.md @@ -0,0 +1,10 @@ +# DeepChat Tape Replay Contract - Tasks + +## Implementation Tasks + +- [x] T1: Add shared `DeepChatTapeReplaySlice` contract types. +- [x] T2: Add `DeepChatTapeService.exportReplaySlice()` with metadata-only defaults. +- [x] T3: Add route, presenter, and renderer client method. +- [x] T4: Add tests for latest selection, explicit `requestSeq`, missing manifest, default privacy, + and explicit payload inclusion. +- [x] T5: Run format, i18n, lint, typecheck, and focused tests. diff --git a/docs/architecture/deepchat-tape-view-assembler/plan.md b/docs/architecture/deepchat-tape-view-assembler/plan.md new file mode 100644 index 000000000..3626226fe --- /dev/null +++ b/docs/architecture/deepchat-tape-view-assembler/plan.md @@ -0,0 +1,59 @@ +# DeepChat Tape View Assembler - Plan + +## Architecture Decision + +Add `src/main/presenter/agentRuntimePresenter/tapeViewAssembler.ts` as the production context +assembly boundary. The assembler resolves the active `TapeViewPolicy` through the selector and +constrains input history to tape-effective records. + +## Flow + +```text +processMessage() + -> tapeService.ensureSessionTapeReady() + -> compaction uses tape-ready context history + -> TapeViewAssembler.buildChatView() + -> TapeViewPolicy selector + -> legacy_context_v1 policy + -> return messages + metadata + assembler provenance + -> runStreamForMessage() + -> ViewManifest append + +resumeAssistantMessage() + -> tapeService.ensureSessionTapeReady() + -> TapeViewAssembler.buildResumeView() + -> TapeViewPolicy selector + -> legacy_context_v1 policy + -> return messages + metadata + assembler provenance + -> runStreamForMessage() +``` + +## Module Changes + +| Module | Change | +| --- | --- | +| `src/main/presenter/agentRuntimePresenter/tapeViewAssembler.ts` | New assembler boundary. | +| `src/main/presenter/agentRuntimePresenter/tapeViewPolicy.ts` | Selection policy boundary used by the assembler. | +| `src/main/presenter/agentRuntimePresenter/index.ts` | Replace direct metadata builder calls with assembler calls. | +| `test/main/presenter/agentRuntimePresenter/tapeViewAssembler.test.ts` | Add chat/resume parity tests. | +| `docs/architecture/deepchat-tape-baseline/spec.md` | Update current implementation path and owner table. | + +## Compatibility + +- Provider-bound messages stay byte-for-byte equivalent for existing tests. +- `contextBuilder.ts` remains available for unit tests and compatibility helpers. +- ViewManifest `contextBuilderVersion` remains `legacy-v1`. + +## Verification + +```bash +pnpm vitest run test/main/presenter/agentRuntimePresenter/tapeViewAssembler.test.ts +pnpm vitest run test/main/presenter/agentRuntimePresenter/tapeService.test.ts +pnpm vitest run test/renderer/components/trace/TraceDialog.test.ts +pnpm run format +pnpm run i18n +pnpm run lint +pnpm run typecheck:node +pnpm run typecheck:web +pnpm vitest run --reporter=dot +``` diff --git a/docs/architecture/deepchat-tape-view-assembler/spec.md b/docs/architecture/deepchat-tape-view-assembler/spec.md new file mode 100644 index 000000000..10db478ae --- /dev/null +++ b/docs/architecture/deepchat-tape-view-assembler/spec.md @@ -0,0 +1,56 @@ +# DeepChat Tape View Assembler - Spec + +Status: implemented SDD. This goal replaces direct runtime context-builder calls with a Tape-owned +assembler boundary while preserving provider-bound message parity. + +## Problem + +ViewManifest and replay slices now make context decisions auditable. The runtime still calls +`buildContextWithMetadata()` and `buildResumeContextWithMetadata()` directly, so Tape remains an +observer around the production context path. The next architecture step needs a production +`TapeViewAssembler` boundary that owns context assembly inputs from the effective tape view. + +## Goals + +1. Route normal chat and resume context assembly through `TapeViewAssembler`. +2. Keep provider-bound `ChatMessage[]` identical to the existing context-builder output. +3. Keep `DeepChatTapeService` as the Tape boundary and use `ensureSessionTapeReady()` history + records as the assembly source. +4. Preserve ViewManifest shadow event behavior and replay export behavior. +5. Add parity tests proving assembler output matches the legacy context builder for chat and resume. + +## Non-Goals + +- Context selection policy changes. +- Compaction policy updates. +- Provider preflight or context-pressure recovery modifications. +- Adding embedding memory or cross-session recall. +- Removing the legacy `contextBuilder.ts` implementation. + +## Acceptance Criteria + +1. Runtime normal chat no longer calls `buildContextWithMetadata()` directly. +2. Runtime resume no longer calls `buildResumeContextWithMetadata()` directly. +3. `TapeViewAssembler` exposes chat and resume assembly methods with typed metadata. +4. The assembler uses tape-ready history records supplied by `DeepChatTapeService`. +5. Tests prove chat parity against `buildContextWithMetadata()`. +6. Tests prove resume parity against `buildResumeContextWithMetadata()`. +7. Existing ViewManifest, replay slice, trace, lint, typecheck, and full test suites pass. + +## Contract + +```ts +export interface TapeViewAssemblerResult { + messages: ChatMessage[] + metadata: ContextBuildMetadata + assemblerVersion: 'tape-view-assembler-v1' + historySource: 'tape_effective_view' + historyRecords: ChatMessageRecord[] + policyId: 'legacy_context_v1' + policyVersion: 1 + policySelectionReason: 'default' | 'requested' | 'fallback_default' | 'injected' +} +``` + +`contextBuilderVersion` in ViewManifest remains `legacy-v1` for this increment because the +underlying selection algorithm stays unchanged. diff --git a/docs/architecture/deepchat-tape-view-assembler/tasks.md b/docs/architecture/deepchat-tape-view-assembler/tasks.md new file mode 100644 index 000000000..19116d50e --- /dev/null +++ b/docs/architecture/deepchat-tape-view-assembler/tasks.md @@ -0,0 +1,9 @@ +# DeepChat Tape View Assembler - Tasks + +## Implementation Tasks + +- [x] T1: Add `TapeViewAssembler` types and chat/resume assembly functions. +- [x] T2: Replace runtime direct calls to metadata context builders. +- [x] T3: Add chat and resume parity tests. +- [x] T4: Update baseline Tape architecture doc. +- [x] T5: Run focused tests, format, i18n, lint, typecheck, and full tests. diff --git a/docs/architecture/deepchat-tape-view-manifest/plan.md b/docs/architecture/deepchat-tape-view-manifest/plan.md new file mode 100644 index 000000000..70e5fb447 --- /dev/null +++ b/docs/architecture/deepchat-tape-view-manifest/plan.md @@ -0,0 +1,179 @@ +# DeepChat Tape ViewManifest Shadow Mode - Plan + +## Architecture Decision + +Use the existing `DeepChatTapeService` and `deepchat_tape_entries` table. The first increment adds a +shadow manifest layer that observes context construction and request preflight results. It records +metadata as tape events and leaves production message assembly unchanged. + +`DeepChatTapeService` remains the single Tape service boundary. + +## Event Flow + +```text +AgentRuntimePresenter.processMessage() + -> tapeService.ensureSessionTapeReady() + -> messageStore.createUserMessage() + -> buildContextWithMetadata() + -> messageStore.createAssistantMessage() + -> runStreamForMessage() + -> processStream() + -> coreStream(requestMessages, requestTools) + -> preflightRequestContext() + -> optional recoverRequestContextPressure() + -> tapeViewManifest.assembleRequestManifest() + -> tapeService.appendViewManifest() + -> provider.coreStream() + -> optional request trace persists with matching requestSeq +``` + +Resume flow uses the same service with `taskType = "resume"`, `policy = "legacy_context_v1"`, and +`policyVersion = 1`. + +## Module Changes + +| Module | Change | +| --- | --- | +| `src/shared/types/agent-interface.d.ts` or a new shared type file | Add public manifest result types for route/UI use. | +| `src/main/presenter/agentRuntimePresenter/tapeViewManifest.ts` | New pure assembler for manifest metadata and hashes. | +| `src/main/presenter/agentRuntimePresenter/tapeService.ts` | Append and list `view/assembled` events. | +| `src/main/presenter/agentRuntimePresenter/index.ts` | Call manifest assembly at initial context and request-level preflight points. | +| `src/shared/contracts/routes/sessions.routes.ts` | Extend the existing trace route output with manifest records. | +| `src/renderer/api/SessionClient.ts` | Add diagnostics and manifest client methods for message ID lookups. | +| `src/renderer/src/components/trace/TraceDialog.vue` | Add tabs for Request, View Manifest, Tape Entries, and Budget. | + +## Data Model + +Phase 1 stores manifests as tape events. This avoids a schema migration and uses the existing source +index: + +```text +deepchat_tape_entries + session_id = session id + kind = event + name = view/assembled + source_type = runtime_event + source_id = assistant message id + source_seq = request sequence + payload_json.data.manifest = DeepChatTapeViewManifest +``` + +The existing trace route resolves `messageId -> sessionId`, then returns both request traces and +matching tape manifest events. + +## Request Sequence + +`runStreamForMessage()` owns an in-memory request sequence counter for the assistant message: + +```text +assistant message m1 + requestSeq 1 -> initial provider request + requestSeq 2 -> provider request after a tool result + requestSeq 3 -> provider request after another tool result +``` + +The same sequence is used for the manifest and the request trace. If trace debug is disabled, the +manifest still records the sequence. + +## Hashing + +- `promptHash`: stable hash of provider-bound `ChatMessage[]` after preflight and recovery. +- `toolDefinitionsHash`: stable hash of provider-bound tool definitions. +- `manifestHash`: stable hash of the manifest with `manifestHash` omitted. + +Use deterministic JSON stringification for hash inputs. + +## Exclusion Reason Rules + +| Reason | Source | +| --- | --- | +| `before_summary_cursor` | Message order is below `summaryCursorOrderSeq`. | +| `compaction_indicator` | Message metadata marks a compaction indicator. | +| `pending_not_context_history` | Message status is pending outside the resume target. | +| `out_of_budget` | Turn was eligible but removed by token-budget selection. | +| `empty_after_formatting` | Record formatting produced zero provider messages. | +| `superseded` | Effective tape view replaced an older fact revision. | +| `retracted` | Effective tape view removed a message through a retraction event. | + +## UI Layout + +```text +TraceDialog ++-------------------------------------------------------------------+ +| Header | +| Title | ++-------------------------------------------------------------------+ +| Trace selector | ++-------------------------------------------------------------------+ +| Tabs: Request | View Manifest | Tape Entries | Budget | ++-------------------------------------------------------------------+ +| Request tab | +| Endpoint / provider / model | +| JSON editor | ++-------------------------------------------------------------------+ +| View Manifest tab | +| View id / policy / policy version / request seq | +| Included and excluded entry list | ++-------------------------------------------------------------------+ +| Tape Entries tab | +| Matching event and anchor refs | ++-------------------------------------------------------------------+ +| Budget tab | +| Context length / max tokens / estimated prompt tokens | ++-------------------------------------------------------------------+ +| Footer | ++-------------------------------------------------------------------+ +``` + +The dialog remains compact and developer-focused, with explanatory copy kept to empty and error +states. + +## Test Strategy + +| Test area | Required checks | +| --- | --- | +| Manifest assembler | Includes selected records, excludes cursor/budget drops, hashes deterministically. | +| Context parity | Existing `buildContext()` messages match manifest included refs for normal chat. | +| Resume parity | `buildResumeContext()` target and protected tail are represented. | +| Request sequence | Tool-loop provider calls create monotonically increasing request manifests. | +| Tape service | Append/list manifest events by message ID and request sequence. | +| Route/client | Legacy messages with an absent manifest return an empty list. | +| Renderer | Trace dialog renders Request tab and View Manifest empty/data states. | + +## Rollout + +1. Land shadow manifest assembly and tape persistence as headless runtime metadata. +2. Implement route/client support and tests. +3. Extend the trace dialog with diagnostic tabs. +4. Establish context parity coverage. +5. Use collected manifest data to design the later `TapeViewAssembler` production path. + +## Risks and Mitigations + +| Risk | Mitigation | +| --- | --- | +| Manifest diverges from actual provider request after preflight recovery. | Append request-level manifest after preflight and recovery for provider-bound context. | +| Storage growth from per-request events. | Store metadata and hashes only; avoid raw content duplication. | +| UI fails on old traces. | Treat missing manifest as an empty state. | +| Request sequence drifts from trace sequence. | Runtime owns the sequence and passes it to both manifest and trace persistence. | +| Context mapping misses synthetic system/new-user messages. | Represent them with `source = "synthetic"` and `entryId = null`. | + +## Verification Commands + +Run focused tests during implementation: + +```bash +pnpm vitest run test/main/presenter/agentRuntimePresenter/contextBuilder.test.ts +pnpm vitest run test/main/presenter/agentRuntimePresenter/tapeService.test.ts +pnpm vitest run test/main/presenter/sqlitePresenter/deepchatTapeEntriesTable.test.ts +pnpm vitest run test/renderer/components/trace/TraceDialog.test.ts +``` + +Before completing the feature, run: + +```bash +pnpm run format +pnpm run i18n +pnpm run lint +pnpm run typecheck +``` diff --git a/docs/architecture/deepchat-tape-view-manifest/spec.md b/docs/architecture/deepchat-tape-view-manifest/spec.md new file mode 100644 index 000000000..763a49904 --- /dev/null +++ b/docs/architecture/deepchat-tape-view-manifest/spec.md @@ -0,0 +1,231 @@ +# DeepChat Tape ViewManifest Shadow Mode - Spec + +Status: implemented SDD. This goal records the shadow-mode architecture and implementation tasks. + +## Problem + +DeepChat already persists append-only tape facts and request traces. The runtime lacks a persisted +context-selection decision for each LLM request. Debugging a long session currently requires +correlating message rows, compaction anchors, context-budget behavior, and provider request JSON by +hand. + +`ViewManifest` shadow mode records that decision while keeping the existing context builder as the +production path. + +## Current Code Baseline + +| Area | Current file | Role in this goal | +| --- | --- | --- | +| Tape table | `src/main/presenter/sqlitePresenter/tables/deepchatTapeEntries.ts` | Stores append-only events and anchors. | +| Tape service | `src/main/presenter/agentRuntimePresenter/tapeService.ts` | Existing Tape boundary; new manifest methods belong here or next to it. | +| Effective tape view | `src/main/presenter/agentRuntimePresenter/tapeEffectiveView.ts` | Reconstructs current message facts from tape entries. | +| Context builder | `src/main/presenter/agentRuntimePresenter/contextBuilder.ts` | Production path that shadow manifests must describe. | +| Runtime send path | `src/main/presenter/agentRuntimePresenter/index.ts` | Calls `ensureSessionTapeReady()`, `buildContext()`, and `runStreamForMessage()`. | +| Message trace | `src/main/presenter/sqlitePresenter/tables/deepchatMessageTraces.ts` | Existing request trace storage shown in the renderer. | +| Trace dialog | `src/renderer/src/components/trace/TraceDialog.vue` | First UI surface for ViewManifest inspection. | + +## Goals + +1. Persist one `ViewManifest` for every DeepChat LLM request attempt. +2. Keep `buildContext()` and request preflight behavior unchanged. +3. Explain included and excluded conversation facts with stable IDs and reasons. +4. Link each manifest to the assistant message and request sequence. +5. Support trace-dialog inspection while keeping raw prompt text out of the manifest. +6. Create parity tests that compare existing context output to manifest metadata. + +## Deferred Scope + +- Replacing `buildContext()` with a new assembler. +- Introducing a second TapeStore abstraction. +- Migrating old sessions eagerly. +- Adding embedding memory, topic clustering, or cross-session recall. +- Running live LLM replay in CI. +- Storing raw provider request bodies in tape events. + +## User Stories + +- As a developer, I can open a traced assistant message and see why each context entry was included + or excluded. +- As a maintainer, I can change context selection code and run tests that detect manifest/context + divergence. +- As an agent-runtime debugger, I can inspect the latest anchor, summary cursor, and token budget + used for a request. +- As a privacy-conscious user, I get manifest metadata while raw prompt content stays in its current + storage path. + +## Acceptance Criteria + +1. A normal chat turn appends a `view/assembled` tape event before the provider request is sent. +2. A resume turn appends a `view/assembled` tape event with `taskType = "resume"`. +3. A tool-loop provider request appends a request-level manifest with a monotonic `requestSeq` for + the assistant message. +4. If context-pressure recovery changes the provider request messages, a new manifest revision is + appended with `policy = "context_pressure_recovery_shadow"` and `policyVersion = null`. +5. The manifest records selected message IDs, source tape entry IDs when available, excluded message + IDs, exclusion reasons, token-budget inputs, prompt hash, and tool-definition hash. +6. The manifest stores IDs, hashes, token estimates, policies, policy versions, and reasons. Raw + user text, raw assistant text, raw tool output, image data, audio data, file content, API + headers, and API keys stay in existing storage paths. +7. Trace UI can show Request and View Manifest tabs for a traced assistant message. +8. Existing trace behavior remains compatible when a manifest is absent. +9. Tests prove that the selected history represented by the manifest matches `buildContext()` for + normal chat and resume paths. +10. Tests prove request-level manifest ordering across tool-loop provider calls. + +## ViewManifest Contract + +The first version is a shadow contract. It describes what the current runtime did. + +```ts +export type DeepChatTapeViewManifest = { + schemaVersion: 1 + viewId: string + sessionId: string + messageId: string + requestSeq: number + + taskType: 'chat' | 'resume' | 'tool_loop' + policy: + | 'legacy_context_v1' + | 'legacy_context_shadow' + | 'resume_shadow' + | 'tool_loop_shadow' + | 'context_pressure_recovery_shadow' + policyVersion: number | null + + contextBuilderVersion: 'legacy-v1' + latestEntryId: number + anchorEntryIds: number[] + + included: DeepChatTapeViewEntryRef[] + excluded: DeepChatTapeViewExcludedRef[] + + tokenBudget: { + contextLength: number + requestedMaxTokens: number + effectiveMaxTokens: number + reserveTokens: number + toolReserveTokens: number + estimatedPromptTokens: number + } + + hashes: { + promptHash: string + toolDefinitionsHash: string + manifestHash: string + } + + meta: { + providerId: string + modelId: string + summaryCursorOrderSeq: number + supportsVision: boolean + supportsAudioInput: boolean + traceDebugEnabled: boolean + } + + assembledAt: number +} + +export type DeepChatTapeViewEntryRef = { + entryId: number | null + messageId: string | null + orderSeq: number | null + role: 'system' | 'user' | 'assistant' | 'tool' | null + source: 'tape' | 'synthetic' + reason: + | 'system_prompt' + | 'selected_history' + | 'new_user_input' + | 'resume_target' + | 'tool_loop_message' +} + +export type DeepChatTapeViewExcludedRef = { + entryId: number | null + messageId: string | null + orderSeq: number | null + reason: + | 'before_summary_cursor' + | 'compaction_indicator' + | 'pending_not_context_history' + | 'out_of_budget' + | 'empty_after_formatting' + | 'superseded' + | 'retracted' +} +``` + +## Persistence Contract + +Manifests are append-only tape events: + +```json +{ + "kind": "event", + "name": "view/assembled", + "source_type": "runtime_event", + "source_id": "", + "source_seq": 1, + "payload_json": { + "name": "view/assembled", + "data": { + "manifest": "" + } + } +} +``` + +The manifest lookup key is `(sessionId, messageId, requestSeq)`. Existing tape indexes support this +through `source_type`, `source_id`, and `source_seq`. + +## UI Contract + +The first UI increment extends the existing trace dialog. + +```text ++-------------------------------------------------------------------+ +| Trace #1 Request | View Manifest | Tape Entries | Budget | ++-------------------------------------------------------------------+ +| View view_01 Policy legacy_context_v1 Version 1 | +| Anchor #42 Summary cursor 17 | ++------------------+------------------------------------------------+ +| Included | #43 user order=17 selected_history | +| | #44 assistant order=18 selected_history | +| Excluded | #1 user order=1 before_summary_cursor | +| | #29 assistant order=12 out_of_budget | ++------------------+------------------------------------------------+ +``` + +States: + +- Loading: dialog shows the existing spinner. +- Empty: Request tab stays available, View Manifest tab shows an empty state for this trace. +- Error: Request tab stays available during View Manifest loading failures. +- Legacy trace: the manifest tab explains that older traces have empty manifest state. + +## Privacy and Security + +- Store hashes and IDs in the manifest. +- Store raw provider request previews only in `deepchat_message_traces`. +- Reuse existing redaction for request traces. +- Keep file contents, image data, audio data, tool output, headers, and prompts in their existing + storage paths. + +## Compatibility + +- Old sessions keep lazy backfill through `DeepChatTapeService.ensureSessionTapeReady()`. +- Old traces render with an empty manifest state. +- Missing tape table remains a supported fallback for existing runtime code. +- The manifest feature preserves chat generation behavior, request ordering, and token-budget + decisions. +- Manifest append failures are logged and request execution continues. + +## Success Criteria + +- Shadow manifest generation is covered by unit tests for normal chat, resume, and tool-loop + request sequencing. +- Trace UI can display manifest data when present and degrade cleanly when absent. +- `buildContext()` output remains unchanged in existing tests. +- The SDD can support a later replacement phase where a real `TapeViewAssembler` becomes the + production path. diff --git a/docs/architecture/deepchat-tape-view-manifest/tasks.md b/docs/architecture/deepchat-tape-view-manifest/tasks.md new file mode 100644 index 000000000..7fd9301ef --- /dev/null +++ b/docs/architecture/deepchat-tape-view-manifest/tasks.md @@ -0,0 +1,28 @@ +# DeepChat Tape ViewManifest Shadow Mode - Tasks + +## Documentation + +- [x] T0: Create SDD folder and convert the broad Tape vision into the current implementation + direction. + +## Implementation Tasks + +- [x] T1: Add `DeepChatTapeViewManifest` shared types and a pure manifest hashing helper. +- [x] T2: Add `tapeViewManifest.ts` with pure assembly helpers for normal chat, resume, and + request-level provider calls. +- [x] T3: Extend `DeepChatTapeService` to append and list `view/assembled` events. +- [x] T4: Emit initial shadow manifests after `buildContext()` and `buildResumeContext()`. +- [x] T5: Emit request-level manifests inside `runStreamForMessage()` after preflight and + context-pressure recovery. +- [x] T6: Add typed route and renderer client method for manifests by message ID. +- [x] T7: Extend `TraceDialog.vue` with Request, View Manifest, Tape Entries, and Budget tabs. +- [x] T8: Add unit tests for manifest assembly, tape service list/append behavior, and route/client + compatibility. +- [x] T9: Add renderer tests for manifest tab loading, empty, error, and data states. +- [x] T10: Run format, i18n, lint, typecheck, and focused test suites. + +## Follow-up Tasks + +- [ ] F1: Evaluate whether manifest storage should get a dedicated table after real usage data. +- [ ] F2: Design production `TapeViewAssembler` replacement only after shadow parity is stable. +- [ ] F3: Define eval/replay export format from manifest slices. diff --git a/docs/architecture/deepchat-tape-view-policy/plan.md b/docs/architecture/deepchat-tape-view-policy/plan.md new file mode 100644 index 000000000..a73365039 --- /dev/null +++ b/docs/architecture/deepchat-tape-view-policy/plan.md @@ -0,0 +1,49 @@ +# DeepChat Tape View Policy - Plan + +## Architecture Decision + +Add `src/main/presenter/agentRuntimePresenter/tapeViewPolicy.ts`. The policy owns calls into +`contextBuilder.ts`; `TapeViewAssembler` owns production orchestration and provenance. + +## Flow + +```text +TapeViewAssembler.buildTapeChatView() + -> select default legacy_context_v1 policy + -> policy.buildChat() + -> return messages + metadata + policy id/version + +TapeViewAssembler.buildTapeResumeView() + -> select default legacy_context_v1 policy + -> policy.buildResume() + -> return messages + metadata + policy id/version +``` + +## Module Changes + +| Module | Change | +| --- | --- | +| `src/main/presenter/agentRuntimePresenter/tapeViewPolicy.ts` | New policy interface and legacy policy implementation. | +| `src/main/presenter/agentRuntimePresenter/tapeViewAssembler.ts` | Delegate selection to `TapeViewPolicy`. | +| `test/main/presenter/agentRuntimePresenter/tapeViewPolicy.test.ts` | Prove legacy policy parity. | +| `test/main/presenter/agentRuntimePresenter/tapeViewAssembler.test.ts` | Assert policy metadata and policy delegation. | +| `docs/architecture/deepchat-tape-baseline/spec.md` | Record the new policy boundary. | + +## Compatibility + +- No runtime behavior change. +- `contextBuilder.ts` remains the legacy algorithm implementation. +- The default policy is fixed to `legacy_context_v1`. + +## Verification + +```bash +pnpm vitest run test/main/presenter/agentRuntimePresenter/tapeViewPolicy.test.ts +pnpm vitest run test/main/presenter/agentRuntimePresenter/tapeViewAssembler.test.ts +pnpm run format +pnpm run i18n +pnpm run lint +pnpm run typecheck:node +pnpm run typecheck:web +pnpm vitest run --reporter=dot +``` diff --git a/docs/architecture/deepchat-tape-view-policy/spec.md b/docs/architecture/deepchat-tape-view-policy/spec.md new file mode 100644 index 000000000..ce5623a77 --- /dev/null +++ b/docs/architecture/deepchat-tape-view-policy/spec.md @@ -0,0 +1,49 @@ +# DeepChat Tape View Policy - Spec + +Status: implemented SDD. This goal extracts the current legacy context-selection algorithm behind a +Tape view policy interface. + +## Problem + +`TapeViewAssembler` is now the production context assembly entry. Tape context policy work needs a +typed policy boundary so new selection strategies can be introduced without changing runtime call +sites. + +## Goals + +1. Introduce a `TapeViewPolicy` interface for chat and resume assembly. +2. Implement `legacy_context_v1` as the first policy. +3. Keep provider-bound `ChatMessage[]` and metadata identical to the current assembler output. +4. Record policy id/version in `TapeViewAssemblerResult`. +5. Keep ViewManifest and replay slice behavior compatible. +6. Support registry-backed default policy resolution. + +## Non-Goals + +- Introducing a new context-selection algorithm. +- Changing compaction, preflight, or context-pressure recovery. +- Adding user-facing policy selection. +- Adding memory graph or embedding retrieval. + +## Acceptance Criteria + +1. `TapeViewAssembler` no longer imports `buildContextWithMetadata()` directly. +2. `TapeViewAssembler` no longer imports `buildResumeContextWithMetadata()` directly. +3. `legacy_context_v1` policy delegates to the current context builder. +4. Assembler results include `policyId = "legacy_context_v1"` and `policyVersion = 1`. +5. Tests prove policy output matches the legacy builder for chat and resume. +6. Tests prove assembler output still matches policy output. +7. Existing ViewManifest, replay, trace, lint, typecheck, and full test suites pass. + +## Contract + +```ts +export interface TapeViewPolicy { + id: 'legacy_context_v1' + version: 1 + buildChat(input: TapeChatViewPolicyInput): ContextBuildResult + buildResume(input: TapeResumeViewPolicyInput): ContextBuildResult +} +``` + +`legacy_context_v1` is the default policy for all DeepChat sessions in this increment. diff --git a/docs/architecture/deepchat-tape-view-policy/tasks.md b/docs/architecture/deepchat-tape-view-policy/tasks.md new file mode 100644 index 000000000..4b75d8e4f --- /dev/null +++ b/docs/architecture/deepchat-tape-view-policy/tasks.md @@ -0,0 +1,9 @@ +# DeepChat Tape View Policy - Tasks + +## Implementation Tasks + +- [x] T1: Add `TapeViewPolicy` interface and `legacy_context_v1` implementation. +- [x] T2: Update `TapeViewAssembler` to call policy interface and return policy metadata. +- [x] T3: Add policy parity tests and update assembler tests. +- [x] T4: Update baseline Tape architecture doc. +- [x] T5: Run focused tests, format, i18n, lint, typecheck, and full tests. diff --git a/docs/architecture/event-system.md b/docs/architecture/event-system.md index 23c937b92..a003a92d6 100644 --- a/docs/architecture/event-system.md +++ b/docs/architecture/event-system.md @@ -1,852 +1,136 @@ -# 事件系统详解 - -本文档详细介绍 DeepChat 的事件系统架构,包括 EventBus、事件常量定义和通信模式。 - -注意: - -- 当前 active renderer-main boundary 已经优先走 `renderer/api/*Client` + `window.deepchat` + typed contracts -- 下文中涉及 `useLegacyPresenter()`、`window.api`、raw `window.electron` 的内容,应视为 legacy / compatibility 背景 -- 当前 single-track 规则见 `docs/ARCHITECTURE.md` 的 renderer-main boundary 章节 - -## 📋 核心组件 - -| 组件 | 文件位置 | 职责 | -|------|---------|------| -| **EventBus** | `src/main/eventbus.ts` | 统一事件发射和接收 | -| **events.ts** | `src/main/events.ts` | 事件常量定义 | - -## 🏗️ EventBus 架构 - -### 类结构 - -```typescript -export class EventBus extends EventEmitter { - private windowPresenter: IWindowPresenter | null = null - private tabPresenter: ITabPresenter | null = null - - // 仅主进程内部 - sendToMain(eventName: string, ...args: unknown[]) - - // 发送所有渲染进程 - sendToRenderer(eventName: string, target: SendTarget, ...args: unknown[]) - - // 发送到指定窗口 - sendToWindow(eventName: string, windowId: number, ...args: unknown[]) - - // 发送到指定标签页 - sendToTab(tabId: number, eventName: string, ...args: unknown[]) - - // 发送到窗口的活跃标签页 - sendToActiveTab(windowId: number, eventName: string, ...args: unknown[]) - - // 同时发送到主进程和渲染进程 - send(eventName: string, target: SendTarget, ...args: unknown[]) - - // 设置窗口/标签展示器 - setWindowPresenter(windowPresenter: IWindowPresenter) - setTabPresenter(tabPresenter: ITabPresenter) -} -``` - -**文件位置**:`src/main/eventbus.ts:9-148` - -### SendTarget 枚举 - -```typescript -export enum SendTarget { - ALL_WINDOWS = 'all_windows', // 所有窗口的渲染进程 - DEFAULT_TAB = 'default_tab' // 默认标签页 -} -``` - -### 初始化流程 - -```mermaid -sequenceDiagram - participant Core as 初始化流程 - participant Presenter as Presenter - participant EventBus as EventBus - participant WindowP as WindowPresenter - participant TabP as TabPresenter - - Core->>Presenter: 初始化所有 Presenter - Presenter->>EventBus: 创建全局实例 - Presenter->>WindowP: 初始化 - Presenter->>TabP: 初始化 - - Presenter->>EventBus: setWindowPresenter(WindowPresenter) - Presenter->>EventBus: setTabPresenter(TabPresenter) - - Note over EventBus: 现在可以发送事件到窗口/标签 -``` - -**文件位置**:`src/main/presenter/index.ts`(初始化顺序) - -## 📡 通信模式 - -### 1. sendToMain - 主进程内部通信 - -```typescript -// 在主进程内部发送事件 -eventBus.sendToMain('some:event', payload) - -// 在主进程内部监听 -eventBus.on('some:event', (payload) => { - console.log('收到事件:', payload) -}) -``` - -**用途**: -- Presenter 之间的调用 -- 主进程内部状态通知 -- 不涉及渲染进程的通信 - -### 2. sendToRenderer - 主→渲染进程通信 - -```typescript -// 发送到所有窗口的渲染进程 -eventBus.sendToRenderer( - STREAM_EVENTS.RESPONSE, - SendTarget.ALL_WINDOWS, - { eventId: 'msg123', content: 'Hello' } -) - -// 发送到默认标签页 -eventBus.sendToRenderer( - STREAM_EVENTS.END, - SendTarget.DEFAULT_TAB, - { eventId: 'msg123' } -) -``` - -**实现**: - -```typescript -sendToRenderer(eventName: string, target: SendTarget, ...args) { - if (!this.windowPresenter) { - console.warn('WindowPresenter 不可用') - return - } - - switch (target) { - case SendTarget.ALL_WINDOWS: - // 发送到所有窗口 - this.windowPresenter.sendToAllWindows(eventName, ...args) - break - - case SendTarget.DEFAULT_TAB: - // 发送到默认标签页 - this.windowPresenter.sendToDefaultTab(eventName, true, ...args) - break - - default: - this.windowPresenter.sendToAllWindows(eventName, ...args) - } -} -``` - -**文件位置**:`src/main/eventbus.ts:36-56` - -### 3. sendToTab - 精确标签页通信 - -```typescript -// 发送到特定标签页 -eventBus.sendToTab(tabId, CONVERSATION_EVENTS.SCROLL_TO_MESSAGE, { - conversationId, - messageId -}) -``` - -**实现**: - -```typescript -sendToTab(tabId: number, eventName: string, ...args) { - if (!this.tabPresenter) { - console.warn('TabPresenter 不可用') - return - } - - // 获取 Tab 实例并发送事件 - this.tabPresenter.getTab(tabId).then(tabView => { - if (tabView && !tabView.webContents.isDestroyed()) { - tabView.webContents.send(eventName, ...args) - } else { - console.warn(`Tab ${tabId} 不存在或已销毁`) - } - }).catch(error => { - console.error(`发送事件 ${eventName} 到 Tab ${tabId} 失败:`, error) - }) -} -``` - -**文件位置**:`src/main/eventbus.ts:92-110` - -### 4. sendToWindow - 窗口级别通信 - -```typescript -// 发送到特定窗口的所有标签页 -eventBus.sendToWindow(windowId, TAB_EVENTS.TITLE_UPDATED, { - title: '新标题' -}) -``` - -**实现**: - -```typescript -sendToWindow(eventName: string, windowId: number, ...args) { - if (!this.windowPresenter) { - console.warn('WindowPresenter 不可用') - return - } - - this.windowPresenter.sendToWindow(windowId, eventName, ...args) -} -``` - -**文件位置**:`src/main/eventbus.ts:23-28` - -### 5. sendToActiveTab - 窗口活跃标签页通信 - -```typescript -// 发送到窗口的活跃标签页 -eventBus.sendToActiveTab(windowId, CONVERSATION_EVENTS.ACTIVATED, { - conversationId -}) -``` - -**实现**: - -```typescript -sendToActiveTab(windowId: number, eventName: string, ...args) { - if (!this.tabPresenter) { - console.warn('TabPresenter 不可用') - return - } - - this.tabPresenter.getActiveTabId(windowId).then(activeTabId => { - if (activeTabId) { - this.sendToTab(activeTabId, eventName, ...args) - } else { - console.warn(`窗口 ${windowId} 没有活跃的标签页`) - } - }) -} -``` - -**文件位置**:`src/main/eventbus.ts:119-137` - -### 6. send - 同时发送到主进程和渲染进程 - -```typescript -// 同时触发主进程内部和渲染进程的事件 -eventBus.send(CONVERSATION_EVENTS.LIST_UPDATED, SendTarget.ALL_WINDOWS, {}) -``` - -**实现**: - -```typescript -send(eventName: string, target: SendTarget, ...args) { - // 发送到主进程 - this.sendToMain(eventName, ...args) - - // 发送到渲染进程 - this.sendToRenderer(eventName, target, ...args) -} -``` - -**文件位置**:`src/main/eventbus.ts:64-69` - -## 📋 事件常量定义 - -### STREAM_EVENTS - 流生成事件 - -```typescript -export const STREAM_EVENTS = { - RESPONSE: 'stream:response', // 流式响应内容 - END: 'stream:end', // 流结束事件 - ERROR: 'stream:error' // 流错误事件 -} -``` - -**使用场景**: -- **RESPONSE**: LLM 流式返回内容、工具调用事件、usage 信息 -- **END**: 流生成完成(无论成功还是用户停止) -- **ERROR**: LLM 错误或生成失败 - -**文件位置**:`src/main/events.ts:67-71` - -**示例**: - -```typescript -// 发送文本内容 -eventBus.sendToRenderer(STREAM_EVENTS.RESPONSE, SendTarget.ALL_WINDOWS, { - eventId: messageId, - content: 'Hello, world!' -}) - -// 发送工具调用事件 -eventBus.sendToRenderer(STREAM_EVENTS.RESPONSE, SendTarget.ALL_WINDOWS, { - eventId: messageId, - tool_call: 'start', - tool_call_id: toolCallId, - tool_call_name: 'read_file', - tool_call_params: '' -}) - -// 发送 stream 结束 -eventBus.sendToRenderer(STREAM_EVENTS.END, SendTarget.ALL_WINDOWS, { - eventId: messageId, +# Event System + +This document describes the current DeepChat event boundary as of 2026-06-13. + +Renderer-main state notifications use typed event contracts. Raw event constants in +`src/main/events.ts` remain for main-process coordination and a small set of compatibility channels. + +## Current Boundary + +```text +Main presenter/service + -> publishDeepchatEvent(name, payload) + -> shared/contracts/events validates payload + -> EventBus sends deepchat:event + -> preload createBridge dispatches envelope + -> renderer/api client or store listener handles typed payload +``` + +| Layer | File | Responsibility | +| --- | --- | --- | +| Event catalog | `src/shared/contracts/events.ts` | Exports every renderer-visible event contract and payload schema | +| Channel name | `src/shared/contracts/channels.ts` | Defines `deepchat:event` | +| Publisher | `src/main/routes/publishDeepchatEvent.ts` | Validates payloads and emits typed envelopes | +| Transport | `src/main/eventbus.ts` | Routes events to all windows, default window/tab, or specific webContents | +| Preload bridge | `src/preload/createBridge.ts` | Subscribes to `deepchat:event` and dispatches by event name | +| Renderer entry | `src/renderer/api/*Client.ts` and stores | Owns domain listeners and cleanup | + +## Typed Events + +`DEEPCHAT_EVENT_CATALOG` is the renderer-visible source of truth. New renderer-visible events should +be added under `src/shared/contracts/events/*.events.ts`, exported from +`src/shared/contracts/events.ts`, and published through `publishDeepchatEvent`. + +Current event families include: + +| Family | Examples | Publisher owner | +| --- | --- | --- | +| `chat.*` | `chat.stream.updated`, `chat.stream.completed`, `chat.stream.failed`, `chat.plan.updated` | `agentRuntimePresenter`, `dispatch` | +| `sessions.*` | `sessions.updated`, `sessions.status.changed`, `sessions.pendingInputs.changed` | `agentSessionPresenter`, runtime services | +| `settings.*` | `settings.changed`, `settings.navigateRequested`, `settings.checkForUpdatesRequested` | config/settings/window flows | +| `config.*` | language, theme, system prompts, agents, shortcut keys | `configPresenter` helpers | +| `providers.*` and `models.*` | provider/model/rate-limit updates | provider runtime | +| `mcp.*` | server status, config, sampling, tool results | `mcpPresenter` | +| `sync.*` and `skillSync.*` | backup/import/scan/export progress | sync presenters | +| `browser.*` | status, activity, open requests | `YoBrowserPresenter` | +| `window.*` and `appRuntime.*` | window state, shortcuts, deeplinks, notifications | window/app presenters | + +Example publisher: + +```ts +publishDeepchatEvent('chat.stream.completed', { + eventId, userStop: false }) ``` -### CONVERSATION_EVENTS - 会话事件 - -```typescript -export const CONVERSATION_EVENTS = { - LIST_UPDATED: 'conversation:list-updated', // 会话列表更新 - ACTIVATED: 'conversation:activated', // 会话激活 - DEACTIVATED: 'conversation:deactivated', // 会话停用 - MESSAGE_EDITED: 'conversation:message-edited', // 消息编辑 - SCROLL_TO_MESSAGE: 'conversation:scroll-to-message', // 滚动到消息 - MESSAGE_GENERATED: 'conversation:message-generated' // 消息生成完成(主进程内部) -} -``` - -**使用场景**: -- **LIST_UPDATED**: 会话创建/删除/重命名/分支后刷新列表 -- **ACTIVATED**: 会话绑定到标签页 -- **DEACTIVATED**: 从标签页解绑 -- **MESSAGE_EDITED**: 消息内容更新 -- **SCROLL_TO_MESSAGE**: 分支后滚动到特定消息 - -**文件位置**:`src/main/events.ts:55-64` - -**示例**: - -```typescript -// 广播会话列表更新 -eventBus.sendToRenderer(CONVERSATION_EVENTS.LIST_UPDATED, SendTarget.ALL_WINDOWS, {}) - -// 激活会话 -eventBus.sendToRenderer(CONVERSATION_EVENTS.ACTIVATED, SendTarget.ALL_WINDOWS, { - tabId, - conversationId -}) - -// 滚动到消息 -eventBus.sendToTab(tabId, CONVERSATION_EVENTS.SCROLL_TO_MESSAGE, { - conversationId, - messageId, - childConversationId -}) -``` - -### CONFIG_EVENTS - 配置事件 - -```typescript -export const CONFIG_EVENTS = { - // Provider 相关 - PROVIDER_CHANGED: 'config:provider-changed', - PROVIDER_ATOMIC_UPDATE: 'config:provider-atomic-update', - PROVIDER_BATCH_UPDATE: 'config:provider-batch-update', - - // 模型相关 - MODEL_LIST_CHANGED: 'config:model-list-changed', - MODEL_STATUS_CHANGED: 'config:model-status-changed', - MODEL_CONFIG_CHANGED: 'config:model-config-changed', - - // 设置相关 - SETTING_CHANGED: 'config:setting-changed', - - // 其他 - LANGUAGE_CHANGED: 'config:language-changed', - THEME_CHANGED: 'config:theme-changed', - FONT_FAMILY_CHANGED: 'config:font-family-changed', - DEFAULT_SYSTEM_PROMPT_CHANGED: 'config:default-system-prompt-changed', - CUSTOM_PROMPTS_CHANGED: 'config:custom-prompts-changed' -} -``` - -**使用场景**: -- Provider 添加/删除/更新配置 -- 模型列表刷新、状态变更 -- 设置修改(如主题、语言、字体) -- 自定义提示词变更 - -**文件位置**:`src/main/events.ts:12-45` - -**示例**: - -```typescript -// Provider 配置变更 -eventBus.send(CONFIG_EVENTS.PROVIDER_CHANGED, { providerId: 'openai' }) - -// 设置变更 -eventBus.send(CONFIG_EVENTS.SETTING_CHANGED, { key: 'input_chatMode', value: 'agent' }) - -// 语言变更 -eventBus.send(CONFIG_EVENTS.LANGUAGE_CHANGED, { language: 'zh-CN' }) -``` - -### MCP_EVENTS - MCP 事件 - -```typescript -export const MCP_EVENTS = { - SERVER_STARTED: 'mcp:server-started', // MCP 服务器启动 - SERVER_STOPPED: 'mcp:server-stopped', // MCP 服务器停止 - CONFIG_CHANGED: 'mcp:config-changed', // MCP 配置变更 - TOOL_CALL_RESULT: 'mcp:tool-call-result', // 工具调用结果 - SERVER_STATUS_CHANGED: 'mcp:server-status-changed', // 服务器状态变更 - CLIENT_LIST_UPDATED: 'mcp:client-list-updated', // 客户端列表更新 - INITIALIZED: 'mcp:initialized' // MCP 初始化完成 -} -``` - -**使用场景**: -- MCP 服务器生命周期管理 -- 工具调用结果返回 -- MCP 配置更新(服务器添加/删除) - -**文件位置**:`src/main/events.ts:114-126` - -**示例**: - -```typescript -// MCP 服务器启动 -eventBus.send(MCP_EVENTS.SERVER_STARTED, { serverName: 'filesystem' }) - -// 工具调用结果 -eventBus.send(MCP_EVENTS.TOOL_CALL_RESULT, { - toolCallId, - toolResult, - serverName -}) -``` - -### TAB_EVENTS - 标签页事件 - -```typescript -export const TAB_EVENTS = { - TITLE_UPDATED: 'tab:title-updated', // 标签标题更新 - CONTENT_UPDATED: 'tab:content-updated', // 标签内容更新 - STATE_CHANGED: 'tab:state-changed', // 标签状态变化 - VISIBILITY_CHANGED: 'tab:visibility-changed', // 标签可见性变化 - RENDERER_TAB_READY: 'tab:renderer-ready', // 渲染标签就绪 - CLOSED: 'tab:closed' // 标签关闭 -} -``` - -**使用场景**: -- Tab 元数据更新 -- Tab 状态变化(加载中/已加载) -- Tab 显示/隐藏 -- Tab 关闭清理 - -**文件位置**:`src/main/events.ts:180-188` - -**示例**: - -```typescript -// 标签准备就绪 -eventBus.sendToMain(TAB_EVENTS.RENDERER_TAB_READY, { tabId }) - -// 标签关闭 -eventBus.send(TAB_EVENTS.CLOSED, { tabId }) -``` - -### WINDOW_EVENTS - 窗口事件 - -```typescript -export const WINDOW_EVENTS = { - READY_TO_SHOW: 'window:ready-to-show', // 窗口准备显示 - WINDOW_FOCUSED: 'window:focused', // 窗口获得焦点 - WINDOW_BLURRED: 'window:blurred', // 窗口失去焦点 - WINDOW_MAXIMIZED: 'window:maximized', // 窗口最大化 - WINDOW_UNMAXIMIZED: 'window:unmaximized', // 窗口还原 - WINDOW_RESIZED: 'window:resized', // 窗口大小变化 - WINDOW_CLOSED: 'window:closed', // 窗口关闭 - ENTER_FULL_SCREEN: 'window:enter-full-screen', // 进入全屏 - LEAVE_FULL_SCREEN: 'window:leave-full-screen', // 退出全屏 -} -``` +Example renderer listener: -**使用场景**: -- 窗口生命周期管理 -- 窗口 UI 状态同步 - -**文件位置**:`src/main/events.ts:88-107` - -### WORKSPACE_EVENTS - 工作区事件 - -```typescript -export const WORKSPACE_EVENTS = { - PLAN_UPDATED: 'workspace:plan-updated', // 计划更新 - TERMINAL_OUTPUT: 'workspace:terminal-output', // 终端输出 - FILES_CHANGED: 'workspace:files-changed' // 文件变化 -} -``` - -**使用场景**: -- Workspace Plan 更新 -- Terminal 输出显示 -- 文件系统工具执行后刷新文件树 - -**文件位置**:`src/main/events.ts:249-253` - -**示例**: - -```typescript -// 文件变化(Agent 文件系统工具执行后) -eventBus.sendToRenderer(WORKSPACE_EVENTS.FILES_CHANGED, SendTarget.ALL_WINDOWS, { - conversationId +```ts +const stop = window.deepchat.on('chat.stream.completed', (payload) => { + messageStore.finishStream(payload.eventId) }) ``` -### NOTIFICATION_EVENTS - 通知事件 - -```typescript -export const NOTIFICATION_EVENTS = { - SHOW_ERROR: 'notification:show-error', // 显示错误通知 - SYS_NOTIFY_CLICKED: 'notification:sys-notify-clicked' // 系统通知点击 -} -``` - -**使用场景**: -- 错误提示通知 -- 系统通知交互 - -**文件位置**:`src/main/events.ts:156-160` - -### 其他事件类别 - -```typescript -// 更新事件 -export const UPDATE_EVENTS = { - STATUS_CHANGED: 'update:status-changed', - ERROR: 'update:error', - PROGRESS: 'update:progress', - WILL_RESTART: 'update:will-restart' -} - -// OLLAMA 事件 -export const OLLAMA_EVENTS = { - PULL_MODEL_PROGRESS: 'ollama:pull-model-progress' -} - -// 深链接事件 -export const DEEPLINK_EVENTS = { - PROTOCOL_RECEIVED: 'deeplink:protocol-received', - START: 'deeplink:start', - MCP_INSTALL: 'deeplink:mcp-install' -} - -// RAG(知识库)事件 -export const RAG_EVENTS = { - FILE_UPDATED: 'rag:file-updated', - FILE_PROGRESS: 'rag:file-progress' -} -``` - -## 🔄 事件流向示例 - -### 消息生成完整事件流 - -```mermaid -sequenceDiagram - participant User as 用户 - participant AgentP as AgentPresenter - participant EventBus as EventBus - participant UI as ChatView.vue - participant SQLite as SQLite - - User->>AgentP: sendMessage() - AgentP->>SQLite: 创建用户消息 - - Note over AgentP: 启动 Stream - AgentP->>EventBus: sendToMain(Loop Start) - AgentP->>EventBus: sendToRenderer(CONVERSATION_EVENTS.ACTIVATED) - - loop 流式生成 - AgentP->>EventBus: sendToRenderer(STREAM_EVENTS.RESPONSE, {content}) - EventBus->>UI: 接收并显示内容 - end - - AgentP->>EventBus: sendToRenderer(STREAM_EVENTS.END) - EventBus->>UI: 收束流 - AgentP->>EventBus: sendToRenderer(CONVERSATION_EVENTS.LIST_UPDATED) -``` - -### 工具调用完整事件流 +## EventBus Role -```mermaid -sequenceDiagram - participant AgentLoop as Agent Loop - participant EventBus as EventBus - participant UI as PermissionDialog - participant MCP as McpPresenter - participant Files as 文件系统 +`EventBus` is now a transport and main-process pub/sub helper: - AgentLoop->>EventBus: send STREAM_EVENTS.RESPONSE
{tool_call: 'start'} - EventBus->>UI: 显示工具调用块(加载中) +- `sendToMain()` emits process-local events. +- `sendToRenderer()` sends a raw channel to all windows, the default window, or the default tab. +- `sendToRendererIfAvailable()` is used during early startup where a renderer may still be absent. +- `sendToWebContents()` targets a specific webContents id. +- `sendToTab()` and `broadcastToTabs()` are compatibility aliases over webContents routing. +- `setTabPresenter()` is a compatibility hook; current tab routing goes through `WindowPresenter`. - AgentLoop->>MCP: callTool() - MCP->>MCP: 检查权限 +Renderer-visible app state should use typed event contracts. Raw EventBus channels are reserved for +internal main events, bootstrapping, and explicit preload/window channels. - alt 需要权限 - MCP-->>EventBus: 需要 permission - AgentLoop->>EventBus: send {tool_call: 'permission-required'} - EventBus->>UI: 显示权限请求对话框 - UI->>User: 请求用户批准 +## Raw Event Constants - User->>UI: 批准/拒绝 - UI->>AgentP: handlePermissionResponse() +`src/main/events.ts` still defines main-process event names grouped by domain: - alt 批准 - AgentP->>MCP: grantPermission() - MCP->>Files: 执行工具 - Files-->>MCP: 结果 - MCP-->>AgentLoop: toolResponse - else 拒绝 - AgentLoop->>AgentLoop: 返回错误 - end - else 已批准权限 - MCP->>Files: 执行工具 - Files-->>MCP: 结果 - MCP-->>AgentLoop: toolResponse - end +- `CONFIG_EVENTS` +- `PROVIDER_DB_EVENTS` +- `SYSTEM_EVENTS` +- `UPDATE_EVENTS` +- `WINDOW_EVENTS` +- `SETTINGS_EVENTS` +- `MCP_EVENTS` +- `SYNC_EVENTS` +- `DEEPLINK_EVENTS` +- `SHORTCUT_EVENTS` +- `TAB_EVENTS` +- `TRAY_EVENTS` +- `LIFECYCLE_EVENTS` - AgentLoop->>EventBus: send STREAM_EVENTS.RESPONSE
{tool_call: 'running'} - EventBus->>UI: 更新 UI 状态(执行中) +These constants are useful for presenter-to-presenter notifications and a few raw window flows. +Renderer business code should consume typed events through `window.deepchat.on()` or a renderer API +client wrapper. - AgentLoop->>EventBus: send STREAM_EVENTS.RESPONSE
{tool_call: 'end'} - EventBus->>UI: 显示工具结果 +## Request/Response Boundary - Note over Files: Agent 文件系统工具 - AgentLoop->>EventBus: send WORKSPACE_EVENTS.FILES_CHANGED - EventBus->>UI: 刷新文件树 -``` - -### 会话创建事件流 - -```mermaid -sequenceDiagram - participant User as 用户 - participant UI as ThreadList - participant SessionP as SessionPresenter - participant ConvMgr as ConversationManager - participant EventBus as EventBus - - User->>UI: 点击"新建对话" - UI->>SessionP: createConversation() - - SessionP->>ConvMgr: createConversation(title, settings, tabId) - ConvMgr->>ConvMgr: 持久化到 SQLite - ConvMgr->>ConvMgr: setActiveConversation() - ConvMgr-->>SessionP: conversationId - - SessionP->>EventBus: send CONVERSATION_EVENTS.ACTIVATED - EventBus->>UI: 更新 UI(激活新会话) - - SessionP->>EventBus: send CONVERSATION_EVENTS.LIST_UPDATED - EventBus->>UI: 刷新会话列表 -``` - -## 📤 渲染层到主进程的 IPC 调用模式 - -当前推荐模式: - -- typed route contract -- typed event contract -- `renderer/api/*Client` - -下面的 `useLegacyPresenter()` 小节主要用于解释 legacy transport 是如何工作的,以及为什么它需要被继续收口。 - -### useLegacyPresenter - legacy Presenter 兼容调用 - -**文件位置**:`src/renderer/api/legacy/presenters.ts` +Events are one-way notifications. Renderer-to-main commands and queries use typed routes: -| 组件 | 文件位置 | 职责 | -|------|---------|------| -| **useLegacyPresenter** | `src/renderer/api/legacy/presenters.ts` | 为兼容路径提供类型安全的 Presenter 方法调用代理 | - -### 工作原理 - -`useLegacyPresenter()` 实现了渲染层到主进程的 legacy 双向代理调用系统: - -1. **类型安全** - 通过 TypeScript 泛型确保调用方法的类型正确 -2. **WebContentsId 映射** - 自动获取并缓存当前的 webContentsId,供主进程映射到 tabId/windowId -3. **安全序列化** - `safeSerialize()` 处理不可序列化对象 -4. **统一 IPC 通道** - 所有调用通过 `presenter:call` 路由到主进程 - -```mermaid -sequenceDiagram - participant UI as Vue Component - participant UP as useLegacyPresenter - participant IPC as electron.ipcRenderer - participant Router as presenter:call - participant P as Presenter - - UI->>UP: useLegacyPresenter('agentSessionPresenter') - UI->>UP: sendMessage(...) - UP->>UP: safeSerialize(payloads) - UP->>UP: getLegacyWebContentsId() - UP->>IPC: invoke(presenter:call) - IPC->>Router: 路由到指定 Presenter - Router->>P: 调用 sendMessage - P-->>Router: 返回结果 - Router-->>IPC: 返回结果 - IPC-->>UP: Promise resolve - UP-->>UI: 返回结果 -``` - -### 核心实现 - -```typescript -export function useLegacyPresenter( - name: T, - options?: LegacyPresenterOptions -): IPresenter[T] { - return useLegacyPresenterTransport(name, options) -} -``` - -通过 Proxy 机制,所有对 Presenter 方法的调用都会被拦截并转换为 IPC 调用: - -```typescript -Proxy handler: - get(presenterName, functionName) { - return async (...payloads) => { - const webContentsId = getLegacyWebContentsId() - const rawPayloads = payloads.map((e) => safeSerialize(toRaw(e))) - return window.electron.ipcRenderer.invoke( - 'presenter:call', - presenterName, - functionName, - ...rawPayloads - ) - } - } +```text +Vue component/store + -> renderer/api client + -> window.deepchat.invoke(routeName, input) + -> shared/contracts/routes validates input/output + -> src/main/routes handler/service + -> presenter-backed port or presenter ``` -### WebContentsId 到 tabId/windowId 映射 - -- legacy runtime 通过 `getLegacyWebContentsId()` 包装 `window.api.getWebContentsId()` 获取自己的 webContentsId -- 主进程通过 IPC 调用携带的 webContentsId 自动映射到对应的 tabId 和 windowId -- 这解决了渲染层不知道自己所属 tabId 的问题 - -### 使用示例 - -```typescript -// Vue 组件中 -import { useLegacyPresenter } from '@api/legacy/presenters' - -const agentPresenter = useLegacyPresenter('agentSessionPresenter') -const projectPresenter = useLegacyPresenter('projectPresenter') - -// 发送消息 -async function sendMessage(sessionId: string, content: string) { - await agentPresenter.sendMessage(sessionId, content) -} - -// 打开项目目录 -async function openProject(path: string) { - await projectPresenter.openDirectory(path) -} -``` - -### 与 EventBus 的区别 - -| 特性 | EventBus | useLegacyPresenter (legacy IPC) | -|------|----------|-------------------| -| 模式 | pub/sub(发布/订阅) | request/response(请求/响应) | -| 方向 | 主要主→渲染(广播) | 渲染→主(调用) | -| 返回值 | 无返回值 | Promise | -| 典型用途 | 状态通知、流式更新、UI 同步 | CRUD 操作、命令执行、数据查询 | -| 监听方式 | renderer 监听事件 | renderer 调用方法 | -| 通信通道 | `sendToRenderer()` / `on()` | `invoke('presenter:call')` | - -### 调试支持 - -通过环境变量 `VITE_LOG_IPC_CALL=1` 可以开启 IPC 调用日志: - -```bash -VITE_LOG_IPC_CALL=1 npm run dev -``` - -控制台输出: -``` -[Renderer IPC] WebContents:42 -> agent.sendMessage -``` - -## 🔍 在渲染进程监听事件 - -### Vue 组件中监听事件 - -```typescript -import { eventBus } from '@preload' - -export default { - setup() { - onMounted(() => { - // 监听流响应 - window.api.on(STREAM_EVENTS.RESPONSE, (data) => { - console.log('收到流响应:', data) - // 更新 UI - }) - - // 监听流结束 - window.api.on(STREAM_EVENTS.END, (data) => { - console.log('流结束:', data) - }) - }) - - onUnmounted(() => { - // 清理监听器 - window.api.removeAllListeners(STREAM_EVENTS.RESPONSE) - window.api.removeAllListeners(STREAM_EVENTS.END) - }) - } -} -``` - -### Pinia Store 中监听事件 - -```typescript -import { defineStore } from 'pinia' -import { eventBus } from '@preload' - -export const useChatStore = defineStore('chat', { - state: () => ({ - messages: [] - }), - - actions: { - initEventListener() { - window.api.on(STREAM_EVENTS.RESPONSE, (data) => { - this.handleStreamResponse(data) - }) - }, - - handleStreamResponse(data) { - // 处理流响应 - const { content, tool_call, eventId } = data - // ... - } - } -}) -``` +| Need | Boundary | +| --- | --- | +| Query data or run a command | typed route | +| Notify renderer of changed state | typed event | +| Publish startup or internal lifecycle state inside main | EventBus raw event | +| Target a single webContents | typed envelope via `publishDeepchatEventToWebContents` | -## 📁 关键文件位置汇总 +## Guardrails -- **EventBus**: `src/main/eventbus.ts:1-152` -- **事件常量**: `src/main/events.ts:1-263` -- **Presenter 初始化**: `src/main/presenter/index.ts` -- **useLegacyPresenter**: `src/renderer/api/legacy/presenters.ts` +- Add renderer-visible events to `src/shared/contracts/events*.ts`. +- Publish renderer-visible payloads through `publishDeepchatEvent()` or + `publishDeepchatEventToWebContents()`. +- Keep raw IPC and broad `window.electron` access inside explicit preload/bridge boundaries. +- Keep retired legacy transport paths deleted: `useLegacyPresenter()`, `presenter:call`, + `remoteControlPresenter:call`, and `src/renderer/api/legacy/**`. +- Update `test/main/**` or `test/renderer/api/createBridge.test.ts` when an event contract changes. -## 📚 相关阅读 +## Related Docs -- [整体架构概览](../ARCHITECTURE.md#事件通信层) -- [Agent 系统详解](./agent-system.md) -- [工具系统详解](./tool-system.md) -- [核心流程](../FLOWS.md) +- [Architecture Overview](../ARCHITECTURE.md) +- [Core Flows](../FLOWS.md) +- [Agent System](./agent-system.md) +- [Tool System](./tool-system.md) diff --git a/docs/architecture/tool-system.md b/docs/architecture/tool-system.md index e6730f2e1..38b242b1e 100644 --- a/docs/architecture/tool-system.md +++ b/docs/architecture/tool-system.md @@ -12,7 +12,12 @@ | `AgentToolManager` | `src/main/presenter/toolPresenter/agentTools/agentToolManager.ts` | 本地 agent tools 装配与执行 | | `AgentFileSystemHandler` | `src/main/presenter/toolPresenter/agentTools/agentFileSystemHandler.ts` | 文件系统类工具 | | `AgentBashHandler` | `src/main/presenter/toolPresenter/agentTools/agentBashHandler.ts` | 命令执行与后台 session | +| `AgentFffSearchHandler` | `src/main/presenter/toolPresenter/agentTools/agentFffSearchHandler.ts` | FFF-backed `glob` / `grep` code search | | `chatSettingsTools` | `src/main/presenter/toolPresenter/agentTools/chatSettingsTools.ts` | chat/session settings 工具 | +| `SubagentOrchestratorTool` | `src/main/presenter/toolPresenter/agentTools/subagentOrchestratorTool.ts` | subagent orchestration | +| `AgentPlanTool` | `src/main/presenter/toolPresenter/agentTools/agentPlanTool.ts` | `agent-core/update_plan` | +| `AgentTapeToolHandler` | `src/main/presenter/toolPresenter/agentTools/agentTapeTools.ts` | tape read/merge/discard tools | +| `AgentImageGenerationTool` | `src/main/presenter/toolPresenter/agentTools/agentImageGenerationTool.ts` | image generation tool | | `McpPresenter` | `src/main/presenter/mcpPresenter/` | 外部 MCP servers 与 tools | | `ACP helpers` | `src/main/presenter/llmProviderPresenter/acp/` | ACP provider runtime、workdir、config、MCP 映射 | @@ -26,7 +31,10 @@ graph LR ToolPresenter --> AgentTools["AgentToolManager"] AgentTools --> Fs["AgentFileSystemHandler"] AgentTools --> Bash["AgentBashHandler"] + AgentTools --> FFF["AgentFffSearchHandler"] AgentTools --> Settings["chatSettingsTools"] + AgentTools --> Subagents["SubagentOrchestratorTool"] + AgentTools --> Plan["AgentPlanTool"] ``` ## 获取工具定义 @@ -36,6 +44,7 @@ graph LR 1. 从 `mcpPresenter` 拉取 MCP tools。 2. 从 `AgentToolManager` 拉取本地 agent tools。 3. 用 `ToolMapper` 记录来源,并在重名时优先保留 MCP tool。 +4. 过滤 disabled agent tools,并为每个 conversation 维护独立映射。 这意味着 `agentRuntimePresenter` 不需要知道 tool 的真实来源,只需要持有统一的 `MCPToolDefinition[]`。 @@ -78,6 +87,25 @@ port 负责提供: - settings approval 消费 - `agentSessionPresenter` 会话上下文桥接 +## FFF Search + +Agent code/file search uses `@ff-labs/fff-node` through `AgentFffSearchHandler`. + +Current model-facing search tools: + +| Tool | Backing API | Output | +| --- | --- | --- | +| `glob` | `FffSearchService.findFiles()` | JSON file hits with `path` and score | +| `grep` | `FffSearchService.grep()` | JSON line hits with `path`, `lineNumber`, snippet, and score | + +Search policy: + +- Agent prompts should prefer `glob -> grep -> read`. +- Shell search commands are outside the model-facing code search path. +- FFF unavailable errors stay tool errors. +- Tool metadata reports `source: "fff"` so downstream rendering/debug paths can identify search + origin. + 权限能力拆分: - 文件访问:`filePermissionService` diff --git a/docs/architecture/unify-provider-settings-ui/plan.md b/docs/architecture/unify-provider-settings-ui/plan.md deleted file mode 100644 index 45c6909cc..000000000 --- a/docs/architecture/unify-provider-settings-ui/plan.md +++ /dev/null @@ -1,31 +0,0 @@ -# 实施方案 - -## 设计决策 - -抽取共享外壳组件 `ProviderSettingsShell.vue`,承载「信息卡 + Tabs」骨架,标准 -Provider 与 Bedrock 均复用,彻底消除骨架分叉,防止未来再次不一致。 - -## 组件契约:ProviderSettingsShell.vue - -- Props:`title: string`、`subtitle?: string`、`enabledCount: number`、 - `activeTab: 'connection' | 'models' | 'advanced'` -- Emits:`update:activeTab`(支持 `v-model:active-tab`) -- Slots:`connection`、`models`、`advanced`(默认回退显示 - `settings.provider.center.noAdvancedConfig`)、`dialogs`(置于 ScrollArea 外、 - section 内,承载对话框容器) -- i18n:复用 `settings.provider.center.{noApiUrl,enabledModels,tabs.*,noAdvancedConfig}` - -## 改动清单 - -1. 新建 `ProviderSettingsShell.vue`。 -2. `ModelProviderSettingsDetail.vue`:模板改用 shell,移除内联 ScrollArea/Badge/Tabs - 导入;script 逻辑不变,`activeTab` 通过 `v-model` 接入 shell。 -3. `BedrockProviderSettingsDetail.vue`:模板改用 shell;凭证表单 → connection slot, - 模型管理 → models slot,`ProviderRateLimitConfig` → advanced slot;新增 `activeTab` - ref;移除未使用的 ScrollArea 导入。 - - `AWS_BEDROCK_PROVIDER = LLM_PROVIDER & {...}`,故 `ProviderRateLimitConfig` - (要求 `LLM_PROVIDER`)类型兼容。 - -## 风险 - -- 改动集中在三个 Vue 文件,纯 UI 结构,业务逻辑零改动,风险低。 diff --git a/docs/architecture/unify-provider-settings-ui/spec.md b/docs/architecture/unify-provider-settings-ui/spec.md deleted file mode 100644 index 128d29ec0..000000000 --- a/docs/architecture/unify-provider-settings-ui/spec.md +++ /dev/null @@ -1,31 +0,0 @@ -# 统一 Provider 设置界面外观 - -## 背景 - -设置页中各 LLM Provider 的详情界面由 `ModelProviderSettingsSettings.vue` 根据 -`apiType` 分发到不同子组件。标准 Provider(OpenAI / Anthropic / Gemini 等)使用 -`ModelProviderSettingsDetail.vue`,其结构为「顶部信息卡 + Tabs(Connect / Models / -Advanced)」。而 AWS Bedrock 使用 `BedrockProviderSettingsDetail.vue`,采用平铺表单 -结构:无信息卡、无 Tabs,外层 `ScrollArea` 与内部容器叠加 `p-2`/`gap-2` 导致间距不 -统一。两者视觉骨架完全不同,用户反馈“样式完全不一致”。 - -## 目标 - -让 AWS Bedrock 的设置界面在视觉骨架上与标准 Provider 完全一致,同时不改动其凭证、 -验证、模型管理等业务逻辑。 - -## 范围 - -- 仅渲染进程 UI 结构调整(`src/renderer/settings/components/`)。 -- 不改动 main 进程的 Provider 实现、凭证存储、模型获取逻辑。 -- 复用现有 i18n key(`settings.provider.center.*` 已存在)。 - -## 验收标准 - -- Bedrock 详情页顶部显示信息卡(标题 + 副标题 + 已启用模型数 Badge)。 -- Bedrock 详情页使用 Connect / Models / Advanced 三个 Tab。 -- 凭证表单(认证方式切换、AccessKey/Secret/Profile/Region、验证按钮、说明文本) - 位于 Connect Tab,行为与改造前一致。 -- 模型管理位于 Models Tab;速率限制位于 Advanced Tab。 -- 标准 Provider 详情页外观与行为保持不变。 -- `lint` / `typecheck` 通过。 diff --git a/docs/architecture/unify-provider-settings-ui/tasks.md b/docs/architecture/unify-provider-settings-ui/tasks.md deleted file mode 100644 index 08647fd29..000000000 --- a/docs/architecture/unify-provider-settings-ui/tasks.md +++ /dev/null @@ -1,8 +0,0 @@ -# 任务 - -- [x] 新建 `ProviderSettingsShell.vue` 共享外壳组件 -- [x] 重构 `ModelProviderSettingsDetail.vue` 使用 shell -- [x] 重构 `BedrockProviderSettingsDetail.vue` 对齐结构 -- [x] 建立 SDD 文档 -- [x] 运行 `pnpm run format` / `pnpm run i18n` / `pnpm run lint` / `pnpm run typecheck` -- [ ] 手动验证 Bedrock 与标准 Provider 设置界面外观一致 diff --git a/docs/archives/sidebar-collapsed-agent-expand/plan.md b/docs/archives/sidebar-collapsed-agent-expand/plan.md deleted file mode 100644 index 84e699846..000000000 --- a/docs/archives/sidebar-collapsed-agent-expand/plan.md +++ /dev/null @@ -1,36 +0,0 @@ -# Plan - -## Implementation approach - -Update `WindowSideBar.vue` so the existing `handleAgentSelect` path expands the shared sidebar store when invoked from a collapsed state. Keep the current Agent switch queue, active-session close, and selected-Agent toggle behavior intact. - -## Affected interfaces - -- Renderer component: `src/renderer/src/components/WindowSideBar.vue` -- Shared sidebar store API already has `setCollapsed(value: boolean)` and needs no interface changes. -- Component tests: `test/renderer/components/WindowSideBar.test.ts` - -## Data flow - -1. User clicks All Agents or Agent button in the left rail. -2. `handleAgentSelect(id)` runs. -3. If `collapsed` is true, call `sidebarStore.setCollapsed(false)`. -4. Continue the existing queued Agent selection pipeline: - - derive current/next Agent id; - - close active session if needed; - - set selected Agent if the request is still current. -5. The now-visible session column renders sessions filtered by `sidebarSelectedAgentId`. - -## Compatibility - -- Existing expanded-sidebar behavior is unchanged because `setCollapsed(false)` is only called when the sidebar is collapsed. -- Existing Agent toggle semantics remain unchanged. -- No migration or persistence changes. - -## Test strategy - -- Add a component test that starts the sidebar in collapsed mode, clicks an Agent button, and verifies: - - `setCollapsed(false)` was called; - - the sidebar expands to the full width class; - - the existing Agent selection action still runs. -- Run the targeted WindowSideBar test suite, then repository-required format/i18n/lint checks. diff --git a/docs/archives/sidebar-collapsed-agent-expand/spec.md b/docs/archives/sidebar-collapsed-agent-expand/spec.md deleted file mode 100644 index ada7ae672..000000000 --- a/docs/archives/sidebar-collapsed-agent-expand/spec.md +++ /dev/null @@ -1,37 +0,0 @@ -# Sidebar Collapsed Agent Expand - -## User need - -When the sidebar is collapsed, clicking the Agent rail should provide visible feedback and access to the selected Agent's conversation list. The current behavior only switches the selected Agent while the session column remains hidden, making the click feel ineffective. - -## Goal - -In the first phase, clicking either the All Agents button or a specific Agent button while the sidebar is collapsed expands the sidebar and keeps the existing Agent selection behavior. - -## Acceptance criteria - -- When the sidebar is collapsed, clicking All Agents expands the sidebar. -- When the sidebar is collapsed, clicking any Agent expands the sidebar. -- Existing Agent selection semantics remain unchanged: - - selecting a different Agent closes the active session first and then selects that Agent; - - clicking the currently selected Agent toggles back to All Agents; - - expanded-sidebar Agent clicks behave the same as before. -- Existing collapse/expand toggle button behavior remains unchanged. -- Component coverage verifies the collapsed Agent click path. - -## Constraints - -- Keep the change renderer-local and focused on `WindowSideBar`. -- Do not introduce a quick-list popover in this phase. -- Avoid new user-facing strings unless required. -- Preserve current session switching order and error handling. - -## Non-goals - -- Implementing a compact Agent quick list. -- Redesigning sidebar layout or width. -- Changing Agent/session data models or persistence. - -## Open questions - -None. diff --git a/docs/archives/sidebar-collapsed-agent-expand/tasks.md b/docs/archives/sidebar-collapsed-agent-expand/tasks.md deleted file mode 100644 index c9c3a2fab..000000000 --- a/docs/archives/sidebar-collapsed-agent-expand/tasks.md +++ /dev/null @@ -1,7 +0,0 @@ -# Tasks - -- [x] Create SDD artifacts for the collapsed Agent click behavior. -- [x] Expand the sidebar from `handleAgentSelect` when collapsed. -- [x] Add component coverage for clicking an Agent while collapsed. -- [x] Run targeted tests. -- [x] Run `pnpm run format`, `pnpm run i18n`, and `pnpm run lint`. diff --git a/docs/features/agent-memory/README.md b/docs/features/agent-memory/README.md new file mode 100644 index 000000000..ea0bfa315 --- /dev/null +++ b/docs/features/agent-memory/README.md @@ -0,0 +1,133 @@ +# 记忆层 & 人格衍生 — 总览(给人看的) + +> 这份是**一次看懂的总结**,不用来回翻。 +> 另两份是给 AI/实现用的细节文档,保留不动: +> - `research.md` — 调研全文(现状盘点、业界对照、风险) +> - `tape-memory-integration.md` — tape 与记忆层的对接设计(含改动清单) +> +> 日期:2026-06-12 | 状态:设计待拍板 + +--- + +## 1. 一句话目标 + +让 DeepChat 的 agent **跨会话真正记得事**,并在记忆之上**长出会演化的人格**—— +而不是在 system prompt 里写死一段"你是一个有帮助的助手"。 + +--- + +## 2. 两个核心认知(为什么不是简单加个向量库) + +- **记忆 ≠ RAG**。把聊天记录塞进向量库再搜,只是"可搜索的日志"。 + 真记忆要走完闭环:**该记什么 → 巩固/遗忘 → 召回 → 反思(从事实里长出洞察)**。 +- **人格 ≠ 写设定**。静态人设会被对话冲淡。真人格是从记忆里**涌现**的: + 一份会被持续更新的"自我认知" + 偏好 + 对你的关系记忆。 + +好消息:DeepChat 地基已具备约 **70%**(向量库 DuckDB、embedding、会话摘要、内置工具机制都现成),主要缺"认知层"和"注入时机"。 + +--- + +## 3. 全景图(记住这张就够了) + +``` + ┌─────────────────────────────────────────────┐ + 大脑 │ agent_memory 表 (新增, 按 agent, 跨会话) │ +(权威源) │ · 事实 / 洞察 / 人格 │ + │ · 向量检索 top-K │ + │ · 演化可回滚 │ + └──────▲───────────────────────┬───────────────┘ + ①抽取 │ (单向上行) │ ④召回注入 + ②抽取 │ ▼ (进 system prompt 第4层) + ┌──────┴───────────────────────────────────────┐ + 账本 │ tape (已存在, 按 session, 流水账) │ +(原料) │ · 每句话/每次工具调用的原始事实 │ + │ · ③ 记忆产生时,在这留个"审计面包屑" │ + └───────────────────────────────────────────────┘ + +口诀:tape 当账本,记忆层当大脑。数据只从账本流向大脑。 +``` + +--- + +## 4. 记忆分几层(认知科学的搬法) + +| 层 | 是什么 | DeepChat 现状 | +|---|---|---| +| 工作记忆 | 当前上下文窗口 | ✅ 已有 | +| 情景记忆 | "某时发生了某事" | ⚠️ 有摘要,缺跨会话提取 | +| 语义记忆 | 关于你的稳定事实("偏好国内镜像""讨厌冗长") | ❌ 新建 | +| **反思记忆** | 从上面长出的高层洞察 | ❌ 新建 ← **人格的核心** | + +--- + +## 5. tape 和记忆层怎么对接(4 条通路) + +| 通路 | 方向 | 干什么 | 关键点 | +|---|---|---|---| +| ① 抽取 | tape → 大脑 | 把值得记的事捞进记忆 | 见 ② | +| ② 触发 | — | 抽取在 **compaction 之后** | 独立的一次廉价调用(见下方性能说明) | +| ③ 审计回写 | 大脑 → tape | 记忆产生时在 tape 留面包屑 | 用新 anchor 名,**不影响**现有逻辑 | +| ④ 召回 | 大脑 → 提示词 | 把相关记忆注入对话 | system prompt 新增"第 4 层" | + +> **实现现状(2026-06-15)**:早期设想「抽取搭 compaction 同一次 LLM 调用」,最终改为**解耦的独立廉价调用**(不改摘要 prompt/输出契约,零回归)。compaction 本身不频繁(仅上下文压力时触发),额外成本可控。 + +**关于性能**: +- **长会话**:compaction 触发后,用廉价小模型**独立**补一次抽取——摘要逻辑零改动,额外成本仅这一次小调用。 +- **短会话**(从不触发摘要):仅在**会话生成完成后台**用廉价小模型补一次,且有"游标"判断——没新内容就直接跳过、**零调用**;抽取失败不推进游标,下次重试。 + +--- + +## 6. 人格怎么"真的衍生" + +1. **反思**:定期让模型回答"关于用户和我自己,能总结出哪几条更高层的判断?",结果存为记忆。 +2. **自我模型**:维护一份会随时间更新的"我是谁",每次更新都留旧版本 → **可一键回滚**。 +3. **注入**:作为提示词"第 4 层"生效: + ``` + 第1层 你手写的设定 ← 永不被改 + 第2层 会话摘要 (已有) + 第3层 工具状态 (已有) + 第4层 自我模型 + 相关记忆 ← 人格在这里生效(新增) + ``` +4. **防跑偏**:核心设定不可变、每次只小步修正、没用的记忆会慢慢遗忘。 + +--- + +## 7. 已经定下来的 3 件事 + +| # | 决策 | 说明 | +|---|---|---| +| 1 | **存储**:记忆表为准,tape 只留审计面包屑 | 各司其职,互不干扰 | +| 2 | **抽取**:compaction 之后独立调用 + 会话结束兜底 | 不改摘要契约,零回归;解耦、可重试 | +| 3 | **人格**:第 4 层叠加,**绝不覆盖**你手写的设定 | 安全、可回滚 | + +--- + +## 8. ⚠️ 还差你拍一个板(唯一悬念) + +**问题**:记忆要同时存两个地方——记忆正文进 SQLite、向量进 DuckDB。 +但 SQLite 的事务**管不到** DuckDB,没法保证两者"同生共死"。 + +三个选项: + +- **(A) 推荐** — 记忆正文先和摘要一起稳稳存进 SQLite(标记"待向量化"),向量**随后异步**算好再存 DuckDB。 + 失败能重试,检索只用算好向量的。**和现有知识库的做法完全一样,不引入新花样。** +- **(B) 最简** — 记忆"尽力而为",存失败就算了(极端情况会漏记一两条)。 +- **(C)** — 你有别的想法。 + +> 我的建议是 **(A)**。你点头后,这套设计就没有悬念,可以进入正式的 spec/plan 开写代码。 + +--- + +## 9. 分三步走 + +- **第一步(MVP,1–2 周可看到人格雏形)**:建记忆表 + `记/取`两个工具 + 第 4 层注入 + 一份会演化的自我模型。复用 DuckDB,**零新依赖**。 +- **第二步**:加反思循环 + 记忆衰减遗忘 + 自动抽取。 +- **第三步**:多用户关系记忆 + 记忆可视化界面 + 人格一致性评测。 + +--- + +## 10. 我接下来能做什么(你挑) + +- 拍板第 8 节的 A/B/C; +- 或让我直接按 SDD 起草 `spec.md` / `plan.md` / `tasks.md`; +- 或先做一个不动主流程的**原型**(纯内置工具形态)快速验证"人格涌现"的手感。 diff --git a/docs/features/agent-memory/plan.md b/docs/features/agent-memory/plan.md new file mode 100644 index 000000000..01b07b218 --- /dev/null +++ b/docs/features/agent-memory/plan.md @@ -0,0 +1,259 @@ +# Agent Memory & Persona — Implementation Plan + +> SDD 阶段 2:Plan。架构决策、数据模型、事件流、IPC 面、C-1 落地、测试策略、兼容/迁移。 +> 行号基于 2026-06-12 核查(见 §10 集成点核查表,可能随代码漂移,实现前以实际为准)。 +> 关联:[spec.md](./spec.md) 的 D1–D8。 + +--- + +## 1. 架构总览 + +新增一个 `MemoryPresenter`(`src/main/presenter/memoryPresenter/`),职责:写入 / 检索 / 衰减 / 反思 / 人格演化。 +它**编排** SQLite(权威记忆行)+ DuckDB(向量,复用 `duckdbPresenter` 模式)+ `embeddingManager`(向量计算)。 + +``` + ┌──────────────────────────────┐ + compactionService ────▶│ MemoryPresenter │◀──── SESSION_EVENTS.DEACTIVATED + (独立抽取,通路①) │ write/recall/decay/reflect │ (兜底抽取,通路②) + agentRuntime.index ───▶│ evolvePersona │◀──── memory_* MCP 工具(通路工具) + (Layer4注入,通路④) └──┬───────────────┬─────────────┘ + │ SQLite │ DuckDB(异步向量) + agent_memory 表 vector 表(status机) + │ + tape anchor(memory/* persona/*) ← 审计(通路③,非重建) +``` + +数据流向严格单向:tape/会话事实 → 记忆层;记忆层 → tape 仅写惰性 anchor。 + +--- + +## 2. 数据模型 + +### 2.1 新表 `agent_memory`(SQLite) + +```sql +CREATE TABLE IF NOT EXISTS agent_memory ( + id TEXT PRIMARY KEY, + agent_id TEXT NOT NULL, + user_scope TEXT, -- V3 多用户;本期写固定值 + kind TEXT NOT NULL, -- episodic|semantic|reflection|persona + content TEXT NOT NULL, + importance REAL NOT NULL DEFAULT 0.5, + status TEXT NOT NULL DEFAULT 'pending_embedding', -- pending_embedding|embedded|error|fts_only + embedding_id TEXT, -- 关联 DuckDB vector.id + embedding_dim INTEGER, -- 记录维度,换模型可识别失配 + source_session TEXT, + provenance_key TEXT, -- 幂等去重:hash(agent_id+kind+normalized_content) + is_anchor INTEGER NOT NULL DEFAULT 0, -- 1=核心锚点,不可被 supersede + superseded_by TEXT, -- persona/事实演化链 + created_at INTEGER NOT NULL, + last_accessed INTEGER, + access_count INTEGER NOT NULL DEFAULT 0, + decay_score REAL +); +CREATE INDEX IF NOT EXISTS idx_agent_memory_agent_kind ON agent_memory(agent_id, kind, status); +CREATE UNIQUE INDEX IF NOT EXISTS idx_agent_memory_provenance + ON agent_memory(agent_id, provenance_key) WHERE provenance_key IS NOT NULL; +``` + +注册(§10 第6项):① `tables/agentMemory.ts`(继承 BaseTable)② `schemaCatalog.ts` 导入 + 加入 `CATALOG_DEFINITIONS`,登记 `repairableColumns`/`typeCheckedColumns` ③ `SQLitePresenter` index 初始化并暴露。全文检索(实现现状 2026-06-15):MVP 采用 `AgentMemoryTable.search()` 的 SQL `LIKE` 关键词匹配(满足 AC-4.2 的 FTS-only 降级语义),**未引入** FTS5 虚拟表;FTS5(`agent_memory_fts`)作为召回质量/性能的后续优化项,不阻塞 MVP。 + +### 2.2 `deepchat_sessions` 加列 + +```sql +ALTER TABLE deepchat_sessions ADD COLUMN memory_cursor_order_seq INTEGER; +``` +通过 `schemaCatalog` 的 `repairableColumns` 完成(与 `summary_cursor_order_seq` 同机制)。 + +### 2.3 DuckDB 记忆向量 + +复用 `duckdbPresenter` 的 vector 表范式。**决策**:记忆向量与知识库向量**库分离**(独立 `.duckdb` 或独立表),避免维度/语义混淆。表结构同现有 `vector(id, embedding FLOAT[dim], ...)`,HNSW(cosine)。 + +### 2.4 Agent 配置扩展(`DeepChatAgentConfig`,§10 第7项) + +`src/shared/types/agent-interface.d.ts` 追加可选字段(向后兼容): +```typescript +memoryEnabled?: boolean // D6, 默认 false +memoryEmbedding?: { // D7 独立配置 + providerId: string + modelId: string +} | null +memoryRetrieval?: { // 可调参数, 见 §6 + topK?: number + weights?: { similarity: number; recency: number; importance: number } +} | null +``` +读写复用 `getDeepChatAgentConfig` / `resolveDeepChatAgentConfig` / `updateDeepChatAgent`(浅合并),持久化在 `agents.config_json`。**不动 `systemPrompt` 字段**(D5)。 + +--- + +## 3. 通路①:compaction 之后抽取(已解耦,见下方现状框) + +> **实现现状(2026-06-15,以 spec AC-2.1 决策为准)**:本节原设计「改 `generateRollingSummary()` 为结构化输出、同一次 LLM 调用产出 summary+memories」**未采用**。最终实现遵循 spec 的解耦决策: +> - **不修改** `generateRollingSummary()` / `summarizeBlocks` 的 prompt 与输出契约(零摘要回归)。 +> - 抽取是 **compaction 之后的一次独立廉价 LLM 调用**(`MemoryPresenter.extractAndStore()` 内 `generateText`),落点在 `agentRuntimePresenter` compaction 完成回调 + 会话生成完成兜底。 +> - 抽取失败返回 `{ ok: false }` 且**不推进 `memory_cursor`**,下次重试;成功(含抽到 0 条)才推进。 +> +> 下方 §3「改造点」「为何零额外调用」描述的是被否决的旧方案,保留以记录决策演进;当前代码请以本现状框 + spec §AC-2.1 为准。 + +**改造点**(§10 第1项,**已否决,见上方现状框**)`compactionService.ts` `generateRollingSummary()`: +- 当前 `Promise`(summary)→ 改为返回 `{ summary: string; memories: MemoryCandidate[] }`。 +- 仅当本 Agent `memoryEnabled` 时,在 `buildSummaryPrompt()` 追加"同时抽取值得长期记忆的稳定事实/事件"指令 + 输出格式(结构化 JSON 段)。未开启则**完全走旧路径**(输出纯 summary),零行为变化。 +- 解析:summary 段照旧;memories 段解析为 `MemoryCandidate[] = { kind, content, importance }`。解析失败 → 容错为 `memories: []`(不破坏摘要主流程)。 + +```ts +type MemoryCandidate = { kind: 'episodic'|'semantic'; content: string; importance: number } +``` + +**为何零额外调用**:`generateRollingSummary` 内部唯一 LLM 调用 `llmProviderPresenter.generateText(...)`(§10 第1项 985 行)保持一次,只是 prompt 多要一段输出 → 满足 AC-2.1。 + +--- + +## 4. 通路②:会话结束兜底抽取 + +监听 `SESSION_EVENTS.DEACTIVATED`(§10 第8项),在 `MemoryPresenter` 内异步处理(不阻塞,满足 AC-2.3): +``` +门控: + if !agent.memoryEnabled -> return + if memory_cursor >= tail order_seq -> return // AC-2.2 零调用 + if (tail - memory_cursor) < 阈值(N条 或 M token) -> return +否则: + 取 [memory_cursor, tail] 增量消息(经 effective tape view) + 用廉价模型(memoryEmbedding 无关; 用小 summary 模型或 agent 助手模型的便宜档) 抽取 MemoryCandidate[] + 走 §5 写入流程, 推进 memory_cursor (仅推进 memory_cursor, 不动 summary_cursor) +``` + +--- + +## 5. 通路 C-1:两阶段解耦写入(D4 方案 A) + +> **实现现状(2026-06-15)**:因抽取已解耦为 compaction 之后的独立调用(见 §3 现状框),阶段1**不再与 summary CAS 共用同一事务**。当前顺序为:① compaction 完成(summary CAS 照旧,独立完成)→ ② 独立抽取调用 → ③ 抽取成功后单独 `updateMemoryCursorOrderSeq()` 推进 `memory_cursor` 并写 `memory/extract` anchor。原「记忆行与摘要同事务原子」降级为「解耦后分步」:抽取失败不推进 cursor(可重试),记忆行靠 `provenance_key` 幂等去重,故无重复/丢失风险。下方代码块为旧的同事务设计,保留以记录演进。 + +``` +阶段1 (旧设计, 已解耦 — 见上方现状框): + - 搭车 compaction 时: 复用 compareAndSetSummaryState() 的同一事务(§10 第2项, sessionStore.ts:203-235) + · summary CAS 照旧 + · INSERT agent_memory 行 (status='pending_embedding', provenance_key 去重) + · 推进 memory_cursor (= summary 推进点, 满足 D8: memory_cursor ≤ summary_cursor) + · 写 tape anchor 'memory/extract' (复用 tapeAnchor 入参, 非重建名) + - 兜底抽取时: 独立 SQLite 事务做上述(无 summary CAS), 仅推进 memory_cursor + → 原子: 记忆行与游标/摘要同生共死 + +阶段2 (异步, 队列): + - 取 status='pending_embedding' 行 -> embeddingManager.getEmbeddings(providerId, modelId, [content]) + (providerId/modelId 来自 agent.memoryEmbedding; 无配置 -> 跳过, status='fts_only') + - 写 DuckDB vector, 回填 agent_memory.status='embedded' + embedding_id/embedding_dim + - 失败 -> status='error', 可重试 (复用知识库 status 状态机思路, §10 第4项) +检索 (§7): 向量召回仅认 status='embedded'; FTS 召回认 embedded|fts_only|error (只要有 content) +``` + +幂等:`provenance_key` 唯一索引保证同一事实重复抽取不产生重复行(满足"去重/冲突"最小要求)。 + +--- + +## 6. 通路④:Layer 4 注入 + +**改造点**(§10 第3项)`agentRuntimePresenter/index.ts:782-785` 注入链末尾追加: +```ts +const systemPrompt = appendMemorySection( + appendReconstructionAnchorStateSection( + appendSummarySection(baseSystemPrompt, summaryState.summaryText), + this.sessionStore.getReconstructionAnchorPromptState(sessionId) + ), + await this.memoryPresenter.buildInjection(agentId, { query: latestUserText }) +) +``` +- `appendMemorySection(systemPrompt, payload)` 新增于 `memoryPresenter`(或 compactionService 同款工具文件),格式 `## Self-Model` + `## Relevant Memories`。 +- 仅 `memoryEnabled` 时非空;否则返回原串(零变化)。 +- `buildInjection`:常驻 self-model(最新未被 supersede 的 `kind=persona`)+ 召回 top-K。 + +**检索打分**(默认值,可被 `memoryRetrieval` 覆盖): +``` +score = 0.6·similarity + 0.25·recency + 0.15·importance +recency = exp(-Δt / 半衰期); 半衰期默认 14 天 +topK 默认 6; 相似度阈值默认 0.2 +兜底增量阈值: N=6 条 或 M=1500 token +importance: 优先用 LLM 抽取时给的值, 缺省 0.5 +``` + +--- + +## 7. 检索(混合召回) + +``` +recall(agentId, query): + vec = duckdb.similarityQuery(embed(query), {agentId, topK*2}) // 仅 embedded + fts = agent_memory_fts.search(query, {agentId, topK*2}) + merge = 去重(vec ∪ fts) -> 按 §6 score 排序 -> top-K + 更新 last_accessed/access_count (异步, 不阻塞注入) +无 embedding 配置: 跳过 vec, 纯 fts (AC-4.2 降级) +``` + +--- + +## 8. 人格演化(D5) + +- `evolvePersona(agentId)`:会话结束轻量反思——读最近 reflection/semantic 记忆,产出新 self-model 文本。 +- 写新 `kind=persona` 行;旧行 `superseded_by = 新id`。`is_anchor=1` 的核心锚点跳过。 +- tape 落 `persona/evolve` anchor(版本信息)。 +- **永不触碰** `DeepChatAgentConfig.systemPrompt`(AC-3.1)。回滚 = 把目标历史行的 `superseded_by` 清空并使其后续失效(实现时定义为"指定某历史版本为 active")。 + +--- + +## 9. 事件流 / IPC 面 + +- **事件(实现现状 2026-06-15)**:按当前 typed 事件契约体系实现,而非旧式 `src/main/events.ts` 常量。新增 `shared/contracts/events/memory.events.ts` 的 `memoryUpdatedEvent`(`name: 'memory.updated'`,payload `{ agentId, reason, version }`,reason ∈ extract/delete/clear/persona-evolve/persona-rollback),加入 `DEEPCHAT_EVENT_CATALOG`;主进程经 `publishDeepchatEvent('memory.updated', …)` 广播(`MemoryPresenter` 注入可选 `onMemoryChanged` 回调发射),renderer 经 `MemoryClient.onUpdated()` 订阅刷新。 +- **IPC**:新增 `shared/contracts/memory*` + `renderer/api/MemoryClient`(typed,遵循新范式,不用 `useLegacyPresenter`)。方法:`listMemories(agentId)` / `deleteMemory(id)` / `clearMemories(agentId)` / `listPersonaVersions(agentId)` / `rollbackPersona(agentId, versionId)` / `getMemoryStatus(agentId)`。 +- **内置 MCP 工具**(`inMemoryServers/memoryServer.ts` + `builder.ts` + `mcpConfHelper.ts`,仅 `agentType='deepchat'` 且 `memoryEnabled`):`memory_remember` / `memory_recall` / `memory_forget`。 + +--- + +## 10. 集成点核查表(2026-06-12 实测) + +| # | 文件 | 行 | 现状签名 | 改动 | +|---|---|---|---|---| +| 1 | `agentRuntimePresenter/compactionService.ts` | 751;LLM 调用 985;prompt 939 | `generateRollingSummary(): Promise` | **已否决**(见 §3 现状框):摘要契约保持不变,抽取改为独立调用 `MemoryPresenter.extractAndStore()` | +| 2 | `agentRuntimePresenter/sessionStore.ts` | 203–235 | `compareAndSetSummaryState(...)`,事务内 CAS | **已解耦**(见 §5 现状框):summary CAS 独立完成;记忆写入与 `memory_cursor` 推进在 compaction 之后分步进行 | +| 3 | `agentRuntimePresenter/index.ts` | 782–785;base 699;import 92 | `appendReconstructionAnchorStateSection(appendSummarySection(base, sum), anchor)` | 外层包 `appendMemorySection(...)` | +| 4 | `knowledgePresenter/database/duckdbPresenter.ts` | `insertVectors` 381;`similarityQuery` 398;chunk.status 740 | 批量向量 INSERT(事务);相似度查询;status 状态机 | 复用范式给记忆向量(独立库/表) | +| 5 | `llmProviderPresenter/managers/embeddingManager.ts` | `getEmbeddings` 11;`getDimensions` 29 | `getEmbeddings(providerId, modelId, texts): Promise` | 记忆层调用,配置取自 `agent.memoryEmbedding`(D7) | +| 6 | `sqlitePresenter/schemaCatalog.ts` | `CATALOG_DEFINITIONS` 43 | `{name, createTable, repairableColumns?, typeCheckedColumns?}` | 注册 `agent_memory`;`deepchat_sessions` 加 `memory_cursor_order_seq` | +| 7 | `shared/types/agent-interface.d.ts` 629;`agentRepository/index.ts` 读 207/216、写 163 | `DeepChatAgentConfig`;config_json 持久化(浅合并) | 加 `memoryEnabled` / `memoryEmbedding` / `memoryRetrieval` | +| 8 | `shared/contracts/events/memory.events.ts`(新增);`events.ts` catalog | — | 新增 typed `memoryUpdatedEvent`(见上方事件现状);兜底抽取触发点改为 `agentRuntimePresenter` 内会话生成完成/compaction 之后(能拿到 sessionId),非 `SESSION_EVENTS.DEACTIVATED` | + +--- + +## 11. 兼容性 / 迁移 + +- **新增即兼容**:新表 + 可选 config 字段 + 加列(repairableColumns)。老用户 `memoryEnabled` 默认 false → **零行为变化**(AC-1.3)。 +- **compaction 改造安全**:抽取已解耦(不改 `generateRollingSummary` 契约),未开启记忆时摘要路径与现状完全一致;开启时摘要逻辑亦零改动,抽取为之后的独立调用(回归测试保障)。 +- **anchor 安全**:`memory/*`、`persona/*` 不在 `RECONSTRUCTION_ANCHOR_NAMES`,不参与重建(AC-6.3 回归测试)。 +- **回滚**:功能关闭即停用;表与列可保留(无害)。删表/列需走 down 迁移(本期不强制)。 + +--- + +## 12. 测试策略(关键路径,Vitest) + +> 实现现状(2026-06-15):测试落在 `test/main/presenter/memory*.test.ts`(非 `test/main/memory/`)。下列 T1/T2 的「同一 CAS 原子」表述对应旧设计;当前为解耦实现,相应断言改为:抽取失败 `{ok:false}` 不推进 `memory_cursor`(可重试)、成功才推进、`provenance_key` 幂等去重。 + +`test/main/presenter/memory*.test.ts`: +- T1 抽取游标:抽取成功(含 0 条)才推进 `memory_cursor`;失败不推进以便重试。 +- T2 两阶段:阶段1 写入幂等去重(provenance);阶段2 失败 → status=error 不影响摘要;抽取与摘要解耦。 +- T3 Layer4 注入:开启含 self-model+top-K;关闭为原串;降级 FTS-only。 +- T4 人格不覆盖:演化不改 `systemPrompt`;supersede 链;回滚;锚点不可 supersede。 +- T5 anchor 不干扰重建:开启记忆前后 `buildContext` 输出一致(回归)。 +- T6 性能门控:兜底在 cursor≥tail / 低增量时零调用。 +- T7 检索打分:score 排序、recency 衰减、阈值过滤。 + +--- + +## 13. 风险与缓解 + +| 风险 | 缓解 | +|---|---| +| 改 compaction 主路引回归 | 未开启走旧分支;T5 回归;小步提交(tasks 分离"无害基建"与"主路改造") | +| 跨存储不一致 | D4 方案 A:SQLite 事务保权威,向量异步可重试,检索只认 embedded | +| 人格漂移 | is_anchor 不可变 + 小步修正 + decay + 可回滚 | +| 注入污染 | top-K + 阈值 + self-model 常驻/episodic 按需 | +| 抽取成本 | compaction 后一次独立廉价调用 + 兜底游标门控 + 廉价模型 | +| 隐私 | opt-in + 加密存储 + forget/清空 + 溯源 | diff --git a/docs/features/agent-memory/research.md b/docs/features/agent-memory/research.md new file mode 100644 index 000000000..aeaad4685 --- /dev/null +++ b/docs/features/agent-memory/research.md @@ -0,0 +1,202 @@ +# DeepChat 记忆层 & 人格衍生 — 调研报告 + +> 目标:为 DeepChat 的 agent 设计一个**真正的记忆层**,使其能够跨会话记忆,并在此基础上**衍生出可演化的人格**。 +> +> 调研日期:2026-06-12 | 状态:调研(pre-spec) +> +> **相关文档**:tape(会话状态账本)与本记忆层的上下游对接设计见 [tape-memory-integration.md](./tape-memory-integration.md)。 + +> **已锁定的关键决策**(详见对接文档): +> 1. **存储所有权**:`agent_memory` 表为权威源(跨会话、agent 维度);tape 仅落非重建审计 anchor(`memory/*`、`persona/*`)。 +> 2. **抽取触发**:compaction 之后的独立廉价 LLM 调用(不改摘要契约)+ 会话结束后台兜底(廉价模型、游标门控)。 +> > 注(2026-06-15):本调研期曾设想「搭同一次 LLM 调用、结构化输出」,最终实现改为解耦的独立调用(见 spec AC-2.1)。 +> 3. **人格落点**:演化自我模型作为 Layer 4 叠加注入,**绝不覆盖**用户手写的 `systemPrompt`,supersede 链可回滚。 + +--- + +## 一、核心判断(先说结论) + +**"真的有记忆"和"真的衍生人格"是两件事,但共用一套底座。** + +- **记忆 ≠ RAG**。把历史消息塞进向量库再检索,只是"可搜索的日志"。真正的记忆需要四个动作闭环: + **写入决策(什么值得记)→ 巩固/遗忘(consolidation / decay)→ 检索(recall)→ 反思(reflection,从事实里长出洞察)**。 + DeepChat 目前只有第三步的雏形(知识库 RAG + 会话摘要)。 +- **人格 ≠ system prompt 里写一段设定**。静态人设是"贴标签",会被对话冲淡。真正能"衍生"的人格,是从记忆里**涌现**出来的: + 一个持续被反思更新的**自我模型(self-model)+ 价值偏好 + 对特定用户的关系记忆**。 + 这正是斯坦福 Generative Agents(小镇 NPC)和 Letta / MemGPT 的关键差异点。 + +好消息:DeepChat 的地基出乎意料地好,**约 70% 的基础设施已经存在**,主要缺的是"记忆的认知层"和注入时机。 + +--- + +## 二、DeepChat 现状盘点(可复用的地基) + +| 能力 | 现状 | 文件位置 | 对记忆层的价值 | +|---|---|---|---| +| 向量库 | ✅ DuckDB + VSS,HNSW 索引(cosine/l2/ip) | `knowledgePresenter/database/duckdbPresenter.ts` | 直接做语义记忆检索,**不用引第三方** | +| Embedding | ✅ 已接 AI SDK,支持 OpenAI / ollama embedding | `package.json` (`ai`, `@ai-sdk/*`) | 记忆向量化现成 | +| 会话摘要 | ✅ 已有 `summary_text` + 游标 + 锚点 | `deepchat_sessions` 表、`agentRuntimePresenter/compactionService.ts` | **情景记忆压缩**的原型 | +| System prompt 三层注入 | ✅ base + summary + 重建锚点 | `agentRuntimePresenter/index.ts:782` | 加"第四层 = 记忆层"的天然插槽 | +| 内置 MCP 工具 | ✅ in-memory server 机制 | `mcpPresenter/inMemoryServers/builder.ts` | 用工具暴露 `remember/recall/forget` | +| Persona / Agent | ✅ `agents` 表 + `DeepChatAgentConfig.systemPrompt` | `agentRepository/index.ts` | 人格落地的载体(但目前是静态的) | +| 全文检索 | ✅ SQLite FTS5 | `deepchat_search_documents` | 与向量检索做混合召回 | +| 加密��储 | ✅ `better-sqlite3-multiple-ciphers` | `sqlitePresenter/` | 长期记忆的隐私保护现成 | + +**关键缺口**: +1. 没有"跨会话、属于这个 agent / 用户"的长期记忆表(现有 RAG 是按知识库 / 文件维度,不是按 agent 人格维度); +2. 没有反思机制; +3. persona 是静态写死的,不会随交互演化。 + +--- + +## 三、记忆层架构设计(认知分层 → 落地) + +借鉴认知科学的记忆分类,映射到 DeepChat: + +``` +┌─────────────────────────────────────────────────────────┐ +│ 工作记忆 (Working) = 当前上下文窗口 │ ✅ 已有 (contextBuilder) +├─────────────────────────────────────────────────────────┤ +│ 情景记忆 (Episodic) = "什么时候发生了什么"的具体事件 │ ⚠️ 有摘要,缺跨会话提取 +│ └─ 来源:每轮对话结束后异步抽取"值得记的事件" │ +├─────────────────────────────────────────────────────────┤ +│ 语义记忆 (Semantic) = 关于用户/世界的稳定事实 │ ❌ 需新建 +│ └─ "用户是 Electron 开发者""偏好国内镜像""讨厌冗长回答" │ +├─────────────────────────────────────────────────────────┤ +│ 反思记忆 (Reflective)= 从上面长出的高层洞察 / 自我认知 │ ❌ 需新建 ← 人格的核心 +├─────────────────────────────────────────────────────────┤ +│ 程序记忆 (Procedural)= 怎么做事的习惯/技能 │ ~ 部分对应 skills +└─────────────────────────────────────────────────────────┘ +``` + +### 新增一张核心表(建议放 SQLite,向量同步进 DuckDB) + +```sql +CREATE TABLE agent_memory ( + id TEXT PRIMARY KEY, + agent_id TEXT NOT NULL, -- 绑定到人格/Agent,而非知识库 + user_scope TEXT, -- 关系记忆:针对哪个用户 + kind TEXT NOT NULL, -- episodic|semantic|reflection|persona + content TEXT NOT NULL, -- 记忆正文(自然语言) + importance REAL DEFAULT 0.5, -- 重要性评分(0-1) ← 决定保留/注入优先级 + embedding_id TEXT, -- 关联 DuckDB 向量 + source_session TEXT, -- 溯源:从哪个会话提取 + created_at INTEGER, + last_accessed INTEGER, -- 用于 recency 衰减 + access_count INTEGER DEFAULT 0, + decay_score REAL, -- recency × importance × frequency + superseded_by TEXT -- 被哪条新记忆覆盖(软删除,保留演化轨迹) +); +``` + +### 检索打分(Generative Agents 的经典公式) + +``` +retrieval_score = α·相似度(query) + β·recency(指数衰减) + γ·importance +``` + +注入前取 top-K,**不是塞全部**——这是记忆 vs 日志的本质区别。 + +--- + +## 四、人格如何"真的衍生"(问题的核心) + +人格不能写死,要让它从记忆里长出来。三个机制: + +### 1. 反思循环(Reflection)— 把事实蒸馏成认知 +异步任务,触发条件:累计 importance 超阈值 / 每 N 轮 / 会话结束。 +让一个 LLM 调用回答:**"基于最近这些记忆,关于用户和我自己,能得出哪 3 条更高层的判断?"** +产出写回 `kind=reflection`。这就是"小镇 NPC"看起来有性格的原因——它们会反思。 + +### 2. 自我模型(Self-Model / Persona 文档)— 可演化的"我是谁" +维护一份**会随时间被反思更新**的 persona 文本(存 `kind=persona`,单条、不断 supersede)。 +它不同于 `DeepChatAgentConfig.systemPrompt` 的静态人设: + +``` +静态人设(现状): "你是一个有帮助的助手" ← 永远不变 +自我模型(目标): "我倾向于直接、技术化地回答。 + 我和这位用户合作过 Electron 项目, + 他重视简洁,我学会了先给结论再展开。" ← 每天演化 +``` + +### 3. 注入时机 — 加 system prompt "第四层" +在现有三层注入(`agentRuntimePresenter/index.ts:782`)后追加 `appendMemorySection()`: + +``` +Layer 1: base (用户prompt + skills) [已有] +Layer 2: + 会话摘要 [已有] +Layer 3: + 工具状态锚点 [已有] +Layer 4: + 【自我模型】+【top-K 相关长期记忆】 [新增] ← 人格在这里"生效" +``` + +**护栏(防止人格漂移失控)**:自我模型更新要有"惯性"——新反思只能小幅修正,importance 低的记忆会衰减遗忘,关键人格锚点(核心价值观)设为不可被 supersede。否则 agent 会被几句话带跑、人格崩坏。 + +--- + +## 五、在 DeepChat 的具体落地点(文件级改动) + +| 步骤 | 改动 | 文件 | +|---|---|---| +| 1. 建表 | 新增 `agent_memory` 表定义 | `sqlitePresenter/tables/agentMemory.ts` + `schemaCatalog.ts` 注册 | +| 2. 记忆服务 | 新建 `MemoryPresenter`:写入/检索/衰减/反思 | `src/main/presenter/memoryPresenter/`(参考 `knowledgePresenter` 结构) | +| 3. 向量复用 | 复用 DuckDB 做记忆向量检索 | 复用 `duckdbPresenter.similarityQuery()` | +| 4. 注入 | 加第四层 `appendMemorySection()` | `agentRuntimePresenter/index.ts` 注入链 + `compactionService.ts` | +| 5. 工具 | 内置 MCP server 暴露 `remember/recall/forget/reflect` | `inMemoryServers/memoryServer.ts` + `builder.ts` + `mcpConfHelper.ts` | +| 6. 反思 | 会话结束/定时触发异步反思 | 监听 `CONVERSATION_EVENTS` / `SESSION_EVENTS`(`events.ts`) | +| 7. 绑定人格 | 记忆按 `agent_id` 隔离,self-model 写回 persona | `agentRepository` | + +**写入决策放哪**:两种流派可二选一或组合—— +- **隐式**:每轮对话后由后台 LLM 自动抽取(像 Mem0 / ChatGPT memory,用户无感)。 +- **显式**:给 LLM `remember` 工具,让它主动决定"这条要记"(像 Letta,可解释性强)。 + +建议 **MVP 用显式工具**(改动小、可控、可观测),成熟后加隐式抽取。 + +--- + +## 六、业界对照(验证方案方向) + +| 方案 | 记忆机制 | 人格机制 | 对 DeepChat 的借鉴 | +|---|---|---|---| +| **Generative Agents**(斯坦福小镇) | 情景流 + recency/importance/相似度打分 | **反思树**(核心!) | 检索打分公式、反思循环直接借鉴 | +| **MemGPT / Letta** | 分层:core memory(常驻) + archival(向量) + 自管理工具 | core memory 里的 persona block 可被 agent 自己改写 | 分层 + 工具自管理 + 可演化 persona | +| **Mem0** | 自动抽取事实 + 去重/更新/冲突消解 | 弱 | 隐式写入、冲突消解(supersede)逻辑 | +| **ChatGPT Memory** | 隐式抽取用户事实 | 弱(仅个性化) | 用户无感的体验基线 | +| **Claude Projects / CLAUDE.md** | 静态文档 | 静态 | 现在的 `systemPrompt` 就是这一档,要超越它 | + +**结论**:要"真人格",对标的是 **Generative Agents 的反思 + Letta 的可演化 core memory**,而不是 ChatGPT 的事实记忆。 +后者只让 agent "记得你",前者才让 agent "成为它自己"。 + +--- + +## 七、风险与取舍 + +1. **成本**:每轮抽取 + 反思 = 额外 LLM 调用。→ 用便宜模型(haiku / 小模型)做记忆抽取,按 importance / token 阈值触发,别每轮都跑。 +2. **人格漂移**:无约束的自我更新会崩坏。→ 核心锚点不可变 + 新反思小步修正 + 衰减遗忘。 +3. **隐私**:长期记忆是敏感数据。→ 复用 DeepChat 已有的 `better-sqlite3-multiple-ciphers`(加密);提供 `forget` 与记忆可视化/删除入口。 +4. **召回噪声**:注入无关记忆会污染回答。→ top-K + 相似度阈值 + 让 self-model 常驻、episodic 按需召回。 +5. **评测难**:怎么证明"它真有记忆/人格"?→ 设计探针测试:隔多轮后问偏好、跨会话指代、人格一致性问卷。 + +--- + +## 八、建议路径(分阶段) + +- **MVP(1-2 周可验证人格雏形)**:`agent_memory` 表 + `remember/recall` 内置工具 + system prompt 第四层注入 + 一份可演化 self-model。复用 DuckDB,零新依赖。 +- **V2**:加反思循环 + recency/importance 衰减 + 隐式抽取。 +- **V3**:关系记忆(多用户隔离)、记忆可视化 UI、人格一致性评测。 + +--- + +## 附录:关键文件速查 + +| 功能 | 文件路径 | +|---|---| +| Agent loop 主流程 | `src/main/presenter/agentRuntimePresenter/index.ts` (`processMessage` :639) | +| System prompt 三层注入 | `src/main/presenter/agentRuntimePresenter/index.ts:782` | +| 上下文/历史组装 | `src/main/presenter/agentRuntimePresenter/contextBuilder.ts` (`buildContext`) | +| 会话压缩/摘要 | `src/main/presenter/agentRuntimePresenter/compactionService.ts` | +| 向量库 | `src/main/presenter/knowledgePresenter/database/duckdbPresenter.ts` (`similarityQuery`) | +| 会话/消息 schema | `src/main/presenter/sqlitePresenter/schemaCatalog.ts`、`tables/deepchatSessions.ts` | +| 内置 MCP 工厂 | `src/main/presenter/mcpPresenter/inMemoryServers/builder.ts` | +| Agent / persona 仓库 | `src/main/presenter/agentRepository/index.ts` | +| 默认系统提示词 | `src/main/presenter/configPresenter/systemPromptHelper.ts` | +| 事件定义 | `src/main/events.ts` | diff --git a/docs/features/agent-memory/spec.md b/docs/features/agent-memory/spec.md new file mode 100644 index 000000000..cd5c17cd0 --- /dev/null +++ b/docs/features/agent-memory/spec.md @@ -0,0 +1,141 @@ +# Agent Memory & Persona — Specification + +> SDD 阶段 1:Specification。定义 WHAT 与 WHY,不展开 HOW(HOW 见 plan.md)。 +> 日期:2026-06-12 | 状态:待评审 | 关联:[research.md](./research.md)、[tape-memory-integration.md](./tape-memory-integration.md)、[README.md](./README.md) + +--- + +## 1. 业务价值(Why) + +DeepChat 的 agent 当前**没有跨会话记忆**:每开一个新会话,agent 对用户一无所知;人格只能靠用户在 `systemPrompt` 里写死,会被对话冲淡。 + +本功能让 agent: +1. **跨会话记住用户**(偏好、事实、协作历史)——下次对话不必从零开始。 +2. **衍生可演化的人格**——从积累的记忆中长出"自我模型",在交互中持续微调,而非静态人设。 + +差异化:对标 Generative Agents 的反思 + Letta 的可演化 core memory,而非 ChatGPT 仅"记得你"的事实记忆。 + +--- + +## 2. 范围(首个增量 = 完整 MVP) + +**In scope(本增量)**: +- 新增 `agent_memory` 跨会话记忆表(按 `agent_id` 维度)。 +- 记忆抽取:compaction 之后的独立廉价 LLM 调用(不改摘要契约)+ 会话结束后台兜底。 +- 记忆检索:向量(DuckDB)+ 关键词混合召回 top-K;未配置 embedding 时降级为纯关键词。 + > 实现现状(2026-06-15):MVP 关键词召回用 SQL `LIKE`(满足 FTS-only 降级语义);FTS5 虚拟表(`agent_memory_fts` + `MATCH`)列为后续召回质量优化,不在本增量。 +- system prompt **Layer 4** 注入:自我模型 + 召回记忆。 +- 可演化自我模型(`kind=persona`),supersede 链可回滚,**绝不覆盖**用户 `systemPrompt`。 +- 内置 MCP 工具:`memory_remember` / `memory_recall` / `memory_forget`。 +- tape 审计面包屑 anchor:`memory/extract`、`persona/evolve`(非重建,零干扰现有逻辑)。 +- 逐 Agent **opt-in** 开关 + 记忆层**独立 embedding 配置**(Agent 设置内)。 +- 记忆管理最小 UI:查看 / 删除 / 清空、人格演化时间线与回滚。 + +**Non-goals(本增量不做,留待 V2/V3)**: +- 多用户关系记忆隔离(`user_scope` 字段先建、暂不分流)。 +- 复杂反思树 / 多级反思调度(先做"会话结束轻量反思"一种)。 +- 记忆跨 agent 共享 / 导出导入。 +- 记忆的自动冲突消解高级策略(先做基于内容+provenance 的幂等去重)。 +- 隐式"每轮"抽取(仅 compaction 之后 + 会话结束,避免每轮烧钱)。 + +--- + +## 3. 用户故事与验收标准 + +### US-1:跨会话记忆 +**作为**长期使用某 Agent 的用户,**我希望** agent 记住我在以往会话里透露的稳定偏好,**以便**不必每次重复。 + +验收(可测): +- AC-1.1 在会话 A 告知偏好(如"回答尽量简洁、用中文"),结束会话;在**全新会话 B** 中,Layer 4 注入包含该偏好记忆。 +- AC-1.2 记忆按 `agent_id` 隔离:Agent X 的记忆不出现在 Agent Y 的注入中。 +- AC-1.3 关闭记忆开关的 Agent,**不抽取、不注入、不写库**。 + +### US-2:记忆抽取不显著影响性能 +**作为**用户,**我希望**记忆功能不让对话变慢、不额外烧钱。 + +验收: +- AC-2.1 摘要逻辑零改动(零回归):记忆抽取**不修改** `summarizeBlocks`/`generateSummaryText` 的 prompt 与输出契约。抽取作为 compaction 之后的**一次独立廉价模型调用**,且**仅在 compaction 触发时**进行(非每轮对话)。 + > 决策更新(2026-06-12):原 AC-2.1 设想“搭同一次 LLM 调用”,但 `summarizeBlocks` 在大会话下会分块多次调用、且改摘要输出格式有回归风险,故改为**解耦的独立廉价调用**。compaction 本身不频繁(仅上下文压力时触发),额外成本可控。 +- AC-2.2 兜底抽取:当 `memory_cursor >= 会话末尾 order_seq` 时**跳过、零调用**;增量低于阈值(N 条 / M token)时跳过。 +- AC-2.3 抽取在后台异步执行,不阻塞用户当前交互(不卡 UI、不延迟下一条消息)。 + +### US-3:人格衍生且可控 +**作为**用户,**我希望** agent 逐渐形成稳定风格,但我手写的设定永远说了算。 + +验收: +- AC-3.1 用户手写的 `DeepChatAgentConfig.systemPrompt` 在任何情况下**不被改写/覆盖**(Layer 1 不可变)。 +- AC-3.2 自我模型每次更新生成新 `kind=persona` 记录,旧记录 `superseded_by` 指向新记录,UI 可查看历史并**回滚**到任一历史版本。 +- AC-3.3 人格漂移护栏:核心锚点记录不可被 supersede;单次更新为"小步修正"(plan 定义具体约束)。 + +### US-4:召回相关、可解释 +**作为**用户,**我希望**注入的是相关记忆而非全部,且可追溯来源。 + +验收: +- AC-4.1 注入走 `retrieval_score = α·相似度 + β·recency + γ·importance` 排序取 top-K(K 默认值见 plan)。 +- AC-4.2 未配置 embedding 模型时自动降级 FTS-only 检索,功能仍可用。 +- AC-4.3 每条记忆可溯源 `source_session`;UI 可查看。 + +### US-5:隐私与掌控 +**作为**用户,**我希望**能看到、删除 agent 记了什么。 + +验收: +- AC-5.1 记忆默认**关闭**(opt-in),开启入口在 Agent 设置,含说明文案。 +- AC-5.2 用户可在 UI 查看本 Agent 全部记忆、单条删除、一键清空。 +- AC-5.3 `memory_forget` 工具 / UI 删除后,该记忆不再被召回注入。 +- AC-5.4 记忆随 DeepChat 现有 SQLite 加密存储(`better-sqlite3-multiple-ciphers`),不新增明文落盘。 + +### US-6:tape 审计可见 +**作为**关心可解释性的用户/维护者,**我希望**能看到"这次会话产生/演化了哪些记忆"。 + +验收: +- AC-6.1 抽取产生记忆后,当前 session tape 落 `memory/extract` anchor,含 `memoryIds`/`count`/`source`。 +- AC-6.2 自我模型更新时落 `persona/evolve` anchor,含版本信息。 +- AC-6.3 这些 anchor **不影响** compaction 与上下文重建(回归测试覆盖:开启记忆前后,重建出的上下文一致)。 + +--- + +## 4. 已锁定的关键决策(驱动 plan) + +| # | 决策 | 取值 | +|---|---|---| +| D1 | 首增量范围 | **完整 MVP**(含 compaction 之后抽取 + 向量) | +| D2 | 存储所有权 | `agent_memory` 表为权威源;tape 仅落非重建审计 anchor | +| D3 | 抽取触发 | compaction 之后的**独立廉价调用**(不改摘要契约)+ 会话结束后台兜底 | +| D4 | 跨存储原子性 C-1 | 记忆行 `status=pending_embedding` 写 SQLite,向量异步入 DuckDB 回填 `embedded`,检索只认 `embedded`。**抽取已解耦**:不与摘要同事务,靠 provenance 幂等 + 失败不推进 cursor 保证不重不漏 | +| D5 | 人格落点 | Layer 4 叠加,**绝不覆盖** `systemPrompt`,supersede 可回滚 | +| D6 | 默认开关 | 逐 Agent **opt-in**(默认关闭) | +| D7 | embedding 配置 | 记忆层**独立** embedding 配置(与知识库分开) | +| D8 | 游标协调 | `memory_cursor_order_seq ≤ summary_cursor_order_seq`;抽取成功才推进 `memory_cursor`(解耦,非同一次 CAS) | + +> 决策更新(2026-06-15):D1/D3/D4/D8 原表述(compaction 搭车 / 结构化输出 / 同事务 / 同一次 CAS)已随 AC-2.1 的解耦决策修订为上表,与当前实现一致。 + +--- + +## 5. 约束(Constraints) + +- **架构一致性**:Presenter 模式(新增 `MemoryPresenter`);EventBus + 事件常量;typed route/client + `shared/contracts`;shared 类型入 `src/shared`。 +- **最小复杂度**:复用 DuckDB(向量)、`embeddingManager`、知识库的 status 状态机、tape 的 anchor 机制,**不引入新依赖**。 +- **兼容/迁移**:新表 + Agent config 加可选字段,向后兼容;老会话无记忆即空注入;记忆默认关闭,对现有用户零行为变化。 +- **i18n**:所有用户可见字符串走 vue-i18n。 +- **测试**:关键路径用 Vitest(抽取游标、CAS 双游标原子性、Layer 4 注入、降级 FTS、人格不覆盖、anchor 不干扰重建)。 + +--- + +## 6. 关键 UX 状态 + +- **空态**:新 Agent 无记忆 → 注入为空,行为同现状。 +- **加载态**:记忆刚抽取、向量计算中(`pending_embedding`)→ 暂以 FTS 召回,不阻塞。 +- **错误态**:embedding 失败 → 记忆保留、标 `error`、可重试;检索退化为 FTS。 +- **降级态**:未配置 embedding → 全程 FTS-only,UI 提示"未启用语义检索"。 + +--- + +## 7. Open Questions + +> 实现前需澄清的剩余项。无 `[NEEDS CLARIFICATION]` 阻塞项即可进入 plan。 + +- [已解决] C-1 原子性 → D4 方案 A。 +- [已解决] 默认开关 → D6 opt-in。 +- [已解决] embedding 配置 → D7 独立。 +- [假设,plan 定默认值] 检索 top-K、α/β/γ 权重、recency 衰减半衰期、兜底增量阈值(N 条/M token)、importance 评分来源(LLM 输出 vs 启发式)。这些为可调参数,先给保守默认,不阻塞实现。 +- [假设] 会话结束事件以 `SESSION_EVENTS.DEACTIVATED` 为准(备选 `STATUS_CHANGED`),plan 确认 emit 语义。 diff --git a/docs/features/agent-memory/tape-memory-integration.md b/docs/features/agent-memory/tape-memory-integration.md new file mode 100644 index 000000000..c75be24f8 --- /dev/null +++ b/docs/features/agent-memory/tape-memory-integration.md @@ -0,0 +1,197 @@ +# Tape ↔ 记忆层 对接设计 + +> 目标:定义 DeepChat 内部 **tape**(会话状态账本)与新增**记忆层**(agent_memory)之间的上下游关系, +> 做到职责清晰、不与现有 compaction/上下文重建架构冲突。 +> +> 日期:2026-06-12 | 状态:设计(pre-spec)| 上游文档:[research.md](./research.md) + +--- + +## 〇、一句话定位 + +> **tape 当账本,记忆层当大脑。** +> tape 是 append-only 的会话事实流(session 维度);记忆层是从事实里蒸馏出的跨会话认知(agent 维度)。 +> 数据**单向上行**:tape → 抽取 → 记忆层。记忆层只往 tape 回写**审计面包屑**(非重建 anchor),不参与上下文重建。 + +``` + ┌──────────────────────────────────────────┐ + 权威源(authoritative)│ agent_memory 表 (SQLite, agent 维度) │ + │ ├─ kind: episodic|semantic|reflection|persona │ + │ ├─ 跨会话、可向量检索 (DuckDB) │ + │ └─ superseded_by 演化链 (可回滚) │ + └────────────▲──────────────┬───────────────┘ + ① 抽取/反思 │ │ ④ Layer4 注入 + (上行,单向) │ ▼ (recall → system prompt) + ┌────────────┴──────────────────────────────┐ + 事实账本(source) │ deepchat_tape_entries (SQLite, session 维度) │ + │ ├─ message/tool_call/tool_result (事实) │ + │ ├─ anchor: compaction/* summary/* (重建) │ ← 现有,不动 + │ └─ anchor: memory/* persona/* (审计面包屑)│ ← 新增,非重建 + └────────────────────────────────────────────┘ + ② compaction 后抽取 ③ 审计回写 +``` + +--- + +## 一、为什么是"上下游"而不是"二选一" + +tape 和记忆层**理念同源**(都把会话变成结构化、可恢复的日志),上次对话已确认两者是**互补**关系: + +| 维度 | tape | 记忆层 | +|---|---|---| +| 分区 | **session_id**(每会话一条带子) | **agent_id**(跨会话) | +| 形态 | append-only 原始事实 | 蒸馏后的认知(事实/洞察/人格) | +| 生命周期 | 跟随会话 | 长期、可衰减遗忘 | +| 检索 | 按 session 顺序/anchor | 向量 + FTS 混合召回 top-K | +| 服务于 | compaction / 上下文重建 / 分支 / 交接 | 跨会话人格、关系记忆 | + +→ tape 是记忆层**天然的、已去重的原料带**(`buildEffectiveTapeView()` 已处理撤回/替换/工具去重);记忆层是 tape 的**反思蒸馏层**。两者不竞争。 + +--- + +## 二、四条数据通路(核心设计) + +### ① 抽取(tape → 记忆层,上行)—— compaction 之后的独立廉价调用 + +> **实现现状(2026-06-15,以 spec AC-2.1 为准)**:下方「扩展 `generateRollingSummary()` 为结构化输出、同一次调用产出 summary+memories」的决策**已被推翻**。最终实现:摘要契约保持不变,抽取是 compaction 完成之后的**一次独立廉价 LLM 调用**(`MemoryPresenter.extractAndStore()`),失败不推进 `memory_cursor`、可重试。保留下文以记录决策演进。 + +**原决策(已否决)**:不新增独立 LLM 调用,**扩展 compaction 已有的那一次** `generateRollingSummary()` 调用为结构化输出,一次产出两样东西: + +``` +compactionService.applyCompaction() + └─ generateRollingSummary() [现有的唯一一次 LLM 调用] + 输入: previousSummary + summaryBlocks(即将被摘要/丢弃的消息) + 输出(结构化): { + summary: string, // ← 现有:滚动摘要,照常写 tape anchor + sessions 表 + memories: MemoryCandidate[] // ← 新增:从这批消息抽取的"值得记的事件/事实" + } +``` + +`MemoryCandidate` 形如: +```ts +{ kind: 'episodic'|'semantic', content: string, importance: number /*0-1*/ } +``` + +> **为什么放这里**:compaction 即将摘要/丢弃的那批消息,正是"短期 → 长期"巩固的最佳时机(认知科学上的 consolidation)。消息已经在 prompt 里了,只多输出几十个 token,**不额外加一次调用**。 + +### ② 会话结束兜底(覆盖从不触发 compaction 的短会话) + +**决策(已确认)**:后台、廉价模型、游标门控、增量阈值。**不阻塞交互**(用户已离开会话)。 + +触发:监听 `CONVERSATION_EVENTS` / `SESSION_EVENTS`(会话失活/关闭)。 +门控逻辑(关键,决定性能): +``` +若 memory_cursor_order_seq >= 会话末尾 order_seq → 跳过(0 调用) # compaction 已覆盖到底 +若 (末尾 - memory_cursor) 增量 < N 条 / < M token → 跳过 # 不值得 +否则 → 用 haiku/小模型 对 [memory_cursor, 末尾] 这段增量抽取一次 +``` + +净效果:**长会话靠①(0 额外调用);短会话仅结束时一次廉价小调用,且常被游标判为"无新内容"而跳过。** + +### ③ 审计回写(记忆层 → tape,下行,仅面包屑) + +**决策(已确认)**:记忆写入 / 人格更新时,在**当前 session 的 tape** 上落一个 **非重建 anchor**: + +| anchor name | 何时落 | payload | +|---|---|---| +| `memory/extract` | ①②抽取出新记忆后 | `{ memoryIds: [...], count, source: 'compaction'|'session_end' }` | +| `persona/evolve` | 自我模型被反思更新后 | `{ memoryId, fromVersion, toVersion, diffSummary }` | + +> **关键安全性(已验证)**:这些名字**不在** `RECONSTRUCTION_ANCHOR_NAMES`(= `SUMMARY_ANCHOR_NAMES` + `handoff/*` + `auto_handoff/*`)里,所以 `contextBuilder` / `compactionService` 的重建逻辑**完全无视它们**。它们是惰性面包屑,不会劫持上下文重建或摘要游标。**零冲突。** + +回写用途:可视化"这次会话产生/演化了哪些记忆"、人格演化时间线、回滚定位。 + +### ④ 注入(记忆层 → system prompt Layer 4,recall) + +在现有三层注入后追加 `appendMemorySection()`(详见 research.md 第四节): +``` +Layer 1: base(用户 systemPrompt + skills) [已有, 不可变锚点] +Layer 2: + 会话摘要 [已有] +Layer 3: + 工具状态锚点 [已有] +Layer 4: + 自我模型(persona) + top-K 相关记忆 [新增] ← recall 在这里生效 +``` +检索:`retrieval_score = α·相似度 + β·recency + γ·importance`,取 top-K。 + +--- + +## 三、人格落点(已确认:绝不覆盖) + +**决策(已确认)**:演化出的自我模型**只作为 Layer 4 叠加注入,绝不回写/覆盖用户手写的 `DeepChatAgentConfig.systemPrompt`。** + +``` +用户手写 systemPrompt → 不可变锚点, AI 永不改写 (Layer 1) +演化自我模型(kind=persona) → 独立记录, supersede 链可回滚 (Layer 4) +``` + +- 自我模型是 `agent_memory` 里 `kind='persona'` 的单条记录,每次反思更新 = 新增一条并 `superseded_by` 指向旧条(保留完整演化轨迹,可一键回滚到任意历史版本)。 +- 用户随时能在 UI 看到/编辑/清空演化人格,但**他手写的 prompt 永远原样保留**。 +- 护栏:核心锚点不可被 supersede;新反思只能小步修正;低 importance 记忆衰减遗忘。 + +--- + +## 四、游标协调(设计决策,需你知晓) + +记忆层引入 `memory_cursor_order_seq`(仿现有 `summary_cursor_order_seq`),与 compaction 游标存在耦合。 + +**采用的默认规则**: +1. `memory_cursor_order_seq` **始终 ≤** `summary_cursor_order_seq`。 +2. **compaction 之后(通路①,实现现状 2026-06-15)**:抽取已与 summary CAS **解耦**——summary CAS 独立完成后,抽取作为独立调用进行,**成功**(含抽到 0 条)才单独推进 `memory_cursor`,**失败不推进**以便重试。原「同一次 CAS 原子推进」方案已否决(见 §① 现状框)。 +3. **会话结束兜底时(通路②)**:只推进 `memory_cursor`,不碰 `summary_cursor`。 + +→ 解耦后仍不重复消费:抽取靠 `provenance_key` 幂等去重,cursor 仅在抽取成功时推进。 + +--- + +## 五、⚠️ 需要你确认的冲突点 + +### 冲突 C-1:跨存储原子性(SQLite 事务管不到 DuckDB) + +**问题**:通路①里,compaction 的摘要更新是 **SQLite 上的事务 + CAS**。但记忆抽取的产物要落两个存储: +- (a) `agent_memory` 行 → **SQLite** +- (b) 记忆向量 → **DuckDB**(独立数据库,无法纳入同一个 SQLite 事务) + +如果要求"摘要和记忆同生共死",做不到——**SQLite 事务无法跨到 DuckDB**。 + +**我推荐的解法(与现有知识库模式一致,建议采纳)**: +**两阶段、解耦提交**,照搬 `knowledgePresenter` 现成的"异步 embedding + status 字段"模式: +> 实现现状(2026-06-15):下方第 1、2 步的「同一次 LLM 输出 {summary, memories}、与 summary CAS 同事务」已否决(见 §① 现状框)。当前为:摘要独立完成后,抽取作为独立调用写 `agent_memory`(status='pending_embedding'),成功才推进 cursor;第 3 步异步向量化照旧。 +``` +1. (旧设计) LLM 一次输出 {summary, memories} +2. (旧设计) SQLite 事务: 写 summary CAS + 写 agent_memory 行(status='pending_embedding') ← 同事务,原子 +3. (CAS 成功后) 异步: 算 embedding → 写 DuckDB 向量 → 回填 status='embedded' + - 失败可重试; 检索时只认 status='embedded' 的记忆 + - memories 抽取与 summary 解耦: 即便 CAS 因并发失败重跑, LLM 输出仍有效, 记忆按 provenance/内容去重幂等 +``` +理由:DuckDB 本来就是异步写向量(chunk 有 pending→embedded 状态机),记忆层复用同一套,**不引入新范式、与现有架构零冲突**。 + +**→ 需要你拍板**: +- **(A) 采纳推荐**:两阶段解耦,记忆行同事务落 SQLite、向量异步入 DuckDB(与知识库一致)。 +- **(B) 最简**:记忆完全 best-effort,摘要提交后再尽力写记忆,失败就丢(更简单,但极端情况会漏记忆)。 +- **(C) 其他**:你有别的偏好。 + +> 除此之外,第二节的 anchor 命名(C-1 之外)、第四节游标协调均已用与现有架构兼容的默认方案解决,**未引入新冲突**。如对游标默认规则有异议也请一并指出。 + +--- + +## 六、落地改动清单(在 research.md 第五节基础上的增量) + +| # | 改动 | 文件 | 与 tape 的关系 | +|---|---|---|---| +| A | `agent_memory` 表 + `memory_cursor_order_seq` 字段 | `sqlitePresenter/tables/agentMemory.ts`、`deepchatSessions.ts`、`schemaCatalog.ts` | 新表;游标仿 summary | +| B | **独立抽取调用**(不改 `generateRollingSummary` 契约)`MemoryPresenter.extractAndStore()` | `memoryPresenter/`、`agentRuntimePresenter/index.ts` | **通路①** compaction 之后抽取(原「改结构化输出」已否决) | +| C | 抽取成功才推进 `memory_cursor`(解耦,非同 CAS) | `agentRuntimePresenter/index.ts` | **第四节** 游标协调 | +| D | 会话生成完成兜底抽取(后台/廉价/门控) | `agentRuntimePresenter` 内(拿得到 sessionId) | **通路②** | +| E | 审计 anchor `memory/*` `persona/*` | 复用 `tapeService` 写 anchor(新名,非重建) | **通路③** 面包屑 | +| F | `appendMemorySection()` Layer4 注入 | `agentRuntimePresenter/index.ts` 注入链 | **通路④** recall | +| G | `MemoryPresenter`(写/检索/衰减/反思) + DuckDB 异步向量 | `src/main/presenter/memoryPresenter/` | 复用 `duckdbPresenter` | +| H | persona supersede 链 + Layer4 叠加(不覆盖 systemPrompt) | `memoryPresenter`、`agentRepository` | **第三节** | + +--- + +## 七、对接小结 + +1. **方向单向**:事实 tape → 蒸馏记忆层;记忆层只往 tape 回写惰性审计 anchor。 +2. **零重建冲突**:审计 anchor 用新名字,不在重建白名单内,现有 compaction/上下文逻辑完全无视。 +3. **零额外调用(长会话)**:抽取搭 compaction 的车;短会话靠廉价兜底 + 游标门控。 +4. **人格安全**:Layer4 叠加,永不覆盖用户 systemPrompt,supersede 可回滚。 +5. **唯一待确认**:跨存储原子性(第五节 C-1),推荐采纳与知识库一致的两阶段异步方案。 diff --git a/docs/features/agent-memory/tasks.md b/docs/features/agent-memory/tasks.md new file mode 100644 index 000000000..83f236869 --- /dev/null +++ b/docs/features/agent-memory/tasks.md @@ -0,0 +1,139 @@ +# Agent Memory & Persona — Task Breakdown + +> SDD 阶段 3:Tasks。小步、有序、可独立评审,映射到 commit/PR。 +> 原则:**先无害基建,后改 compaction 主路**,降低回归风险。每个任务标注依赖与测试。 +> 关联:[spec.md](./spec.md)、[plan.md](./plan.md)。 + +提交规范:Conventional commits(`feat(memory): ...`),base 分支 `dev`,PR 含 spec 链接,过 lint/typecheck/test。 + +--- + +## 阶段 A:无害基建(不触碰 compaction 主路) + +### T1 — 数据层:`agent_memory` 表 + 列迁移 +- `tables/agentMemory.ts`(BaseTable,建表 SQL + CRUD);`agent_memory_fts` 虚拟表。 +- `schemaCatalog.ts` 注册(导入 + `CATALOG_DEFINITIONS` + repairable/typeChecked)。 +- `deepchat_sessions` 加 `memory_cursor_order_seq`(repairableColumns)。 +- `SQLitePresenter` index 初始化并暴露。 +- **测试**:建表/CRUD/唯一索引去重(provenance)。 +- **依赖**:无。**PR-1**。 + +### T2 — 共享类型 + Agent 配置扩展 +- `shared/types/agent-interface.d.ts` 加 `memoryEnabled` / `memoryEmbedding` / `memoryRetrieval`。 +- 确认 `getDeepChatAgentConfig`/`resolveDeepChatAgentConfig`/`updateDeepChatAgent` 浅合并兼容。 +- **测试**:config 读写默认值;老配置无字段时安全。 +- **依赖**:无。**PR-1**(可与 T1 同 PR)。 + +### T3 — DuckDB 记忆向量存储(独立库/表) +- 复用 `duckdbPresenter` 范式,建记忆向量库/表(HNSW cosine)。 +- `insertVectors` / `similarityQuery` 记忆版封装。 +- **测试**:插入 + 相似度查询 + 维度失配处理。 +- **依赖**:无。**PR-2**。 + +### T4 — `MemoryPresenter` 骨架 + 写入/检索(不接 compaction) +- `src/main/presenter/memoryPresenter/`:`writeMemories()`(阶段1 SQLite 事务,status=pending_embedding)、异步 `embedWorker`(阶段2,回填 embedded/error/fts_only)、`recall()`(向量+FTS 混合,§7)、`buildInjection()`。 +- embedding 取 `agent.memoryEmbedding`;无配置 → fts_only。 +- **测试**:T2(C-1)两阶段、幂等、降级 FTS、打分排序(plan T2/T3/T7)。 +- **依赖**:T1、T2、T3。**PR-2**。 + +--- + +## 阶段 B:接入主路与召回 + +### T5 — Layer 4 注入 +- `appendMemorySection()`;`agentRuntimePresenter/index.ts:785` 后接入。 +- 仅 `memoryEnabled` 非空,否则原串。 +- **测试**:开启/关闭/降级(plan T3);**回归:anchor 不干扰重建(plan T5)**。 +- **依赖**:T4。**PR-3**。 + +### T6 — 会话结束兜底抽取(通路②)→ 移入 PR-4 +- 监听会话结束;门控(cursor≥tail / 低增量跳过);廉价模型抽取 → `writeMemories` → 推进 memory_cursor。 +- tape 落 `memory/extract` anchor。 +- **测试**:门控零调用(plan T6);后台不阻塞。 +- **依赖**:T4 + `memory_cursor` 列。**改 PR-4**(见下方实现说明)。 + +> **实现重排(2026-06-12)**:T6 原计划随 T5 进 PR-3,但核查发现: +> 1. `SESSION_EVENTS.DEACTIVATED` 的 payload 只有 `webContentsId`,**不含 sessionId**——它是 UI 窗口解绑事件,不是“某会话结束”的可靠信号,不适合直接作兜底触发器。 +> 2. 兜底的成本门控依赖 `memory_cursor_order_seq` 列,而该列已(按 PR-1 决策)推迟到 PR-4。 +> +> 因此 T6 并入 **PR-4**:与 compaction 搭车抽取共用 `memory_cursor` 与抽取管线,触发点改为“会话生成完成 / compaction 之后”这一在 `AgentRuntimePresenter` 内、能拿到 `sessionId` 的可靠位置(具体落点 PR-4 plan 细化)。PR-3 仅交付 T5。 + +### T7 — compaction 之后抽取(通路①)✅ +> 实现现状(2026-06-15):原「改 `generateRollingSummary → {summary, memories[]}` + 同事务双游标」方案**已否决**(见 spec AC-2.1 / plan §3)。当前实现:摘要契约零改动,抽取为 compaction 完成之后的**独立廉价调用**(`MemoryPresenter.extractAndStore()`),成功才推进 `memory_cursor` 并写 `memory/extract` anchor,失败不推进以便重试。 +- **测试**:抽取成功才推进游标(失败可重试)、未开启时摘要路径与现状一致、解析失败容错。 +- **依赖**:T4、T6。**PR-4**。 + +--- + +## 阶段 C:人格与工具 + +### T8 — 人格演化 + 回滚 +- `evolvePersona()`(会话结束轻量反思);supersede 链;`is_anchor` 保护;`persona/evolve` anchor。 +- **测试**:不覆盖 systemPrompt、supersede、回滚、锚点保护(plan T4)。 +- **依赖**:T4、T6。**PR-5**。 + +### T9 — 内置 MCP 工具 +- `inMemoryServers/memoryServer.ts`:`memory_remember/recall/forget`;`builder.ts` + `mcpConfHelper.ts` 注册;仅 deepchat agent + memoryEnabled。 +- **测试**:工具调用读写、权限门控。 +- **依赖**:T4。**PR-5**。 + +--- + +## 阶段 D:UI 与事件 + +### T10 — 事件 + IPC 契约 +- `MEMORY_EVENTS.UPDATED`;`shared/contracts/memory*` + `renderer/api/MemoryClient`(typed)。 +- 方法:list/delete/clear/listPersonaVersions/rollbackPersona/getMemoryStatus。 +- **依赖**:T4、T8。**PR-6**。 + +### T11 — Agent 设置:记忆开关 + 独立 embedding 配置 +- Vue 3 组件;opt-in 开关 + 说明文案;embedding provider/model 选择;i18n。 +- **测试**:renderer 关键交互。 +- **依赖**:T2、T10。**PR-6**。 + +### T12 — 记忆管理 UI ✅ +- 列表/删除/清空;人格演化时间线 + 回滚;空/加载/错误/降级态;i18n。 +- 实现:`settings/components/MemoryManagerDialog.vue`(Dialog + Tabs[记忆/人格] + Table/ScrollArea/AlertDialog),由 `DeepChatAgentsSettings.vue` 记忆段「管理记忆」按钮触发(draft agent 隐藏)。 +- 事件:新增 typed `memoryUpdatedEvent`(`memory.updated`),`MemoryClient.onUpdated()` 订阅自动刷新。i18n 全 20 语言。 +- **依赖**:T10。**PR-7**。 + +--- + +## 收尾 + +### T13 — 文档归档与质量门 +- 按 SDD 保留策略:MVP 落地后将本目录决策折入 `ARCHITECTURE.md`/`FLOWS.md`/`guides/*`,清理 active 目录。 +- 全量 `pnpm run format && pnpm run i18n && pnpm run lint && pnpm run typecheck && pnpm test`。 +- **依赖**:全部。 + +--- + +## PR 依赖图 + +``` +PR-1 (T1,T2)✅ ─┬─▶ PR-2 (T3,T4)✅ ─┬─▶ PR-3 (T5)✅ ─▶ PR-4 (T7+T6)✅ + │ ├─▶ PR-5 (T8,T9)✅ + │ └─▶ PR-6 (T10,T11)✅ ─▶ PR-7 (T12)✅ + └──────────────────────────────────────────────────▶ PR-8 (T13)◑ +``` + +进度(2026-06-15 更新,单次实现,未提交): +- ✅ **PR-1** 表 `agent_memory` + 配置字段 +- ✅ **PR-2** DuckDB 记忆向量库 + `MemoryPresenter`(两阶段写入/混合召回/注入) +- ✅ **PR-3** DI + Layer4 注入(`appendMemorySection`,禁用零变化) +- ✅ **PR-4** `memory_cursor` 列 + 解耦抽取(compaction 通路① + 会话兜底通路②,游标门控) +- ✅ **T8** 人格反思演化(节流 + supersede + 回滚 + 锚点保护) +- ✅ **T9** 内置 MCP 工具 `memory_remember/recall/forget` +- ✅ **T10** IPC 路由 6 条 + `MemoryClient` +- ✅ **T11** Agent 设置「长期记忆」开关(opt-in,i18n 全 20 语言) +- ✅ **T12** 记忆管理 UI(`MemoryManagerDialog.vue`:list/删除/清空 + 人格时间线/回滚 + 加载/空/错误/降级态),挂载于 Agent 设置记忆段「管理记忆」按钮;i18n 全 20 语言。 +- ✅ **事件** typed `memoryUpdatedEvent`(`memory.updated`,reason ∈ extract/delete/clear/persona-evolve/persona-rollback):`MemoryPresenter` 经可选 `onMemoryChanged` dep → `publishDeepchatEvent` 广播,`MemoryClient.onUpdated()` 订阅刷新。 +- ◑ **T13** 质量门全绿(format/lint/i18n/typecheck node+web/单测,零净回归);SDD 归档待功能整体合入后处理。 + +> FTS5 说明:MVP 采用 `AgentMemoryTable.search()` 的 SQL `LIKE` 关键词匹配实现 AC-4.2 的 FTS-only 降级语义;FTS5 虚拟表(`agent_memory_fts`)列为后续召回质量优化,不在本增量。 + +**验证基线**:主进程单测零净回归;记忆相关新增单测全绿;typecheck node+web exit 0。 +> 2026-06-15 修复:`DEEPCHAT_ROUTE_CATALOG` 的 TS7056(推断类型超序列化上限)已通过把 catalog 拆为多个导出子块 + 交叉 `typeof` 合并类型 + 显式注解解决,stock `tsc --project tsconfig.node.json` 现亦 exit 0,逐路由精确输入/输出类型保持不变。同时修复 `deepchatSessionsTable.test.ts` 随 `memory_cursor` 迁移(schema v30→v31)的版本预期。 + +## 建议的最小可演示里程碑 +**PR-1 → PR-2 → PR-3** 完成即可演示"跨会话记忆 + Layer4 注入"(显式工具/兜底抽取路径),不依赖最敏感的 T7 主路改造。T7 可在体验验证后再上,进一步降风险。 diff --git a/docs/features/agent-session-transfer/plan.md b/docs/features/agent-session-transfer/plan.md deleted file mode 100644 index e27693658..000000000 --- a/docs/features/agent-session-transfer/plan.md +++ /dev/null @@ -1,322 +0,0 @@ -# Implementation Plan - Agent Session Transfer - -## Current Code Notes - -- `DeepChatAgentsSettings.vue` deletes custom DeepChat agents through - `configPresenter.deleteDeepChatAgent(form.id)` after `window.confirm`. -- `AcpSettings.vue` deletes manual ACP agents through `configPresenter.removeManualAcpAgent(agent.id)` - after `window.confirm`. -- `AcpSettings.vue` uninstalls registry ACP agents through - `configPresenter.uninstallAcpRegistryAgent(agent.id)` after a basic confirm dialog. -- `AgentRepository.deleteDeepChatAgent` currently reassigns all `new_sessions.agent_id` values from - the deleted custom DeepChat agent to built-in `deepchat`. -- `AgentRepository.removeManualAcpAgent` deletes only the agent record. -- `NewSessionsTable` already supports list/page filtering by `agentId` and has a batch - `reassignAgentId(fromAgentId, toAgentId)`, but it does not expose a precise single-session - ownership update or impact counts. -- `AgentSessionPresenter` is the correct place to check runtime state, delete sessions with their - child subagents, emit session-list updates, and coordinate ACP session cleanup. -- `AgentRuntimePresenter` caches session agent ids in memory, so ownership moves need a runtime hook, - not just a database update. -- `ChatTopBar.vue` already has a right-side `...` dropdown for writable sessions. Its current order - is pin/unpin, clear messages, separator, delete. The session move entry should be inserted between - pin/unpin and clear messages. - -## Architecture - -### Shared Contracts - -Add typed route contracts in `src/shared/contracts/routes/sessions.routes.ts`: - -- `sessions.getAgentTransferImpact` - - input: `{ agentId: string }` - - output: `{ impact: AgentTransferImpact }` -- `sessions.moveAgentSessions` - - input: `{ fromAgentId: string; toAgentId: string }` - - output: `{ movedSessionIds: string[]; deletedSessionIds: string[] }` -- `sessions.deleteAgentSessions` - - input: `{ agentId: string }` - - output: `{ deletedSessionIds: string[] }` -- `sessions.moveSessionToAgent` - - input: `{ sessionId: string; toAgentId: string }` - - output: `{ session: SessionWithState }` - -Proposed shared shape: - -```ts -type AgentTransferImpact = { - agentId: string - totalSessions: number - regularSessions: number - subagentSessions: number - emptyDrafts: number - movableSessions: number - blockedSessions: number - samples: Array<{ - id: string - title: string - sessionKind: 'regular' | 'subagent' - isDraft: boolean - projectDir: string | null - status: 'idle' | 'generating' | 'error' - blockReason?: 'active' | 'pending-input' - }> -} -``` - -Keep `config.listAgents` as the source for enabled target-agent options. - -### Presenter Responsibilities - -`AgentSessionPresenter`: - -- `getAgentTransferImpact(agentId)` - - List `new_sessions` with `{ agentId, includeSubagents: true }`. - - Treat drafts with no message ids as empty drafts. - - Use `getSessionState` and pending-input inspection to classify movable vs blocked. - - Return a small sample list for the dialog, not the full history. -- `moveAgentSessions(fromAgentId, toAgentId, options)` - - Validate both agents exist and are not the same. - - Recompute impact server-side immediately before mutation. - - Refuse the entire operation when any non-empty related session is blocked. - - Delete empty drafts for the source agent. - - Move each non-empty related session through the same internal helper used by - `moveSessionToAgent`. - - If a later mutation fails after earlier sessions moved or drafts were deleted, throw an error - that includes partial-success counts so the UI can show a recoverable state instead of hiding the - mixed result. -- `moveSessionToAgent(sessionId, toAgentId, options)` - - Only allow regular sessions from the public chat-level route. - - Refuse active/generating sessions. - - Resolve target runtime defaults: - - DeepChat target: target agent config merged with built-in DeepChat defaults, then app default - model fallback. - - ACP target: rejected. Conversation history must not move into ACP agents. - - Update `new_sessions.agent_id` and any target-specific session fields in one logical operation. - - Update the DeepChat runtime's session-agent cache and provider/model/generation settings. - - Clear stale ACP binding for the previous ACP agent only after target context, `new_sessions`, and - related session metadata updates have succeeded. - - Emit `SESSION_EVENTS.LIST_UPDATED` / typed `sessions.updated`. -- `deleteAgentSessions(agentId)` - - Recompute impact. - - Refuse active sessions. - - Delete related sessions with existing `deleteSessionInternal`, which already handles child - sessions, message cleanup, permissions, skills, search documents, and ACP cleanup. - -`AgentRuntimePresenter`: - -- Add an optional implementation method such as `setSessionAgentContext(sessionId, context)` to - `IAgentImplementation`. -- The DeepChat implementation updates `sessionAgentIds`, provider/model, generation settings, - disabled tool cache, project dir cache, and invalidates system prompt/tool profile caches without - deleting messages. -- It must reject generating sessions. - -`NewSessionsTable` / `NewSessionManager`: - -- Add a precise `updateAgentId(sessionId, agentId)` helper. -- Keep `reassignAgentId` as a low-level fallback only; the transfer path should move session by - session so runtime state and ACP cleanup stay correct. -- Consider `countByAgent(agentId, includeSubagents)` for fast summary, but correctness can start with - `list({ agentId, includeSubagents: true })`. - -`AgentRepository` / `ConfigPresenter`: - -- Change custom DeepChat deletion so it no longer silently reassigns sessions to built-in DeepChat. - The UI should call the session move/delete route first, then delete the agent. -- Manual ACP deletion can keep removing only the agent record, because the UI/session route will have - already moved or deleted related sessions. -- Registry ACP uninstall must use the same session transfer/delete flow as manual ACP deletion. -- Keep a defensive fallback in the delete methods: if sessions still exist for the source agent, - return `false` or throw a clear error instead of silently orphaning or reassigning them. - -### Renderer - -Create a reusable transfer dialog surface, likely `AgentTransferDialog.vue` plus a thin -delete-agent wrapper. It should support both one-shot agent deletion migration and single-session -movement. - -For delete-agent usage, mount it from: - -- `DeepChatAgentsSettings.vue` -- `AcpSettings.vue` manual custom-agent section -- `AcpSettings.vue` installed registry-agent section - -For chat-level usage, mount it from `ChatTopBar.vue` and open it from the right-side `...` menu item -placed between pin/unpin and clear messages: - -```text -DropdownMenuContent - Pin / Unpin - Move conversation - Clear messages - separator - Delete -``` - -The delete-agent dialog fetches: - -- impact via `SessionClient.getAgentTransferImpact(agentId)` -- target options via `ConfigClient.listAgents()`, filtered to enabled DeepChat agents except source - -It submits: - -- move path: `SessionClient.moveAgentSessions(...)`, then existing agent deletion -- delete path: `SessionClient.deleteAgentSessions(agentId)`, then existing agent deletion - -The chat-level dialog fetches the same target options and submits: - -- move path: `SessionClient.moveSessionToAgent(sessionId, targetAgentId)` - -Dialog layout requirements: - -- Use a viewport-aware max height, for example - `max-h-[min(720px,calc(100vh-2rem))]` on desktop and `max-h-[calc(100vh-1rem)]` on narrow - screens. -- Keep the header and footer outside the scrolling region so the title and actions remain visible. -- Put impact summaries, affected chat samples, explanatory copy, and the target picker in an - internal `overflow-y-auto` body. -- Prefer a single-column mobile layout; only use side-by-side summary/details areas on wider screens. -- Ensure long agent names, session titles, and project paths truncate or wrap without widening the - dialog. -- Use a loading state inside the body, not a full-window blocker. - -Chat-level move behavior: - -- Show only for active regular sessions. -- Disable while the session status is generating. -- Use `SessionClient.moveSessionToAgent(sessionId, targetAgentId)`. -- Update `useSessionStore` with the returned session and let existing selected-agent sync run. - -## Event Flow - -Delete with move: - -```text -Settings delete button - -> SessionClient.getAgentTransferImpact(agentId) - -> AgentDeleteImpactDialog opens - -> user chooses target agent - -> SessionClient.moveAgentSessions(fromAgentId, toAgentId) - -> AgentSessionPresenter moves sessions and emits sessions.updated - -> ConfigPresenter deletes source agent and emits config.agents.changed - -> settings reloads agents, session store refreshes affected sessions -``` - -Registry ACP uninstall with move follows the same flow, except the final step calls -`ConfigPresenter.uninstallAcpRegistryAgent(agentId)` instead of deleting an agent row. - -Delete with related chats removed: - -```text -Settings delete button - -> impact dialog - -> user chooses "Delete chats with this Agent" - -> SessionClient.deleteAgentSessions(agentId) - -> ConfigPresenter deletes source agent - -> session store receives deleted session IDs and list updates -``` - -Single session move: - -```text -ChatTopBar right-side ... menu - -> user selects target agent - -> SessionClient.moveSessionToAgent(sessionId, targetAgentId) - -> AgentSessionPresenter updates session ownership/runtime context - -> sessions.updated(reason: updated) - -> Session store upserts returned session and selected agent syncs to target -``` - -## Data Rules - -- Preserve: - - `new_sessions.id`, title, pin state, project dir, parent relation - - deepchat messages, assistant blocks, files, traces, tape entries - - search documents and usage stats - - session summary/compaction state where still meaningful -- Reset or recompute: - - target agent id - - provider/model for future turns - - DeepChat generation defaults for target DeepChat agents - - disabled tools from the target DeepChat agent - - ACP external session id and bound process state -- Delete: - - empty drafts during delete-agent flow - - related sessions only when the user explicitly picks the destructive option - -## ACP Transfer Handling - -- ACP agents are allowed as sources only. A manual ACP agent's idle chats can move to an enabled - DeepChat agent before the ACP agent is deleted. -- ACP agents are never valid transfer targets. This blocks both DeepChat-to-ACP and ACP-to-ACP moves, - reducing the risk of future conflicts with ACP's external session bindings. -- When moving an ACP-backed chat to DeepChat, clear the stale ACP provider binding after applying the - target DeepChat runtime context and updating session ownership/metadata. -- Because ACP is not a target, the first increment does not need a workdir picker in the transfer - dialog. - -## Compatibility - -- Existing sessions assigned to removed manual ACP agents are not fixed automatically by this feature - unless the source agent still exists at deletion time. A later repair utility can scan orphaned - `new_sessions.agent_id` values. -- Existing custom DeepChat deletion behavior changes from implicit fallback to explicit user choice. - This is intentional and should be called out in release notes. -- No schema migration is required for the first increment if `new_sessions.agent_id` is updated via a - new helper. - -## Test Strategy - -Main tests: - -- `agentRepository.test.ts` - - Custom DeepChat delete refuses when sessions remain, or no longer silently reassigns. - - Manual ACP delete remains safe after sessions are moved/deleted. - - Registry ACP uninstall refuses to clear installation state while sessions remain. -- `agentSessionPresenter.test.ts` - - Impact summary counts regular/subagent/draft/blocked sessions. - - Batch move DeepChat -> DeepChat applies target ownership and model defaults. - - Batch move ACP -> DeepChat clears ACP binding and keeps messages. - - ACP binding cleanup happens after target context and session ownership updates. - - Batch move failures report partial move/delete counts. - - Moving to an ACP target is rejected for both DeepChat and ACP sources. - - Active/generating sessions block move and delete. - - `deleteAgentSessions` deletes related sessions through existing recursive cleanup. -- `agentRuntimePresenter.test.ts` - - Session agent context update refreshes cached agent id and invalidates prompt/tool caches. - - Generating sessions reject context transfer. - -Renderer tests: - -- `DeepChatAgentsSettings.test.ts` - - Delete opens impact dialog. - - Move path calls session move before agent delete. - - Delete path calls session delete before agent delete. -- `AcpSettings` test coverage for manual ACP delete impact dialog. -- `ChatTopBar` tests: - - `Move conversation` appears between pin/unpin and clear messages. - - Selecting it opens the transfer dialog. - - The entry is disabled or unavailable for read-only/subagent/active sessions. -- Dialog responsiveness tests should assert the shell has a viewport max height and the detail body - owns the scroll region. -- Store/client tests for single-session move and disabled active state. - -Quality gates after implementation: - -- `pnpm run format` -- `pnpm run i18n` -- `pnpm run lint` -- Targeted Vitest suites for touched main and renderer modules - -## Risks - -- Runtime cache drift is the main risk. Mitigation: transfer through AgentSessionPresenter and add a - runtime-level context update method. -- ACP sessions may have provider-specific expectations about session continuity. Mitigation: allow - ACP only as a source, clear stale ACP bindings when moving to DeepChat, and reject ACP targets. -- Batch deletion is destructive. Mitigation: in-app dialog, explicit destructive option, and tests that - verify move is the default/safe path. -- Applying target DeepChat defaults can surprise users who expected current model settings to remain. - Mitigation: dialog copy states that future replies use the target agent; future enhancement can add - "keep current model/settings". diff --git a/docs/features/agent-session-transfer/tasks.md b/docs/features/agent-session-transfer/tasks.md deleted file mode 100644 index 55ddcd603..000000000 --- a/docs/features/agent-session-transfer/tasks.md +++ /dev/null @@ -1,35 +0,0 @@ -# Tasks - Agent Session Transfer - -- [x] Contracts: add typed session transfer routes and shared schemas in `sessions.routes.ts`. -- [x] Client: expose `getAgentTransferImpact`, `moveAgentSessions`, `deleteAgentSessions`, and - `moveSessionToAgent` from `SessionClient`. -- [x] SQLite/session manager: add precise `updateAgentId(sessionId, agentId)` and any small counting - helpers needed for impact summaries. -- [x] Runtime: add a DeepChat runtime method to update session agent context without deleting - messages; reject generating sessions and invalidate agent-dependent caches. -- [x] Main presenter: implement `AgentSessionPresenter` impact summary, batch move, single-session - move, and delete-by-agent flows. -- [x] ACP handling: clear stale source ACP bindings when moving ACP chats to DeepChat, and block ACP - targets so DeepChat-to-ACP and ACP-to-ACP moves cannot occur. -- [x] Agent deletion safety: remove silent DeepChat fallback reassignment and prevent deleting an - agent while sessions still point at it. -- [x] Renderer dialog: build a responsive transfer dialog with a viewport-aware max height, fixed - header/footer, internal scroll body, move/delete states, target-agent selection, - blocked-session messaging, loading, and error states. -- [x] Settings integration: replace `window.confirm` deletion in `DeepChatAgentsSettings.vue` and - manual-agent deletion in `AcpSettings.vue`. -- [x] Review fix: route installed registry ACP uninstall through the transfer dialog and keep a - repository/config fallback that blocks uninstall while sessions remain. -- [x] Review fix: clear source ACP provider bindings only after target DeepChat context and - `new_sessions` ownership updates succeed. -- [x] Review fix: report partial batch move/delete results when a multi-session operation fails - after some mutations have already completed. -- [x] Chat-level move: add `Move conversation` to `ChatTopBar.vue`'s right-side `...` menu between - pin/unpin and clear messages, then wire it to the transfer dialog and store/client integration. -- [x] i18n: add English and Chinese strings first, then run the repository i18n workflow for other - locales. -- [ ] Tests: main presenter coverage exists for impact summaries, DeepChat moves, ACP-to-DeepChat, - and ACP target rejection; renderer dialog/store and repository regression tests remain as - follow-up coverage. -- [x] Validation: run `pnpm run format`, `pnpm run i18n`, `pnpm run lint`, typecheck, targeted - tests, and `git diff --check`. diff --git a/docs/features/automatic-turn-activity-collapse/plan.md b/docs/features/automatic-turn-activity-collapse/plan.md deleted file mode 100644 index f7da5f43e..000000000 --- a/docs/features/automatic-turn-activity-collapse/plan.md +++ /dev/null @@ -1,345 +0,0 @@ -# Plan - -## Approach - -Implement a render-only activity grouping layer inside assistant message rendering: - -1. Expose assistant `updatedAt` on `DisplayMessage`. -2. Add a small pure helper that turns assistant blocks into render items. -3. Add a compact `MessageBlockActivityGroup.vue` component that renders the title and, when expanded, - delegates to the existing reasoning/tool-call block components. -4. Update `MessageItemAssistant.vue` to render grouped items only when the turn is settled. -5. Add localized title strings and duration formatter output. -6. Cover the helper and component behavior with renderer tests. - -No main-process, preload, IPC, route, database, or shared event contract changes are planned for the -first increment. - -Persistence decision: - -- Do not persist derived activity groups. -- Do not persist per-group expanded/collapsed state. -- Keep the default state collapsed each time a completed assistant message group is mounted. -- Use renderer computation first; add only an in-memory cache if profiling shows a real bottleneck. - -## Affected Files - -Expected renderer files: - -- `src/renderer/src/components/chat/messageListItems.ts` -- `src/renderer/src/pages/ChatPage.vue` -- `src/renderer/src/components/message/MessageItemAssistant.vue` -- `src/renderer/src/components/message/MessageBlockActivityGroup.vue` -- `src/renderer/src/components/message/messageActivityGroups.ts` -- `src/renderer/src/i18n/*/chat.json` - -Expected tests: - -- `test/renderer/components/message/MessageItemAssistant.test.ts` -- `test/renderer/components/message/MessageBlockActivityGroup.test.ts` -- `test/renderer/components/message/messageActivityGroups.test.ts` - -## Display Model - -Add `updatedAt` to the renderer-only `DisplayMessageBase`. - -```typescript -type DisplayMessageBase = { - id: string - timestamp: number - updatedAt: number - // existing fields... -} -``` - -Populate it in: - -- `toDisplayMessage(record)`: `updatedAt: record.updatedAt` -- `toStreamingMessage(...)`: `updatedAt: Date.now()` for type completeness, though streaming messages - must not be auto-grouped. - -## Render Item Model - -Keep the persisted `DisplayAssistantMessageBlock[]` unchanged. Add only a local UI render model. - -```typescript -type AssistantRenderItem = - | { - kind: 'block' - key: string - block: DisplayAssistantMessageBlock - } - | { - kind: 'activity-group' - key: string - blocks: DisplayAssistantMessageBlock[] - startedAt: number - endedAt: number - durationMs: number - reasoningCount: number - toolCallCount: number - } -``` - -This is not written to message content and is not sent over IPC. - -## Performance Model - -The grouping helper is an O(n) pass over the assistant block array, where n is the number of blocks in -one assistant message. This is expected to be cheaper than markdown rendering, tool-call detail -rendering, syntax highlighting, and media previews. - -Renderer computation is preferred over persistence because the renderer already needs the block array -to decide which existing component to render. Persisting grouping state would not remove the need to -parse/render the message content, but would add: - -- storage reads/writes for every manual toggle if UI state is persisted, -- schema or settings-key lifecycle concerns, -- stale synthetic ids after retry/regeneration/import, -- cleanup work when messages are deleted, -- extra compatibility surface for exports and variants. - -Implementation should keep the helper pure and easy to memoize. If needed, cache render items in -memory by: - -```text -messageId + content reference/hash + updatedAt + status + shouldGroupActivity -``` - -Do not add disk persistence as a performance optimization without measured renderer cost. - -## Grouping Helper - -Create a pure helper near message components: - -```typescript -buildAssistantRenderItems({ - blocks, - messageId, - messageUpdatedAt, - shouldGroup, - isInternalToolCall -}): AssistantRenderItem[] -``` - -Rules: - -- `shouldGroup === false`: every visible block returns as `kind: 'block'`. -- A block is activity when it matches the spec's collapsible activity definition. -- A block is groupable only when its status is not `loading` or `pending`. -- Consecutive groupable activity blocks are buffered. -- Any non-groupable visible block flushes the buffer before itself. -- Internal hidden tool calls are skipped exactly as they are today. - -Keying: - -- Use stable block ids/tool call ids when present. -- Fall back to `messageId:index`. -- Group key can be `activity:${messageId}:${firstIndex}:${lastIndex}`. - -## Turn Settled Gate - -In `MessageItemAssistant.vue`, compute: - -```typescript -const shouldGroupActivity = computed(() => { - if (resolvedIsInGeneratingThread.value) return false - if (currentMessage.value.status === 'pending') return false - return true -}) -``` - -If implementation finds paused user-interaction turns have `status: pending` even after stream end, -do not broaden the first increment. Keep pending turns ungrouped unless a reliable existing signal -already distinguishes inactive pending from active streaming. - -This keeps the behavior strict and avoids hiding activity while the turn is still live. - -## Activity Group Component - -`MessageBlockActivityGroup.vue` props: - -```typescript -defineProps<{ - blocks: DisplayAssistantMessageBlock[] - messageId: string - threadId: string - usage: DisplayMessageUsage - startedAt: number - endedAt: number - reasoningCount: number - toolCallCount: number -}>() -``` - -State: - -- `isExpanded = false` by default. -- Local state only; no config setting and no message metadata write. -- Toggling emits `toggle-collapse` so `MessageItemAssistant` can reuse the existing - `variantChanged` notification path. - -Rendering: - -- Title row mirrors `ThinkContent` text size/color/chevron. -- The title row is a real button with reset button styles. -- Expanded children render in a flat `flex flex-col gap-1.5` container with no added left padding. -- Reasoning blocks use `MessageBlockThink`. -- Tool-call blocks use `MessageBlockToolCall`. -- Artifact thinking can reuse the same visual pattern as reasoning if the codebase already renders - it through `MessageBlockThink`; otherwise keep it as an explicit non-goal for the first - implementation pass. - -## Title Text - -Recommended Chinese title: - -```text -已经工作了 {duration} · {reasoningCount} 段思考 · {toolCallCount} 次工具调用 -``` - -Recommended English title: - -```text -Worked for {duration} · {reasoningCount} thought(s) · {toolCallCount} tool call(s) -``` - -Omit count segments when the count is `0`: - -- reasoning only: `已经工作了 12秒 · 1 段思考` -- tool calls only: `已经工作了 12秒 · 2 次工具调用` - -## Duration Formatting - -Add a local formatter in the grouping helper or a small companion file. Keep the formatter pure and -pass localized unit labels from `MessageBlockActivityGroup.vue`: - -```typescript -type ActivityDurationLabels = { - day: string - hour: string - minute: string - second: string -} - -formatActivityDuration(durationMs: number, labels: ActivityDurationLabels): string -``` - -Implementation detail: - -- Clamp non-finite values to `0`. -- `totalSeconds = Math.max(0, Math.floor(durationMs / 1000))`. -- Compute days/hours/minutes/seconds. -- Concatenate non-zero units and include seconds when all larger units are zero. -- Use localized unit labels from `chat.activityCollapse.duration.*`. -- Unit labels may include spacing when the locale needs spaces between duration segments. - -Avoid `Intl.DurationFormat` for now because support varies and would add fallback complexity. - -## Styling - -Use the current reasoning header as the visual reference: - -- `text-xs` -- `leading-4` -- muted foreground color consistent with `ThinkContent` -- `lucide:chevron-right` when collapsed -- `lucide:chevron-down` when expanded -- no border/card wrapper -- no additional content indentation -- `self-start` width title, not full-width panel - -ASCII layout target: - -```text -Assistant row - icon | message column - | info line - | > Worked for 1m 12s · 1 thought · 2 tool calls - | visible answer text -``` - -Expanded target: - -```text -Assistant row - icon | message column - | v Worked for 1m 12s · 1 thought · 2 tool calls - | Thinking for 18s - | [tool] shell_command - | [tool] read_file - | visible answer text -``` - -## Compatibility - -- Existing persisted messages render unchanged except for the new collapsed presentation. -- Export, context building, compaction, and model input are unaffected because stored blocks are not - changed. -- Copy behavior remains based on `currentContent`. -- Existing reasoning global setting `think_collapse` remains scoped to individual reasoning content - when a group is expanded. The group's default collapsed state is independent. -- Manual activity-group expansion is intentionally not remembered across reloads in the first - increment. -- Search and trace behavior are unaffected. - -## Risks - -1. **Duration overcounts separate groups in the same message.** - - Mitigation: first increment uses the only reliable end timestamp available in the current display - model, the final assistant message `updatedAt`. Do not add backend block update timestamps unless - the UX proves this is misleading. -2. **Pending paused turns may remain long.** - - Mitigation: keep first increment strict. If needed later, add a reliable settled-state signal - rather than guessing from block shapes. -3. **Rendering logic duplication.** - - Mitigation: group component renders only the narrow set of groupable block types. -4. **Layout shift after reload.** - - Mitigation: collapse only after stream completion reload; this is expected and solves transcript - length. Keep scrolling behavior covered by existing message-list auto-scroll tests if affected. -5. **Repeated renderer grouping work.** - - Mitigation: keep grouping pure and O(n). Add in-memory memoization only if profiling shows the - helper is material compared with existing block rendering. - -## Test Strategy - -Unit tests: - -- Group consecutive reasoning/tool-call blocks after a settled turn. -- Split groups around `content` blocks. -- Skip grouping when `shouldGroup` is false. -- Skip `loading` and `pending` activity blocks. -- Preserve internal hidden tool-call behavior. -- Format duration for seconds, minutes, hours, and days. -- Verify grouping helper remains deterministic so in-memory memoization is safe if added later. - -Component tests: - -- `MessageItemAssistant` renders `MessageBlockActivityGroup` for final messages. -- `MessageItemAssistant` renders raw `MessageBlockThink` / `MessageBlockToolCall` while pending. -- `MessageBlockActivityGroup` starts collapsed. -- Clicking title expands and shows child reasoning/tool-call stubs. -- Clicking again collapses. -- Remounting a group returns it to the default collapsed state. -- Title includes duration and counts. - -Manual QA: - -- Long agent turn with multiple tool calls. -- Turn with only final text and no activity. -- Turn with reasoning only. -- Turn with tool calls only. -- Error final message. -- Dark mode. -- Narrow chat width. - -Quality gates after implementation: - -```text -pnpm run format -pnpm run i18n -pnpm run lint -pnpm run typecheck -pnpm test -- MessageItemAssistant -pnpm test -- MessageBlockActivityGroup -``` diff --git a/docs/features/automatic-turn-activity-collapse/tasks.md b/docs/features/automatic-turn-activity-collapse/tasks.md deleted file mode 100644 index 0192ccd0e..000000000 --- a/docs/features/automatic-turn-activity-collapse/tasks.md +++ /dev/null @@ -1,21 +0,0 @@ -# Tasks - -- [x] Inspect current assistant message rendering, reasoning header, tool-call block, stream end flow, - and display message conversion. -- [x] Write SDD spec with UX requirements, grouping rules, duration rules, ASCII UI, and acceptance - criteria. -- [x] Write implementation plan with affected files, render-only data model, component plan, and test - strategy. -- [x] Document persistence and performance decision: renderer-derived grouping, local-only expansion - state, no disk persistence in the first increment. -- [x] Add `updatedAt` to renderer display message types and conversion. -- [x] Add pure activity grouping and duration formatting helper. -- [x] Add `MessageBlockActivityGroup.vue`. -- [x] Update `MessageItemAssistant.vue` to render grouped activity after settled turns. -- [x] Add i18n keys for activity group title and duration units. -- [x] Add renderer unit/component tests. -- [x] Run `pnpm run format`. -- [x] Run `pnpm run i18n`. -- [x] Run `pnpm run lint`. -- [x] Run focused renderer tests. -- [x] Run `pnpm run typecheck` if the touched type surface is broader than expected. diff --git a/docs/features/cloud-sync-s3/plan.md b/docs/features/cloud-sync-s3/plan.md deleted file mode 100644 index 377dd2fb9..000000000 --- a/docs/features/cloud-sync-s3/plan.md +++ /dev/null @@ -1,47 +0,0 @@ -# Plan: 云同步(S3 兼容对象存储) - -## 架构总览 -云能力作为现有备份链路的**叠加层**,不重写本地备份/导入: - -```text -DataSettings.vue ─► sync store ─► SyncClient ─► [route] ─► SyncPresenter ─► CloudStorageService - 保存/测试/上传/拉取 │ │ - ConfigPresenter R2 / S3 桶 - (safeStorage 加密凭证) -``` - -- 上传 = 取本地最新 zip(`SyncPresenter.listBackups()`)→ `CloudStorageService.uploadBackup()`。 -- 拉取 = `CloudStorageService.downloadLatest()` 落地同步文件夹 → 复用 `SyncPresenter.importFromSync()`。 - -## 关键文件 -- `src/main/presenter/syncPresenter/cloudStorageService.ts`(新增):S3 客户端封装 - (`forcePathStyle: true`、`region` 默认 `auto`),方法 `testConnection / uploadBackup / - listRemoteBackups / downloadLatest`,沿用 `backup-\d+\.zip` 文件名约定。 -- `src/main/presenter/syncPresenter/index.ts`:新增 `testCloudConnection / uploadLatestBackupToCloud / - pullLatestBackupFromCloud`,从 ConfigPresenter 取解密后的 `ResolvedCloudSyncConfig` 构造服务。 -- `src/main/presenter/configPresenter/index.ts`:`getCloudSyncConfig / setCloudSyncConfig / - getResolvedCloudSyncConfig / isCloudSafeStorageAvailable`;secret 经 `safeStorage` 加密, - 视图脱敏(仅 `hasSecret`)。 -- `src/shared/contracts/routes/sync.routes.ts` + `routes.ts`:新增 5 路由并登记。 -- `src/main/routes/index.ts`:sync 段加 5 个 case 分发(上传/拉取复用 `recordSettingsActivity`)。 -- `src/shared/types/presenters/legacy.presenters.d.ts`:`ISyncPresenter` / `IConfigPresenter` 新方法 + - `CloudSyncConfigView / CloudSyncConfigInput / ResolvedCloudSyncConfig / CloudSyncResult` 类型。 -- `src/renderer/api/SyncClient.ts` + `src/renderer/src/stores/sync.ts`:5 个客户端方法 + store action。 -- `src/renderer/settings/components/DataSettings.vue`:同步卡片内新增云同步区块。 -- i18n:`sync.json`(success/error 云键)、`settings.json`(`data.cloudSync.*`),全语言补齐。 - -## 复用 -- 备份/导入:`performBackup / importFromSync / listBackups / getBackupsDirectory`。 -- 加密:`safeStorage`(参照 `databaseSecurityPresenter`)。 -- IPC / 渲染数据流:`defineRouteContract`、`useIpcQuery/useIpcMutation`、pinia store。 - -## 依赖 -- 新增 `@aws-sdk/client-s3`(与现有 `@aws-sdk/client-bedrock` 同源)。 - -## 边界与决策 -- R2 必须 path-style + `region: 'auto'`。 -- secret 留空 = 不修改既有值;非空才重新加密写入。 -- 配置保存先完成 secret 加密,再写入本地设置;如果第二步失败,回滚已写入的 secret,避免 - access key 与旧 secret 错配。 -- 云上传只接受结构可导入的 `backup-\d+\.zip`,避免用户放入任意 zip 后被同步到云端。 -- 活动记录复用既有 `backup_created` / `imported` action,不扩 schema(最小改动)。 diff --git a/docs/features/cloud-sync-s3/tasks.md b/docs/features/cloud-sync-s3/tasks.md deleted file mode 100644 index d4f469d88..000000000 --- a/docs/features/cloud-sync-s3/tasks.md +++ /dev/null @@ -1,26 +0,0 @@ -# Tasks: 云同步(S3 兼容对象存储) - -- [x] 安装 `@aws-sdk/client-s3` 依赖 -- [x] 新增 `CloudStorageService`(testConnection / uploadBackup / listRemoteBackups / downloadLatest) -- [x] `ConfigPresenter` 加云凭证读写,secret 用 safeStorage 加密、视图脱敏 -- [x] `SyncPresenter` 加 testCloudConnection / uploadLatestBackupToCloud / pullLatestBackupFromCloud -- [x] 新增 5 个 IPC 路由契约并在 `routes.ts` 登记 -- [x] `legacy.presenters.d.ts` 加接口方法与 CloudSync* 类型 -- [x] `main/routes/index.ts` 注册 5 个 case -- [x] `SyncClient.ts` + `stores/sync.ts` 加云方法/状态 -- [x] `DataSettings.vue` 云同步 UI(表单 + 保存/测试/上传/拉取) -- [x] i18n:zh-CN / en-US 增云键,其余语言英文兜底,`pnpm run i18n` 校验通过 -- [x] PR review:云配置写入失败可感知并回滚 secret -- [x] PR review:云上传/下载改为流式 IO -- [x] PR review:上传前校验备份包结构,跳过伪造 zip -- [x] PR review:导入时本地 settings 读取失败则回滚 -- [x] PR review:云操作 busy guard 补齐 -- [x] PR review:he-IL / id-ID 云同步文案本地化 -- [x] 收尾:`pnpm run typecheck` / `format` / `lint` 全绿 - -## 待人工验证(需真实 R2 凭证) -- [ ] 填 R2 凭证 → 测试连接成功 -- [ ] 上传到云 → 桶内出现 `deepchat-backups/backup-*.zip` -- [ ] 另一设备拉取最新 → 数据恢复 -- [ ] 切换 MinIO endpoint 验证 S3 兼容 -- [ ] 确认 `app-settings` 中 secret 为密文 diff --git a/docs/features/remote-agent-switch/plan.md b/docs/features/remote-agent-switch/plan.md deleted file mode 100644 index 8c078bc66..000000000 --- a/docs/features/remote-agent-switch/plan.md +++ /dev/null @@ -1,46 +0,0 @@ -# Implementation Plan — `/agent` Remote Command - -## Touch points - -### Shared types — `src/main/presenter/remoteControlPresenter/types.ts` -- `agent` entry added to `TELEGRAM_REMOTE_COMMANDS`, `FEISHU_REMOTE_COMMANDS`, `QQBOT_REMOTE_COMMANDS`, `DISCORD_REMOTE_COMMANDS`. Weixin iLink keeps its private `COMMANDS` array. -- New types: `TelegramAgentOption`, `TelegramAgentMenuState`, `TelegramAgentMenuCallback`. -- New constants/codecs: `TELEGRAM_AGENT_MENU_TTL_MS`, `buildAgentMenuChoiceCallbackData`, `buildAgentMenuCancelCallbackData`, `parseAgentMenuCallbackData`. Callback prefix `agent`, mirrors the existing `model` prefix model. - -### Persistence — `src/main/presenter/remoteControlPresenter/services/remoteBindingStore.ts` -- New menu state: `createAgentMenuState`, `getAgentMenuState`, `clearAgentMenuState` plus `clearAgentMenuStatesForEndpoint` / `clearExpiredAgentMenuStates`. Cleared on rebind, on `clearTransientStateForEndpoint`, and on full `clearBindings()`. -- New helper: `setChannelDefaultAgentId(endpointKey, agentId)` — picks the right per-channel updater (`updateTelegramConfig` / `updateFeishuConfig` / `updateQQBotConfig` / `updateDiscordConfig` / `updateWeixinIlinkConfig`). - -### Runner — `src/main/presenter/remoteControlPresenter/services/remoteConversationRunner.ts` -- `listAvailableAgents()` → `TelegramAgentOption[]`: `configPresenter.listAgents()` filtered by `enabled !== false`, projected to `{ agentId, agentName, agentType, source }`. -- `setChannelDefaultAgent(endpointKey, candidateId)` → `{ session, agent }`: - 1. Reject empty input with usage hint. - 2. Match against enabled agents by `id` first, then by `resolveAcpAgentAlias` equivalence. - 3. ACP-only guard: refuse when `getChannelDefaultWorkdir(endpointKey)` is empty (the existing private helper). - 4. `bindingStore.setChannelDefaultAgentId(endpointKey, agent.id)`. - 5. `createNewSession(endpointKey)` (already rebinds endpoint and uses `resolveDefaultAgentId`, which is the persisted channel default we just changed). - -### Telegram router — `src/main/presenter/remoteControlPresenter/services/remoteCommandRouter.ts` -- `case 'agent'` mirrors `case 'model'` shape but uses `runner.listAvailableAgents()` and `bindingStore.createAgentMenuState`. -- `handleCallbackQuery` first tries `parseAgentMenuCallbackData`. On hit: - - `cancel`: clears state, edits message to "Agent selection cancelled.". - - `choice`: calls `runner.setChannelDefaultAgent`, edits message to confirmation including new session label and provider/model. On error (e.g. ACP workdir missing) returns `callbackAnswer.showAlert: true` with the runner's message. -- Helpers added: `buildAgentMenuKeyboard`, `formatAgentMenuText`, `formatAgentButtonLabel`, `formatAgentSwitchSuccessText`, `buildExpiredAgentMenuResult`. - -### Text-channel routers -- `feishuCommandRouter.ts`, `qqbotCommandRouter.ts`, `discordCommandRouter.ts`, `weixinIlinkCommandRouter.ts`: each gets a `case 'agent'` that delegates to a new `handleAgentCommand` private method, plus a `formatAgentOverview` helper. The pattern is symmetric to `handleModelCommand` / `formatModelOverview`. - -## Decisions - -- **Switching = new session, not in-place agent change.** DeepChat sessions bind agentId at creation. Doing it any other way would require a new presenter API and break the existing default-agent invariants. The new-session reply communicates this clearly. -- **Per-channel default, not per-user.** Matches `/model` behaviour and the existing config schema. -- **ACP workdir guard is in the runner**, not the routers — single source of truth for both Telegram (button) and text channels (`/agent `). -- **Callback prefix is a new namespace `agent:`** (not reused `model:`) so the existing model menu callback parsing keeps working unchanged. - -## Test coverage - -- `remoteBindingStore.test.ts`: agent menu state lifecycle; `setChannelDefaultAgentId` for each endpoint prefix. -- `remoteConversationRunner.test.ts`: enabled-only filter, alias-tolerant match, unknown agent rejection, ACP workdir guard, successful switch + new session. -- `remoteCommandRouter.test.ts` (Telegram): `/agent` menu render; callback success path; callback ACP-failure surfaces as alert; `/help` includes `/agent`. -- `feishuCommandRouter.test.ts`: text overview without args; `/agent ` happy path. -- (qqbot/discord/weixin tests intentionally light — same code path as Feishu, covered by the runner tests.) diff --git a/docs/features/remote-agent-switch/tasks.md b/docs/features/remote-agent-switch/tasks.md deleted file mode 100644 index aeb2dfa30..000000000 --- a/docs/features/remote-agent-switch/tasks.md +++ /dev/null @@ -1,10 +0,0 @@ -# Tasks — `/agent` Remote Command - -- [x] Types: register `agent` command on each channel command list; add agent menu types, TTL, and callback codecs (`types.ts`). -- [x] BindingStore: agent menu state lifecycle helpers + `setChannelDefaultAgentId`. -- [x] Runner: `listAvailableAgents` + `setChannelDefaultAgent` (alias-tolerant match, ACP workdir guard, new-session creation). -- [x] Telegram router: `/agent` menu, agent callback dispatch, expired-menu handling, success/cancel formatting. -- [x] Text routers (Feishu / QQBot / Discord / Weixin iLink): `case 'agent'` + `handleAgentCommand` + `formatAgentOverview`. -- [x] Tests: bindingStore, runner, Telegram router (menu + callback), Feishu router (text overview + switch). -- [x] `pnpm run format`, `pnpm run lint`, `pnpm run typecheck`, `pnpm run i18n`. -- [ ] Manual e2e on at least one channel: list agents, switch (with current agent's same-id case), switch to ACP without workdir → expect failure. diff --git a/docs/features/sidebar-chat-number-shortcuts/plan.md b/docs/features/sidebar-chat-number-shortcuts/plan.md deleted file mode 100644 index b4a0f38e9..000000000 --- a/docs/features/sidebar-chat-number-shortcuts/plan.md +++ /dev/null @@ -1,147 +0,0 @@ -# Implementation Plan — Sidebar Chat Number Shortcuts - -## Touch Points - -### Sidebar container — `src/renderer/src/components/WindowSideBar.vue` - -- Compute a `numberedShortcutSessions` array from the same renderer state used by the visible list: - `pinnedSessions` when expanded, followed by each non-collapsed `filteredGroups[].sessions`. -- Limit numbering to the first 10 sessions and map row indexes to shortcut labels: - `1..9`, then `0`. -- Register window-level `keydown` / `keyup` listeners while the sidebar is mounted. -- Detect platform with existing renderer device information, preferring `useDeviceVersion()` or the - same `createDeviceClient().getDeviceInfo()` source used by existing components. -- On macOS, handle `event.metaKey`; on Windows/Linux, handle `event.altKey`. -- Start a 0.5 second timer when the platform modifier is pressed by itself. -- Show `showShortcutBadges` when the timer completes and the modifier is still down. -- Clear the timer and hide badges on modifier release, blur, visibility change, unmount, or sidebar - collapse. -- Ignore shortcut handling when focus is inside editable UI or when modal/overlay focus owns the - keyboard. -- On number shortcut, recompute the current mapping synchronously and call - `sessionStore.selectSession(target.id)` when a target exists. - -### Sidebar item — `src/renderer/src/components/WindowSideBarSessionItem.vue` - -- Add optional props: - - `shortcutBadgeLabel?: string | null` - - `shortcutBadgeVisible?: boolean` -- Render the badge inside the existing `.right-button` area. -- When the badge is visible, hide/disable the delete button in that same area so the badge covers - the hover delete affordance. -- Keep badge visibility controlled only by the explicit `shortcutBadgeVisible` prop. Do not make - shortcut badges appear through `.session-item:hover`, `group-hover`, or `focus-within` selectors. -- Keep the existing hover delete trigger intact for the normal state; the long-press overlay should - replace what is rendered in the right slot, not alter the row's hover state machine. -- Add ARIA/tooltip text using i18n, e.g. "Switch to this chat with {shortcut}". -- Keep row width stable; the badge must not shift the chat title or resize the row. - -### i18n — `src/renderer/src/i18n/*/thread.json` - -- Add labels under `thread.actions` or a sidebar-oriented namespace: - - `switchWithShortcut` - - `shortcutBadge` -- Include at least English and Chinese source strings in the implementation increment, then run - `pnpm run i18n` to synchronize locale files according to the repository workflow. - -### Tests - -- Add renderer unit coverage near the sidebar tests. If no direct sidebar suite exists, add - `test/renderer/components/WindowSideBar*.test.ts` with Vue Test Utils. -- Cover visible-row mapping: - - pinned expanded rows before grouped rows; - - collapsed pinned/group sections excluded; - - search-filtered rows excluded; - - `0` maps to the tenth row. -- Cover keyboard behavior: - - macOS uses `metaKey`; - - Windows/Linux uses `altKey`; - - missing index does nothing; - - editable focused elements suppress switching. -- Cover long-press behavior with fake timers: - - badges show after 0.5 seconds; - - badges hide on modifier release; - - delete button is not rendered/clickable while the badge is visible. -- Cover hover separation: - - hovering a row without long-press does not render a shortcut badge; - - long-press renders badges even when no row is hovered; - - after long-press ends, hover delete behavior still works. - -## Shortcut Mapping - -The mapping is intentionally not stored. It is derived from current computed values each time: - -```text -visibleShortcutRows = - expanded pinned sessions - + expanded grouped sessions in rendered group order - -keys: - 1 -> visibleShortcutRows[0] - 2 -> visibleShortcutRows[1] - ... - 9 -> visibleShortcutRows[8] - 0 -> visibleShortcutRows[9] -``` - -This keeps behavior aligned with sidebar search, agent filtering, lazy-loaded sessions, group -collapse state, and pin/unpin changes. - -## Decisions - -- **Renderer-only shortcut.** The feature depends on current sidebar presentation state, so global - Electron accelerators or main-process presenters would be the wrong source of truth. -- **Visible rows only.** Group headers are not selectable chats, and collapsed/filtered/unloaded - sessions are not part of the user's current visual list. -- **`0` means tenth.** This matches common numbered shortcut conventions and keeps the first ten rows - addressable. -- **Badges replace delete affordance.** The screenshot shows the shortcut label in the right-side - action slot; using the existing delete slot avoids adding another competing control. -- **Hover and shortcut states stay separate.** Hover remains responsible for delete affordance - visibility; modifier long-press is the only trigger for shortcut badge visibility. -- **No settings surface in first increment.** The requested shortcut is fixed and discoverable via - long-press, keeping the change small. - -## Event Flow - -```text -Window keydown - -> detect platform modifier - -> if modifier-only, start 0.5s badge timer - -> if modifier+digit, recompute visibleShortcutRows - -> select target session through sessionStore.selectSession() - -Window keyup / blur / visibility hidden / unmount - -> cancel badge timer - -> hide badges -``` - -## Compatibility - -- Existing session activation, route updates, message clearing, and selected agent sync remain - delegated to `sessionStore.selectSession()`. -- Existing pin/unpin animation and delete dialog behavior are unchanged. -- The shortcut should not conflict with `Command+F` chat search because it listens only for digits. -- The long-press overlay should respect reduced-motion preferences by avoiding nonessential - animation. - -## Risks And Mitigations - -- **Alt conflicts on Windows/Linux:** handle only `Alt+digit` and modifier-only hold. Avoid - preventing default for unrelated Alt combinations. -- **Input focus conflicts:** suppress the shortcut in editable elements and active overlays. -- **Stale timer state:** clear timers on keyup, blur, visibility change, unmount, and sidebar - collapse. -- **Layout regression:** keep badge rendering inside the current right action slot and verify desktop - plus narrow sidebar widths. - -## Validation - -- `pnpm run format` -- `pnpm run i18n` -- `pnpm run lint` -- Targeted renderer tests for the sidebar shortcut behavior -- Manual check on macOS and Windows/Linux-equivalent platform mocks: - - press `Command+2` / `Alt+2`; - - hold modifier for 0.5 seconds; - - search/filter/collapse, then verify badge numbers recalculate. diff --git a/docs/features/sidebar-chat-number-shortcuts/tasks.md b/docs/features/sidebar-chat-number-shortcuts/tasks.md deleted file mode 100644 index 94f7d15df..000000000 --- a/docs/features/sidebar-chat-number-shortcuts/tasks.md +++ /dev/null @@ -1,17 +0,0 @@ -# Tasks — Sidebar Chat Number Shortcuts - -- [x] Sidebar mapping: derive first ten visible chat sessions from expanded pinned and grouped - renderer state. -- [x] Platform handling: detect macOS vs Windows/Linux and build display labels (`⌘N` vs `Alt+N`). -- [x] Keyboard runtime: add mounted window listeners for digit switching and 0.5 second modifier hold. -- [x] Focus guards: suppress shortcuts in editable fields and active keyboard-owning overlays. -- [x] Badge rendering: add sidebar item props and render right-slot shortcut badges over the delete - button. -- [x] State separation: keep shortcut badge visibility independent from row hover/focus delete - triggers. -- [x] i18n: add shortcut badge aria/tooltip strings and synchronize locale files. -- [x] Tests: cover mapping, platform modifiers, focus suppression, long-press timer, and delete - button replacement, including hover/long-press separation. -- [x] Quality gates: run `pnpm run format`, `pnpm run i18n`, and `pnpm run lint`. -- [ ] Manual QA: verify desktop behavior for normal, searched, collapsed, pinned, and less-than-ten - chat lists. diff --git a/docs/features/skill-draft-confirmation-card/plan.md b/docs/features/skill-draft-confirmation-card/plan.md deleted file mode 100644 index 94264d6f3..000000000 --- a/docs/features/skill-draft-confirmation-card/plan.md +++ /dev/null @@ -1,46 +0,0 @@ -# Plan - -## Approach - -1. Extend skill presenter with draft action helpers that can read, install, and delete a draft by conversation id and draft id. -2. When `skill_manage` `create` succeeds, include structured metadata in the tool raw result. -3. In agent runtime dispatch, detect successful draft creation and append a synthetic `question_request` action block using the existing question interaction flow. -4. Handle the synthetic interaction in `respondToolInteraction`: - - View: read draft content and keep the same card pending with content attached. - - Install: install draft folder into the configured skills directory, resolve the card, and update the `skill_manage` tool response. - - Discard: delete draft, resolve the card, and update the `skill_manage` tool response. -5. Update renderer question panel to render draft preview content and localized option labels. -6. Add/update tests for presenter draft actions, tool metadata, runtime interaction behavior, and renderer panel display. - -## Affected Interfaces - -- `SkillManageResult` gains optional `draftStatus` and supporting metadata only where useful. -- `ISkillPresenter` gains draft action methods scoped by conversation id/draft id. -- `MCPToolResponse.toolResult` carries structured draft result metadata for runtime-only detection. -- Question action block `extra` gains skill-draft-specific metadata fields. - -## Data Flow - -```text -Agent skill_manage create - -> SkillPresenter.manageDraftSkill creates temp draft - -> AgentToolManager returns rawData.toolResult - -> dispatch detects draft metadata - -> append question_request card - -> renderer shows ChatToolInteractionOverlay - -> user chooses option - -> AgentRuntimePresenter handles draft action - -> SkillPresenter view/install/delete draft - -> update card/tool response and resume as needed -``` - -## Compatibility - -Existing question and permission blocks remain unchanged. Draft-specific behavior is guarded by `extra.skillDraftAction === 'confirm'` and the `skill_manage` tool name. - -## Test Strategy - -- Unit test draft action helpers in `skillPresenter`. -- Unit test `AgentToolManager` raw metadata for `skill_manage create`. -- Unit/integration test runtime draft confirmation interactions. -- Renderer component test for draft preview rendering in `ChatToolInteractionOverlay`. diff --git a/docs/features/skill-draft-confirmation-card/tasks.md b/docs/features/skill-draft-confirmation-card/tasks.md deleted file mode 100644 index 81538d5dd..000000000 --- a/docs/features/skill-draft-confirmation-card/tasks.md +++ /dev/null @@ -1,10 +0,0 @@ -# Tasks - -- [x] Add draft view/install/delete helpers to SkillPresenter. -- [x] Add structured draft metadata to skill_manage tool results. -- [x] Append synthetic draft confirmation question after successful draft create. -- [x] Handle view/install/discard responses in AgentRuntimePresenter. -- [x] Render draft preview content in question panel. -- [x] Add i18n strings. -- [x] Add/update tests. -- [ ] Run pnpm run format, pnpm run i18n, pnpm run lint. diff --git a/docs/features/skill-install-drag-drop/spec.md b/docs/features/skill-install-drag-drop/spec.md new file mode 100644 index 000000000..c5a8b8f0c --- /dev/null +++ b/docs/features/skill-install-drag-drop/spec.md @@ -0,0 +1,33 @@ +# Skill 安装拖拽交互 + +## 背景 +`SkillInstallDialog.vue` 当前提供「文件夹 / ZIP / URL」三种安装方式,文件夹与 ZIP 标签页仅支持点击触发原生文件选择器(`border-dashed` 区域只是视觉样式,绑定 `@click`)。i18n 中预留的 `dragNotSupported` 文案也说明拖拽暂未实现。 + +## 目标 +为「文件夹」与「ZIP」两个上传区域增加拖拽(drag & drop)交互,并兼容: +- 拖入**文件夹** → 走 `installFromFolder` +- 拖入 **.zip 文件** → 走 `installFromZip` + +点击选择的既有行为保持不变。 + +## 用户故事 +- 作为用户,我可以把一个 skill 文件夹直接拖到弹窗的上传区域完成安装,而不必逐级点击系统文件选择器。 +- 作为用户,我可以把一个 `.zip` 包拖进来直接安装。 +- 拖拽过程中上传区域有高亮反馈;拖入不支持的内容时给出明确错误提示。 + +## 验收标准 +1. 文件夹 / ZIP 两个标签页的拖拽区域响应 `dragenter/dragover/dragleave/drop`,拖拽悬停时有高亮态。 +2. 拖入目录调用文件夹安装;拖入单个 `.zip` 文件调用 ZIP 安装(按拖入内容自动路由,不强依赖当前标签页)。 +3. 拖入非 `.zip` 文件或同时拖入多项不合法内容时,toast 报错且不发起安装。 +4. 安装中(`installing`)禁止再次拖拽触发。 +5. 成功/冲突/失败的处理沿用既有 `handleInstallResult` 逻辑(含覆盖确认弹窗)。 +6. 既有点击选择行为不回归。 + +## 非目标 +- URL 标签页不涉及拖拽。 +- 不改动主进程安装逻辑(`skillPresenter`)与 IPC 契约。 + +## 约束 / 技术要点 +- Electron 渲染进程通过 `window.api.getPathForFile(file)`(底层 `webUtils.getPathForFile`)获取拖拽文件/文件夹的本地绝对路径,主进程安装接口均基于绝对路径。 +- 用 `DataTransferItem.webkitGetAsEntry()` 同步判断 drop 项是目录还是文件。 +- 复用既有 `useDragAndDrop` 思路管理高亮态。 diff --git a/docs/features/windows-arm64-support/plan.md b/docs/features/windows-arm64-support/plan.md deleted file mode 100644 index a7a43f9ce..000000000 --- a/docs/features/windows-arm64-support/plan.md +++ /dev/null @@ -1,35 +0,0 @@ -# Windows ARM64 Support Plan - -## Architecture - -- Validate Windows ARM64 on GitHub's `windows-11-arm` runner with Playwright smoke tests against the built Electron app plus a separate process smoke for the packaged executable. -- Extend the manual build workflow's Windows matrix to produce `win-x64` and `win-arm64` artifacts while keeping the release workflow on Windows x64 only. -- Keep the Windows ARM64 runtime script explicit: install only verified native `uv`, `node`, and `ripgrep` artifacts. -- Use a `sharp` version that publishes `@img/sharp-win32-arm64`, otherwise main-process image helpers fail during E2E bootstrap on Windows ARM64. -- Provide a CI-specific E2E mode that runs only non-provider smoke specs against the runner profile. -- Keep `_electron.launch()` for interactive E2E coverage because the packaged Windows executable does not reliably expose a Playwright-controllable debug endpoint in CI. -- Start the packaged Windows ARM64 executable separately and verify it remains alive for a short smoke window, with process output, app logs, native module inventory, and Windows event logs uploaded as diagnostics. -- Run packaged executable smoke only after interactive E2E succeeds, so startup failures keep the main-process logs focused on the failing launch. - -## E2E Data Flow - -1. The Playwright fixture launches the built Electron app with the default Electron `userData` path for the current runner/user. -2. CI Playwright config matches only launch and settings-navigation smoke specs. -3. Chat, session persistence, and provider connectivity specs remain available for local/manual runs with configured providers. -4. The Playwright fixture attaches renderer diagnostics and `userData/logs` main-process logs to each test result. -5. The packaged executable smoke runs outside Playwright and writes stdout/stderr, Chromium logs, app logs, filesystem inventory, native module inventory, and Windows application events into the diagnostics artifact. - -## Runtime Behavior - -- `installRuntime:win:arm64` calls `tiny-runtime-injector` directly for `uv`, `node`, and `ripgrep`. -- `ripgrep` is pinned to `15.1.0` for Windows ARM64 because the injector default `14.1.1` has no ARM64 Windows release asset. -- `rtk` is intentionally omitted until upstream ships a Windows ARM64 release asset; existing runtime consumers continue to detect missing bundled binaries and fall back to system/runtime-unavailable behavior. - -## Validation - -- Runtime fallback tests cover missing bundled runtime behavior. -- Existing RTK fallback coverage remains in place. -- Skill runtime tests cover the no-UV/no-system-Python auto-runtime failure path. -- The manual build workflow validates Windows x64 and Windows ARM64 artifact generation. -- The new manual workflow validates Windows ARM64 build, plugin bundle, packaged executable startup, app launch, route switching, and settings navigation. -- The Windows ARM64 E2E workflow uploads Playwright reports, traces, screenshots, app logs, native module inventory, Windows event logs, and process-smoke logs only. diff --git a/docs/features/windows-arm64-support/spec.md b/docs/features/windows-arm64-support/spec.md index 965ad5d29..933f0e5a4 100644 --- a/docs/features/windows-arm64-support/spec.md +++ b/docs/features/windows-arm64-support/spec.md @@ -1,5 +1,7 @@ # Windows ARM64 Support Spec +Status: implemented in current CI and release workflows as of 2026-06-13. + ## User Story DeepChat maintainers need a reliable way to validate Windows ARM64 builds without owning Windows ARM64 hardware, so the project can ship a Windows ARM64 package only after it passes smoke coverage on a real ARM64 Windows runner. @@ -11,14 +13,17 @@ DeepChat maintainers need a reliable way to validate Windows ARM64 builds withou - The E2E run uses the runner's default profile and validates launch, routing, and settings window behavior. - Packaged-app validation starts the unpacked Windows ARM64 executable and verifies it stays alive long enough for a process-level smoke check. - The manual build workflow can produce both Windows x64 and Windows ARM64 artifacts. -- Windows ARM64 bundles only verified native runtimes: `uv`, `node`, and `ripgrep`. +- Windows ARM64 bundles verified native runtimes that are available in the runtime installer. + Current `installRuntime:win:arm64` installs `uv` and `node`. - `rtk` is not bundled on Windows ARM64 until upstream provides a Windows ARM64 binary. +- Code/file search uses FFF-native search in the app tool layer, so Windows ARM64 does not require a + bundled `ripgrep` runtime for agent search. - Existing Windows x64, macOS, and Linux runtime install scripts remain strict. - The Windows ARM64 E2E workflow uploads only diagnostics, not packaged build outputs. ## Non-Goals -- Enable Windows ARM64 in the release workflow only after the manual Windows ARM64 E2E workflow has passed. +- Rework release asset publishing beyond the current `win-arm64` release matrix. - Not every optional runtime is bundled on Windows ARM64. - Provider-backed chat requests must not run in this CI workflow. diff --git a/docs/features/windows-arm64-support/tasks.md b/docs/features/windows-arm64-support/tasks.md deleted file mode 100644 index bcb8d3bca..000000000 --- a/docs/features/windows-arm64-support/tasks.md +++ /dev/null @@ -1,17 +0,0 @@ -# Windows ARM64 Support Tasks - -- [x] Add SDD spec, plan, and task tracking. -- [x] Verify Windows ARM64 runtime artifact availability. -- [x] Wire `installRuntime:win:arm64` to explicit `uv`, `node`, and `ripgrep` installation. -- [x] Add CI E2E support for non-provider smoke tests. -- [x] Keep E2E on the default runner profile. -- [x] Add packaged executable process smoke. -- [x] Split interactive E2E from packaged executable process smoke. -- [x] Add Windows ARM64 manual GitHub Actions workflow. -- [x] Enable Windows ARM64 in the manual build workflow. -- [x] Limit Windows ARM64 E2E artifacts to diagnostics. -- [x] Upload app logs, event logs, and native module inventory for Windows ARM64 failures. -- [x] Attach main-process logs directly to E2E test results. -- [x] Upgrade `sharp` to a version with Windows ARM64 optional dependency support. -- [x] Add targeted unit coverage for runtime fallback paths. -- [ ] Enable Windows ARM64 in the release workflow after the manual workflow passes on GitHub. diff --git a/docs/guides/code-navigation.md b/docs/guides/code-navigation.md index bf07cc485..baedc2aec 100644 --- a/docs/guides/code-navigation.md +++ b/docs/guides/code-navigation.md @@ -2,11 +2,12 @@ 本文档只列当前仍然有效的入口。对于 main kernel refactor 覆盖的 migrated path,先看 typed boundary,再往 presenter/runtime 深入,不要一上来就从 legacy presenter 搜。 -`phase5` 之后,如果你在 renderer 做新功能,默认心智模型应当是 single-track: +当前 renderer 新功能的默认心智模型是 single-track: 先看 `renderer/api`、shared contracts 和 typed events,再看 main route/runtime; -不要把 `useLegacyPresenter()`、`window.electron`、`window.api` 当作默认开发入口。 -如果你是在审计剩余兼容路径,直接看 `src/renderer/api/legacy/`,不要再从 -`src/renderer/api/legacy/presenters.ts` 找入口,它已经在 `P5` 退役。 +不要把 `useLegacyPresenter()` 或 `window.electron` 当作默认开发入口。`window.api` 只承接 +copy/file/openExternal 等 dedicated preload 能力,并通过 renderer client 封装。审计历史兼容路径时, +先看 architecture guard、bridge register 和本仓库历史;`src/renderer/api/legacy/**` 已经退役并从 +当前树删除。 ## 先从哪里开始 @@ -30,12 +31,13 @@ | 功能 | 位置 | 备注 | | --- | --- | --- | -| route registry 总入口 | `src/shared/contracts/routes.ts` | 汇总 settings / sessions / chat / providers / system route | +| route registry 总入口 | `src/shared/contracts/routes.ts` | 汇总 settings / sessions / chat / providers / models / sync / browser / workspace / onboarding / knowledge / tools 等 route | | typed event 总入口 | `src/shared/contracts/events.ts` | 汇总 `settings.changed`、`sessions.updated`、`chat.stream.*` | | preload bridge builder | `src/preload/createBridge.ts` | 统一 `invoke/on` 协议 | | preload 暴露点 | `src/preload/index.ts` | 把 bridge 暴露到 `window.deepchat` | +| dedicated preload API | `src/preload/index.ts` / `src/renderer/api/runtime.ts` | copy、file、openExternal 等低层能力 | | renderer clients | `src/renderer/api/` | migrated path 的 renderer 主入口 | -| renderer legacy quarantine | `src/renderer/api/legacy/` | 仅保留 settings compatibility 所需的 legacy transport adapter | +| retired legacy transport | `src/renderer/api/legacy/**` | 已删除;guard 拒绝重新引入 legacy presenter transport | ### Settings diff --git a/docs/guides/debugging.md b/docs/guides/debugging.md deleted file mode 100644 index 74ea9dd9a..000000000 --- a/docs/guides/debugging.md +++ /dev/null @@ -1,423 +0,0 @@ -# 调试技巧 - -本文档提供各种调试技巧,帮助开发者快速定位和解决问题。 - -注意: - -- 当前 renderer-main 主边界优先调试 `renderer/api/*Client`、`window.deepchat` 和 typed contracts -- 文中出现的 `window.api` 示例主要用于 legacy compatibility 场景,不应被视为新代码默认模式 - -## 🎯 主进程调试 - -### VSCode 调试配置 - -在 `.vscode/launch.json` 中添加: - -```json -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Main Process", - "type": "node", - "request": "launch", - "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron", - "runtimeArgs": ["."], - "cwd": "${workspaceFolder}", - "skipFiles": ["/**"], - "console": "integratedTerminal" - }, - { - "name": "Debug Tests", - "type": "node", - "request": "launch", - "runtimeExecutable": "pnpm", - "runtimeArgs": ["run", "test", "--run"], - "cwd": "${workspaceFolder}", - "console": "integratedTerminal" - } - ] -} -``` - -### 使用 Chrome DevTools - -启动时自动打开 DevTools: - -```typescript -// src/main/index.ts -app.whenReady().then(() => { - mainWindow.webContents.openDevTools() -}) -``` - -### 命令行调试 - -```bash -# 使用 inspect 参数启动 -pnpm run dev:inspect - -# 然后在 Chrome 中打开 -chrome://inspect -``` - -## 🖥️ 渲染进程调试 - -### Chrome DevTools - -**快捷键**: -- Windows/Linux: `Ctrl+Shift+I` -- macOS: `Cmd+Option+I` - -### Vue DevTools - -1. 安装扩展:[Vue.js devtools](https://devtools.vuejs.org/) -2. 在开发者模式的 Electron 中使用 - -### React DevTools(如适用) - -如果有 React 组件,可以安装 React DevTools。 - -## 📝 日志系统 - -### 使用 logger - -```typescript -import { logger } from '@/shared/logger' - -// 不同级别 -logger.debug('调试信息') -logger.info('普通信息') -logger.warn('警告信息') -logger.error('错误信息') - -// 带数据 -logger.info('用户消息', { id: '123', content: 'hello' }) -``` - -### console.log 替代 - -```typescript -// 添加标识方便搜索 -console.log('[AgentPresenter] sendMessage called', { agentId, content }) - -// 带时间戳 -console.log(`[${new Date().toISOString()}] Starting Agent Loop`) - -// 分组日志 -console.group('Tool Execution') -console.log('Tool 1 started') -console.log('Tool 1 completed') -console.groupEnd() -``` - -### 条件日志 - -```typescript -// 使用环境变量控制 -if (import.meta.env.VITE_DEBUG === '1') { - console.log('[DEBUG] 详细日志') -} - -// 使用 helper 函数 -const DEBUG = process.env.NODE_ENV === 'development' -if (DEBUG) { - console.log('[DEBUG] 上下文:', context) -} -``` - -## 🔍 事件调试 - -### 监听所有事件 - -```typescript -import { eventBus } from '@/eventbus' -import * as EVENTS from '@/events' - -// 监听 STREAM_EVENTS -Object.values(EVENTS.STREAM_EVENTS).forEach(eventName => { - eventBus.on(eventName, (...args) => { - console.log(`[EventBus] ${eventName}:`, ...args) - }) -}) - -// 监听 CONVERSATION_EVENTS -Object.values(EVENTS.CONVERSATION_EVENTS).forEach(eventName => { - eventBus.on(eventName, (...args) => { - console.log(`[EventBus] ${eventName}:`, ...args) - }) -}) -``` - -### 追踪特定事件 - -```typescript -// 追踪工具调用事件 -eventBus.on(STREAM_EVENTS.RESPONSE, (data) => { - if (data.tool_call) { - console.log('[Tool Call]', { - type: data.tool_call, - name: data.tool_call_name, - id: data.tool_call_id - }) - } -}) -``` - -## 🧪 单元测试调试 - -### VSCode 中测试 - -使用调试配置(见上方)启动测试调试。 - -### 命令行测试 - -```bash -# 监听模式(文件变化自动重新运行) -pnpm test:watch - -# 单独运行某个测试文件 -pnpm test -- ChatInput.test - -# 显示详细输出 -pnpm test -- --reporter=verbose - -# 只运行匹配的测试 -pnpm test -- --grep "sendMessage" -``` - -### 测试中添加 debug 语句 - -```typescript -test('sendMessage should create message', async () => { - const result = await agentPresenter.sendMessage(...) - console.log('[TEST] Result:', result) - expect(result).toBeDefined() -}) -``` - -## 🐛 常见问题调试 - -### 1. 消息发送后无响应 - -**排查步骤**: - -```typescript -// 1. 检查消息是否创建 -const message = await messageManager.getMessage(messageId) -console.log('Message created:', message) - -// 2. 检查 Session 状态 -const session = await sessionManager.getSession(conversationId) -console.log('Session status:', session.status) - -// 3. 检查工具定义 -const tools = await toolPresenter.getAllToolDefinitions(...) -console.log('Tools count:', tools.length) - -// 4. 检查 EventBus 事件 -eventBus.on(STREAM_EVENTS.RESPONSE, (data) => { - console.log('Response event:', data) -}) -eventBus.on(STREAM_EVENTS.ERROR, (data) => { - console.log('Error event:', data) -}) -``` - -**可能原因**: -- Session 未启动 -- LLM Provider 配置错误 -- 网络问题 -- 工具定义为空 - -### 2. 工具调用失败 - -**排查步骤**: - -```typescript -// 1. 检查工具路由 -const source = toolMapper.getToolSource(toolName) -console.log('Tool source:', source) - -// 2. 直接测试工具调用 -try { - const result = await toolPresenter.callTool(request) - console.log('Tool result:', result) -} catch (error) { - console.error('Tool error:', error) -} - -// 3. 检查权限 -const { granted } = await mcpPresenter.checkToolPermission(serverName, toolName) -console.log('Permission granted:', granted) -``` - -**可能原因**: -- 工具名称错误 -- 参数格式错误 -- 权限被拒绝 -- MCP 服务器未运行 - -### 3. IPC 调用超时 - -**排查步骤**: - -```typescript -// 1. 添加超时处理 -const timeout = setTimeout(() => { - console.error('[IPC] Timeout waiting for response') -}, 5000) - -const response = await window.api.someMethod() -clearTimeout(timeout) - -// 2. 检查 Preload 暴露 -console.log('[IPC] Available methods:', Object.keys(window.api)) -``` - -### 4. 内存泄漏 - -**工具**: -- Chrome DevTools Memory Profiler -- VSCode Memory Inspector - -**方法**: - -```typescript -// 检查 Map/Set 大小 -console.log('[Memory] generatingMessages size:', generatingMessages.size) -console.log('[Memory] sessions size:', sessions.size) - -// 清理测试 -window.addEventListener('unload', () => { - console.log('[Cleanup] Clearing resources') -}) -``` - -### 5. 性能问题 - -**工具**: -- Chrome DevTools Performance Profiler -- VSCode Performance Profiler - -**方法**: - -```typescript -// 添加性能标记 -performance.mark('loop-start') -// ... 代码执行 ... -performance.mark('loop-end') - -performance.measure('Agent Loop', 'loop-start', 'loop-end') -const measures = performance.getEntriesByName('Agent Loop') -console.log('[Performance]', measures) -``` - -## 🔧 开发工具推荐 - -### VSCode 扩展 - -- **TypeScript Vue Plugin** - TS + Vue 支持 -- **ESLint** - 代码检查 -- **Prettier** - 代码格式化 -- **GitLens** - Git 增强 -- **Inline Bookmarks** - 在代码中标记位置 - -### Chrome 扩展 - -- **Vue.js devtools** - Vue 组件调试 -- **React Developer Tools** - React 调试(如使用) -- **Redux DevTools** - 状态调试 - -### 命令行工具 - -- **jq** - JSON 处理 -- **ripgrep (rg)** - 快速代码搜索 -- **fd** - 快速文件查找 - -## 🎓 调试技巧总结 - -### 快速定位问题 - -1. **查看日志** - 检查 console输出 -2. **使用断点** - 在关键位置设置断点 -3. **事件追踪** - 监听相关事件 -4. **单步执行** - 使用 Debug 逐步执行 - -### 常用断点位置 - -```typescript -// 在关键流程中添加断点 -// 1. 消息发送 -agentPresenter.sendMessage(args) - -// 2. Agent Loop 启动 -sessionManager.startLoop(conversationId, messageId) - -// 3. 工具调用 -toolPresenter.callTool(request) - -// 4. 权限检查 -checkToolPermission(serverName, toolName) -``` - -### 日志最佳实践 - -```typescript -// 添加模块标识 -console.log('[AgentPresenter] Action:', { agentId, action }) - -// 使用对象展开避免大量字符串拼接 -console.log('[ToolExecution]', { - toolName, - args, - duration: Date.now() - start, - success: true -}) - -// 条件日志 -if (DEBUG) { - console.log('[DEBUG] Context:', JSON.stringify(context, null, 2)) -} - -// 日志分组 -console.group('Agent Loop Iteration', iteration) -console.log('Messages:', messages.length) -console.log('Tools:', tools.length) -console.groupEnd() -``` - -## 🐞 生产环境调试 - -### 错误日志收集 - -```typescript -// 在生产环境中收集错误 -window.addEventListener('error', (event) => { - logger.error('Uncaught error:', { - message: event.message, - filename: event.filename, - lineno: event.lineno - }) -}) -``` - -### 远程调试 - -```bash -# 启动时启用远程调试 -ELECTRON_ENABLE_LOGGING=1 pnpm run dev - -# 然后在 Chrome 中连接 -# chrome://inspect -``` - -## 📚 进一步学习 - -- [Chrome DevTools 文档](https://developer.chrome.com/docs/devtools/) -- [Electron 调试文档](https://www.electronjs.org/docs/latest/tutorial/debugging-main-process) -- [VSCode 调试文档](https://code.visualstudio.com/docs/editor/debugging) - ---- - - happy debugging! 🎉 diff --git a/docs/guides/getting-started.md b/docs/guides/getting-started.md index 27c916daa..f92c504bc 100644 --- a/docs/guides/getting-started.md +++ b/docs/guides/getting-started.md @@ -48,10 +48,11 @@ Renderer 如果你在旧提交里看到 `AgentPresenter`、`startStreamCompletion`、`agentLoopHandler`, 那已经是退休实现。 -如果你在现有代码里看到 `useLegacyPresenter()`、`window.electron`、`window.api`,请先把它理解为兼容层, -而不是新功能默认入口。当前默认规则写在 `docs/ARCHITECTURE.md`:新 renderer-main 能力走 -`renderer/api/*Client` + `window.deepchat` + shared contracts;临时 legacy transport 只允许放在 -`src/renderer/api/legacy/**`。 +如果你在旧提交或历史文档里看到 `useLegacyPresenter()`、`presenter:call`、 +`remoteControlPresenter:call`、`window.electron`,请先把它理解为已退休兼容背景。当前默认规则 +写在 `docs/ARCHITECTURE.md`:新 renderer-main 能力走 `renderer/api/*Client` + +`window.deepchat` + shared contracts;copy/file/openExternal 等低层能力通过 dedicated +`window.api` preload API 和 renderer client 封装。 ## 项目目录速览 diff --git a/docs/guides/plugin-packaging.md b/docs/guides/plugin-packaging.md index 8c5a40502..6dfaf8a27 100644 --- a/docs/guides/plugin-packaging.md +++ b/docs/guides/plugin-packaging.md @@ -40,7 +40,8 @@ pnpm run plugin:validate -- --name --platform --arch ### Package -Build (if the plugin has a native build step) and package into a `.dcplugin` under `dist/plugins/`. +Package into a `.dcplugin` under `dist/plugins/`. Run a plugin's native build command first when the +package needs native runtime payloads. ```bash pnpm run plugin:package -- --name --platform --arch @@ -75,8 +76,9 @@ pnpm run plugin:bundle:clean ## Plugins with Native Build Steps Some plugins (like CUA) include pre-compiled native binaries. These require an additional build -step before packaging. The dispatcher script automatically detects and runs -`scripts/build--plugin-runtime.mjs` when it exists. +step before packaging. The `bundle` action automatically detects and runs +`scripts/build--plugin-runtime.mjs` when it exists. Standalone `package` expects the native +runtime payload to be built already. CUA native build commands (macOS-only, requires Swift toolchain): diff --git a/docs/issues/agent-exec-utility-process-crash/plan.md b/docs/issues/agent-exec-utility-process-crash/plan.md deleted file mode 100644 index 380755b6d..000000000 --- a/docs/issues/agent-exec-utility-process-crash/plan.md +++ /dev/null @@ -1,39 +0,0 @@ -# Plan - -## Diagnosis - -The source entrypoint gates `appMain` behind `runBackgroundExecUtilityHostIfRequested()`, but the -main build inlines dynamic imports. The built `out/main/index.js` still contains `appMain` top-level -startup code after the utility-host branch, so a utility child process can continue into the normal -app lifecycle and exit before responding to exec RPCs. - -The utility host also listens to `process.parentPort` as if the callback receives the raw payload. -Electron sends a message event object whose `data` field contains the payload. - -The formal `v1.0.5-beta.4` and `v1.0.5-beta.5` macOS arm64 artifacts both contain the same fragile -main-bundle utility entrypoint. A direct `utilityProcess.fork()` probe against those artifacts exits -with code 1 while loading `@electron-toolkit/utils`, because utility processes do not expose -main-process-only Electron exports such as `BrowserWindow`. - -## Design - -- Move `appMain` side effects into an exported `startApp()` function. -- Add a dedicated `backgroundExecUtilityHost` main build entrypoint that only loads the exec runtime. -- Keep `src/main/index.ts` as the normal app bootstrap and call `startApp()` there. -- Resolve the utility host entrypoint to `out/main/backgroundExecUtilityHost.js` in development, - unpacked, and packaged app layouts. -- Normalize parent-port messages in the utility host so both raw test payloads and Electron - `MessageEvent` payloads work. -- Keep the utility host event loop alive while it waits for parent-port RPC messages. -- Remove utility-host imports of `@electron-toolkit/utils`, because it statically imports - main-process-only Electron exports such as `BrowserWindow`. -- Keep shell environment and session path helpers free of `electron.app` imports so the utility - process can load the exec runtime. -- Add focused unit coverage for the host message normalization. - -## Validation - -- Run focused Vitest coverage for background exec runtime tests. -- Rebuild the main bundle and probe `utilityProcess.fork(out/main/backgroundExecUtilityHost.js)` - with `list` and `start` RPCs. -- Run project formatting, i18n check, and lint after implementation. diff --git a/docs/issues/agent-exec-utility-process-crash/spec.md b/docs/issues/agent-exec-utility-process-crash/spec.md deleted file mode 100644 index 7d0807d78..000000000 --- a/docs/issues/agent-exec-utility-process-crash/spec.md +++ /dev/null @@ -1,34 +0,0 @@ -# Agent Exec Utility Process Crash - -## Summary - -`agent-filesystem.exec` must run simple shell commands after the background exec manager moved -behind an Electron `utilityProcess` host. In `v1.0.5-beta.5`, every exec request can fail before -the shell command starts because the utility host exits instead of serving RPC requests. - -## User Story - -As an agent user, I can ask the built-in filesystem tool to run `true`, `echo hello`, `ls`, or a -long-running foreground command and get either normal output or a yielded background session. - -## Acceptance Criteria - -- The utility host starts without running the main app bootstrap. -- The utility host entrypoint has no static dependency on Electron main-process-only exports such as - `app` or `BrowserWindow`. -- The host accepts Electron `process.parentPort` message events and handles the contained RPC - payload. -- A foreground exec command that completes quickly returns the command result instead of a utility - process exit error. -- Existing crashed-session behavior remains intact when the utility process exits unexpectedly. - -## Non-Goals - -- Changing shell selection, command permissions, or session cleanup semantics. -- Replacing the `utilityProcess` architecture. -- Changing renderer tool-call UI. - -## Constraints - -- Keep the fix inside the main-process agent runtime/bootstrap path. -- Preserve packaged and development entrypoint resolution. diff --git a/docs/issues/agent-exec-utility-process-crash/tasks.md b/docs/issues/agent-exec-utility-process-crash/tasks.md deleted file mode 100644 index 5a5e0e00f..000000000 --- a/docs/issues/agent-exec-utility-process-crash/tasks.md +++ /dev/null @@ -1,15 +0,0 @@ -# Tasks - -- [x] Refactor `appMain` startup into an explicit function. -- [x] Add a dedicated utility-host main entrypoint. -- [x] Update `index.ts` to be the normal app bootstrap only. -- [x] Keep the app bootstrap graph out of the utility host. -- [x] Resolve the utility host entrypoint from development and packaged main builds. -- [x] Normalize utility-host parent-port message events. -- [x] Keep the utility host alive while waiting for RPC messages. -- [x] Remove the utility-host logger dependency on `@electron-toolkit/utils`. -- [x] Remove the utility-host shell-env dependency on `electron.app`. -- [x] Remove the utility-host session-path dependency on `electron.app`. -- [x] Add tests for raw payload and MessageEvent payload handling. -- [x] Run focused runtime tests and build/probe validation. -- [x] Run `pnpm run format`, `pnpm run i18n`, and `pnpm run lint`. diff --git a/docs/issues/agent-loop-input-exec-responsiveness/plan.md b/docs/issues/agent-loop-input-exec-responsiveness/plan.md deleted file mode 100644 index d3f9dfe05..000000000 --- a/docs/issues/agent-loop-input-exec-responsiveness/plan.md +++ /dev/null @@ -1,39 +0,0 @@ -# Agent Loop Input And Exec Responsiveness Plan - -## Runtime Input Flow - -- Keep `chat.steerActiveTurn` as the active-turn entry point. -- Remove hidden steer injection from provider request construction. -- Store active steer input as a priority pending row while the current loop turn continues, so steer - never aborts the in-flight provider request. -- At the process loop boundary after tool calls have returned, yield before continuing to the next - provider request when a pending steer exists; the outer runtime then drains steer through - `processMessage()` as a normal user message. -- Drain pending steer rows before pending queue rows by claiming the row and passing its payload to - `processMessage()` with visible user-message persistence. -- Keep steer rows locked and non-editable, but show not-yet-entered steer rows in the pending input - rail. - -## Exec Isolation - -- Keep the existing background exec core manager as the utility host implementation. -- Replace the exported singleton with a main-process RPC proxy that starts an Electron - `utilityProcess` from the existing main bundle using a dedicated host flag. -- Route `start`, `waitForCompletionOrYield`, `poll`, `log`, `write`, `kill`, `clear`, `remove`, - `cleanupConversation`, and `shutdown` through JSON-serializable messages. -- Track started sessions in the proxy so an unexpected utility exit can return diagnostic error - snapshots for affected sessions. - -## Compatibility - -- `PendingSessionInputMode` remains `queue | steer`. -- Existing `sessions.convertPendingInputToSteer` route remains available for stored and older UI - flows. -- `AgentBashHandler` keeps its current public return shape for completed and yielded commands. - -## Validation - -- Update agent runtime/session integration tests for visible steer turns. -- Update pending input rail tests to assert pending steer rows render as locked items. -- Preserve existing background exec core tests and add coverage around the utility proxy behavior - where practical. diff --git a/docs/issues/agent-loop-input-exec-responsiveness/spec.md b/docs/issues/agent-loop-input-exec-responsiveness/spec.md deleted file mode 100644 index f06e27401..000000000 --- a/docs/issues/agent-loop-input-exec-responsiveness/spec.md +++ /dev/null @@ -1,30 +0,0 @@ -# Agent Loop Input And Exec Responsiveness - -## User Stories - -- As a user steering an active agent turn, I want my steering input to appear as a normal user - message so the conversation transcript matches what the agent saw. -- As a user running long shell commands, I want `exec` to yield quickly and keep DeepChat's main - process responsive while the command continues in a managed background session. - -## Acceptance Criteria - -- Active steer does not interrupt the current provider request; it records a priority steer input, - lets the current loop iteration finish including tool results, then yields before the next - provider loop so the steer payload is inserted as a normal visible user turn. -- Pending rows with `mode: "steer"` remain readable for compatibility, but drain before ordinary - queued rows as visible user turns instead of hidden request injections. -- Pending input UI shows not-yet-entered steer rows in the waiting lane as locked items, and keeps - ordinary queued follow-ups editable. -- Foreground `exec` returns a normal result if it finishes inside `yieldMs`; otherwise it returns a - running `sessionId`. -- Shell process spawning, output decoding, output offload, timeout, and process-tree termination - run in an Electron utility process rather than the main event loop. -- If the utility process exits unexpectedly, affected sessions surface an error snapshot instead of - blocking the main process. - -## Non-Goals - -- Do not change the public `exec` tool schema or permission semantics. -- Do not add renderer settings for exec isolation. -- Do not refactor the full agent runtime or provider loop. diff --git a/docs/issues/agent-loop-input-exec-responsiveness/tasks.md b/docs/issues/agent-loop-input-exec-responsiveness/tasks.md deleted file mode 100644 index 4a6b199b9..000000000 --- a/docs/issues/agent-loop-input-exec-responsiveness/tasks.md +++ /dev/null @@ -1,12 +0,0 @@ -# Tasks - -- [x] Add SDD artifacts for the combined responsiveness issue. -- [x] Queue active steer until the current loop iteration finishes without aborting the stream. -- [x] Yield the agent loop after completed tool calls when a pending steer should enter next. -- [x] Convert pending steer drain into visible user turns. -- [x] Remove hidden steer request injection. -- [x] Show not-yet-entered steer rows in the renderer pending rail. -- [x] Add utility-process RPC host for background exec. -- [x] Replace the production background exec singleton with a proxy. -- [x] Update and run targeted tests. -- [x] Run repository formatting, i18n, lint, and typecheck checks. diff --git a/docs/issues/ai-sdk-system-message-warning/plan.md b/docs/issues/ai-sdk-system-message-warning/plan.md deleted file mode 100644 index 0912b91a2..000000000 --- a/docs/issues/ai-sdk-system-message-warning/plan.md +++ /dev/null @@ -1,20 +0,0 @@ -# AI SDK System Message Warning Plan - -## Approach - -Adapt the final AI SDK call shape inside `src/main/presenter/llmProviderPresenter/aiSdk/runtime.ts`. - -`buildPromptRuntime` will continue to map messages and build provider options using the current message list. After provider option mapping, it will split only the leading system messages into a top-level AI SDK `system` value and keep all remaining messages as the AI SDK `messages` value. - -## Behavior - -- Leading system message contents are trimmed and joined with a blank line. -- Empty leading system messages are dropped. -- Non-leading system messages are not moved. They stay in `messages`, and AI SDK rejects them because calls pass `allowSystemInMessages: false`. -- Provider options and tool mapping are computed before splitting so existing provider option behavior is preserved. - -## Validation - -- Add focused runtime tests for `generateText` and `streamText`. -- Cover multiple leading system messages, blank leading system messages, and non-leading system messages. -- Run the focused AI SDK runtime test file plus repository formatting, i18n, and lint checks. diff --git a/docs/issues/ai-sdk-system-message-warning/spec.md b/docs/issues/ai-sdk-system-message-warning/spec.md deleted file mode 100644 index 5d763ea66..000000000 --- a/docs/issues/ai-sdk-system-message-warning/spec.md +++ /dev/null @@ -1,26 +0,0 @@ -# AI SDK System Message Warning - -## Problem - -AI SDK 6 warns when `role: 'system'` appears inside `messages` or `prompt` because those fields may contain untrusted conversation data. DeepChat currently keeps request-level system instructions as a leading internal `ChatMessage`, then passes the mapped messages directly to AI SDK. - -## Requirements - -- Preserve DeepChat's internal `ChatMessage` shape and leading system message semantics. -- Send request-level system instructions to AI SDK through the top-level `system` option. -- Keep conversation history, compaction, prompt assembly, token budgeting, and provider routing behavior unchanged. -- Reject non-leading system messages at the AI SDK boundary instead of silently reordering them. - -## Acceptance Criteria - -- AI SDK `generateText` and `streamText` calls receive leading system messages through top-level `system`. -- AI SDK `messages` no longer include leading system messages. -- Blank leading system messages are ignored. -- Later system messages remain in `messages` and are rejected by `allowSystemInMessages: false`. -- Existing agent context builder tests continue to assert internal `[system, ...history, user]` request construction. - -## Non-Goals - -- Do not refactor upstream context builders or public `ChatMessage` types. -- Do not suppress the warning with `allowSystemInMessages: true`. -- Do not change prompt section order or compaction summary placement. diff --git a/docs/issues/ai-sdk-system-message-warning/tasks.md b/docs/issues/ai-sdk-system-message-warning/tasks.md deleted file mode 100644 index 1a76dfe78..000000000 --- a/docs/issues/ai-sdk-system-message-warning/tasks.md +++ /dev/null @@ -1,7 +0,0 @@ -# AI SDK System Message Warning Tasks - -- [x] Document issue requirements and implementation plan. -- [x] Add AI SDK system-message splitting in runtime. -- [x] Add focused runtime tests. -- [x] Run focused tests. -- [x] Run format, i18n, and lint checks. diff --git a/docs/issues/ask-user-empty-prompt-compaction-order/plan.md b/docs/issues/ask-user-empty-prompt-compaction-order/plan.md deleted file mode 100644 index f56be4266..000000000 --- a/docs/issues/ask-user-empty-prompt-compaction-order/plan.md +++ /dev/null @@ -1,28 +0,0 @@ -# Plan - -## Implementation - -- Add prompt sanitation in `contextBuilder` so blank text-only user messages are filtered from - history and the current prompt input is only appended when it has visible text or supported - attachments. -- Keep attachment-only inputs valid by treating generated attachment context or structured media - parts as non-empty prompt content. -- Preserve protected resume turns in `selectTurnHistory` even when the protected turn itself exceeds - a small positive remaining budget. -- Allow `applyCompactionIntent` to accept a requested indicator order sequence. -- In the resume path, create the compaction indicator at the assistant message's existing order - sequence, then shift the resumed assistant message and following messages forward before streaming - continues. - -## Test Strategy - -- Unit-test prompt building with blank text-only current and historical user messages. -- Unit-test ask-user resume context when the protected tool-result turn exceeds the remaining budget. -- Add a regression test for ask-user resume compaction indicator placement. -- Run focused Vitest suites, then repository format, i18n, and lint checks. - -## Risks - -- Message order changes must not reorder unrelated history. The shift is only used for resume-time - compaction and only when an intent exists. -- Filtering blank prompt messages must preserve attachment-only messages. diff --git a/docs/issues/ask-user-empty-prompt-compaction-order/spec.md b/docs/issues/ask-user-empty-prompt-compaction-order/spec.md deleted file mode 100644 index 52b741fc1..000000000 --- a/docs/issues/ask-user-empty-prompt-compaction-order/spec.md +++ /dev/null @@ -1,33 +0,0 @@ -# Ask User Empty Prompt And Compaction Order - -## Problem - -After a DeepChat `deepchat_question` answer is selected or deferred to a follow-up message, the next -model request can include a blank user message. AI SDK rejects that prompt with -`Invalid prompt: messages must not be empty`. - -The resume context can also collapse to only the leading system prompt when the protected resume -turn is larger than the remaining positive token budget. In that case Anthropic-compatible -providers such as MiniMax promote the only message to the top-level `system` option and pass an -empty `messages` array to AI SDK. - -Context compaction can also run while resuming an assistant message after an ask-user interaction. -The persisted compaction indicator is currently appended after the whole assistant message, so the UI -shows "context compacted" at the bottom instead of where the compaction happened in the turn. - -## Acceptance Criteria - -- Blank text-only user inputs are not included in model prompts. -- User inputs that contain files/media still produce a valid model prompt even when the text is blank. -- Ask-user option answers continue to resume the assistant message normally. -- The protected ask-user resume turn is kept even when it exceeds the remaining history budget, so - the provider still receives the resolved tool call and tool result instead of a system-only prompt. -- Resume-time compaction indicators are persisted before the assistant message being resumed, so the - message list renders the indicator at the interaction point instead of at the bottom. -- Existing automatic compaction before a new user turn keeps its current ordering. - -## Non-Goals - -- Redesigning the ask-user UI. -- Changing compaction summary content or token budgeting. -- Changing manual compaction behavior outside the persisted indicator placement. diff --git a/docs/issues/ask-user-empty-prompt-compaction-order/tasks.md b/docs/issues/ask-user-empty-prompt-compaction-order/tasks.md deleted file mode 100644 index 1d0ec6d00..000000000 --- a/docs/issues/ask-user-empty-prompt-compaction-order/tasks.md +++ /dev/null @@ -1,9 +0,0 @@ -# Tasks - -- [x] Inspect ask-user resume and compaction prompt paths. -- [x] Add regression coverage for blank prompts and resume compaction placement. -- [x] Implement prompt sanitation and resume compaction ordering. -- [x] Run focused tests and required quality commands. -- [x] Preserve oversized protected ask-user resume turns. -- [x] Add regression coverage for positive-budget protected turn truncation. -- [x] Re-run focused tests and required quality commands. diff --git a/docs/issues/assistant-action-type-null-renderer-crash/plan.md b/docs/issues/assistant-action-type-null-renderer-crash/plan.md deleted file mode 100644 index d564ab21a..000000000 --- a/docs/issues/assistant-action-type-null-renderer-crash/plan.md +++ /dev/null @@ -1,14 +0,0 @@ -# Assistant `action_type` Null Renderer Crash Plan - -## Approach - -- Normalize persisted action types inside `DeepChatMessageStore` while converting `DeepChatAssistantBlockRow` rows into `AssistantMessageBlock` objects. -- Return only `tool_call_permission`, `question_request`, or `rate_limit`; treat `null` and unknown strings as absent. -- Build the hydrated block with conditional spreading so omitted action types are not serialized as `null` or `undefined`. -- Keep `AssistantMessageBlockSchema` unchanged to preserve route/event validation. - -## Tests - -- Extend `messageStore` tests to materialize assistant rows containing nullable content/tool blocks and assert the resulting JSON omits `action_type`. -- Add a mixed persisted-block regression where an unknown value is omitted and a valid action block is retained. -- Pass hydrated blocks through `cloneBlocksForRenderer()` to verify the renderer snapshot contract accepts them. diff --git a/docs/issues/assistant-action-type-null-renderer-crash/spec.md b/docs/issues/assistant-action-type-null-renderer-crash/spec.md deleted file mode 100644 index b090c10af..000000000 --- a/docs/issues/assistant-action-type-null-renderer-crash/spec.md +++ /dev/null @@ -1,24 +0,0 @@ -# Assistant `action_type` Null Renderer Crash - -## Problem - -Resuming a tool interaction can reload assistant message blocks from the normalized SQLite table. That table stores `action_type` as nullable text, and hydrated non-action blocks currently carry `action_type: null` into runtime message content. Renderer flushes then validate the block array with `AssistantMessageBlockSchema`, which allows an omitted `action_type` but rejects `null`, causing stream finalization and tool-interaction routes to fail. - -## Goals - -- Keep nullable `action_type` as a storage detail only. -- Materialize assistant blocks with `action_type` omitted unless the persisted value is a supported renderer action type. -- Preserve the strict renderer/event contract so invalid message shapes are still rejected before publication. - -## Non-Goals - -- No schema migration for `deepchat_assistant_blocks`. -- No IPC, route, renderer component, or public type changes. -- No behavior change for valid `tool_call_permission`, `question_request`, or `rate_limit` blocks. - -## Acceptance Criteria - -- Hydrated content/tool blocks with `action_type = NULL` do not include an `action_type` property. -- Hydrated rows with unknown `action_type` values omit the property instead of crashing renderer publication. -- Valid persisted action blocks keep their action type. -- Regression tests cover hydration and renderer cloning for the affected shapes. diff --git a/docs/issues/assistant-action-type-null-renderer-crash/tasks.md b/docs/issues/assistant-action-type-null-renderer-crash/tasks.md deleted file mode 100644 index fd0ff40cc..000000000 --- a/docs/issues/assistant-action-type-null-renderer-crash/tasks.md +++ /dev/null @@ -1,6 +0,0 @@ -# Assistant `action_type` Null Renderer Crash Tasks - -- [x] Document the issue spec, implementation plan, and task list. -- [x] Normalize persisted `action_type` values during assistant block hydration. -- [x] Add regression tests for nullable and unknown persisted action types. -- [x] Run targeted tests and final repository gates. diff --git a/docs/issues/browser-rich-url-paste/plan.md b/docs/issues/browser-rich-url-paste/plan.md deleted file mode 100644 index 442a8b10d..000000000 --- a/docs/issues/browser-rich-url-paste/plan.md +++ /dev/null @@ -1,27 +0,0 @@ -# Browser Rich URL Paste Plan - -## Approach - -- Add a small renderer helper that extracts a URL only when clipboard text is a single `http` or `https` URL. -- Prefer `text/plain`; use `text/uri-list` only when plain text is absent. -- Ignore `text/html` content so browser rich metadata does not influence what gets inserted. -- Call the helper only from `ChatInputBox` after preserving the existing attachment paste path. - -## Component Flow - -1. `ChatInputBox` receives a paste event. -2. Existing `files.handlePaste(event, true)` runs as before. -3. If the clipboard contains files, URL handling stops. -4. If the clipboard contains one plain URL, stop the paste event, prevent TipTap's default paste, and insert the URL as plain text. -5. Otherwise, do not prevent default and let TipTap handle the paste. - -## Compatibility - -- Existing file/image paste behavior is unchanged. -- Other renderer inputs and settings views are not touched. -- The helper accepts only `http:` and `https:` to avoid swallowing custom protocols or app-specific payloads. - -## Test Strategy - -- Unit-test URL extraction for single URL, rich-browser payloads, `text/uri-list`, prose, multi-line text, multiple URLs, and unsupported schemes. -- Component-test `ChatInputBox` paste behavior for URL-only rich paste, normal text paste, and file paste. diff --git a/docs/issues/browser-rich-url-paste/spec.md b/docs/issues/browser-rich-url-paste/spec.md deleted file mode 100644 index 150992412..000000000 --- a/docs/issues/browser-rich-url-paste/spec.md +++ /dev/null @@ -1,23 +0,0 @@ -# Browser Rich URL Paste - -## User Story - -When a user copies a URL from Chrome or Edge and pastes it into the chat input, DeepChat should insert only the URL text, even if the clipboard also contains rich HTML metadata such as a page title or description. - -## Acceptance Criteria - -- A clipboard payload whose plain text is exactly one `http` or `https` URL inserts only that URL into the chat input. -- Browser-provided rich HTML, titles, or descriptions do not get pasted when the plain text is a single URL. -- File and image paste behavior remains unchanged. -- Normal text, rich text, Markdown, code, multiple URLs, or text that merely contains a URL keeps the existing paste behavior. - -## Non-Goals - -- No global paste behavior changes outside `ChatInputBox`. -- No new user setting or IPC/API surface. -- No custom handling for non-HTTP URL schemes in this increment. - -## Constraints - -- The detection must be narrow enough to avoid changing user-authored prose. -- The URL extraction logic must be testable without mounting the editor. diff --git a/docs/issues/browser-rich-url-paste/tasks.md b/docs/issues/browser-rich-url-paste/tasks.md deleted file mode 100644 index c28c6182a..000000000 --- a/docs/issues/browser-rich-url-paste/tasks.md +++ /dev/null @@ -1,7 +0,0 @@ -# Browser Rich URL Paste Tasks - -- [x] Add clipboard URL extraction helper. -- [x] Cover helper behavior with focused renderer unit tests. -- [x] Wire URL-only paste handling into `ChatInputBox`. -- [x] Extend `ChatInputBox` tests for URL, text, and file paste paths. -- [x] Run targeted tests plus format, i18n, and lint checks. diff --git a/docs/issues/cc-switch-config-path-discovery/plan.md b/docs/issues/cc-switch-config-path-discovery/plan.md deleted file mode 100644 index e14b7d616..000000000 --- a/docs/issues/cc-switch-config-path-discovery/plan.md +++ /dev/null @@ -1,25 +0,0 @@ -# CC Switch Config Path Discovery Plan - -## Implementation - -- Extend CC Switch source path resolution in `ProviderImportService`. -- Look for CC Switch Desktop `app_paths.json` at platform-specific locations: - - macOS: `~/Library/Application Support/com.ccswitch.desktop/app_paths.json` - - Windows: `%APPDATA%/com.ccswitch.desktop/app_paths.json` - - Linux: `$XDG_CONFIG_HOME/com.ccswitch.desktop/app_paths.json`, falling back to `~/.config/com.ccswitch.desktop/app_paths.json` -- Read `app_config_dir_override` and use `/cc-switch.db` when it exists. -- Fall back to the existing default path and Windows HOME fallback when the override cannot be used. -- Keep read errors on the selected database visible as a source read error. - -## Compatibility - -- Existing CC Switch imports keep the same default path when no Desktop override is configured. -- Other provider import sources keep their existing path logic. -- The provider parser and app-type allowlist remain unchanged. - -## Test Strategy - -- Add a scan test for a Desktop override database containing Claude-compatible providers. -- Add fallback tests for invalid or missing override databases. -- Add a Codex-only override test to confirm Codex rows are still ignored. -- Keep the Windows HOME fallback test passing. diff --git a/docs/issues/cc-switch-config-path-discovery/spec.md b/docs/issues/cc-switch-config-path-discovery/spec.md deleted file mode 100644 index b26a659fe..000000000 --- a/docs/issues/cc-switch-config-path-discovery/spec.md +++ /dev/null @@ -1,25 +0,0 @@ -# CC Switch Config Path Discovery - -## Goal - -DeepChat should import CC Switch providers from the active CC Switch Desktop data directory when CC Switch is configured to use a custom config path. - -## User Stories - -- As a user who moved CC Switch data to a sync directory, I can import the providers visible in CC Switch Desktop. -- As a user with a stale default `~/.cc-switch/cc-switch.db`, I do not get an empty import result when the active database is elsewhere. -- As a user with Codex-only CC Switch rows, DeepChat continues to hide Codex provider rows from provider import. - -## Acceptance Criteria - -- CC Switch import reads `app_config_dir_override` from CC Switch Desktop `app_paths.json` when available. -- If `/cc-switch.db` exists, that database is used before the default `~/.cc-switch/cc-switch.db`. -- If the override file is missing, invalid, empty, or points to a missing database, import falls back to the existing default path behavior. -- The scan result `configPath` reflects the database path actually used. -- Existing CC Switch app-type support stays limited to `claude`, `claude-desktop`, `gemini`, `opencode`, `openclaw`, and `hermes`. - -## Non-Goals - -- Importing CC Switch `codex` providers. -- Scanning the filesystem for arbitrary `cc-switch.db` files. -- Changing provider mapping or credential filtering rules. diff --git a/docs/issues/cc-switch-config-path-discovery/tasks.md b/docs/issues/cc-switch-config-path-discovery/tasks.md deleted file mode 100644 index f5492021e..000000000 --- a/docs/issues/cc-switch-config-path-discovery/tasks.md +++ /dev/null @@ -1,7 +0,0 @@ -# CC Switch Config Path Discovery Tasks - -- [x] Add SDD issue documents. -- [x] Implement CC Switch Desktop override path discovery. -- [x] Add provider import tests for override and fallback behavior. -- [x] Run focused provider import tests. -- [x] Run format, i18n, lint, and typecheck. diff --git a/docs/issues/chat-top-p-tooltip/plan.md b/docs/issues/chat-top-p-tooltip/plan.md deleted file mode 100644 index bb78faca8..000000000 --- a/docs/issues/chat-top-p-tooltip/plan.md +++ /dev/null @@ -1,22 +0,0 @@ -# Plan - -## Approach - -The current nested `Tooltip` is fragile inside the model settings `Popover` and can render beneath or outside the visible stacking context. Replace it with a controlled lightweight hover/focus panel anchored next to the Top P label. This keeps tooltip-style interaction while avoiding portal stacking conflicts. - -## Affected Interfaces - -- `src/renderer/src/components/chat/ChatStatusBar.vue` - -## Data Flow - -No data flow changes. The same `chat.advancedSettings.topPDescription` i18n string is displayed. - -## Compatibility - -No persisted configuration changes. The chat settings Top P clamp behavior remains unchanged. - -## Test Strategy - -- Static verification of template/script changes. -- Run project formatting/lint commands if package tooling is available. diff --git a/docs/issues/chat-top-p-tooltip/spec.md b/docs/issues/chat-top-p-tooltip/spec.md deleted file mode 100644 index 27c9e2e3a..000000000 --- a/docs/issues/chat-top-p-tooltip/spec.md +++ /dev/null @@ -1,28 +0,0 @@ -# Chat Top P Tooltip - -## User Need - -The chat settings panel Top P help icon must show explanatory text reliably. The settings dialog should keep inline description text, while the chat status bar should keep a hover tooltip interaction. - -## Goal - -Fix the Top P help content in `ChatStatusBar.vue` so it is visible above the settings popover and has a readable width. - -## Acceptance Criteria - -- Hovering the Top P help icon in the chat settings panel shows the Top P description. -- The tooltip is not hidden behind the model settings popover. -- The tooltip content has a readable constrained width for the long description. -- The settings dialog Top P description remains inline text. -- The existing Top P range clamp behavior remains aligned between chat and settings pages. - -## Constraints - -- Keep changes focused to the chat settings Top P help behavior. -- Preserve existing i18n keys and shadcn/reka UI styling patterns where practical. -- Do not introduce new dependencies. - -## Non-goals - -- Redesign the full chat settings panel. -- Change Top P semantics or persisted data shape. diff --git a/docs/issues/chat-top-p-tooltip/tasks.md b/docs/issues/chat-top-p-tooltip/tasks.md deleted file mode 100644 index 6df0aa9e0..000000000 --- a/docs/issues/chat-top-p-tooltip/tasks.md +++ /dev/null @@ -1,5 +0,0 @@ -# Tasks - -- [x] Inspect current Top P tooltip implementation and popover stacking. -- [x] Add a layer-safe tooltip-style hover/focus panel for Top P in chat settings. -- [ ] Verify formatting and report any unavailable validation tooling. diff --git a/docs/issues/cherry-studio-config-path-discovery/plan.md b/docs/issues/cherry-studio-config-path-discovery/plan.md deleted file mode 100644 index 2ec431341..000000000 --- a/docs/issues/cherry-studio-config-path-discovery/plan.md +++ /dev/null @@ -1,22 +0,0 @@ -# Cherry Studio Config Path Discovery Plan - -## Implementation - -- Extend provider import source path resolution for `cherry-studio`. -- Resolve the current default Cherry Studio LevelDB path using the existing source definition. -- Read `~/.cherrystudio/config/config.json`, matching Cherry Studio's `appDataPath` config shape. -- Support both legacy string `appDataPath` and array entries with `dataPath`. -- Treat each configured `dataPath` as a candidate Cherry Studio user data directory and use `/Local Storage/leveldb` when it exists. -- Preserve the existing default path fallback when no valid candidate is found. - -## Compatibility - -- Default Cherry Studio imports keep the same path behavior. -- Symlink-based Cherry Studio data moves continue to work through the existing default path. -- The discovered path only changes where the LevelDB is read from; provider parsing remains unchanged. - -## Test Strategy - -- Add a scan test for a configured custom Cherry Studio data directory. -- Add fallback coverage for a discovered path without a LevelDB directory. -- Keep the existing Cherry Studio LevelDB snapshot import test passing. diff --git a/docs/issues/cherry-studio-config-path-discovery/spec.md b/docs/issues/cherry-studio-config-path-discovery/spec.md deleted file mode 100644 index ba0a3865a..000000000 --- a/docs/issues/cherry-studio-config-path-discovery/spec.md +++ /dev/null @@ -1,25 +0,0 @@ -# Cherry Studio Config Path Discovery - -## Goal - -DeepChat should import Cherry Studio providers from Cherry Studio's active custom data directory when users move the app data outside the default platform path. - -## User Stories - -- As a user who launches Cherry Studio with a custom user data directory, I can import the providers visible in Cherry Studio. -- As a user with a stale default Cherry Studio data directory, I do not get outdated or empty import results when the active LevelDB is elsewhere. -- As a user without a custom Cherry Studio directory, existing default-path import behavior remains unchanged. - -## Acceptance Criteria - -- Cherry Studio import can discover a custom data directory recorded in Cherry Studio's home config. -- If the configured directory contains `Local Storage/leveldb`, DeepChat scans that LevelDB before the default one. -- If the discovered directory is missing, invalid, or does not contain a LevelDB directory, DeepChat falls back to the existing default path behavior. -- The scan result `configPath` reflects the LevelDB path actually used. -- Provider parsing, credential filtering, and provider mapping behavior remain unchanged. - -## Non-Goals - -- Scanning arbitrary user directories such as Downloads for Cherry Studio data. -- Importing Cherry Studio data beyond model providers. -- Adding a user-facing manual path picker. diff --git a/docs/issues/cherry-studio-config-path-discovery/tasks.md b/docs/issues/cherry-studio-config-path-discovery/tasks.md deleted file mode 100644 index fb51afc24..000000000 --- a/docs/issues/cherry-studio-config-path-discovery/tasks.md +++ /dev/null @@ -1,7 +0,0 @@ -# Cherry Studio Config Path Discovery Tasks - -- [x] Add SDD issue documents. -- [x] Implement Cherry Studio custom data-dir discovery. -- [x] Add provider import tests for discovered path and fallback behavior. -- [x] Run focused provider import tests. -- [x] Run format, i18n, lint, and typecheck. diff --git a/docs/issues/cua-driver-v0-2-0-sync/plan.md b/docs/issues/cua-driver-v0-2-0-sync/plan.md deleted file mode 100644 index 02a84604c..000000000 --- a/docs/issues/cua-driver-v0-2-0-sync/plan.md +++ /dev/null @@ -1,38 +0,0 @@ -# Plan - -## Source Review - -- Compare upstream `trycua/cua` tags `cua-driver-v0.1.5` and - `cua-driver-v0.2.0`. -- Apply the Swift driver delta with a three-way merge against DeepChat's - maintained fork. -- Keep upstream Rust driver changes out of this sync. - -## Implementation - -- Merge upstream Swift runtime changes into - `plugins/cua/vendor/cua-driver/source`. -- Adapt new upstream TCC, doctor, and MCP daemon-proxy text and commands to - `DeepChat Computer Use.app` and `com.wefonk.deepchat.computeruse`. -- Preserve DeepChat-only CLI behavior: `deepchat-permission-probe`, nonblocking - MCP startup, and DeepChat-managed `update`. -- Update `plugins/cua/vendor/cua-driver/upstream.json` to `cua-driver-v0.2.0`. -- Leave packaged skills unchanged unless validation shows upstream skill content - changed in the Swift release. - -## Validation - -- Run `swift build --package-path plugins/cua/vendor/cua-driver/source --product cua-driver`. -- Run `pnpm run format`. -- Run `pnpm run i18n`. -- Run `pnpm run lint`. -- Run `git diff --check`. -- Run `pnpm run plugin:cua:build:mac:arm64`. -- Run `pnpm run plugin:validate -- --name cua --platform darwin --arch arm64`. - -## Risk - -The vendored driver is a local fork with DeepChat-specific TCC and packaging -behavior. A direct replacement with upstream source would risk regressing the -helper identity, permission flow, and plugin-managed update path, so the sync is -kept as an explicit fork merge. diff --git a/docs/issues/cua-driver-v0-2-0-sync/spec.md b/docs/issues/cua-driver-v0-2-0-sync/spec.md deleted file mode 100644 index 61547ba70..000000000 --- a/docs/issues/cua-driver-v0-2-0-sync/spec.md +++ /dev/null @@ -1,41 +0,0 @@ -# CUA Driver v0.2.0 Sync - -## Problem - -The bundled DeepChat Computer Use helper is based on upstream -`cua-driver-v0.1.5`. Upstream Swift CUA driver `cua-driver-v0.2.0` contains -macOS reliability fixes for focus suppression, screenshot capture fallback, -hidden app handling, side-effect detection, and MCP daemon proxying. - -## User Story - -As a DeepChat user using the bundled CUA plugin, I need the macOS helper to -include current upstream Swift driver fixes while continuing to use DeepChat's -helper app, TCC permissions, MCP registration, and plugin packaging. - -## Acceptance Criteria - -- Vendored upstream metadata records `cua-driver-v0.2.0` and commit - `d3f3b9325f49aa5302c15fb03f6b66bd1e688e27`. -- The local fork includes the upstream Swift driver runtime improvements from - `v0.1.5` through `v0.2.0`. -- DeepChat-specific behavior remains intact: `DeepChat Computer Use.app`, - bundle id `com.wefonk.deepchat.computeruse`, `deepchat-permission-probe`, - DeepChat-managed updates, and MCP-first plugin skills. -- The Rust `cua-driver-rs` runtime is not introduced in this sync. -- Validation covers Swift build, formatting, i18n, lint, diff checks, CUA - runtime build, and plugin validation where practical. - -## Non-goals - -- No migration to `cua-driver-rs`. -- No changes to the CUA plugin manifest, settings UI, MCP server id, or tool - policy. -- No adoption of upstream standalone installer behavior for DeepChat updates. - -## Constraints - -- Preserve DeepChat's local helper app identity for TCC attribution. -- Keep packaged `plugins/cua/skills/cua-driver` guidance MCP-first. -- Treat upstream standalone scripts as reference material unless required by - the bundled helper build. diff --git a/docs/issues/cua-driver-v0-2-0-sync/tasks.md b/docs/issues/cua-driver-v0-2-0-sync/tasks.md deleted file mode 100644 index aed0581d5..000000000 --- a/docs/issues/cua-driver-v0-2-0-sync/tasks.md +++ /dev/null @@ -1,13 +0,0 @@ -# Tasks - -- [x] Identify latest upstream Swift CUA driver release. -- [x] Confirm Rust `cua-driver-rs` remains out of scope. -- [x] Compare `cua-driver-v0.1.5` to `cua-driver-v0.2.0`. -- [x] Merge upstream Swift runtime changes into the DeepChat fork. -- [x] Preserve DeepChat helper app identity, permission probe, update policy, - and MCP-first behavior. -- [x] Update vendored upstream metadata. -- [x] Run Swift build validation. -- [x] Run formatting, i18n, lint, and diff checks. -- [x] Build the CUA plugin runtime. -- [x] Validate the CUA plugin package. diff --git a/docs/issues/deepchat-tape-view-manifest-pr-review/plan.md b/docs/issues/deepchat-tape-view-manifest-pr-review/plan.md new file mode 100644 index 000000000..f574c45ca --- /dev/null +++ b/docs/issues/deepchat-tape-view-manifest-pr-review/plan.md @@ -0,0 +1,49 @@ +# Tape ViewManifest PR Review Fixes - Plan + +## Approach + +Apply the PR review fixes in place, keeping the existing Tape architecture and presenter boundaries intact. + +## Changes + +| Area | Plan | +| --- | --- | +| `contextBuilder.ts` | Make resume `out_of_budget` exclusions only include emitted records that were not selected. | +| `agentRuntimePresenter/index.ts` | Carry recovered `summaryCursorOrderSeq` into manifest append; refresh tape history after resume compaction before building the resume view. | +| `agentSessionPresenter/index.ts` | Wrap optional manifest/replay delegation in `try/catch`, log warnings, and return graceful fallbacks. | +| `SessionClient.ts` | Normalize `result.manifests` to an array before returning diagnostics. | +| `TraceDialog.vue` | When a request sequence is selected, only show matching trace/manifest data. | +| `routes.ts` | Replace broad route catalog annotation with `satisfies Record`. | +| i18n `traceDialog.json` | Translate new diagnostic keys for non-English locales and convert Traditional Chinese files. | +| `contextBuilder.ts` | Preserve turn boundaries during emergency truncation. | +| `tapeService.ts` | Exclude replay export timestamps from slice hash inputs. | +| `tapeViewManifest.ts` | Copy included/excluded ref arrays into manifest snapshots. | +| SDD docs | Keep this issue SDD current and address small doc nitpicks. | + +## Compatibility + +- No database or IPC schema changes. +- ViewManifest remains schema version 1. +- Existing sessions without manifests continue to return empty diagnostics. + +## Test Strategy + +Run required project checks: + +```bash +pnpm run format +pnpm run i18n +pnpm run lint +``` + +Run focused checks where practical: + +```bash +pnpm run typecheck +pnpm vitest run test/main/presenter/agentRuntimePresenter/agentRuntimePresenter.test.ts +pnpm vitest run test/main/presenter/agentRuntimePresenter/tapeViewAssembler.test.ts +pnpm vitest run test/main/presenter/agentRuntimePresenter/tapeViewManifest.test.ts +pnpm vitest run test/main/presenter/agentRuntimePresenter/tapeService.test.ts +pnpm vitest run test/main/presenter/agentRuntimePresenter/contextBuilder.test.ts +pnpm vitest run test/renderer/components/trace/TraceDialog.test.ts +``` diff --git a/docs/issues/deepchat-tape-view-manifest-pr-review/spec.md b/docs/issues/deepchat-tape-view-manifest-pr-review/spec.md new file mode 100644 index 000000000..08ac1e042 --- /dev/null +++ b/docs/issues/deepchat-tape-view-manifest-pr-review/spec.md @@ -0,0 +1,47 @@ +# Tape ViewManifest PR Review Fixes - Spec + +Status: active issue-fix SDD for PR #1768 review follow-up. + +## Problem + +PR review identified correctness and localization issues in the Tape ViewManifest flow. Some diagnostics can fail hard instead of degrading gracefully, request/manifest diagnostics can show mismatched request sequences, manifest provenance can record stale summary cursors after context-pressure recovery, resume view assembly can use stale tape history after compaction, request sequence generation can repeat after resume, replay hashes can include wall-clock time, manifest snapshots can alias caller arrays, and newly added TraceDialog labels are not properly localized. + +## Goals + +1. Fix still-valid CodeRabbit review findings for PR #1768 with minimal changes. +2. Preserve Tape ViewManifest and replay-slice contracts while correcting provenance and diagnostics behavior. +3. Ensure TraceDialog diagnostic strings are localized for every supported non-English locale touched by the PR. +4. Keep route-contract literal key inference intact. +5. Commit and push the fixes to the existing PR branch. + +## Acceptance Criteria + +1. Resume context assembly refreshes tape history after compaction resolution. +2. Context-pressure recovery returns and records the recovered summary cursor in appended manifests. +3. Excluded context metadata cannot classify the same resume record as both `empty_after_formatting` and `out_of_budget`. +4. Message view-manifest listing and replay-slice export return `[]`/`null` when agent resolution fails. +5. Renderer session client always returns an array for manifest diagnostics. +6. TraceDialog returns `null` instead of falling back to another request when a selected request sequence is missing from either traces or manifests. +7. `DEEPCHAT_ROUTE_CATALOG` uses `satisfies Record` so route names remain a literal union. +8. TraceDialog diagnostic labels are translated in supported non-English locale files, including Traditional Chinese variants. +9. Review nitpicks that are small and local are addressed without broad refactors. +10. Emergency history truncation preserves per-turn metadata associations. +11. Replay slice hashes are deterministic across exports of the same manifest. +12. Manifest included/excluded snapshots are detached from caller-owned arrays. +13. `pnpm run format`, `pnpm run i18n`, and `pnpm run lint` pass or any blocker is documented. + +## Constraints + +- Do not weaken authentication, authorization, or validation. +- Avoid unrelated refactors and preserve existing presenter boundaries. +- Keep ViewManifest schema compatible. + +## Non-Goals + +- Redesigning Tape ViewManifest or replay contracts. +- Adding new context-selection policies. +- Reworking the full i18n pipeline beyond the reviewed TraceDialog keys. + +## Open Questions + +None. diff --git a/docs/issues/deepchat-tape-view-manifest-pr-review/tasks.md b/docs/issues/deepchat-tape-view-manifest-pr-review/tasks.md new file mode 100644 index 000000000..b09af22c0 --- /dev/null +++ b/docs/issues/deepchat-tape-view-manifest-pr-review/tasks.md @@ -0,0 +1,16 @@ +# Tape ViewManifest PR Review Fixes - Tasks + +- [x] T1: Inspect PR review findings and current branch state. +- [x] T2: Fix runtime provenance and resume-history correctness issues. +- [x] T3: Harden diagnostics/replay APIs and renderer request selection. +- [x] T4: Restore route catalog type precision. +- [x] T5: Translate TraceDialog diagnostic labels in non-English locales. +- [x] T6: Address local documentation/nitpick comments. +- [x] T7: Run format, i18n, lint, and focused validation. +- [x] T8: Stage intentional files and create a local commit without pushing. +- [x] T9: Preserve turn metadata during emergency context truncation. +- [x] T10: Make replay slice hashes deterministic across export times. +- [x] T11: Detach manifest included/excluded snapshots from caller-owned arrays. +- [x] T12: Localize TraceDialog fallback values and Traditional Chinese model labels. +- [x] T13: Restore MCP checkbox test semantics and PascalCase component filename. +- [x] T14: Run required checks, commit, and push the PR branch. diff --git a/docs/issues/feishu-pairing-save-race/plan.md b/docs/issues/feishu-pairing-save-race/plan.md deleted file mode 100644 index 6fb7593a6..000000000 --- a/docs/issues/feishu-pairing-save-race/plan.md +++ /dev/null @@ -1,23 +0,0 @@ -# Plan - -## Implementation Approach -- Inspect `RemoteControlPresenter.saveFeishuSettings` and binding store ownership of Feishu paired users. -- Update Feishu settings save to persist editable settings while preserving `config.pairedUserOpenIds`. -- Keep runtime rebuild behavior unchanged after saving credentials or enabled state. - -## Affected Interfaces -- `saveFeishuSettings(input: FeishuRemoteSettings)` behavior changes to ignore `input.pairedUserOpenIds` for persistence. -- Returned settings remain `FeishuRemoteSettings` and include the current paired users from storage. - -## Data Flow -- Frontend sends normalized Feishu settings, possibly from stale form state. -- Main process updates editable Feishu config fields. -- Existing `pairedUserOpenIds` is copied from the current config, so pairing state created by command handling is preserved. - -## Compatibility -- No IPC or renderer contract changes. -- Old frontend payloads with `pairedUserOpenIds` continue to be accepted but cannot mutate authorization state. - -## Test Strategy -- Add a main presenter unit test that seeds a paired Feishu user, saves settings with `pairedUserOpenIds: []`, and expects the paired user to remain. -- Run focused remote control presenter tests, then required format/i18n/lint commands if feasible. diff --git a/docs/issues/feishu-pairing-save-race/spec.md b/docs/issues/feishu-pairing-save-race/spec.md deleted file mode 100644 index cb944c9c9..000000000 --- a/docs/issues/feishu-pairing-save-race/spec.md +++ /dev/null @@ -1,21 +0,0 @@ -# Feishu Pairing Save Race - -## User Need -Feishu/Lark Remote Control users who complete `/pair ` must stay authorized after the settings page auto-saves stale form state. - -## Goal -Prevent general Feishu settings saves from overwriting the runtime-managed `pairedUserOpenIds` list. - -## Acceptance Criteria -- Saving Feishu settings preserves the existing paired user open IDs when the input contains an older or empty list. -- Pair/unpair operations remain the only path that changes Feishu paired users. -- Existing Feishu settings fields such as brand, credentials, enabled state, default agent, and workdir still save normally. -- Regression coverage verifies stale frontend settings cannot erase a paired Feishu user. - -## Constraints -- Keep public settings shape compatible with the current renderer and IPC contracts. -- Avoid broad changes to unrelated remote channels unless a matching save-race path is confirmed in code. - -## Non-Goals -- Redesign remote settings state management. -- Remove `pairedUserOpenIds` from shared types in this fix. diff --git a/docs/issues/feishu-pairing-save-race/tasks.md b/docs/issues/feishu-pairing-save-race/tasks.md deleted file mode 100644 index 256ec5755..000000000 --- a/docs/issues/feishu-pairing-save-race/tasks.md +++ /dev/null @@ -1,6 +0,0 @@ -# Tasks - -- [x] Capture issue requirements and SDD artifacts. -- [x] Change Feishu settings save to preserve paired users. -- [x] Add regression test for stale Feishu settings save. -- [x] Run formatting, i18n generation, lint, and focused tests. diff --git a/docs/issues/fff-large-workspace-timeout/spec.md b/docs/issues/fff-large-workspace-timeout/spec.md new file mode 100644 index 000000000..34113624a --- /dev/null +++ b/docs/issues/fff-large-workspace-timeout/spec.md @@ -0,0 +1,19 @@ +# FFF Large Workspace Timeout + +## User Story + +When a user selects a large workspace, workspace file search and `@` file mentions should remain +usable even if the FFF native indexer cannot finish its initial scan quickly. + +## Acceptance Criteria + +- If FFF initial scan or glob search fails, workspace file search falls back to bounded filesystem + scanning instead of returning an empty completed result. +- Repeated concurrent FFF failures for the same workspace search do not spam identical warning logs. +- Existing default and caller-provided exclude patterns continue to be respected. +- Focused workspace file search tests cover FFF fallback and warning dedupe behavior. + +## Non-Goals + +- Replacing FFF for normal fast-path search. +- Adding a user-visible search status banner. diff --git a/docs/issues/fff-packaged-native-loading/plan.md b/docs/issues/fff-packaged-native-loading/plan.md deleted file mode 100644 index 2ecd2c28f..000000000 --- a/docs/issues/fff-packaged-native-loading/plan.md +++ /dev/null @@ -1,22 +0,0 @@ -# FFF Packaged Native Loading Plan - -## Approach - -- Detect the packaged FFF entry at - `process.resourcesPath/app.asar.unpacked/node_modules/@ff-labs/fff-node/dist/src/index.js`. -- Make the default `FffSearchService` module loader import that file URL when present. -- Fall back to the bare `@ff-labs/fff-node` import for dev, tests, and unpackaged runs. -- Leave explicit test-injected `moduleLoader` behavior unchanged. - -## Validation - -- Add a focused unit test that sets a temporary `process.resourcesPath` and verifies the - default loader uses the unpacked FFF entry. -- Run focused FFF service tests. -- Run required project checks after implementation. - -## Risks - -- A malformed unpacked package would fail during import. That failure remains wrapped by - `FffSearchUnavailableError` through the existing loader error path. -- Dynamic file URL imports are cached by URL, so tests use unique temp directories. diff --git a/docs/issues/fff-packaged-native-loading/spec.md b/docs/issues/fff-packaged-native-loading/spec.md deleted file mode 100644 index bcbcb7354..000000000 --- a/docs/issues/fff-packaged-native-loading/spec.md +++ /dev/null @@ -1,32 +0,0 @@ -# FFF Packaged Native Loading - -## Problem - -Packaged DeepChat can show `Error: FFF native library is not available` when agent `glob` -or `grep` runs. The packaged app contains `@ff-labs/fff-node`, `ffi-rs`, and the platform -native packages under `app.asar.unpacked`, but the main process resolves -`@ff-labs/fff-node` from `app.asar`. - -`@ff-labs/fff-node` resolves its platform library with `createRequire()` from its package -root. When that root is inside `app.asar`, the manually copied `@ff-labs/fff-bin-*` -package in `app.asar.unpacked` is outside the module resolution tree and `findBinary()` -returns `null`. - -## Acceptance Criteria - -- Packaged agent `glob` and `grep` load FFF from `app.asar.unpacked` when the unpacked - package exists. -- Development and test environments keep using the normal `@ff-labs/fff-node` import. -- FFF native availability failures still surface as `FffSearchUnavailableError`. -- The fix stays scoped to FFF loading and packaging behavior. - -## Non-Goals - -- Replacing FFF search behavior. -- Changing tool schemas or renderer UI. -- Reworking Electron Builder packaging for all native dependencies. - -## Constraints - -- Keep `@ff-labs/fff-node` isolated behind `FffSearchService`. -- Avoid depending on Electron imports in this low-level service. diff --git a/docs/issues/fff-packaged-native-loading/tasks.md b/docs/issues/fff-packaged-native-loading/tasks.md deleted file mode 100644 index b33140839..000000000 --- a/docs/issues/fff-packaged-native-loading/tasks.md +++ /dev/null @@ -1,6 +0,0 @@ -# FFF Packaged Native Loading Tasks - -- [x] Reproduce the packaged ASAR vs unpacked FFF availability difference. -- [x] Add packaged FFF module resolution in `FffSearchService`. -- [x] Cover the packaged loader path with a focused unit test. -- [x] Run focused tests and required checks. diff --git a/docs/issues/floating-button-position-persistence/plan.md b/docs/issues/floating-button-position-persistence/plan.md deleted file mode 100644 index ca5040511..000000000 --- a/docs/issues/floating-button-position-persistence/plan.md +++ /dev/null @@ -1,73 +0,0 @@ -# Plan — Floating Button Position Persistence - -## Approach - -Stop persisting live window bounds via `electron-window-state` for the floating button. -Instead persist the **logical resting position** — the snapped, fully-on-screen docked -rectangle plus its dock side — through `configPresenter` (electron-store), and restore it -on window creation, re-clamped to the current display. - -The presenter already computes the correct resting rectangle on drag end -(`snapWidgetBoundsToEdge` → `snapped`), which is fully visible and edge-docked. That is -exactly the value we persist, so the off-screen-reset problem disappears. - -## Data Model - -New shared type (`src/shared/types/floating-widget.ts`): - -```ts -export type FloatingWidgetDockSide = 'left' | 'right' - -export interface FloatingButtonBounds { - x: number - y: number - dockSide: FloatingWidgetDockSide -} -``` - -Stored under config key `floatingButtonBounds`. `x` is stored for completeness; on restore -`x` is recomputed from `dockSide` + current work area so the widget always docks to an edge -even after a resolution change. The meaningful restored values are `y` + `dockSide`. - -## Components & Changes - -- `src/shared/types/floating-widget.ts`: add `FloatingWidgetDockSide`, `FloatingButtonBounds`. -- `src/main/presenter/floatingButtonPresenter/layout.ts`: re-use shared `FloatingWidgetDockSide` - (single source of truth; existing imports keep working via re-export). -- `src/main/presenter/configPresenter/index.ts`: add `getFloatingButtonBounds()` / - `setFloatingButtonBounds(bounds)` using the generic `getSetting`/`setSetting`. -- `src/shared/types/presenters/legacy.presenters.d.ts`: declare both methods on `IConfigPresenter`. -- `src/main/presenter/floatingButtonPresenter/FloatingButtonWindow.ts`: - - Remove `electron-window-state` usage. - - Accept persisted bounds via constructor (`persistedBounds: FloatingButtonBounds | null`). - - `resolveInitialBounds()` restores from persisted bounds: pick nearest display, re-dock - `x` from `dockSide`, clamp `y` into work area; fall back to default placement otherwise. - - Prefer persisted `dockSide` for the initial `dockSide`. -- `src/main/presenter/floatingButtonPresenter/index.ts`: - - On `createFloatingWindow()` read `configPresenter.getFloatingButtonBounds()` and pass it in. - - On `DRAG_END`, after computing `snapped`, persist - `{ x: snapped.x, y: snapped.y, dockSide: snapped.dockSide }`. - -## Event Flow - -- Save: renderer drag → `DRAG_END` IPC → presenter snaps → `configPresenter.setFloatingButtonBounds`. -- Restore: app start → `createFloatingWindow` → `getFloatingButtonBounds` → `new FloatingButtonWindow(config, bounds)` - → `resolveInitialBounds`. - -## Compatibility - -- Backward compatible: missing `floatingButtonBounds` → default placement (first run / upgrade). -- The stale `floating-button-window-state.json` file is simply no longer read; no migration needed. - -## Test Strategy - -- Unit (presenter, `test/main/presenter/floatingButtonPresenter/index.test.ts`): - - Extend the mock `configPresenter` with `getFloatingButtonBounds`/`setFloatingButtonBounds`. - - Assert `setFloatingButtonBounds` is called with the snapped docked bounds + dock side on `DRAG_END`. - - Assert `getFloatingButtonBounds` is read during initialization. -- Existing layout/drag tests must continue to pass unchanged. - -## Risks - -- Low. Pure main-process change behind an existing persistence mechanism. No renderer/IPC - surface change, no new dependency, no data migration. diff --git a/docs/issues/floating-button-position-persistence/tasks.md b/docs/issues/floating-button-position-persistence/tasks.md deleted file mode 100644 index bd5415143..000000000 --- a/docs/issues/floating-button-position-persistence/tasks.md +++ /dev/null @@ -1,13 +0,0 @@ -# Tasks — Floating Button Position Persistence - -1. [x] Add shared types `FloatingWidgetDockSide` + `FloatingButtonBounds` - (`src/shared/types/floating-widget.ts`); re-use them in `layout.ts`. -2. [x] Add `getFloatingButtonBounds` / `setFloatingButtonBounds` to `configPresenter` - and declare them on `IConfigPresenter`. -3. [x] `FloatingButtonWindow`: drop `electron-window-state`, accept persisted bounds, - restore in `resolveInitialBounds` with work-area clamping. -4. [x] `FloatingButtonPresenter`: read persisted bounds on create and pass them in; - persist snapped bounds on `DRAG_END`. -5. [x] Update `index.test.ts` mock config; add a persistence test for `DRAG_END`. -6. [x] Quality gates: `pnpm run format`, `pnpm run i18n`, `pnpm run lint`, - `pnpm run typecheck`, `pnpm test` (floating button suites). diff --git a/docs/issues/guided-onboarding-first-chat-confirm/plan.md b/docs/issues/guided-onboarding-first-chat-confirm/plan.md deleted file mode 100644 index 56b9aab8e..000000000 --- a/docs/issues/guided-onboarding-first-chat-confirm/plan.md +++ /dev/null @@ -1,17 +0,0 @@ -# Implementation Plan - -## Cause - -`NewThreadPage` handles the `first-chat` confirm action by querying the contenteditable element and calling `HTMLElement.focus()`. The chat input is backed by a TipTap editor, so the editor-aware focus path should be invoked through the component itself. - -## Change - -- Expose a `focusInput` method from `ChatInputBox` that focuses and scrolls the editor into view. -- Use that exposed method from `NewThreadPage` when the guided `first-chat` confirm action runs. -- Keep the existing DOM query as a fallback for older or stubbed component shapes. -- Add a focused renderer test for the confirm action. - -## Validation - -- Run focused renderer tests for `NewThreadPage` onboarding and `ModelProviderSettings`. -- Run the repository-required `pnpm run format`, `pnpm run i18n`, and `pnpm run lint` checks. diff --git a/docs/issues/guided-onboarding-first-chat-confirm/spec.md b/docs/issues/guided-onboarding-first-chat-confirm/spec.md deleted file mode 100644 index 59c731a1c..000000000 --- a/docs/issues/guided-onboarding-first-chat-confirm/spec.md +++ /dev/null @@ -1,21 +0,0 @@ -# Guided Onboarding First Chat Confirm - -## Problem - -During the guided `first-chat` step, clicking the confirm action can appear to do nothing because the handler only focuses the raw contenteditable element instead of invoking the chat input's editor-aware focus path. - -## User Story - -As a user on the final onboarding step, I want the confirm action to move focus into the real chat editor so I can immediately start typing my first message. - -## Acceptance Criteria - -- When the guided `first-chat` overlay is visible, clicking the primary confirm action focuses the real chat input editor. -- The guide remains active until the first successful message send completes the onboarding step. -- A focused renderer test covers the confirm action calling the chat input focus path. - -## Non-goals - -- No change to onboarding completion semantics for the first-chat step. -- No change to chat send behavior. -- No change to the final guide copy. diff --git a/docs/issues/guided-onboarding-first-chat-confirm/tasks.md b/docs/issues/guided-onboarding-first-chat-confirm/tasks.md deleted file mode 100644 index a8fea6f5c..000000000 --- a/docs/issues/guided-onboarding-first-chat-confirm/tasks.md +++ /dev/null @@ -1,7 +0,0 @@ -# Tasks - -- [x] Add SDD artifacts. -- [x] Expose an editor-aware chat input focus method. -- [x] Route the `first-chat` confirm action through the exposed focus method. -- [x] Add focused regression coverage for the confirm action. -- [x] Run format, i18n, lint, and focused tests. diff --git a/docs/issues/image-generation-context-budget-bypass/plan.md b/docs/issues/image-generation-context-budget-bypass/plan.md deleted file mode 100644 index 8557e630b..000000000 --- a/docs/issues/image-generation-context-budget-bypass/plan.md +++ /dev/null @@ -1,24 +0,0 @@ -# Image Generation Context Budget Bypass Plan - -## Approach - -- Add a model-aware Agent runtime helper that returns true only when DeepChat should use its chat - context budget. -- Keep ACP bypass behavior, and also bypass when the model config explicitly identifies - `ImageGeneration`, `TTS`, a non-chat API endpoint, or `endpointType === 'image-generation'`. -- Treat missing legacy model metadata as chat-compatible. - -## Runtime Changes - -- Use the helper in new user turns and resume/retry context construction before deciding whether to - compact, trim, or use a finite chat context length. -- Use the helper inside the provider-call wrapper before running preflight/recovery or shrinking the - per-call `maxTokens`. -- Leave `contextBudget.ts`, public contracts, IPC, and renderer code unchanged. - -## Test Strategy - -- Add an Agent runtime regression for an image endpoint request that would fail chat-budget - preflight, asserting the provider is still called and max tokens are preserved. -- Keep chat-model pressure tests verifying the existing budget preflight path still runs. -- Run the targeted Agent runtime/context budget tests plus repository format, i18n, and lint checks. diff --git a/docs/issues/image-generation-context-budget-bypass/tasks.md b/docs/issues/image-generation-context-budget-bypass/tasks.md deleted file mode 100644 index 727a38d9b..000000000 --- a/docs/issues/image-generation-context-budget-bypass/tasks.md +++ /dev/null @@ -1,7 +0,0 @@ -# Image Generation Context Budget Bypass Tasks - -- [x] Document the issue and intended behavior. -- [x] Add model-aware chat budget gating in the Agent runtime. -- [x] Add regression coverage for image endpoint bypass. -- [x] Verify chat context budget behavior remains unchanged. -- [x] Run targeted tests and repository quality checks. diff --git a/docs/issues/mac-app-name-identity/plan.md b/docs/issues/mac-app-name-identity/plan.md deleted file mode 100644 index e66c7884b..000000000 --- a/docs/issues/mac-app-name-identity/plan.md +++ /dev/null @@ -1,15 +0,0 @@ -# macOS App Name Identity Plan - -## Implementation - -- Update the main-process startup path in `src/main/appMain.ts` to set the Electron application name to - `DeepChat` before the app creates windows or menus. -- Ensure the macOS process advertises itself as a regular foreground app and reveals its Dock identity - before startup windows attempt to take focus. -- Keep the change scoped to startup identity only, avoiding any unrelated menu, dock, or window policy - changes unless verification shows they are required. - -## Validation - -- Run a node-side typecheck or equivalent narrow validation for the touched startup file. -- Run repository-required format, i18n, and lint checks before handoff. diff --git a/docs/issues/mac-app-name-identity/spec.md b/docs/issues/mac-app-name-identity/spec.md deleted file mode 100644 index 76ae58751..000000000 --- a/docs/issues/mac-app-name-identity/spec.md +++ /dev/null @@ -1,20 +0,0 @@ -# macOS App Name Identity Spec - -## Goal - -On macOS, DeepChat should identify itself as the active application when its window is focused, -so the menu bar shows DeepChat instead of Finder or the generic Electron host identity. - -## Acceptance Criteria - -- DeepChat sets its user-visible application name during main-process startup before windows are created. -- DeepChat declares a regular foreground macOS activation policy before startup windows are shown. -- When a DeepChat window becomes the active foreground app on macOS, the menu bar app label resolves to - DeepChat rather than Finder. -- The change does not alter Windows or Linux startup behavior. - -## Non-Goals - -- No app icon, bundle identifier, or code-signing changes. -- No renderer UI changes. -- No shortcut or menu structure refactor. diff --git a/docs/issues/mac-app-name-identity/tasks.md b/docs/issues/mac-app-name-identity/tasks.md deleted file mode 100644 index 81b5300ff..000000000 --- a/docs/issues/mac-app-name-identity/tasks.md +++ /dev/null @@ -1,6 +0,0 @@ -# macOS App Name Identity Tasks - -- [x] Document the bug, implementation scope, and validation plan. -- [x] Set the macOS-visible app name during main-process startup. -- [x] Run focused validation for the startup change. -- [x] Run required format, i18n, and lint checks. diff --git a/docs/issues/mac-native-feel-audit/plan.md b/docs/issues/mac-native-feel-audit/plan.md deleted file mode 100644 index 0ab7ff4f6..000000000 --- a/docs/issues/mac-native-feel-audit/plan.md +++ /dev/null @@ -1,85 +0,0 @@ -# macOS Native Feel Audit Plan - -## Guiding Principles - -- Follow T3 from the native-feel skill: adopt the platform rather than recreating platform behavior in CSS or global hooks. -- Keep behavior scoped: global shortcuts are for app activation, app commands are for the native application menu. -- Preserve existing IPC/event names so renderer behavior and tests do not need broad migration. - -## Shortcut Architecture - -Current state: - -- `ShortcutPresenter.registerShortcuts()` registers all shortcuts through `globalShortcut`. -- Focus/blur hooks register and unregister these shortcuts as windows gain or lose focus. -- Renderer settings save path calls `shortcutRuntime.registerShortcuts()` to refresh configured shortcuts. - -Target state: - -- `ShortcutPresenter.registerShortcuts()` rebuilds the application menu and registers only system-level shortcuts. -- Application menu items use the configured accelerators and call the same presenter/eventBus handlers currently used by `globalShortcut`. -- `unregisterShortcuts()` keeps the app menu installed and leaves only the show/hide global shortcut active, matching the existing focus/blur lifecycle without losing global activation. -- `destroy()` removes global shortcuts and clears the application menu during shutdown. - -## Menu Command Routing - -- Chat-window commands use the focused managed chat window: - - Toggle Sidebar - - Toggle Workspace - - Clean Chat History - - Delete Conversation -- Focused-window commands use any focused DeepChat window: - - New Conversation - - Close Window -- App commands can work without a focused chat window: - - New Window - - Settings - - Quit - - Zoom events -- Quick Search keeps current behavior: if Settings is focused, target the main chat window. - -## Renderer Native-feel Cleanup - -Remove `cursor-pointer` from: - -- Main sidebar session rows. -- Settings sidebar rows. -- Model picker rows. -- Skill/model/sampling/spotlight list rows. -- File item rows/cards where the whole row behaves like native selectable content. - -Preserve pointer cursor for: - -- Content hyperlinks. -- Images or rich content that intentionally preview/open content. -- Drag and resize handles. -- Disabled/not-allowed states. - -Scrolling: - -- Replace global smooth scroll with `auto`. -- Replace chat spotlight/message search jump smooth scrolling with immediate/default behavior. - -## macOS Window Shell - -For main and settings windows: - -- Keep macOS-only `titleBarStyle: hiddenInset`, transparency, traffic light position, and shadow. -- Add `visualEffectState: followWindow`. -- Use a normal app-window material rather than HUD-like material for primary windows. - -No Windows/Linux shell options are intentionally changed. - -## Test Strategy - -- Update `test/main/presenter/shortcutPresenter.test.ts` so it asserts app commands are installed in the native menu, not in `globalShortcut`. -- Add coverage that sidebar/workspace menu commands dispatch to focused chat windows. -- Add coverage that chat commands do not dispatch to Settings/non-chat windows. -- Add coverage that only the show/hide shortcut is registered globally. -- Run targeted shortcut tests, then project formatting/i18n/lint. - -## Risks - -- Some Electron accelerators may behave slightly differently across platforms when routed through menus instead of `globalShortcut`. -- Hidden menu bars on Windows/Linux should still honor accelerators, but this should be manually smoke-tested in app builds. -- The renderer cursor cleanup is intentionally broad enough to be felt; if users strongly prefer hand cursors in certain tool panels, restore them only for controls that are closer to buttons than list rows. diff --git a/docs/issues/mac-native-feel-audit/spec.md b/docs/issues/mac-native-feel-audit/spec.md index b6b1a22fe..1fbd275b9 100644 --- a/docs/issues/mac-native-feel-audit/spec.md +++ b/docs/issues/mac-native-feel-audit/spec.md @@ -1,17 +1,25 @@ # macOS Native Feel Audit +Status: implemented in current code as of 2026-06-13; keep this spec as the native-feel regression +contract. + ## User Story As a DeepChat user on macOS, I want the app to respond like a regular Mac desktop app rather than a web page in a wrapper, so core windowing, shortcuts, scrolling, cursor behavior, and materials match platform expectations. ## Problem -The current Electron shell already has some native-facing choices, including a separate Settings window, native context menus for webContents, macOS traffic lights, and window state persistence. Several details still reveal web-wrapper behavior: - -- App-scoped commands such as New Conversation, Close Window, Settings, zoom, sidebar, and workspace are registered through `globalShortcut`, which reserves system accelerators instead of using the application menu. -- Primary list rows and navigation items use `cursor-pointer`, making desktop lists feel like web links. -- Global and targeted smooth scrolling creates web-like route/search movement where native apps usually jump or restore immediately. -- macOS window options use native title bar/vibrancy hooks, but the material state should follow the window and avoid HUD-like chrome for normal app windows. +The current Electron shell has native-facing choices, including a separate Settings window, native +context menus for webContents, macOS traffic lights, application-menu accelerators, and window state +persistence. This spec records the desktop-feel contract that should remain true: + +- App-scoped commands such as New Conversation, Close Window, Settings, zoom, sidebar, and workspace + use application menu accelerators. +- `globalShortcut` is reserved for true system-level show/hide window behavior. +- Primary app chrome and list rows use desktop cursor behavior while content hyperlinks keep link + affordances. +- App chrome and search/message jumps use immediate/default scroll behavior. +- macOS window materials follow the window role and state. ## Scope diff --git a/docs/issues/mac-native-feel-audit/tasks.md b/docs/issues/mac-native-feel-audit/tasks.md deleted file mode 100644 index 9a86fab87..000000000 --- a/docs/issues/mac-native-feel-audit/tasks.md +++ /dev/null @@ -1,13 +0,0 @@ -# macOS Native Feel Audit Tasks - -- [x] Document the spec, implementation plan, trade-offs, and task breakdown. -- [x] Refactor `ShortcutPresenter` to install application menu accelerators for app-scoped commands. -- [x] Keep only Show/Hide Window registered through `globalShortcut`. -- [x] Update shortcut presenter tests for menu accelerators and global shortcut boundary. -- [x] Remove pointer cursors from primary app chrome/list rows while preserving content links and explicit drag/resize affordances. -- [x] Remove pointer cursors from the independent Settings renderer. -- [x] Replace global and targeted smooth scroll behavior with native/default scroll behavior. -- [x] Tune macOS-only main/settings BrowserWindow material options. -- [x] Run targeted tests. -- [x] Run `pnpm run format`, `pnpm run i18n`, and `pnpm run lint`. -- [x] Run `pnpm run typecheck`. diff --git a/docs/issues/markdown-codeblock-scrollbar-jitter/plan.md b/docs/issues/markdown-codeblock-scrollbar-jitter/plan.md new file mode 100644 index 000000000..79844ae85 --- /dev/null +++ b/docs/issues/markdown-codeblock-scrollbar-jitter/plan.md @@ -0,0 +1,150 @@ +# Markdown Codeblock Scrollbar Jitter Plan + +## Current Layout + +```text +Before + +Chat viewport + - message-list-container + - stable vertical gutter already exists + | + +-- assistant message + | + +-- MarkdownRenderer .prose + | + +-- markstream-vue code block + | + +-- code-editor-container / code-pre-fallback / pre + - overflow: auto + - wrapping may be implicit + - internal scrollbar can appear/disappear while settling + - code content area shifts on Windows +``` + +```text +After + +Chat viewport + - unchanged + | + +-- assistant message + | + +-- MarkdownRenderer .prose + | + +-- markstream-vue code block + | + +-- stable internal scrollport + - scrollbar space is reserved or otherwise kept stable + - code wrapping is explicit for Monaco rendering + - fallback/enhanced renderer swaps do not move content +``` + +## Design + +Implement the first fix as a scoped renderer code block stabilization in the app-owned Markdown +renderer. + +Recommended target file: + +- `src/renderer/src/components/markdown/MarkdownRenderer.vue` + +Candidate targets: + +- `.markstream-vue [data-markstream-code-block='1']` +- `.markstream-vue [data-markstream-code-block='1'] .code-editor-container` +- `.markstream-vue [data-markstream-code-block='1'] .code-pre-fallback` +- `.markstream-vue pre[class^='language-']` +- `.markstream-vue pre[class*=' language-']` + +Preferred first increment: + +1. Pass `wordWrap: 'on'` explicitly to Markdown code block Monaco rendering so the app does not + rely on an implicit dependency default. +2. Add `scrollbar-gutter: stable;` to the inner code block scrollports that can create vertical + classic scrollbars. +3. Keep `overflow: auto` so scrollbars are still demand-driven. +4. Do not force `overflow-x: scroll`; default code blocks should wrap. +5. Validate the issue video scenario on Windows. +6. If a horizontal scrollbar still appears in default wrapped mode, identify which renderer path is + bypassing wrap before adding any scrollbar fallback. + +Avoid these first: + +- Do not add another outer `scrollbar-gutter` to `ChatPage.vue`; it already exists. +- Do not set global `overflow-y: scroll`. +- Do not force permanent horizontal scrollbars in default wrapped code blocks. +- Do not apply broad scrollbar rules to all `.prose` content. + +## Compatibility + +- The reported runtime is Electron/Chromium on Windows. Modern Chromium supports + `scrollbar-gutter`. +- macOS overlay scrollbars should not show meaningful visual changes because overlay scrollbars do + not consume layout gutter space. +- Linux classic scrollbar behavior should benefit from the same scoped stabilization. + +## Risk Areas + +- Horizontal scrollbar appearance in default wrapped mode would indicate a renderer path bypassing + wrapping; it must be verified on Windows with classic scrollbars. +- `markstream-vue` uses scoped compiled CSS, so app overrides need enough selector specificity. +- Code block fallback and enhanced editor layers overlap during streaming; a fix must avoid clipping + either layer. +- Permanent horizontal scrollbars would be noisy and conflict with the expected default wrapping + behavior. + +## Test Strategy + +Automated checks: + +- Add or update a renderer test around `MarkdownRenderer` if implementation introduces a stable app + class or data attribute that can be asserted in jsdom. +- Add a browser-level regression check when practical: + - mount a Markdown response with a streaming code block; + - append content until the code block crosses the overflow threshold; + - measure the code block rect and first code line rect before and after the scrollbar transition; + - fail if position changes by more than 1 px. + +Manual Windows validation: + +1. Run the app on Windows 11. +2. Open a chat and stream a response containing a long fenced code block with enough lines to make + the block overflow. +3. Watch the code block during streaming and completion. +4. Confirm normal long code wraps by default and does not show a permanent horizontal scrollbar. +5. Confirm the outer chat scrollbar, sticky input, and auto-follow behavior are unchanged. +6. Repeat once in dark theme. + +Quality gates after implementation: + +- `pnpm run format` +- `pnpm run i18n` +- `pnpm run lint` +- `pnpm run typecheck` +- Targeted renderer test, for example `pnpm test:renderer -- MarkdownRenderer` + +## Validation Fixture + +Use Markdown content shaped like the issue video: + +````markdown +### Comparison + +```java +String sql = "SELECT * FROM users WHERE id = ?"; +PreparedStatement ps = conn.prepareStatement(sql); +ps.setInt(1, 1); +ResultSet rs = ps.executeQuery(); +while (rs.next()) { + String name = rs.getString("name"); + int age = rs.getInt("age"); +} + +// Repeat enough long lines to exercise wrapping and code block overflow on Windows classic scrollbars. +String veryLongLine = "SELECT first_name, last_name, email, created_at FROM users WHERE account_status = 'active' ORDER BY created_at DESC"; +``` +```` + +Expected behavior: the long code line wraps by default. If a real scrollbar is needed for vertical +overflow, the code content and block geometry should not jump while the scrollbar state changes. diff --git a/docs/issues/markdown-codeblock-scrollbar-jitter/spec.md b/docs/issues/markdown-codeblock-scrollbar-jitter/spec.md new file mode 100644 index 000000000..bae6e90c0 --- /dev/null +++ b/docs/issues/markdown-codeblock-scrollbar-jitter/spec.md @@ -0,0 +1,98 @@ +# Markdown Codeblock Scrollbar Jitter + +## Source + +- GitHub issue: https://github.com/ThinkInAIXYZ/deepchat/issues/1763 +- Reported environment: Windows 11 Home Chinese, DeepChat v1.0.6-beta.5. +- Symptom: assistant Markdown rendering shows visible scrollbar jitter while generated content settles. +- Attached video: `20260612_174024.mp4`, linked from the issue body. +- Related comments: + - https://github.com/ThinkInAIXYZ/deepchat/issues/1763#issuecomment-4706327016 + - https://github.com/ThinkInAIXYZ/deepchat/issues/1763#issuecomment-4714279781 + +## Problem Determination + +The issue is most likely not caused by the outer chat viewport scrollbar. + +Evidence: + +- The issue video shows the visible jump inside a rendered Markdown code block. A horizontal + scrollbar is visible during settling, but default code block rendering is expected to wrap, so the + scrollbar should not be treated as the desired steady state. +- The outer chat container already reserves vertical scrollbar space in `ChatPage.vue` via + `.message-list-container { scrollbar-gutter: stable both-edges; }`. +- `MarkdownRenderer.vue` wraps `markstream-vue`'s `NodeRenderer` in a `.prose` container, but does + not add any scrollbar stability rule for inner Markdown scrollports. +- `markstream-vue@1.0.1-beta.4` renders code blocks through `CodeBlockNode`, including + `.code-block-container`, `.code-editor-container`, `.code-pre-fallback`, and + `pre[class^=language-]` nodes that use `overflow: auto`. +- `markstream-vue` defaults code block word wrapping to enabled when `monacoOptions.wordWrap` is not + set to `off`, and its fallback `.code-pre-fallback.is-wrap` CSS uses wrapping rules. +- On Windows classic scrollbars consume layout space. When an inner code block switches between + fallback and enhanced rendering, or crosses an overflow threshold during streaming, those + internal scrollbars can change the code block's available content area and cause visible jitter. + +## Comment Assessment + +The comment suggesting `scrollbar-gutter: stable` is directionally reasonable, but it must be +applied to the scrollable Markdown/code block nodes that actually jitter. Applying it only to the +outer chat page would likely be ineffective because the outer container already has a stable gutter. + +`overflow-y: scroll` is a weaker fit for this report: + +- The captured symptom is inside a Markdown code block, and the most visible scrollbar in the video + is horizontal. +- Forcing vertical scrollbars globally would add permanent scrollbar chrome to many non-problem + containers. +- Forcing a horizontal scrollbar would normalize an unreasonable default state; the first fix should + preserve automatic wrapping and only stabilize real scroll containers. + +MDN documents `scrollbar-gutter` as a way to reserve classic scrollbar space for scroll containers, +with `both-edges` mirroring the gutter on inline edges. This supports using it for vertical +scrollbar reflow, but horizontal scrollbar behavior still needs explicit Windows validation. + +## User Need + +As a Windows user reading a streaming assistant response, I need Markdown code blocks to remain +visually stable while content is rendered, so the response does not look like it is shaking or +reflowing around scrollbars. + +## Goals + +- Stabilize Markdown code block scrollports on Windows classic scrollbar environments. +- Preserve default automatic wrapping for Markdown code blocks. +- Keep the existing outer chat scroll behavior unchanged. +- Avoid introducing permanent horizontal scrollbars for normal wrapped code. +- Preserve code block rendering in chat messages, artifacts, and workspace Markdown preview. +- Keep the fix scoped to renderer styling unless validation proves the issue is in + `markstream-vue` behavior. + +## Acceptance Criteria + +- A streaming Markdown response containing a long code block does not visibly jitter when the code + block crosses an overflow threshold. +- The code block container width, block height, and first rendered code line position remain stable + within 1 px while fallback/enhanced code rendering settles. +- Long code lines wrap by default and do not gain a permanent horizontal scrollbar in normal chat + rendering. +- Normal Markdown paragraphs do not gain unwanted permanent scrollbars or extra spacing. +- Chat auto-follow, manual scroll-away, and session restore behavior remain unchanged. +- Markdown artifacts and workspace Markdown previews render without clipped code blocks. +- Light and dark themes keep the current code block visual style. + +## Non-goals + +- Redesign the Markdown renderer. +- Replace `markstream-vue`. +- Rewrite chat scrolling or virtualization. +- Add a user-facing setting. +- Hide scrollbars with `scrollbar-width: none`, because that weakens discoverability and + accessibility. + +## Constraints + +- Keep the implementation local to renderer Markdown/code block styling if possible. +- Do not patch files under `node_modules`. +- Prefer CSS overrides in app-owned files over dependency forks. +- Do not force permanent horizontal scrollbars as a default-mode fallback. +- No new runtime dependencies. diff --git a/docs/issues/markdown-codeblock-scrollbar-jitter/tasks.md b/docs/issues/markdown-codeblock-scrollbar-jitter/tasks.md new file mode 100644 index 000000000..74b90161d --- /dev/null +++ b/docs/issues/markdown-codeblock-scrollbar-jitter/tasks.md @@ -0,0 +1,34 @@ +# Markdown Codeblock Scrollbar Jitter Tasks + +## Investigation + +- [x] Read GitHub issue 1763 and current comments. +- [x] Download and inspect the attached issue video. +- [x] Confirm the visible jitter is inside a Markdown code block, not the outer chat viewport. +- [x] Check local chat container styling and confirm the outer viewport already uses + `scrollbar-gutter: stable both-edges`. +- [x] Check `MarkdownRenderer.vue` and `markstream-vue` code block output for inner + `overflow: auto` scrollports. +- [x] Assess the comment recommendation and document the scope correction. + +## Implementation + +- [x] Make Markdown code block Monaco word wrapping explicit. +- [x] Add scoped CSS stabilization for Markdown code block scrollports. +- [x] Keep normal Markdown paragraphs and non-scrollable blocks unaffected. +- [x] Avoid forcing permanent horizontal scrollbars in default wrapped code blocks. +- [ ] Validate whether `scrollbar-gutter: stable` is enough for the Windows issue video scenario. +- [x] Add or update a focused renderer/browser regression check where practical. + +## Verification + +- [ ] Run the original issue-style Markdown fixture on Windows 11. +- [ ] Verify chat message code blocks during streaming and after completion. +- [ ] Verify Markdown artifacts. +- [ ] Verify workspace Markdown preview. +- [ ] Verify light and dark themes. +- [x] Run `pnpm run format`. +- [x] Run `pnpm run i18n`. +- [x] Run `pnpm run lint`. +- [x] Run `pnpm run typecheck`. +- [x] Run targeted renderer tests for `MarkdownRenderer`. diff --git a/docs/issues/markdown-codeblock-session-scroll-regressions/plan.md b/docs/issues/markdown-codeblock-session-scroll-regressions/plan.md deleted file mode 100644 index b596fbed1..000000000 --- a/docs/issues/markdown-codeblock-session-scroll-regressions/plan.md +++ /dev/null @@ -1,101 +0,0 @@ -# Plan - -## Diagnosis - -### Code Block Toolbar - -`src/renderer/src/assets/style.css` imports `markstream-vue/index.tailwind.css`, but Tailwind still -needs to scan the package's generated class candidates. The current source points at: - -```css -@source '../../../../node_modules/markstream-vue/dist/tailwind.ts'; -``` - -The installed `markstream-vue@1.0.0-rc.0` package ships `dist/tailwind.js` and -`dist/tailwind.d.ts`, not `dist/tailwind.ts`. Because the source target does not exist, Tailwind -does not see the class candidates used by the package's code block shell, including -`code-block-header`, `px-[var(--ms-inset-panel-x)]`, `py-[var(--ms-inset-panel-y)]`, and -`p-[var(--ms-action-btn-padding)]`. - -The package CSS import still provides variables and base styles, so the failure appears as a partial -style regression instead of a fully unstyled component. - -### Session Switch Scroll - -`src/renderer/src/pages/ChatPage.vue` restores a session by loading messages, waiting for -`nextTick()`, syncing scroll metrics, and then calling `scrollToBottom(true)`. -`scrollToBottom(true)` currently performs a single `requestAnimationFrame` measurement and sets -`scrollTop` from the scroll height available in that frame. - -Message rows use `content-visibility: auto` with `contain-intrinsic-size: auto 180px`, and rendered -message content can continue changing size after the first frame. Markdown blocks, code blocks, -images, status rows, and input-area layout can all increase the final scroll height after the forced -scroll has already run. Since no message revision necessarily changes after this late layout settle, -the existing auto-follow watchers do not perform another corrective scroll. - -## Proposed Solution - -### 1. Restore `markstream-vue` Tailwind Scanning - -- Change the renderer Tailwind source from `dist/tailwind.ts` to `dist/tailwind.js`. -- Keep the existing `@import 'markstream-vue/index.tailwind.css'` import for package CSS and design - variables. -- Add a focused guard so future package path changes fail loudly. The guard should verify that - representative code block class candidates from `markstream-vue` are included in Tailwind's source - scanning or generated CSS. -- Manually verify a rendered code block in light and dark themes after the implementation. - -### 2. Settle Bottom Scroll During Session Restore - -- Add a dedicated session-restore bottom-scroll helper instead of changing normal streaming - auto-follow behavior. -- The helper should force bottom scroll immediately after session restore and then continue for a - short bounded settle window. -- Recommended implementation: - - Use a session-local request id so pending settle work cancels when the user switches sessions - again. - - Run a small number of animation-frame retries and stop once `scrollHeight` has remained stable - for consecutive frames. - - Attach a temporary `ResizeObserver` to the scroll area or message root for roughly the first - few hundred milliseconds, forcing bottom again when late layout changes arrive. - - Disconnect the observer and cancel queued frames once the settle window ends, a spotlight jump is - requested, the session changes, or the user intentionally scrolls away. -- Keep the current near-bottom logic for streaming updates so the previous bottom-shake fix remains - intact. - -### 3. Force Bottom Scroll After User Submit - -- User submit is an explicit intent to continue at the newest message, so submit and command-submit - paths should schedule a forced bottom scroll after input state has cleared. -- This scroll should complement, not replace, the normal message-list watcher. The forced pass makes - the watcher robust when `isNearBottom` was stale after session restore or late layout changes. - -## Affected Interfaces - -- `src/renderer/src/assets/style.css` -- `src/renderer/src/pages/ChatPage.vue` -- Potential focused tests under `test/renderer/**` - -No main-process, IPC, persisted data, or i18n surfaces are expected to change. - -## Compatibility - -- The Tailwind path fix should be compatible with the current pnpm-linked package layout because it - targets the file that exists in the installed package. -- Session scroll settling is renderer-only and should not change saved session data. -- The bounded observer/retry design keeps the existing `content-visibility` optimization in place - and limits extra work to the initial restore window. - -## Test Strategy - -- Add or update a renderer-side guard that fails if `markstream-vue` code block utility candidates - are no longer visible to Tailwind scanning. -- Add a focused `ChatPage` test that simulates session restore followed by a late `scrollHeight` - increase without a message revision change, then asserts the scroll position reaches the new - bottom. -- Keep or extend existing streaming auto-follow tests to verify the session-restore helper does not - force bottom after the user scrolls away. -- Add a focused submit test that first records a non-bottom scroll metric, sends a message, and then - asserts the submit path still forces bottom scroll. -- After implementation, run the required project checks: `pnpm run format`, `pnpm run i18n`, and - `pnpm run lint`, plus targeted renderer tests. diff --git a/docs/issues/markdown-codeblock-session-scroll-regressions/tasks.md b/docs/issues/markdown-codeblock-session-scroll-regressions/tasks.md deleted file mode 100644 index 852fd2d9a..000000000 --- a/docs/issues/markdown-codeblock-session-scroll-regressions/tasks.md +++ /dev/null @@ -1,14 +0,0 @@ -# Tasks - -- [x] Investigate the compact code block toolbar regression. -- [x] Investigate the session-switch bottom scroll regression. -- [x] Record proposed fixes for discussion before implementation. -- [x] Confirm the implementation approach with the reviewer. -- [x] Update the `markstream-vue` Tailwind source path from `dist/tailwind.ts` to - `dist/tailwind.js`. -- [x] Add a focused guard for representative `markstream-vue` code block utility candidates. -- [x] Add bounded session-restore scroll settling with cancellation and user-scroll guards. -- [x] Add renderer coverage for late layout growth after session restore. -- [x] Add renderer coverage for forced bottom scroll after submit. -- [ ] Manually verify code block rendering and session switching in the app. -- [x] Run `pnpm run format`, `pnpm run i18n`, `pnpm run lint`, and targeted renderer tests. diff --git a/docs/issues/mcp-server-form-auto-approve-controls/plan.md b/docs/issues/mcp-server-form-auto-approve-controls/plan.md new file mode 100644 index 000000000..9702e007b --- /dev/null +++ b/docs/issues/mcp-server-form-auto-approve-controls/plan.md @@ -0,0 +1,15 @@ +# MCP Server Form Auto Approve Controls Plan + +## Approach + +Restore the existing checkbox component binding for the MCP server form auto-approve options. +Keep the submitted `MCPServerConfig.autoApprove` shape unchanged. + +## Implementation + +- Import the shared checkbox component used by the form template. +- Verify edit-mode initial values and submit behavior for read/write permissions. + +## Verification + +- `pnpm vitest --config vitest.config.renderer.ts test/renderer/components/McpServerForm.test.ts` diff --git a/docs/issues/mcp-server-form-auto-approve-controls/spec.md b/docs/issues/mcp-server-form-auto-approve-controls/spec.md new file mode 100644 index 000000000..6b19b10ac --- /dev/null +++ b/docs/issues/mcp-server-form-auto-approve-controls/spec.md @@ -0,0 +1,36 @@ +# MCP Server Form Auto Approve Controls Spec + +## Goal + +Restore editable auto-approve controls in the MCP server add/edit form. + +## Requirements + +- The MCP add server form displays interactive controls for All, Read, and Write auto-approve options. +- The MCP edit server form displays the same controls and initializes them from `initialConfig.autoApprove`. +- Submitting the form persists the selected values through `MCPServerConfig.autoApprove`. +- Existing server fields, route contracts, and store behavior remain unchanged. + +## Layout + +Before: + +```text +Auto Approve + All + Read + Write +``` + +After: + +```text +Auto Approve + [ ] All + [ ] Read + [ ] Write +``` + +## Compatibility + +MCP config keys and saved `autoApprove` values remain unchanged. diff --git a/docs/issues/mcp-server-form-auto-approve-controls/tasks.md b/docs/issues/mcp-server-form-auto-approve-controls/tasks.md new file mode 100644 index 000000000..37a2f2a59 --- /dev/null +++ b/docs/issues/mcp-server-form-auto-approve-controls/tasks.md @@ -0,0 +1,6 @@ +# MCP Server Form Auto Approve Controls Tasks + +- [x] Restore the checkbox component import. +- [x] Add a renderer component test for editable auto-approve controls. +- [x] Assert selected read/write permissions are submitted through `autoApprove`. +- [x] Run targeted renderer test. diff --git a/docs/issues/merged-activity-groups/plan.md b/docs/issues/merged-activity-groups/plan.md deleted file mode 100644 index 7604f63b7..000000000 --- a/docs/issues/merged-activity-groups/plan.md +++ /dev/null @@ -1,32 +0,0 @@ -# Plan - -## Current Behavior - -`buildAssistantRenderItems` buffers completed reasoning and tool-call blocks while grouping is -enabled. The buffer flushes when a block is not completed activity. - -In affected histories, an empty `reasoning_content` block with provider metadata can sit between -visible reasoning and tool-call blocks. Because that empty reasoning block is not visible but still -flushes the activity buffer, one continuous assistant work span becomes several activity summaries. - -The compact summary details are currently hidden with `v-show`, so expansion changes the detail body -from `display: none` to normal layout in one frame. Long merged activity histories can make the -message list jump visibly while row measurement catches up. - -## Implementation - -- Treat empty settled reasoning blocks as invisible metadata blocks for activity grouping. -- Keep buffering visible completed reasoning and tool calls across those ignored metadata blocks. -- Replace the activity group detail `v-show` with an always-mounted transition shell that animates - grid row height and opacity. -- Avoid leaving collapsed spacing behind by moving the body gap to the animated shell's expanded - margin state. -- Mark the collapsed shell inert so mounted hidden controls cannot receive focus or pointer input. -- Add renderer regression coverage around provider signed empty reasoning blocks. -- Update the activity group component test to assert accessible collapsed state and mounted details - rather than relying on `display: none` visibility. - -## Validation - -- Run focused renderer tests for message activity grouping. -- Run repository-required quality gates: `pnpm run format`, `pnpm run i18n`, and `pnpm run lint`. diff --git a/docs/issues/merged-activity-groups/spec.md b/docs/issues/merged-activity-groups/spec.md deleted file mode 100644 index feb93f4bc..000000000 --- a/docs/issues/merged-activity-groups/spec.md +++ /dev/null @@ -1,42 +0,0 @@ -# Merged Activity Groups - -## Problem - -Some providers emit an empty `reasoning_content` block carrying provider metadata between visible -reasoning and tool-call blocks. The chat view does not render that empty reasoning block, but the -activity grouping pass currently treats it as a normal boundary. This splits one continuous assistant -work span into several collapsed activity summaries. - -## User Story - -As a chat user reviewing an imported or previously merged session, I want reasoning and tool-call -activity to stay attached to the correct assistant segment so expanded activity details match the -visible answer they summarize. - -## Acceptance Criteria - -- Empty reasoning metadata blocks do not split the reasoning/tool-call activity they sit between. -- Consecutive activity blocks within the same assistant segment collapse into one compact summary. -- Internal tool calls remain hidden from the assistant activity list. -- The final assistant text continues to render after its activity summaries. -- Expanding or collapsing the compact activity summary does not hard-toggle the details with - `display: none`; details remain mounted and use a bounded height/opacity transition to reduce - scroll and layout jitter. Collapsed details are not pointer- or keyboard-interactive. -- The compact activity summary keeps the chevron and title close enough to read as one control. -- A regression test covers the MiniMax-style sequence: visible reasoning, empty signed reasoning, - tool call, next visible reasoning, empty signed reasoning, next tool call. -- A component test covers the collapsed and expanded activity detail states after the transition - wrapper change. - -## Non-goals - -- Redesign activity group copy, visual hierarchy, or per-block detail components. -- Change session storage or import schema. -- Change the content of reasoning/tool-call blocks. - -## Constraints - -- Keep the fix scoped to renderer-side render item construction unless investigation shows the source - data is malformed. -- Do not introduce new user-facing strings. -- Follow existing message rendering and test patterns. diff --git a/docs/issues/merged-activity-groups/tasks.md b/docs/issues/merged-activity-groups/tasks.md deleted file mode 100644 index f45478f7a..000000000 --- a/docs/issues/merged-activity-groups/tasks.md +++ /dev/null @@ -1,9 +0,0 @@ -# Tasks - -- [x] Trace assistant block metadata and existing grouping tests. -- [x] Add a regression test for empty signed reasoning blocks between reasoning and tool calls. -- [x] Update activity grouping to honor segment boundaries. -- [x] Smooth the activity group detail expand/collapse path to reduce layout jitter. -- [x] Update component assertions for the always-mounted transition shell. -- [x] Run focused tests and required quality gates. -- [x] Tighten the activity summary chevron/title spacing. diff --git a/docs/issues/minimax-model-matching/plan.md b/docs/issues/minimax-model-matching/plan.md new file mode 100644 index 000000000..cc381ffa2 --- /dev/null +++ b/docs/issues/minimax-model-matching/plan.md @@ -0,0 +1,7 @@ +# Plan + +1. Fix provider DB model ID comparison in `ModelConfigHelper`. +2. Add a narrow MiniMax-M3 config correction for interleaved thinking and the documented context + window. +3. Add MiniMax-M3 adaptive thinking provider options for Anthropic-compatible runtime. +4. Cover the behavior with focused unit tests. diff --git a/docs/issues/minimax-model-matching/spec.md b/docs/issues/minimax-model-matching/spec.md new file mode 100644 index 000000000..9f3960894 --- /dev/null +++ b/docs/issues/minimax-model-matching/spec.md @@ -0,0 +1,27 @@ +# MiniMax model matching and thinking + +## Problem + +MiniMax provider models with mixed-case IDs such as `MiniMax-M3` and `MiniMax-M2.5` can miss +provider DB-derived configuration because model config lookup lowercases the requested model ID but +compares it with the raw DB model ID. + +MiniMax-M3 also requires explicit Anthropic-compatible `thinking: { type: "adaptive" }` to emit +thinking blocks. Current Anthropic-compatible provider options only send `thinking` for official +Anthropic adaptive reasoning or budget-based thinking. + +## Acceptance Criteria + +- Provider DB model lookup matches model IDs case-insensitively while keeping provider matching + strict. +- MiniMax mixed-case model IDs inherit provider DB context, output, multimodal, tool-call, and + reasoning defaults. +- MiniMax-M3 defaults to interleaved thinking compatibility even if the provider DB source has not + caught up. +- MiniMax-M3 sends Anthropic-compatible adaptive thinking when reasoning is enabled. +- Reasoning-disabled MiniMax-M3 requests do not send adaptive thinking. + +## Non-goals + +- Do not route MiniMax through Anthropic provider capability semantics. +- Do not change Claude or generic Anthropic proxy behavior. diff --git a/docs/issues/minimax-model-matching/tasks.md b/docs/issues/minimax-model-matching/tasks.md new file mode 100644 index 000000000..9e519f31b --- /dev/null +++ b/docs/issues/minimax-model-matching/tasks.md @@ -0,0 +1,6 @@ +# Tasks + +- [x] Add provider DB case-insensitive matching coverage. +- [x] Fix `ModelConfigHelper` matching and MiniMax-M3 defaults. +- [x] Add MiniMax-M3 provider options coverage. +- [x] Run focused tests. diff --git a/docs/issues/onboarding-provider-mcp-handoff/plan.md b/docs/issues/onboarding-provider-mcp-handoff/plan.md deleted file mode 100644 index d13105124..000000000 --- a/docs/issues/onboarding-provider-mcp-handoff/plan.md +++ /dev/null @@ -1,42 +0,0 @@ -# Implementation Plan - -## Cause - -There are two independent fragility points on the renderer side. Both surface -in packaged builds because timing in production is less forgiving than in dev. - -1. `useGuidedOnboardingStep.setStepStatus` returns the previous (possibly - `null`) value of its internal `onboardingState` ref when the backend IPC - throws. `continueGuidedOnboardingFromSettings` then resolves a `null` step - id, hits the fallback branch, and calls `windowPresenter.focusMainWindow()` - instead of `router.push({ name: 'settings-mcp' })`. The backend state is - already correct — the renderer just doesn't see it on the relevant tick. - -2. `GuidedOnboardingOverlay` always renders the dim `` from - `OnBoardingSpotlight`, even when `useOnBoarding` has not produced a - spotlight rect yet (target element not yet sized). With no cutout the path - covers the entire viewport with `pointer-events: auto`, producing the - "full-window dim, no popover, can't click" symptom while the layout - stabilizes. - -## Change - -- **Renderer composable resilience.** In `useGuidedOnboardingStep`, when an - onboarding IPC call fails, fall back to fetching fresh state via - `onboardingClient.getState()` before returning to the caller. Apply to - `setStepStatus`, `activateStep`, and `forceComplete` paths. -- **Navigation helper resilience.** `continueGuidedOnboardingFromSettings` - refreshes its `state` from `onboardingClient.getState()` when the caller - passes a `null`/stale value, so that a transient renderer hiccup cannot - force the helper into the "focus main window" branch. -- **Overlay defensive rendering.** `OnBoardingSpotlight` only renders its - dim `` when a cutout is present. With no cutout the parent overlay - still allows the panel to render at its fallback coordinates, but the - blocking dim no longer covers the window. - -## Validation - -- `pnpm run format` -- `pnpm run i18n` -- `pnpm run lint` -- `pnpm run typecheck` diff --git a/docs/issues/onboarding-provider-mcp-handoff/spec.md b/docs/issues/onboarding-provider-mcp-handoff/spec.md deleted file mode 100644 index 4142dbb94..000000000 --- a/docs/issues/onboarding-provider-mcp-handoff/spec.md +++ /dev/null @@ -1,39 +0,0 @@ -# Onboarding Provider → MCP Handoff - -## Problem - -In packaged builds, after the user finishes the `provider-model` guided step the -settings window does not automatically advance to the `settings-mcp` route, so -the MCP coachmark never appears in the expected sequence. Reopening the -settings window and clicking the MCP tab afterwards does surface the MCP -overlay, but in this fallback path the overlay renders as a full-window dim -without a visible popover, blocking subsequent interaction. - -Locally (dev) the same flow is continuous. The divergence is timing- and -device-sensitive — the user could not reproduce on their own machine but -observed it on another machine. - -## User Story - -As a first-time user completing the provider step in the packaged app, I want -the guide to continue into the MCP step without me having to navigate manually, -and when the MCP overlay does appear I want to be able to read it and click -through it. - -## Acceptance Criteria - -- After `provider-model` completes, the settings window advances to - `settings-mcp` even when the per-step state returned from the backend is - stale or missing, as long as the backend has actually progressed. -- When the guided onboarding overlay is asked to render but the spotlight - target element is not yet sized, the dim layer does not cover the window — - no interaction is blocked while the target is still being laid out. -- Existing behavior is preserved: when the target element is sized the dim and - cutout render as before and the user-facing copy/keys do not change. - -## Non-goals - -- No change to the backend step ordering or migration logic in - `onboardingRouteSupport.ts`. -- No redesign of the onboarding panel layout or copy. -- No change to the welcome page / main-window flow. diff --git a/docs/issues/onboarding-provider-mcp-handoff/tasks.md b/docs/issues/onboarding-provider-mcp-handoff/tasks.md deleted file mode 100644 index 5a511048c..000000000 --- a/docs/issues/onboarding-provider-mcp-handoff/tasks.md +++ /dev/null @@ -1,7 +0,0 @@ -# Tasks - -- [x] Add SDD artifacts. -- [x] Harden `useGuidedOnboardingStep` IPC failure paths with a `getState` fallback. -- [x] Refresh `state` inside `continueGuidedOnboardingFromSettings` when caller passes a null/stale value. -- [x] Stop rendering the dim path in `OnBoardingSpotlight` when there is no cutout. -- [x] Run `pnpm run format`, `pnpm run i18n`, `pnpm run lint`, and `pnpm run typecheck`. diff --git a/docs/issues/openai-compatible-video-prompt-duration-fallback/plan.md b/docs/issues/openai-compatible-video-prompt-duration-fallback/plan.md deleted file mode 100644 index 2f7ed4812..000000000 --- a/docs/issues/openai-compatible-video-prompt-duration-fallback/plan.md +++ /dev/null @@ -1,21 +0,0 @@ -# Plan - -## Approach -Add a small runtime helper that extracts an integer duration from obvious prompt hints only when structured video settings are absent and the parsed value is supported by the active model, then reuse that helper for both request tracing and the actual `/videos` request body. - -## Implementation -- Add a focused runtime test that exercises the OpenAI-compatible `/videos` flow and asserts `duration: 2` is sent for prompts like `... 2s`. -- Add a conservative prompt-duration extractor for `Ns`, `N sec`, `N seconds`, and `N秒`. -- Enforce model-specific validity before injecting the derived duration (for Seedance, `4~15`). -- Apply the fallback only when `videoGeneration.duration` and `videoGeneration.seconds` are both unset. - -## Affected Files -- `src/main/presenter/llmProviderPresenter/aiSdk/runtime.ts` -- `test/main/presenter/llmProviderPresenter/aiSdkRuntime.test.ts` -- `docs/issues/openai-compatible-video-prompt-duration-fallback/tasks.md` - -## Validation -- Focused AI SDK runtime tests for video request bodies. -- `pnpm run format` -- `pnpm run i18n` -- `pnpm run lint` diff --git a/docs/issues/openai-compatible-video-prompt-duration-fallback/spec.md b/docs/issues/openai-compatible-video-prompt-duration-fallback/spec.md deleted file mode 100644 index 04f28d04b..000000000 --- a/docs/issues/openai-compatible-video-prompt-duration-fallback/spec.md +++ /dev/null @@ -1,25 +0,0 @@ -# OpenAI-Compatible Video Prompt Duration Fallback - -## User Need -When users send prompts such as `生成 马斯克 喝酒的视频 2s` to OpenAI-compatible video models, DeepChat should preserve the obvious structured duration hint instead of sending only the raw prompt body. - -## Goal -Infer an explicit video duration from clear prompt suffixes like `5s` or `5秒` when the session has no structured video duration configured and the parsed value is valid for the target model. - -## Acceptance Criteria -1. OpenAI-compatible video requests derive `duration` from obvious prompt hints when neither `duration` nor `seconds` is already configured and the parsed value is valid for the current model. -2. Explicit structured video settings still take precedence over any prompt-derived fallback. -3. The emitted request trace matches the actual `/videos` body for this fallback. -4. Focused validation passes for the touched runtime slice. - -## Constraints -- Keep the fallback narrow and conservative; do not attempt broad natural-language parameter parsing. -- Preserve existing request-shape compatibility and polling behavior. - -## Non-Goals -- Adding or changing video settings UI. -- Parsing arbitrary style, ratio, or resolution hints from prompts. -- Changing provider safety or moderation behavior. - -## Open Questions -- None. diff --git a/docs/issues/openai-compatible-video-prompt-duration-fallback/tasks.md b/docs/issues/openai-compatible-video-prompt-duration-fallback/tasks.md deleted file mode 100644 index bed18d1c6..000000000 --- a/docs/issues/openai-compatible-video-prompt-duration-fallback/tasks.md +++ /dev/null @@ -1,11 +0,0 @@ -# Tasks - -## Runtime Fallback -- [x] Add a runtime regression test for prompt-derived video duration. -- [x] Apply a conservative prompt duration fallback before building `/videos` requests. - -## Validation -- [x] Run focused AI SDK runtime tests. -- [x] Run `pnpm run format`. -- [x] Run `pnpm run i18n`. -- [x] Run `pnpm run lint`. diff --git a/docs/issues/opendal-native-binding-release/plan.md b/docs/issues/opendal-native-binding-release/plan.md deleted file mode 100644 index 2cd04b012..000000000 --- a/docs/issues/opendal-native-binding-release/plan.md +++ /dev/null @@ -1,13 +0,0 @@ -# Plan - -## Approach -Use the normal dependency-graph path used by native packages that are loaded through Node's module resolver. Add the platform OpenDAL binding packages as root optional dependencies so electron-builder sees them before creating `app.asar`, then unpack those packages with `asarUnpack`. - -Keep the FFF-only `afterPack` copy path separate. FFF resolves copied binaries by explicit file path; OpenDAL's generated loader uses `require()`, so its binding package must exist in the packed dependency graph. - -## Validation -- Run `pnpm run format` -- Run `pnpm run i18n` -- Run `pnpm run lint` -- Run `pnpm run typecheck` -- Run a local unpacked mac build if time allows to inspect app resources. diff --git a/docs/issues/opendal-native-binding-release/spec.md b/docs/issues/opendal-native-binding-release/spec.md deleted file mode 100644 index d9f3efc8a..000000000 --- a/docs/issues/opendal-native-binding-release/spec.md +++ /dev/null @@ -1,16 +0,0 @@ -# OpenDAL native binding release crash - -## User Story -Users installing `v1.0.6-beta.4` can launch DeepChat successfully on every packaged platform after the cloud sync migration to OpenDAL. - -## Problem -The packaged app starts with `opendal/generated.js` but cannot resolve the platform native binding package such as `@opendal/lib-darwin-arm64`, causing a main-process crash before the UI loads. - -## Acceptance Criteria -- Packaged builds include the platform-specific OpenDAL native binding package in the Electron app module resolution path. -- The native binding package files are unpacked so Electron can load the `.node` binary. -- Local release checks pass. - -## Non-goals -- Change cloud sync behavior. -- Replace OpenDAL. diff --git a/docs/issues/opendal-native-binding-release/tasks.md b/docs/issues/opendal-native-binding-release/tasks.md deleted file mode 100644 index 69548ef58..000000000 --- a/docs/issues/opendal-native-binding-release/tasks.md +++ /dev/null @@ -1,6 +0,0 @@ -# Tasks - -- [x] Add OpenDAL native binding package resolution in `scripts/afterPack.js` -- [x] Add OpenDAL native packages to `asarUnpack` -- [x] Run release checks -- [ ] Prepare and publish `v1.0.6-beta.5` diff --git a/docs/issues/parcel-watcher-issue-1764/plan.md b/docs/issues/parcel-watcher-issue-1764/plan.md new file mode 100644 index 000000000..037d8c900 --- /dev/null +++ b/docs/issues/parcel-watcher-issue-1764/plan.md @@ -0,0 +1,345 @@ +# Parcel Watcher Issue 1764 Plan + +## Architecture + +Add a main-process watcher facade backed by Electron utility process hosts: + +```text +Renderer + -> WorkspaceClient / existing typed events + -> WorkspacePresenter / SkillPresenter + -> WatcherService facade in Electron main + -> WatcherHostClient + -> Electron utilityProcess + -> @parcel/watcher subscriptions +``` + +Recommended file layout: + +```text +src/main/fileWatcherUtilityHostEntry.ts +src/main/lib/fileWatcher/ + eventCoalescer.ts + watcherHost.ts + watcherHostClient.ts + watcherPool.ts + watcherService.ts + watcherTypes.ts +``` + +Responsibilities: + +- `WatcherService` is the only watcher dependency injected into Presenters. +- `WatcherHostClient` owns utility process startup, restart, shutdown, and RPC correlation. +- `WatcherPool` deduplicates logical requests and reference-counts feature subscribers. +- `watcherHost` imports `@parcel/watcher` and owns native subscriptions. +- `eventCoalescer` maps `create | update | delete` into stable DeepChat watcher events and + collapses create/delete/update bursts before they cross the process boundary. + +The first implementation uses two independently restartable host instances: + +```text +content watcher host + -> workspace content + -> skill hot reload + +git watcher host + -> git HEAD/index/packed-refs/refs metadata +``` + +This keeps native watcher fd usage and event storms outside the Electron main process. A watcher +host crash becomes a degraded watcher state, while the main process and the background exec utility +remain spawnable. + +## VS Code-Inspired Rules + +- Watcher and feature code stay decoupled through logical subscriptions. +- Identical watch requests share one native subscription. +- Parent recursive requests cover child requests when include/exclude rules allow it. +- Raw events are batched for 75 ms before coalescing. +- Batched events are delivered in chunks of at most 500, with 200 ms throttle delay. +- Buffered events cap at 30000 entries; overflow triggers degraded mode and one full refresh. +- Native watcher errors restart the host up to a small cap for transient failures. +- `EMFILE`, `ENOSPC`, and repeated Parcel rescan errors switch to fallback mode. +- Deleted watch roots suspend the native watcher and resume through polling or lifecycle refresh + when the root returns. + +## Dependency And Packaging + +1. Add `@parcel/watcher@^2.5.6` to `dependencies`. +2. Remove `chokidar` from `dependencies`. +3. Refresh `pnpm-lock.yaml`. +4. Add ASAR unpack entries: + +```yaml +asarUnpack: + - '**/node_modules/@parcel/watcher/**/*' + - '**/node_modules/@parcel/watcher-*/**/*' +``` + +5. Add `fileWatcherUtilityHost` to the Electron main build inputs. +6. Verify platform optional packages are present for macOS arm64, macOS x64, Windows x64/arm64, + and Linux x64/arm64 release targets. +7. Add an `afterPack` guard when the unpacked package is absent in a packaged build. + +## Watcher Service Contract + +Use stable request and event types inside `src/main/lib/fileWatcher/watcherTypes.ts`: + +```typescript +export type WatcherHostKind = 'content' | 'git' +export type WatcherEventType = 'create' | 'update' | 'delete' | 'overflow' | 'root-deleted' +export type WatcherMode = 'native' | 'snapshot-polling' | 'git-metadata-polling' +export type WatcherHealth = 'healthy' | 'degraded' | 'failed' + +export interface WatchRequest { + id: string + hostKind: WatcherHostKind + rootPath: string + recursive: boolean + includes?: string[] + excludes: string[] + owner: 'workspace' | 'skill' + purpose: 'workspace-content' | 'workspace-git' | 'skill-hot-reload' + fallbackMode?: 'snapshot-polling' | 'git-metadata-polling' +} + +export interface WatchEventBatch { + requestId: string + rootPath: string + mode: WatcherMode + events: Array<{ type: WatcherEventType; path: string }> +} +``` + +Presenter-facing API: + +```typescript +watch(request: WatchRequest, listener: (batch: WatchEventBatch) => void): Promise +getStatus(requestId: string): WatcherHealth +``` + +`WatchHandle.close()` is async and idempotent. + +## Event Flow + +```text +@parcel/watcher raw batch + -> normalize absolute path + -> apply include/exclude filters + -> buffer for 75 ms + -> coalesce same-path changes + -> drop child deletes covered by parent delete + -> throttle chunks through host RPC + -> WatcherService routes by request id + -> Presenter maps to workspace/skill domain behavior +``` + +Workspace keeps the existing 120 ms invalidation debounce after the watcher service batch. +Skill hot reload keeps a per-path stability delay before parsing `SKILL.md`. + +## Workspace Presenter Integration + +Change watcher runtime state: + +```text +WorkspaceWatchRuntime + contentWatcher: WatchHandle | null + gitWatcher: WatchHandle | null + gitWatchKey: string | null + debounceTimer: NodeJS.Timeout | null + pendingKind: WorkspaceInvalidationKind | null + pendingSource: WorkspaceInvalidationSource | null +``` + +Implementation flow: + +1. Create the runtime with `contentWatcher: null`, store it in `watchRuntimes`, then await the + watcher service subscription. +2. If the runtime is still current after the async subscription resolves, attach the handle. +3. If the runtime was disposed during startup, close the resolved handle immediately. +4. Keep ref counting unchanged. +5. Make `destroy()` await all runtime disposals and update the root Presenter shutdown path to + await it. + +Content watcher rules: + +- Subscribe to the workspace root through the content watcher host. +- Use ignore globs for the existing ignored directories. +- Ignore `.git` children with `**/.git/**`. +- Preserve `.git` directory boundary events so `git init`, repo deletion, and worktree changes can + trigger `refreshGitWatcher()` plus `kind: 'full'`. +- Map content events to `scheduleInvalidation(runtime, 'fs', 'watcher')`. +- Map watcher overflow, host restart, and snapshot polling batches to + `scheduleInvalidation(runtime, 'full', 'fallback')`. + +Git watcher rules: + +- Extend `resolveGitWatchMetadata()` to return watch roots plus tracked metadata paths. +- Subscribe through the git watcher host. +- Watch the smallest stable directory root needed by Parcel, usually the `.git` root. +- Filter events to: + - exact `HEAD`, `index`, and `packed-refs` paths + - descendants of `refs` +- Emit `scheduleInvalidation(runtime, 'git', 'watcher')` for matching events. +- Rebuild git subscriptions when the metadata watch key changes. +- Use fallback polling of git metadata mtimes when the git watcher host is degraded. + +## Large Workspace Fallback + +Fallback is failure-driven and pressure-driven. The implementation avoids recursive preflight +counting. + +Native mode: + +```text +@parcel/watcher subscribe + -> buffer 75 ms + -> coalesce + -> throttle + -> feature listener +``` + +Fallback triggers: + +- native subscribe returns `EMFILE`, `ENOSPC`, or Parcel rescan errors +- utility process exits repeatedly within the restart window +- event buffer reaches the max buffered event cap +- unsubscribe or restart cannot settle within the shutdown timeout + +Fallback modes: + +- `snapshot-polling`: use `@parcel/watcher.writeSnapshot()` and `getEventsSince()` from the + watcher host on a 5000 ms interval for workspace content. +- `git-metadata-polling`: stat `HEAD`, `index`, `packed-refs`, and scan `refs` mtimes from the git + watcher host on a 1000 ms interval. +- Lifecycle fallback: emit a full fallback invalidation when the workspace panel activates or the + workspace path changes. + +Degraded mode emits a typed status event: + +```text +workspace.watch.status.changed + workspacePath + mode: native | snapshot-polling | git-metadata-polling + health: healthy | degraded | failed + reason +``` + +WorkspacePanel warning layout: + +```text ++------------------------------------------------------+ +| Files | +| ! Watching in fallback mode. Changes refresh slower. | +| tree... | ++------------------------------------------------------+ +``` + +## Skill Presenter Integration + +Change skill watcher lifecycle to match async subscription semantics: + +```text +watchSkillFiles(): Promise +stopWatching(): Promise +destroy(): Promise +``` + +Update `ISkillPresenter` and `SkillPresenter.initialize()` accordingly. + +Implementation flow: + +1. Track a pending watcher start promise so repeated `watchSkillFiles()` calls during startup still + create one subscription. +2. Subscribe to `skillsDir` through the content watcher host with ignore globs for + `.deepchat-meta`. +3. Filter events by relative depth so paths deeper than `SKILL_CONFIG.FOLDER_TREE_MAX_DEPTH` are + skipped. +4. Handle only events whose basename is `SKILL.md`. +5. Map Parcel event types: + +```text +update -> current change handler +create -> current add handler +delete -> current unlink handler +``` + +6. Add a per-path stability delay for update/create events before parsing `SKILL.md`, using the + existing `WATCHER_STABILITY_THRESHOLD` value. +7. Ensure `stopWatching()` and `destroy()` close a subscription that resolves after stop was + requested. +8. Use lifecycle fallback for skill hot reload: log degraded mode, invalidate catalog on explicit + install/uninstall/save flows, and keep startup discovery authoritative. + +## Tests + +Update mocks from `chokidar` to `WatcherService` or `WatcherHostClient`. Presenter tests should +mock `WatcherService` so native watcher mechanics stay out of feature tests. + +Watcher infrastructure tests: + +- pools identical watch requests and reference-counts subscribers +- keeps content and git hosts independently restartable +- coalesces create/update/delete bursts +- drops child delete events covered by a parent delete +- throttles batches and enters degraded mode on buffer overflow +- restarts utility process after transient errors and replays active requests +- switches to fallback for `EMFILE`, `ENOSPC`, and Parcel rescan errors +- closes pending and active subscriptions during stop/destroy + +Workspace tests: + +- starts one content subscription and one git subscription for a registered git workspace +- shares runtime by workspace and closes handles after final unwatch +- debounces create/update/delete events into one `fs` invalidation +- emits `git` invalidation only for tracked git metadata events +- refreshes git metadata and emits `full` invalidation for `.git` boundary events +- emits fallback invalidation when watcher status degrades +- ignores configured content directories + +Skill tests: + +- starts one subscription when called repeatedly +- maps `update` to metadata-updated behavior +- maps `create` to installed behavior +- maps `delete` to uninstalled behavior +- keeps duplicate skill-name behavior unchanged +- ignores `.deepchat-meta` +- skips events deeper than `FOLDER_TREE_MAX_DEPTH` +- closes pending and active subscriptions during stop/destroy + +Renderer tests: + +- shows the workspace watcher degraded banner when `workspace.watch.status.changed` reports + degraded mode +- clears the banner when status returns to healthy + +Verification commands: + +```bash +pnpm run typecheck:node +pnpm test -- \ + test/main/lib/fileWatcher \ + test/main/presenter/workspacePresenter.test.ts \ + test/main/presenter/skillPresenter/skillPresenter.test.ts +pnpm test -- test/renderer/components/WorkspacePanel.test.ts +pnpm run format +pnpm run i18n +pnpm run lint +``` + +## Risks + +- Utility process host packaging: + Add build input, ASAR unpack rules, and packaged build guard. +- Native module unavailable in packaged app: + Verify platform optional packages on each release target. +- Parcel emits directory events differently from chokidar: + Filter by normalized absolute path and basename, then preserve behavior in tests. +- Async subscription resolves after stop/destroy: + Track pending startup and close late handles immediately. +- `@parcel/watcher` lacks `awaitWriteFinish`: + Keep workspace debounce and add skill parse stability delay. +- Git worktree paths span multiple directories: + Compute watch roots from resolved git metadata paths and filter tracked paths after events arrive. diff --git a/docs/issues/parcel-watcher-issue-1764/spec.md b/docs/issues/parcel-watcher-issue-1764/spec.md new file mode 100644 index 000000000..73d15ca02 --- /dev/null +++ b/docs/issues/parcel-watcher-issue-1764/spec.md @@ -0,0 +1,144 @@ +# Parcel Watcher Issue 1764 Spec + +## Goal + +Fix GitHub issue #1764 by replacing DeepChat's runtime file watching dependency with +`@parcel/watcher`, eliminating the workspace watcher file-descriptor exhaustion path while +preserving workspace refresh and skill hot-reload behavior. + +## Sources + +- GitHub issue: https://github.com/ThinkInAIXYZ/deepchat/issues/1764 +- `@parcel/watcher` package: https://www.npmjs.com/package/@parcel/watcher +- `@parcel/watcher` README: https://github.com/parcel-bundler/watcher +- VS Code File Watcher Internals: + https://github.com/microsoft/vscode/wiki/File-Watcher-Internals +- VS Code source repo: https://github.com/microsoft/vscode + - `src/vs/platform/files/node/watcher/parcel/parcelWatcher.ts` + - `src/vs/platform/files/node/watcher/watcherMain.ts` + - `extensions/git/src/repository.ts` + +## Problem + +Issue #1764 reports that selecting a large macOS workspace such as `~/Downloads` with about +260k recursive entries causes the workspace content watcher to exhaust the main process file +descriptor pool. The observed failure chain is: + +```text +large workspace + -> chokidar fs.watch traversal + -> EMFILE from too many watched entries + -> child process spawn cannot allocate stdio fds + -> agent exec utility exits during startup + -> every exec tool call fails regardless of command content +``` + +Current DeepChat uses `chokidar` in two main-process Presenters: + +- `src/main/presenter/workspacePresenter/index.ts` + - content watcher for workspace file changes + - git metadata watcher for `HEAD`, `index`, `packed-refs`, and `refs` +- `src/main/presenter/skillPresenter/index.ts` + - skills directory watcher for `SKILL.md` hot reload + +`@parcel/watcher` supports recursive directory subscriptions and uses FSEvents first on macOS, +which matches the root fix requested in the issue. + +## Design Direction + +Use the VS Code watcher model as the design reference: + +- A watcher service owns native watcher lifecycle and exposes logical subscriptions to features. +- Watcher hosts run outside the Electron main process using Electron `utilityProcess`. +- Watch requests are pooled and deduplicated by root, scope, include/exclude rules, and fallback + policy. +- Raw events are buffered, coalesced, and throttled before feature code receives them. +- Git metadata watching uses a dedicated watcher host lane so repository refresh pressure is + isolated from content and skill hot reload. +- Large workspaces keep a degraded but functional mode through snapshot polling or lifecycle + refresh when native watching fails or event pressure exceeds limits. + +## Requirements + +- Native file watching runs through a main-process `WatcherService` facade. +- `WorkspacePresenter` and `SkillPresenter` consume logical watcher subscriptions and do not + import `@parcel/watcher` directly. +- The watcher service starts Electron utility process hosts for native watcher work. +- Workspace content and skill hot reload use the content watcher host. +- Git metadata uses a separate git watcher host or an independently restartable git watcher lane. +- Workspace content watching uses `@parcel/watcher` for recursive subscriptions in the watcher + host. +- Workspace git metadata watching uses `@parcel/watcher` in the git watcher host and still emits + git-only invalidations for `HEAD`, `index`, `packed-refs`, and `refs` changes. +- Workspace watcher lifecycle keeps the existing security boundary: + `registerWorkspace` grants access; `watchWorkspace` owns watcher lifetime. +- Workspace watcher runtime ref counting remains intact across repeated panel mounts. +- Workspace file changes still publish `workspace.invalidated` with `kind: 'fs'`. +- Git metadata changes still publish `workspace.invalidated` with `kind: 'git'`. +- `.git` directory creation, deletion, or replacement still refreshes git watch metadata and + publishes `workspace.invalidated` with `kind: 'full'`. +- Workspace content ignores preserve the existing ignored directory set: + `node_modules`, `dist`, `build`, `__pycache__`, `.venv`, `venv`, `.idea`, `.vscode`, + `.cache`, `coverage`, `.next`, `.nuxt`, `out`, and `.turbo`. +- Workspace content watcher ignores `.git` children while still observing the `.git` directory + boundary itself. +- Skill hot reload still handles `SKILL.md` update, create, and delete events. +- Skill hot reload still ignores `.deepchat-meta`. +- Skill hot reload still respects `SKILL_CONFIG.FOLDER_TREE_MAX_DEPTH` at event handling time. +- Raw watcher events are buffered and coalesced before Presenter callbacks run. +- Event delivery is throttled with bounded memory so event floods degrade cleanly. +- Large workspace degradation emits `workspace.invalidated` with `source: 'fallback'` when native + events are unavailable. +- A typed workspace watcher status event reports `healthy`, `degraded`, and `failed` states to the + renderer for a small workspace-panel warning. +- Duplicate skill-name handling remains unchanged. +- `chokidar` is removed from runtime dependencies and lockfile entries. +- Native packaging includes the `@parcel/watcher` package and platform prebuilt packages. + +## Acceptance Criteria + +- On macOS, selecting a workspace with more than 100k files does not produce a sustained EMFILE + storm from the workspace watcher. +- After selecting that large workspace, a simple agent exec command such as `mkdir -p test` can + still spawn. +- Killing or crashing the watcher utility process does not terminate the main process. +- The watcher service restarts a failed watcher host and replays active watch requests. +- Native watcher failure with `EMFILE`, `ENOSPC`, or Parcel rescan errors enters degraded mode + instead of repeated error storms. +- Workspace panel refresh behavior remains unchanged for: + - create, update, and delete under the workspace + - ignored directory changes + - `.git` boundary changes + - git `HEAD`, `index`, `packed-refs`, and `refs` updates +- Skills catalog refresh behavior remains unchanged for: + - editing an existing `SKILL.md` + - adding a new `SKILL.md` + - deleting an existing `SKILL.md` + - duplicate skill names +- Unit tests cover the watcher adapter, workspace watcher lifecycle, workspace event mapping, git + metadata filtering, skill event mapping, and async subscription teardown. +- Unit tests cover watcher request pooling, event coalescing, host restart, and large workspace + fallback state transitions. +- `pnpm run typecheck:node`, focused main-process tests, `pnpm run format`, `pnpm run i18n`, + and `pnpm run lint` pass before implementation is considered complete. + +## Constraints + +- Keep existing `workspace.invalidated` and `skills.catalog.changed` event payloads unchanged. +- Add one typed watcher status event only for degraded/failure UI state. +- Keep workspace directory reading and file search lazy; this change targets live change + detection only. +- Keep native dependency packaging explicit because Electron ASAR packaging can break `.node` + modules when they remain inside `app.asar`. +- Keep exec utility error-copy improvements outside this increment after the fd-exhaustion root + cause is removed. + +## Review Decisions + +- Recommended dependency version: `@parcel/watcher@^2.5.6`. +- Recommended implementation shape: a main-process `WatcherService` facade backed by Electron + utility process watcher hosts. +- Recommended lifecycle change: model watcher startup and shutdown as async operations where the + Presenter lifecycle already supports promises. +- Recommended isolation model: content/skill watcher host and git watcher host are independently + restartable. diff --git a/docs/issues/parcel-watcher-issue-1764/tasks.md b/docs/issues/parcel-watcher-issue-1764/tasks.md new file mode 100644 index 000000000..a972391a5 --- /dev/null +++ b/docs/issues/parcel-watcher-issue-1764/tasks.md @@ -0,0 +1,23 @@ +# Parcel Watcher Issue 1764 Tasks + +- [x] Add `@parcel/watcher`, remove `chokidar`, and update package/ASAR/build configuration. +- [x] Add watcher utility process entrypoint and `WatcherHostClient` RPC lifecycle. +- [x] Add `WatcherService`, `WatcherPool`, shared watcher types, and event coalescer. +- [x] Add host restart, request replay, throttling, and degraded-mode state handling. +- [x] Add snapshot polling, git metadata polling, and lifecycle fallback modes. +- [x] Migrate `WorkspacePresenter` content watching to `WatcherService`. +- [x] Migrate workspace git metadata watching to the git watcher host. +- [x] Migrate `SkillPresenter` hot reload watcher to `WatcherService` and async lifecycle. +- [x] Add typed workspace watcher status event and WorkspacePanel degraded warning UI. +- [x] Update watcher-focused main and renderer tests. +- [x] Run targeted verification and required project quality gates. + +## Verification + +- `pnpm run format` +- `pnpm run i18n` +- `pnpm run lint` +- `pnpm run typecheck:node` +- `pnpm test` +- `pnpm run build` +- `pnpm exec playwright test -c test/e2e/playwright.config.ts test/e2e/specs/30-workspace-watcher-events.smoke.spec.ts` diff --git a/docs/issues/pr-1621-ai-review-fixes/plan.md b/docs/issues/pr-1621-ai-review-fixes/plan.md deleted file mode 100644 index cd5581e5e..000000000 --- a/docs/issues/pr-1621-ai-review-fixes/plan.md +++ /dev/null @@ -1,15 +0,0 @@ -# Implementation Plan - -## Change - -- Update shared onboarding step resolution fallback ordering. -- Add guarded step selection when `startGuidedOnboarding` receives a terminal requested step. -- Tighten renderer onboarding step finalization condition for nullish `currentStepId`. -- Sync provider settings tab selection from onboarding step in one shared helper used by both watchers. -- Add runtime response parsing in onboarding client using existing route schema. -- Update onboarding locale strings for the reviewed non-English locale files. -- Extend tests for onboarding route behavior and onboarding client response validation. - -## Validation - -- Run format, i18n, lint, and focused onboarding-related tests for touched modules. diff --git a/docs/issues/pr-1621-ai-review-fixes/spec.md b/docs/issues/pr-1621-ai-review-fixes/spec.md deleted file mode 100644 index ce75e05f8..000000000 --- a/docs/issues/pr-1621-ai-review-fixes/spec.md +++ /dev/null @@ -1,19 +0,0 @@ -# PR #1621 AI Review Fixes - -## Problem - -AI review on PR #1621 reported onboarding flow edge cases and missing onboarding localization in several locale files. These issues can leave onboarding on an invalid step, hide the intended settings tab during onboarding, or show untranslated onboarding copy. - -## Acceptance Criteria - -- Resuming current onboarding step prefers an `in_progress` step before `pending` when `currentStepId` is empty. -- Starting onboarding with a requested completed/skipped step falls back to the next pending step instead of pinning `currentStepId` to a terminal step. -- Guided onboarding finalization treats both `null` and `undefined` `currentStepId` as no active step. -- Provider settings tab selection remains aligned with onboarding steps during provider changes. -- Onboarding renderer client validates bridge responses and throws clear errors when response shape is invalid. -- Reviewed locale files in this scope no longer show English onboarding copy. - -## Non-goals - -- No unrelated onboarding UX redesign. -- No broad localization rewrite beyond the reviewed onboarding strings. diff --git a/docs/issues/pr-1621-ai-review-fixes/tasks.md b/docs/issues/pr-1621-ai-review-fixes/tasks.md deleted file mode 100644 index 32b194451..000000000 --- a/docs/issues/pr-1621-ai-review-fixes/tasks.md +++ /dev/null @@ -1,8 +0,0 @@ -# Tasks - -- [ ] Add SDD issue artifacts. -- [ ] Fix onboarding logic edge cases (shared/main/renderer). -- [ ] Harden onboarding client bridge response handling. -- [ ] Update reviewed onboarding locale translations. -- [ ] Add/update tests for new behavior. -- [ ] Run validation commands. diff --git a/docs/issues/pr-base-dev-default/plan.md b/docs/issues/pr-base-dev-default/plan.md deleted file mode 100644 index 4a965671d..000000000 --- a/docs/issues/pr-base-dev-default/plan.md +++ /dev/null @@ -1,11 +0,0 @@ -# Plan - -## Approach - -- Add an explicit PR base rule to `AGENTS.md` under commit and pull request guidelines. -- Keep the rule aligned with `docs/release-flow.md`, where `dev` is the long-lived integration - branch and `main` is the stable release mirror. - -## Validation - -- Run formatting and lint checks for documentation consistency. diff --git a/docs/issues/pr-base-dev-default/spec.md b/docs/issues/pr-base-dev-default/spec.md deleted file mode 100644 index bbe437743..000000000 --- a/docs/issues/pr-base-dev-default/spec.md +++ /dev/null @@ -1,24 +0,0 @@ -# Default PR Base Branch - -## User Need - -Contributors and coding agents need a clear repository-level instruction that routine pull requests -target `dev` by default instead of accidentally targeting `main`. - -## Problem - -`docs/release-flow.md` defines `dev` as the integration branch and `main` as the release mirror, but -`AGENTS.md` did not state the default PR base branch in the commit and pull request guidelines. -Automation can therefore fall back to `main` when creating PRs. - -## Acceptance Criteria - -- `AGENTS.md` states that routine PRs default to `dev`. -- `AGENTS.md` states that `main` is only for `release/` PRs following the release flow. -- The instruction is located in the section that coding agents read before creating commits and PRs. - -## Non-goals - -- Change the release flow. -- Change GitHub repository settings. -- Change CI branch filters. diff --git a/docs/issues/pr-base-dev-default/tasks.md b/docs/issues/pr-base-dev-default/tasks.md deleted file mode 100644 index b379979d4..000000000 --- a/docs/issues/pr-base-dev-default/tasks.md +++ /dev/null @@ -1,5 +0,0 @@ -# Tasks - -- [x] Inspect existing branch and release guidance. -- [x] Add the default PR base rule to `AGENTS.md`. -- [x] Run required checks. diff --git a/docs/issues/pr1765-final-cleanup/plan.md b/docs/issues/pr1765-final-cleanup/plan.md new file mode 100644 index 000000000..cce5451d2 --- /dev/null +++ b/docs/issues/pr1765-final-cleanup/plan.md @@ -0,0 +1,22 @@ +# PR 1765 Final IPC Cleanup Plan + +## Steps + +1. Rename the broad presenter compatibility declarations to `core.presenter.d.ts`. +2. Extract window and ACP debug/workdir types into independent declaration files. +3. Replace `publishDeepchatEvent` eventBus delivery with a registered `IWindowPresenter` sender. +4. Add `window.getRuntimeIdentity` typed route and migrate renderer identity lookups to it. +5. Remove preload synchronous identity IPC and main raw handlers. +6. Remove renderer window focus raw constants and send typed focus envelopes directly. +7. Tighten architecture raw channel baseline to zero. +8. Remove the background exec utility host build guard from `pnpm run build`. +9. Remove stale test mocks for the retired renderer EventBus path. +10. Update focused tests and run verification. + +## Side Effects + +- `getRuntimeWindowId()` and `getRuntimeWebContentsId()` are async. +- Current-window event listener registration waits for runtime identity resolution. +- Session activation filtering uses a webContents id getter that updates after identity resolution. +- `EventBus` renderer/webContents forwarding methods are unavailable to new code. +- Test fixtures now model renderer notifications through the typed publisher or window presenter sender. diff --git a/docs/issues/pr1765-final-cleanup/spec.md b/docs/issues/pr1765-final-cleanup/spec.md new file mode 100644 index 000000000..d71d0027a --- /dev/null +++ b/docs/issues/pr1765-final-cleanup/spec.md @@ -0,0 +1,19 @@ +# PR 1765 Final IPC Cleanup Spec + +## Goal + +Remove the remaining legacy presenter type dependency and close the last raw renderer IPC paths before merging PR 1765. + +## Requirements + +- `legacy.presenters.d.ts` is removed from the shared type surface. +- `IWindowPresenter` and `TabData` live in an independent window presenter type file. +- `AcpDebugRequest`, `AcpDebugRunResult`, `AcpDebugEventEntry`, `AcpDebugEventKind`, `AcpDebugActionType`, and `AcpWorkdirInfo` live in an independent ACP presenter type file. +- Main to renderer events use the typed `deepchat:event` envelope sender. +- `EventBus` remains only as a main-process event emitter. +- Raw IPC baseline for migrated paths is zero. +- The background exec utility host build guard is removed from the build script. + +## Compatibility + +Existing `@shared/presenter` imports must continue to resolve through the shared barrels. Remaining broad presenter compatibility types stay in `core.presenter.d.ts` for follow-up extraction. diff --git a/docs/issues/pr1765-final-cleanup/tasks.md b/docs/issues/pr1765-final-cleanup/tasks.md new file mode 100644 index 000000000..9b9da67c0 --- /dev/null +++ b/docs/issues/pr1765-final-cleanup/tasks.md @@ -0,0 +1,20 @@ +# PR 1765 Final IPC Cleanup Tasks + +- [x] Remove `legacy.presenters.d.ts` references. +- [x] Extract window presenter types. +- [x] Extract ACP debug/workdir types. +- [x] Replace typed event delivery with direct window presenter delivery. +- [x] Add typed runtime identity route. +- [x] Remove preload synchronous identity IPC. +- [x] Remove main raw identity handlers. +- [x] Remove raw focus/blur renderer channels. +- [x] Set raw channel baseline to zero. +- [x] Remove background exec utility host build guard. +- [x] Remove stale renderer EventBus test mocks. +- [x] Run format. +- [x] Run i18n check. +- [x] Run lint. +- [x] Run architecture guard. +- [x] Run typecheck. +- [x] Run focused tests. +- [x] Run build. diff --git a/docs/issues/prcheck-format-onboarding/plan.md b/docs/issues/prcheck-format-onboarding/plan.md deleted file mode 100644 index f7992d429..000000000 --- a/docs/issues/prcheck-format-onboarding/plan.md +++ /dev/null @@ -1,16 +0,0 @@ -# Plan - -## Diagnosis - -The local PR Check reproduction fails at `pnpm run format:check` for `src/main/routes/onboarding/onboardingRouteSupport.ts`. - -## Approach - -Run the repository formatter on the reported file, inspect the resulting diff, then rerun PR Check steps to confirm the failure is resolved. - -## Test Strategy - -- `pnpm run format:check` -- `pnpm run i18n` -- `pnpm run lint` -- Continue to `pnpm run build` if earlier checks pass. diff --git a/docs/issues/prcheck-format-onboarding/spec.md b/docs/issues/prcheck-format-onboarding/spec.md deleted file mode 100644 index f0b3affa6..000000000 --- a/docs/issues/prcheck-format-onboarding/spec.md +++ /dev/null @@ -1,21 +0,0 @@ -# PR Check Format Failure - -## User Story - -As a contributor, I want the PR Check workflow to pass for onboarding route changes so review is not blocked by formatting drift. - -## Acceptance Criteria - -- `pnpm run format:check` passes locally. -- The workflow-equivalent checks continue past formatting without introducing behavior changes. -- The fix does not alter guided onboarding state semantics. - -## Non-Goals - -- No onboarding UX or storage behavior changes. -- No CI workflow changes unless the reproduced failure requires them. - -## Constraints - -- Keep the change minimal and compatible with existing formatter rules. -- Preserve existing user work in the branch. diff --git a/docs/issues/prcheck-format-onboarding/tasks.md b/docs/issues/prcheck-format-onboarding/tasks.md deleted file mode 100644 index 166689a75..000000000 --- a/docs/issues/prcheck-format-onboarding/tasks.md +++ /dev/null @@ -1,6 +0,0 @@ -# Tasks - -- [x] Reproduce the PR Check failure locally. -- [x] Apply the minimal formatting fix. -- [x] Rerun relevant PR Check commands. -- [x] Summarize the result and any remaining risks. diff --git a/docs/issues/project-group-session-update-sort/plan.md b/docs/issues/project-group-session-update-sort/plan.md deleted file mode 100644 index e10765c43..000000000 --- a/docs/issues/project-group-session-update-sort/plan.md +++ /dev/null @@ -1,19 +0,0 @@ -# Plan - -## Implementation - -- Add a project-group-specific session comparator in the renderer session store. -- Apply it only inside `groupByProject` when assigning `group.sessions`. -- Keep the existing `sortSessions` path for pinned sessions, initial session list storage, and time - grouping. - -## Test Strategy - -- Add a renderer store regression test that creates multiple sessions in one project with titles and - update times in opposite order. -- Run the focused `sessionStore` test, then repository format, i18n, lint, and typecheck. - -## Risks - -- Project group order itself will still follow the existing upstream session order; this change only - sorts sessions inside each group as requested. diff --git a/docs/issues/project-group-session-update-sort/tasks.md b/docs/issues/project-group-session-update-sort/tasks.md deleted file mode 100644 index 308ccf0d1..000000000 --- a/docs/issues/project-group-session-update-sort/tasks.md +++ /dev/null @@ -1,6 +0,0 @@ -# Tasks - -- [x] Inspect sidebar project grouping and existing sort tests. -- [x] Add regression coverage for project group update-time ordering. -- [x] Implement project group session ordering. -- [x] Run focused tests and required quality commands. diff --git a/docs/issues/qqbot-remote-settings-clone-error/plan.md b/docs/issues/qqbot-remote-settings-clone-error/plan.md new file mode 100644 index 000000000..f30614e73 --- /dev/null +++ b/docs/issues/qqbot-remote-settings-clone-error/plan.md @@ -0,0 +1,14 @@ +# QQBot Remote Settings Clone Error Plan + +## Steps + +1. Identify where Vue reactive settings are converted into route payloads. +2. Build settings drafts from raw Vue state using explicit channel contract fields. +3. Clone array and nested object fields before invoking the remote control client. +4. Add renderer tests that assert save payloads are structured-cloneable. +5. Run focused tests plus project checks. + +## Side Effects + +- Save payloads no longer preserve Vue proxy identity. +- Legacy or unknown fields already present in loaded settings are omitted from save payloads. diff --git a/docs/issues/qqbot-remote-settings-clone-error/spec.md b/docs/issues/qqbot-remote-settings-clone-error/spec.md new file mode 100644 index 000000000..c6e300ada --- /dev/null +++ b/docs/issues/qqbot-remote-settings-clone-error/spec.md @@ -0,0 +1,17 @@ +# QQBot Remote Settings Clone Error Spec + +## Goal + +Fix the renderer IPC clone error when saving QQBot remote settings and prevent the same failure class across remote channel settings. + +## Requirements + +- Saving QQBot remote settings sends a structured-cloneable payload to the typed route bridge. +- Other remote channel settings with array or nested object fields also send structured-cloneable payloads. +- Save payloads follow the remote channel settings contracts. +- Existing remote settings behavior and persisted values stay unchanged. +- Tests cover the renderer save path with structured clone validation. + +## Compatibility + +Remote settings route names and presenter contracts remain unchanged. diff --git a/docs/issues/qqbot-remote-settings-clone-error/tasks.md b/docs/issues/qqbot-remote-settings-clone-error/tasks.md new file mode 100644 index 000000000..6ef00196a --- /dev/null +++ b/docs/issues/qqbot-remote-settings-clone-error/tasks.md @@ -0,0 +1,10 @@ +# QQBot Remote Settings Clone Error Tasks + +- [x] Locate the uncloneable save payload source. +- [x] Convert remote settings drafts to cloneable snapshots. +- [x] Add regression coverage for cloneable save payloads. +- [x] Run focused renderer tests. +- [x] Run format. +- [x] Run i18n check. +- [x] Run lint. +- [x] Run typecheck. diff --git a/docs/issues/reasoning-heading-font-size/plan.md b/docs/issues/reasoning-heading-font-size/plan.md deleted file mode 100644 index c7ac092ad..000000000 --- a/docs/issues/reasoning-heading-font-size/plan.md +++ /dev/null @@ -1,27 +0,0 @@ -# Plan - -## Diagnosis - -`ThinkContent.vue` renders reasoning content through `markstream-vue` `NodeRenderer`. The component -sets compact body variables on `.think-prose`, but `markstream-vue` also defines heading-specific -variables such as `--ms-text-h1`, `--ms-text-h2`, and `--ms-text-h3`. Without overriding those -heading variables, markdown headings inside thinking content can render larger than the surrounding -text. - -Because `ThinkContent.vue` uses scoped styles and `NodeRenderer` is a child component, selector -fallbacks that target rendered heading elements must use `:deep(...)`. - -## Approach - -- Override heading font-size and line-height CSS variables in `.think-prose` so markstream headings - inherit the compact thinking body size. -- Add a scoped `:deep(...)` fallback for rendered `h1` through `h6` and `.heading-node` elements. -- Add a small source-level guard test to keep the reasoning heading overrides from being removed - accidentally. - -## Test Strategy - -- Run a focused renderer test that verifies `ThinkContent.vue` contains the heading variable - overrides and deep heading fallback. -- Run existing thinking block tests. -- Run formatting and renderer quality checks. diff --git a/docs/issues/reasoning-heading-font-size/spec.md b/docs/issues/reasoning-heading-font-size/spec.md deleted file mode 100644 index 093626872..000000000 --- a/docs/issues/reasoning-heading-font-size/spec.md +++ /dev/null @@ -1,20 +0,0 @@ -# Reasoning Heading Font Size - -## User Need - -Reasoning/thinking blocks should feel like compact diagnostic text. Markdown heading syntax inside a -thinking block must not enlarge the text, because model reasoning often uses `#`, `##`, or `###` as -internal outline markers rather than user-facing document headings. - -## Acceptance Criteria - -- `h1` through `h6` rendered inside a reasoning/thinking block use the same font size as the rest of - the thinking text. -- The fix is scoped to `ThinkContent` and does not change normal assistant markdown heading styles. -- The thinking block continues to render markdown, lists, links, and code blocks. - -## Non-goals - -- Redesign the thinking block. -- Change how normal assistant message markdown headings are rendered. -- Disable markdown parsing inside reasoning content. diff --git a/docs/issues/reasoning-heading-font-size/tasks.md b/docs/issues/reasoning-heading-font-size/tasks.md deleted file mode 100644 index e6057b13f..000000000 --- a/docs/issues/reasoning-heading-font-size/tasks.md +++ /dev/null @@ -1,7 +0,0 @@ -# Tasks - -- [x] Diagnose why reasoning headings inherit large markdown heading styles. -- [x] Document the scoped fix. -- [x] Override thinking heading font-size and line-height styles. -- [x] Add a focused style guard test. -- [x] Run targeted renderer tests and required checks. diff --git a/docs/issues/release-lockfile-sync/plan.md b/docs/issues/release-lockfile-sync/plan.md deleted file mode 100644 index 33fb0a7bf..000000000 --- a/docs/issues/release-lockfile-sync/plan.md +++ /dev/null @@ -1,10 +0,0 @@ -# Plan - -## Approach - -- Use bundler module resolution in the web typecheck config so TypeScript honors package `exports` type conditions used by current frontend dependencies. -- Re-run the release checks after the config is updated. - -## Compatibility - -The typecheck config change is scoped to the renderer/web project and matches the Vite bundling environment. diff --git a/docs/issues/release-lockfile-sync/spec.md b/docs/issues/release-lockfile-sync/spec.md deleted file mode 100644 index e9fe43f5c..000000000 --- a/docs/issues/release-lockfile-sync/spec.md +++ /dev/null @@ -1,16 +0,0 @@ -# Web Typecheck Package Resolution - -## User Story - -As a maintainer preparing a beta release, I need renderer typechecking to resolve frontend packages that expose their types through modern package `exports`. - -## Acceptance Criteria - -- `pnpm install --frozen-lockfile` succeeds on the release-ready commit. -- `pnpm run typecheck:web` can resolve modern package `exports` types such as `@iconify/vue`. -- The fix is limited to typecheck metadata and does not change runtime behavior. - -## Non-goals - -- No dependency version changes. -- No runtime bundler or UI behavior changes. diff --git a/docs/issues/release-lockfile-sync/tasks.md b/docs/issues/release-lockfile-sync/tasks.md deleted file mode 100644 index 9edf87831..000000000 --- a/docs/issues/release-lockfile-sync/tasks.md +++ /dev/null @@ -1,5 +0,0 @@ -# Tasks - -- [x] Identify the web typecheck package exports resolution failure during release validation. -- [x] Align web typecheck module resolution with package exports. -- [x] Re-run release validation commands. diff --git a/docs/issues/release-tooltip-alias/plan.md b/docs/issues/release-tooltip-alias/plan.md deleted file mode 100644 index e2f4d8aaa..000000000 --- a/docs/issues/release-tooltip-alias/plan.md +++ /dev/null @@ -1,15 +0,0 @@ -# Release Tooltip Alias Build Failure Plan - -## Approach - -Add an explicit TypeScript module entry for `@shadcn/components/ui/tooltip` that re-exports the -existing directory index. This keeps the public import path stable while avoiding resolver ambiguity -in release CI. - -## Validation - -- Run `pnpm run format` -- Run `pnpm run i18n` -- Run `pnpm run lint` -- Run `pnpm run typecheck` -- Run `pnpm run build` diff --git a/docs/issues/release-tooltip-alias/spec.md b/docs/issues/release-tooltip-alias/spec.md deleted file mode 100644 index e1d1a8606..000000000 --- a/docs/issues/release-tooltip-alias/spec.md +++ /dev/null @@ -1,21 +0,0 @@ -# Release Tooltip Alias Build Failure Spec - -## Problem - -The `v1.0.6-beta.1` release workflow fails during macOS arm64 `pnpm run build` because -`vue-tsgo` cannot resolve imports from `@shadcn/components/ui/tooltip`. - -## Goal - -Make tooltip component imports resolve consistently in release CI without changing UI behavior. - -## Requirements - -- Keep existing tooltip component exports unchanged. -- Avoid rewriting existing imports across the app. -- Preserve the release flow by preparing a new beta tag instead of moving `v1.0.6-beta.1`. - -## Non-Goals - -- Refactor the shadcn component directory layout. -- Change tooltip styling or runtime behavior. diff --git a/docs/issues/release-tooltip-alias/tasks.md b/docs/issues/release-tooltip-alias/tasks.md deleted file mode 100644 index 1286b6abb..000000000 --- a/docs/issues/release-tooltip-alias/tasks.md +++ /dev/null @@ -1,7 +0,0 @@ -# Release Tooltip Alias Build Failure Tasks - -- [x] Add an explicit tooltip module entry. -- [x] Prepare `v1.0.6-beta.2` release metadata. -- [x] Run release checks. -- [x] Commit and push `dev`. -- [ ] Create the fixed release branch and beta tag. diff --git a/docs/issues/remote-acp-default-agent-flicker/plan.md b/docs/issues/remote-acp-default-agent-flicker/plan.md deleted file mode 100644 index 6c7c0eb98..000000000 --- a/docs/issues/remote-acp-default-agent-flicker/plan.md +++ /dev/null @@ -1,28 +0,0 @@ -# Plan - -## Implementation Approach -- Treat `resolveAcpAgentAlias` strictly as an *equivalence-matching* helper. Never let an alias-flattened id leak out as a stored or returned `defaultAgentId`. -- Rewrite `sanitizeDefaultAgentId` so it locates the matching `enabledAgent` (using alias for equivalence) and returns that agent's **own** id — i.e. the id the renderer's `availableAgents` will contain. -- Promote `resolveAcpAgentAlias` and `ACP_LEGACY_AGENT_ID_ALIASES` to `src/shared/utils/acpAgentAlias.ts` so renderer code can reuse the exact same alias table that main relies on. `src/main/presenter/configPresenter/acpRegistryConstants.ts` re-exports them to keep all current `import` sites working. -- Patch `defaultAgentOptions` in `RemoteSettings.vue` to recognise an alias-equivalent agent and use its real id instead of unshifting a bare-id ghost option. - -## Affected Interfaces -- `sanitizeDefaultAgentId(channel, candidate)` — internal to `RemoteControlPresenter`. Return type unchanged (`Promise`); semantics tightened to "return one of the SQLite agent ids, or the channel default". -- New module `src/shared/utils/acpAgentAlias.ts` exporting `ACP_LEGACY_AGENT_ID_ALIASES` and `resolveAcpAgentAlias`. -- `src/main/presenter/configPresenter/acpRegistryConstants.ts` becomes a thin re-export for the alias pieces; the rest of its constants stay co-located. - -## Data Flow -1. Renderer Select emits real SQLite agent id → `updateXxxDefaultAgentId(value)` writes it into `xxxSettings.value.defaultAgentId`. -2. `persistChannelSettings` calls `saveXxxSettings`. Main `sanitizeDefaultAgentId` matches via alias but returns the *real* enabledAgent id and writes that into `bindingStore`. -3. `getXxxSettings` returns the same real id. `syncXxxFields(saved)` overwrites the renderer state with the same id the user picked → no flicker. -4. For legacy bindings whose stored id is an alias-table key, `sanitizeDefaultAgentId` translates it into the real id during the next get/save, and the renderer's `defaultAgentOptions` resolves it via alias-equivalence so the Select stays bound to the canonical option instead of fabricating a ghost row. - -## Compatibility -- All existing `acpRegistryConstants` import sites continue to compile via re-export. -- Existing alias-equivalent behavior preserved: a candidate that maps via the alias table to an enabled agent is still considered a match. -- No data migrations. Bindings carrying historical alias-key ids self-heal on first sanitize call. - -## Test Strategy -- New main-side unit test: `sanitizeDefaultAgentId` returns the SQLite agent id for (a) exact-match candidate, (b) alias-key candidate against an alias-value agent, and (c) alias-value candidate against an alias-key agent. Falls back to channel default only when no alias-equivalent agent exists. -- New renderer-side unit test: `defaultAgentOptions` returned to the Select reconciles a legacy `currentAgentId` to the corresponding modern entry without inserting a ghost row. -- Run `pnpm run typecheck`, `pnpm run lint`, `pnpm run format`, `pnpm run i18n` (no new strings — runs as a no-op confirmation per repo guideline). diff --git a/docs/issues/remote-acp-default-agent-flicker/tasks.md b/docs/issues/remote-acp-default-agent-flicker/tasks.md deleted file mode 100644 index f6246ea1d..000000000 --- a/docs/issues/remote-acp-default-agent-flicker/tasks.md +++ /dev/null @@ -1,8 +0,0 @@ -# Tasks - -- [x] Move `ACP_LEGACY_AGENT_ID_ALIASES` and `resolveAcpAgentAlias` into `src/shared/utils/acpAgentAlias.ts`; re-export from `src/main/presenter/configPresenter/acpRegistryConstants.ts`. -- [x] Rewrite `sanitizeDefaultAgentId` to return the SQLite agent's own id (alias used only for matching). -- [x] Patch `RemoteSettings.vue` `defaultAgentOptions` to alias-reconcile a legacy `currentAgentId` to the canonical option. -- [x] Add main-side unit tests covering the four sanitize outcomes (exact / alias-key / alias-value / no-match). -- [x] Add renderer-side unit test covering `defaultAgentOptions` legacy-id reconciliation. -- [x] Run formatting, i18n generation, lint, typecheck, and the new tests. diff --git a/docs/issues/remote-tool-result-images/plan.md b/docs/issues/remote-tool-result-images/plan.md deleted file mode 100644 index 22cd3a212..000000000 --- a/docs/issues/remote-tool-result-images/plan.md +++ /dev/null @@ -1,43 +0,0 @@ -# Plan - -## Current behavior - -Tool execution can attach visual previews to `tool_call.imagePreviews`. The desktop renderer shows those previews only inside the expanded tool-call details, not as normal assistant image messages. `prepareToolImagePreviewPresentation()` currently promotes only successful built-in `image_generate` previews into assistant `image` blocks. Other tool result images, including screenshots, remain embedded in the tool-call metadata. - -Remote snapshots historically persisted only assistant `image` blocks. The first fix added a fallback that also persists `tool_call.imagePreviews`, but the broader issue is conversation-level visibility: the assistant transcript itself should contain the image result. - -## Implementation approach - -1. Generalize `prepareToolImagePreviewPresentation()` so successful, non-error tool result previews with usable `data` are promoted into assistant `image` blocks for any tool source. -2. Keep the existing special-case behavior for built-in `image_generate`: its previews are promoted and removed from the tool-call detail panel. -3. For other tools, promote usable previews while preserving metadata-only/unusable previews on `tool_call.imagePreviews` so the detail panel can still show what is available. -4. Add stable image block metadata linking promoted images back to the tool call and preview source/title. -5. Keep the remote snapshot fallback for legacy conversations where previews are already stored only in `tool_call.imagePreviews`. -6. Update tests to cover screenshot/tool-output promotion in the normal runtime path and the remote fallback path. - -## Affected interfaces - -- `AssistantMessageBlock` remains unchanged; promoted images use existing `type: 'image'` and `image_data` fields. -- `AssistantMessageExtra` gains optional metadata keys through its existing index signature, such as `toolCallId`, `toolImagePreviewId`, `toolImagePreviewSource`, and `toolImagePreviewTitle`. -- `RemoteConversationSnapshot.generatedImages` remains unchanged. - -## Data flow - -1. Tool execution returns `imagePreviews`. -2. Runtime normalizes the tool result and calls `prepareToolImagePreviewPresentation()`. -3. Usable previews become assistant `image` blocks inserted after the tool-call block. -4. Desktop conversation renders those images as normal assistant images. -5. Remote snapshot persists those image blocks into `generatedImages`; legacy unpromoted previews are also persisted as fallback. - -## Compatibility - -- Existing generated-image behavior remains compatible: built-in `image_generate` still hides promoted previews from the tool detail panel. -- Saved conversations with only `tool_call.imagePreviews` continue remote delivery via the fallback persistence path. -- Error tool results are not promoted into normal image blocks. - -## Test strategy - -- Update `agentRuntimePresenter/dispatch` tests to assert generic successful tool image previews are promoted into assistant image blocks. -- Keep tests for built-in `image_generate`, MCP same-name tool, and error results aligned with the new promotion rules. -- Keep `RemoteConversationRunner` tests covering fallback persistence from `tool_call.imagePreviews`. -- Run focused tests, typecheck, format, i18n, and lint. diff --git a/docs/issues/remote-tool-result-images/tasks.md b/docs/issues/remote-tool-result-images/tasks.md deleted file mode 100644 index df978f69b..000000000 --- a/docs/issues/remote-tool-result-images/tasks.md +++ /dev/null @@ -1,9 +0,0 @@ -# Tasks - -- [x] Inspect remote snapshot and channel image delivery flow. -- [x] Document the initial remote fallback issue and implementation plan. -- [x] Persist completed tool-call image previews as remote image assets. -- [x] Re-scope the SDD artifacts to include conversation-level image visibility. -- [x] Promote successful generic tool result image previews into assistant image blocks. -- [x] Update focused tests for generic promotion and remote fallback delivery. -- [x] Run formatter, i18n check/generation, lint, typecheck, and relevant tests. diff --git a/docs/issues/remove-gpt5-temperature-hardcode/plan.md b/docs/issues/remove-gpt5-temperature-hardcode/plan.md deleted file mode 100644 index 3a180f6b8..000000000 --- a/docs/issues/remove-gpt5-temperature-hardcode/plan.md +++ /dev/null @@ -1,19 +0,0 @@ -# Remove GPT-5 Temperature Hardcode Plan - -## Implementation - -- Extend `useModelCapabilities` to expose `supportsTemperatureControl`, using - `supportsTemperatureControl` first and `temperatureCapability` as the fallback. -- Remove `isGPT5Model` from `useModelTypeDetection` and stop passing it through `ChatConfig`. -- Update `useChatConfigFields` to show temperature unless `supportsTemperatureControl` is exactly - `false`. - -## Test Strategy - -- Update model type detection tests to cover only type and provider detection plus reasoning loading. -- Add focused `useChatConfigFields` tests for unsupported, supported, and unknown temperature - capability states. - -## Compatibility - -- Capability `null` preserves the previous default-visible behavior for unknown and custom models. diff --git a/docs/issues/remove-gpt5-temperature-hardcode/spec.md b/docs/issues/remove-gpt5-temperature-hardcode/spec.md deleted file mode 100644 index d4538fc57..000000000 --- a/docs/issues/remove-gpt5-temperature-hardcode/spec.md +++ /dev/null @@ -1,26 +0,0 @@ -# Remove GPT-5 Temperature Hardcode - -## User Story - -As a user configuring chat generation settings, I want temperature controls to follow model -capability metadata instead of frontend model-name matching, so supported models keep their controls -and unsupported models hide them consistently. - -## Acceptance Criteria - -- ChatConfig hides the temperature slider only when model capabilities explicitly report - temperature control as unsupported. -- GPT-5-like model IDs do not automatically hide temperature when capabilities report support. -- Missing or unavailable capability data keeps the existing conservative behavior and shows - temperature. - -## Non-goals - -- Do not change backend request filtering. -- Do not update provider model database contents. -- Do not introduce OpenAI-specific frontend special cases. - -## Constraints - -- Reuse the existing `models.getCapabilities` surface. -- Keep the change scoped to renderer configuration UI behavior. diff --git a/docs/issues/remove-gpt5-temperature-hardcode/tasks.md b/docs/issues/remove-gpt5-temperature-hardcode/tasks.md deleted file mode 100644 index 81e08582c..000000000 --- a/docs/issues/remove-gpt5-temperature-hardcode/tasks.md +++ /dev/null @@ -1,7 +0,0 @@ -# Remove GPT-5 Temperature Hardcode Tasks - -- [x] Add SDD records. -- [x] Expose temperature support from `useModelCapabilities`. -- [x] Replace GPT-5 string matching in ChatConfig field generation. -- [x] Update and add renderer composable tests. -- [x] Run targeted tests and project checks. diff --git a/docs/issues/scheduled-task-prompt-picker-ux/plan.md b/docs/issues/scheduled-task-prompt-picker-ux/plan.md deleted file mode 100644 index f4da3c510..000000000 --- a/docs/issues/scheduled-task-prompt-picker-ux/plan.md +++ /dev/null @@ -1,25 +0,0 @@ -# Plan - -## Approach - -- Keep the fix scoped to `src/renderer/settings/components/ScheduledTasksSettings.vue`. -- Make the settings page feel less cramped by separating the page header, empty state, task header, trigger panel, and action panel with clearer surfaces and spacing. -- Simplify visual weight by using softer panels, clearer section headers, and responsive control groups instead of dense nested card chrome. -- Keep each task card scannable with a compact status/summary row, a prominent editable name, and action buttons that wrap cleanly on smaller widths. -- Change the prompt action control grid so each column can shrink (`min-w-0`) and stacks earlier when space is tight. -- Force select triggers/buttons to use `w-full min-w-0` and truncate visible labels. -- Replace the model ID input with a `Popover` + existing `ModelSelect` picker. -- Resolve the displayed model name through `useModelStore.enabledModels`, with a fallback to the stored model ID. -- Close the model popover after selection and persist via the existing task upsert path. - -## Data Flow - -- Existing task action stores `providerId` and `modelId`. -- Agent selection may set both fields from `agent.config.defaultModelPreset`. -- Model picker selection updates `providerId` and `modelId` explicitly. - -## Validation - -- Run formatting and lint checks required by repository guidelines. -- Run i18n validation and ensure any new user-facing text is backed by locale keys. -- Review the changed template for responsive truncation and no new raw strings. diff --git a/docs/issues/scheduled-task-prompt-picker-ux/spec.md b/docs/issues/scheduled-task-prompt-picker-ux/spec.md deleted file mode 100644 index ec152f22d..000000000 --- a/docs/issues/scheduled-task-prompt-picker-ux/spec.md +++ /dev/null @@ -1,28 +0,0 @@ -# Scheduled Task Prompt Picker UX - -## User Story - -As a user configuring scheduled tasks, I want the task list to feel clean, balanced, and easy to scan, and I want prompt agent/model controls to fit cleanly in the task card with selectable options, so I can configure automation without overlapping fields or manually typing model IDs. - -## Acceptance Criteria - -- Scheduled task settings use a cleaner, more balanced layout with readable hierarchy between page header, task header, trigger settings, and action settings. -- Task cards avoid overly heavy nested borders and keep controls aligned in a responsive two-panel composition. -- Agent and model controls in prompt actions do not overlap at common settings window widths. -- Long agent names or IDs are truncated inside their control instead of expanding the grid column. -- The model field is a selectable model picker populated from enabled models, not a free-form text input. -- Selecting an agent still applies its default model preset when available. -- Selecting a model persists both `providerId` and `modelId` for the scheduled task. -- Existing notify actions, trigger controls, and prompt text fields keep their current behavior. - -## Non-Goals - -- No changes to scheduled task execution semantics. -- No new model filtering rules beyond excluding ACP and using enabled models. -- No new IPC or persistence schema changes. - -## Constraints - -- Follow existing Vue 3 Composition API and shadcn/Tailwind patterns. -- Reuse existing model picker components where possible. -- Avoid new user-facing strings unless required. diff --git a/docs/issues/scheduled-task-prompt-picker-ux/tasks.md b/docs/issues/scheduled-task-prompt-picker-ux/tasks.md deleted file mode 100644 index 72df93019..000000000 --- a/docs/issues/scheduled-task-prompt-picker-ux/tasks.md +++ /dev/null @@ -1,9 +0,0 @@ -# Tasks - -- [x] Locate scheduled task prompt action UI. -- [x] Specify layout and model picker acceptance criteria. -- [x] Update prompt action agent/model controls. -- [x] Refine scheduled task card layout and i18n-backed UI copy. -- [x] Run required format/i18n/lint checks. -- [x] Rebalance scheduled task settings layout surfaces and spacing. -- [x] Re-run i18n validation after layout changes. diff --git a/docs/issues/scheduled-tasks-clone-error/plan.md b/docs/issues/scheduled-tasks-clone-error/plan.md deleted file mode 100644 index 2423a46d4..000000000 --- a/docs/issues/scheduled-tasks-clone-error/plan.md +++ /dev/null @@ -1,5 +0,0 @@ -# Implementation Plan - -- Convert scheduled task trigger/action values to plain objects before invoking the scheduled task IPC route. -- Keep the change local to `ScheduledTasksSettings.vue` so route contracts and main-process logic remain unchanged. -- Validate with formatting, typecheck, lint, and the focused scheduled tasks test suite. diff --git a/docs/issues/scheduled-tasks-clone-error/spec.md b/docs/issues/scheduled-tasks-clone-error/spec.md deleted file mode 100644 index 7d79ce8f7..000000000 --- a/docs/issues/scheduled-tasks-clone-error/spec.md +++ /dev/null @@ -1,13 +0,0 @@ -# Scheduled Tasks Clone Error - -## Problem - -Editing a scheduled task in Settings can fail with `Error: An object could not be cloned.` from `ScheduledTasksSettings.vue` when persisting a task. - -## Cause - -The settings page stores tasks in Vue reactive state. `persistTask` forwards `task.trigger` and `task.action` directly to the IPC client. Those nested objects can be Vue proxies, which are not structured-cloneable by Electron IPC. - -## Expected Behavior - -Persisting an edited scheduled task sends a plain serializable payload to the route and succeeds without clone errors. diff --git a/docs/issues/scheduled-tasks-clone-error/tasks.md b/docs/issues/scheduled-tasks-clone-error/tasks.md deleted file mode 100644 index 57f1de2d9..000000000 --- a/docs/issues/scheduled-tasks-clone-error/tasks.md +++ /dev/null @@ -1,6 +0,0 @@ -# Tasks - -- [x] Add SDD issue artifacts. -- [x] Serialize scheduled task edit payloads before IPC. -- [x] Run focused scheduled tasks test and typecheck. -- [x] Run i18n and lint. diff --git a/docs/issues/scheduled-tasks-real-dispatch/plan.md b/docs/issues/scheduled-tasks-real-dispatch/plan.md deleted file mode 100644 index 4b9af0599..000000000 --- a/docs/issues/scheduled-tasks-real-dispatch/plan.md +++ /dev/null @@ -1,6 +0,0 @@ -# Implementation Plan - -- Reuse `ChatService` in the route runtime and call `sendMessage` after creating a scheduled task session. -- Load agents with `ConfigClient.listAgents()` in `ScheduledTasksSettings.vue`. -- Replace the raw agent ID input with an agent select and persist the selected agent plus its default provider/model preset. -- Keep manual model override available for users who need it. diff --git a/docs/issues/scheduled-tasks-real-dispatch/spec.md b/docs/issues/scheduled-tasks-real-dispatch/spec.md deleted file mode 100644 index 17ab86996..000000000 --- a/docs/issues/scheduled-tasks-real-dispatch/spec.md +++ /dev/null @@ -1,11 +0,0 @@ -# Scheduled Tasks Real Dispatch - -## Problem - -Scheduled task prompt actions feel fake: `autoSend` creates a session but does not actually send the prompt to the agent, and the settings UI requires users to type raw agent/model IDs by hand. - -## Expected Behavior - -- `autoSend` creates a session and sends the configured message through the normal chat pipeline. -- The settings UI lists real enabled agents so users can select a target instead of guessing IDs. -- Selecting an agent carries over its default model preset when available. diff --git a/docs/issues/scheduled-tasks-real-dispatch/tasks.md b/docs/issues/scheduled-tasks-real-dispatch/tasks.md deleted file mode 100644 index 155644b87..000000000 --- a/docs/issues/scheduled-tasks-real-dispatch/tasks.md +++ /dev/null @@ -1,6 +0,0 @@ -# Tasks - -- [x] Add SDD issue artifacts. -- [x] Send prompt after scheduled auto-send session creation. -- [x] Use real enabled agents in scheduled task settings. -- [x] Run formatting, lint, typecheck, i18n, and focused tests. diff --git a/docs/issues/session-list-stable-alphabetical-sort/plan.md b/docs/issues/session-list-stable-alphabetical-sort/plan.md deleted file mode 100644 index bed16947b..000000000 --- a/docs/issues/session-list-stable-alphabetical-sort/plan.md +++ /dev/null @@ -1,24 +0,0 @@ -# 会话列表固定字母排序 Plan - -## 实现方向 - -- 将 `src/renderer/src/stores/ui/session.ts` 的统一排序入口从 `updatedAt` 倒序改为基于标题的字母升序比较。 -- 为排序比较器增加 `id` 兜底,保证同标题时也稳定。 -- 取消 `toggleSessionPinned()` 中对本地 `updatedAt` 的人工刷新,避免 pin / unpin 触发排序漂移和时间分组漂移。 -- `getPinnedSessions()` 与 `getFilteredGroups()` 返回前都基于同一排序规则整理,确保列表展示稳定。 - -## 兼容性 - -- 不修改 session IPC/client 接口。 -- 不修改 sidebar 现有 pinned 与 grouped 的区域划分。 -- 会话时间分组仍按 `updatedAt` 判断属于 today/yesterday/older,但组内顺序改为标题字母序。 - -## 测试策略 - -- renderer store:覆盖 `fetchSessions()` 的标题排序行为。 -- renderer store:覆盖 pin / unpin 后仍按标题排序、且不依赖更新时间置顶。 - -## 验证 - -- 运行聚焦 Vitest 用例验证 session store 排序回归。 -- 完成后运行 `pnpm run format`、`pnpm run i18n`、`pnpm run lint`。 diff --git a/docs/issues/session-list-stable-alphabetical-sort/spec.md b/docs/issues/session-list-stable-alphabetical-sort/spec.md index 1bc4beec7..d10b2351a 100644 --- a/docs/issues/session-list-stable-alphabetical-sort/spec.md +++ b/docs/issues/session-list-stable-alphabetical-sort/spec.md @@ -1,5 +1,8 @@ # 会话列表固定字母排序 +Status: implemented as of 2026-06-13. Project grouping has a deliberate recency-sort exception +documented in `docs/issues/project-group-session-update-sort/spec.md`. + ## 背景 当前 renderer 的会话列表使用 `updatedAt` 倒序排列,且在切换置顶状态时会把本地 `updatedAt` 改成当前时间。 @@ -29,3 +32,4 @@ - 对任意会话执行 pin / unpin 后,列表不会因为本地更新时间变化而跳到顶部。 - pinned 列表与普通分组内的会话都按标题字母顺序稳定排序;当标题相同时按 `id` 升序兜底。 - 为排序与 pin / unpin 回归场景补齐 renderer store 单测。 +- 项目分组模式下,每个 project group 内按 `updatedAt` 降序排列,再用 title/id 做稳定兜底。 diff --git a/docs/issues/session-list-stable-alphabetical-sort/tasks.md b/docs/issues/session-list-stable-alphabetical-sort/tasks.md deleted file mode 100644 index 87c5f5a86..000000000 --- a/docs/issues/session-list-stable-alphabetical-sort/tasks.md +++ /dev/null @@ -1,7 +0,0 @@ -# 会话列表固定字母排序 Tasks - -- [x] 确认 [spec.md](./spec.md) 没有遗留 `[NEEDS CLARIFICATION]`。 -- [x] 调整 renderer session store 的统一排序规则为标题字母序。 -- [x] 移除 pin / unpin 时对本地 `updatedAt` 的重排副作用。 -- [x] 更新 renderer store 测试覆盖排序与 pin 回归场景。 -- [x] 运行 `pnpm run format`、`pnpm run i18n`、`pnpm run lint`。 diff --git a/docs/issues/settings-save-clone-errors/plan.md b/docs/issues/settings-save-clone-errors/plan.md new file mode 100644 index 000000000..0abcc4159 --- /dev/null +++ b/docs/issues/settings-save-clone-errors/plan.md @@ -0,0 +1,17 @@ +# Settings Save Clone Errors Plan + +## Approach + +Normalize renderer-owned settings payloads into plain objects before invoking config routes. +Keep route names, persisted config keys, and presenter contracts unchanged. + +## Implementation + +- Add a small recursive serializer in the renderer config client for arrays, objects, and dates. +- Apply the serializer to settings save paths that can receive Vue reactive proxies. +- Normalize DeepChat Agent model selections before building create/update payloads. +- Cover serialized bridge payloads with structured clone assertions. + +## Verification + +- `pnpm vitest --config vitest.config.renderer.ts test/renderer/api/clients.test.ts test/renderer/components/DeepChatAgentsSettings.test.ts` diff --git a/docs/issues/settings-save-clone-errors/spec.md b/docs/issues/settings-save-clone-errors/spec.md new file mode 100644 index 000000000..0e3cb459c --- /dev/null +++ b/docs/issues/settings-save-clone-errors/spec.md @@ -0,0 +1,19 @@ +# Settings Save Clone Errors Spec + +## Goal + +Fix renderer IPC clone errors when settings save paths receive reactive objects. + +## Requirements + +- Saving an existing DeepChat Agent sends a structured-cloneable payload to the typed route bridge. +- Creating a DeepChat Agent uses the same structured-cloneable payload shape as updating. +- Adding, updating, and replacing custom prompts send structured-cloneable payloads. +- Adding, updating, and replacing system prompts send structured-cloneable payloads. +- Saving shortcut keys sends a structured-cloneable payload. +- Existing saved values and route contracts remain unchanged. +- Tests cover the renderer API client payloads with structured clone validation. + +## Compatibility + +Settings route names, presenter contracts, and persisted config keys remain unchanged. diff --git a/docs/issues/settings-save-clone-errors/tasks.md b/docs/issues/settings-save-clone-errors/tasks.md new file mode 100644 index 000000000..91d2319e5 --- /dev/null +++ b/docs/issues/settings-save-clone-errors/tasks.md @@ -0,0 +1,8 @@ +# Settings Save Clone Errors Tasks + +- [x] Identify settings save routes that can receive reactive objects. +- [x] Serialize shortcut key, custom prompt, system prompt, and DeepChat Agent payloads. +- [x] Normalize DeepChat Agent advanced model selections to plain route values. +- [x] Add renderer API client structured clone coverage. +- [x] Add DeepChat Agent settings save coverage for cloneable model selections. +- [x] Run targeted renderer tests. diff --git a/docs/issues/sidebar-history-pagination-stuck/plan.md b/docs/issues/sidebar-history-pagination-stuck/plan.md new file mode 100644 index 000000000..53dd4a5ea --- /dev/null +++ b/docs/issues/sidebar-history-pagination-stuck/plan.md @@ -0,0 +1,80 @@ +# 实施计划:侧边栏历史会话分页加载卡死 + +## 目标 + +修复 #1762:让侧边栏能持续加载并展示全部 regular 历史会话。核心两改 + 一项次要增强。 + +## 方案概述 + +### 改动 1 — 分页不再携带子代理会话(页槽修正) + +**文件**:`src/renderer/src/stores/ui/session.ts` + +将 `loadSessionPage` 中两处分页请求的 `includeSubagents: true` 改为 `false` +(`:512` 首屏、`:551` 翻页)。 + +- 后端 `newSessions.ts:240` 在 `includeSubagents !== true` 时自动加 + `WHERE session_kind = 'regular'`,使一页 30 条全部为 regular 会话。 +- `nextCursor` / `hasMore`(`sessionManager.ts:107-113`、`newSessions.ts:262`)随之只基于 + regular 会话计算,语义与显示层一致。 +- 影响面已核实安全(见 spec「影响面评估」)。 + +### 改动 2 — 加载后自动填充视口(根治"无滚动条→不加载") + +**文件**:`src/renderer/src/components/WindowSideBar.vue` + +新增 `ensureSessionListFilled()`:在首屏加载完成、列表渲染更新(`nextTick`)后,检测 +`scrollHeight <= clientHeight && sessionStore.hasMore && !sessionStore.loadingMore`, +若成立则 `await sessionStore.loadNextPage()` 并循环复检,直到视口被填满或 `hasMore = false`。 + +触发时机: +- `onMounted` 首屏 `fetchSessions` 之后; +- `watch(filteredGroups / pinnedSessions)` 或 `watch(sessionStore.sessions.length)` 变化后 + (会话列表内容变化、agent 切换过滤后内容变矮时复检)。 + +防护: +- 用一个 `isFilling` 本地标志避免并发重入; +- 设置最大循环轮数上限(如 `hasMore` 为真但连续加载无新增时退出)防止异常死循环; +- 复用现有 `performSessionListScrollCheck` 的 96px 阈值常量,逻辑保持一致。 + +### 改动 3(次要)— 侧边栏搜索接入后端 FTS + +**文件**:`src/renderer/src/components/WindowSideBar.vue`(+ 可能 `session.ts` / `SessionClient`) + +当前 `matchesSessionSearch` 仅前端过滤。增强为:搜索关键词非空时,调用已有 +`sessionClient.searchHistory(query)`(FTS 直查 DB),将命中的历史会话合并进可显示集合。 + +- 优先复用 `spotlight.ts:305` 已验证的 `searchHistory` 调用方式。 +- 加 debounce,避免逐字符请求。 +- 若本增强工作量偏大,可拆为独立后续 PR,先合入改动 1+2 即可让"滚动加载"恢复正常。 + +## 涉及模块 + +| 层 | 文件 | 改动 | +|---|---|---| +| Renderer Store | `src/renderer/src/stores/ui/session.ts` | `includeSubagents: false` ×2 | +| Renderer 组件 | `src/renderer/src/components/WindowSideBar.vue` | 视口自动填充;(次要)搜索接 FTS | +| Renderer Client | `src/renderer/api/SessionClient.ts` | (次要)如需暴露 searchHistory | + +主进程 / DB / 契约层**无需改动**(透传逻辑已正确)。 + +## 测试策略 + +- `test/renderer/stores/sessionStore.test.ts` + - 断言 `loadSessionPage` 发出的请求 `includeSubagents === false`。 + - 断言翻页 cursor 推进、`hasMore` 收敛、`sessions` 累积去重。 +- `test/renderer/components/WindowSideBar.test.ts` + - 模拟 `scrollHeight <= clientHeight && hasMore` 场景,断言 `loadNextPage` 被自动调用 + 直到 `hasMore = false`。 + - 模拟首屏已填满视口(`scrollHeight > clientHeight`)时,不应额外自动加载。 +- 回归:`pnpm test:renderer` 全绿。 + +## 兼容性 / 风险 + +- 分页协议、存储数据、契约类型均不变,无数据迁移。 +- 风险点:自动填充循环若与 cursor 异常叠加可能多拉数据 → 用 `isFilling` 标志 + 轮数上限兜底。 +- 性能:改动 1 减少传输的无关子代理会话,整体更优。 + +## 质量门禁 + +实现后执行:`pnpm run format && pnpm run i18n && pnpm run lint && pnpm run typecheck && pnpm test:renderer` diff --git a/docs/issues/sidebar-history-pagination-stuck/spec.md b/docs/issues/sidebar-history-pagination-stuck/spec.md new file mode 100644 index 000000000..c6ea05abe --- /dev/null +++ b/docs/issues/sidebar-history-pagination-stuck/spec.md @@ -0,0 +1,71 @@ +# 侧边栏历史会话分页加载卡死 + +> Issue: [#1762](https://github.com/ThinkInAIXYZ/deepchat/issues/1762) `[BUG] 对话历史无法加载` +> 环境: Windows 11 / DeepChat v1.0.6-beta.5 + +## 背景 + +用户的数据库中存在 100+ 个 regular 会话(已用数据库修复功能确认数据完整、schema 正常), +但侧边栏只显示最近十几个会话,滚动到底部不触发"加载更多",侧边栏搜索也找不到未加载的旧会话。 +用户进一步反馈:在同一个 agent 下新建几个对话后,更早的旧对话也会从侧边栏消失。 + +## 根因 + +侧边栏分页存在两个相互叠加的缺陷: + +1. **页槽被子代理会话浪费** + 侧边栏首屏与翻页请求 `listLightweight` 时传入 `includeSubagents: true` + (`src/renderer/src/stores/ui/session.ts:512`、`:551`),使后端一页 30 条结果里混入 + `session_kind = 'subagent'` 的会话;但显示层只渲染 regular 会话 + (`isRegularSession`,`session.ts:918`/`:930`)。一页 30 条里被子代理占用的名额会被直接过滤掉, + 导致界面可见的 regular 会话远少于 30。 + +2. **首屏未填满视口 → 无滚动条 → 永不触发加载更多** + `performSessionListScrollCheck` 仅在 `scroll` 事件中调用 + (`src/renderer/src/components/WindowSideBar.vue:1102-1125`)。当首屏可见 regular 会话过少、 + 列表内容高度 < 容器高度时,不存在可滚动空间,`scroll` 事件永不触发, + `loadNextPage()` 永远不会被调用。缺少"加载后检测视口是否填满、未满则继续加载"的自动填充逻辑。 + +此外,侧边栏搜索 (`WindowSideBar.vue` `matchesSessionSearch`) 仅在已加载的 `sessions.value` +内存数组中按标题过滤,未接入后端 FTS 搜索,因此未加载的旧会话搜不到。 + +## 用户故事 + +- 作为用户,当我有上百个历史会话时,**滚动侧边栏应能持续加载更早的会话**,直到全部可见。 +- 作为用户,**首屏应尽量填满可视区域**,而不是只显示十几条后就停住、且没有滚动条。 +- 作为用户,在侧边栏搜索框输入关键词时,**应能命中未加载到前端的历史会话**(次要目标)。 + +## 验收标准 + +1. 数据库有 100+ regular 会话时,侧边栏首屏加载后内容高度应填满(或超过)列表容器高度, + 存在可滚动空间。 +2. 滚动到列表底部(距底 ≤ 96px)时触发 `loadNextPage`,可持续翻页直到 `hasMore = false`, + 最终能展示数据库中的全部 regular 会话。 +3. 当首屏返回的 regular 会话不足以填满视口、且 `hasMore = true` 时,应自动继续加载下一页, + 直到填满视口或无更多数据,无需用户手动滚动。 +4. 侧边栏分页请求不再因子代理会话占用页槽而减少可见 regular 会话数量。 +5. (次要)侧边栏搜索能命中数据库中未加载到前端的会话标题。 +6. 现有 Vitest 套件(`test/main/**`、`test/renderer/**`)全部通过;新增针对分页/自动填充的回归用例。 + +## 非目标 + +- 不改动子代理会话本身的存储、级联删除、agent 迁移等业务逻辑 + (主进程 4 处 `includeSubagents: true` 走 `.list()`,与本修复无关,保持不变)。 +- 不重构 cursor 分页协议(`updatedAt + id` 游标语义保持不变)。 +- 不改变会话分组(time / project)与置顶逻辑。 + +## 约束 + +- 遵循 typed route / `renderer/api/*Client` 现有路径,不引入 legacy presenter 调用。 +- 用户可见文案使用 i18n key。 +- 兼容性:分页协议与已存储数据均不变,纯前端/查询行为修正,无数据迁移。 + +## 影响面评估(已核实) + +- `isRegularSession`:仅 `session.ts` 3 处,全部用于侧边栏显示过滤,证明 store 无需子代理数据。 +- `includeSubagents: true`:侧边栏分页 2 处需改;主进程 4 处(agent 迁移/删除/级联删/子会话判断) + 走 `.list()`,独立且必须保留;DB/契约/类型层为透传,改前端传 `false` 后 DB 正确启用 + `WHERE session_kind = 'regular'`。 +- 其它 renderer 消费方(`spotlight.ts` 自身已 `.filter(sessionKind !== 'subagent')`)不依赖 + 侧边栏 store 包含子代理会话。 +- 现有测试无断言依赖侧边栏 `listLightweight` 携带子代理,改动安全。 diff --git a/docs/issues/sidebar-history-pagination-stuck/tasks.md b/docs/issues/sidebar-history-pagination-stuck/tasks.md new file mode 100644 index 000000000..c0660a53f --- /dev/null +++ b/docs/issues/sidebar-history-pagination-stuck/tasks.md @@ -0,0 +1,34 @@ +# 任务拆分:侧边栏历史会话分页加载卡死 + +按提交粒度排序,每项可独立 review。 + +## T1 — 分页停止携带子代理会话(核心,最小修复) +- [ ] `src/renderer/src/stores/ui/session.ts:512`、`:551` 将 `includeSubagents: true` 改为 `false` +- [ ] `test/renderer/stores/sessionStore.test.ts` 增断言:分页请求 `includeSubagents === false`, + 翻页 cursor 推进与 `hasMore` 收敛正确 +- 提交:`fix(session): exclude subagents from sidebar pagination` + +## T2 — 侧边栏列表加载后自动填充视口(核心) +- [ ] `WindowSideBar.vue` 新增 `ensureSessionListFilled()`: + `scrollHeight <= clientHeight && hasMore && !loadingMore` 时循环 `loadNextPage()` +- [ ] 加 `isFilling` 重入防护与轮数上限 +- [ ] 在 `onMounted` 首屏加载后、以及会话列表/agent 过滤变化的 `watch` 中触发复检 +- [ ] `test/renderer/components/WindowSideBar.test.ts` 增用例: + - 未填满视口 + `hasMore` → 自动持续加载至 `hasMore=false` + - 已填满视口 → 不额外自动加载 +- 提交:`fix(sidebar): auto-fill session list viewport to resume pagination` + +## T3 — (次要)侧边栏搜索接入后端 FTS +- [ ] 搜索关键词非空时调用 `sessionClient.searchHistory(query)`,合并命中会话 +- [ ] 加 debounce +- [ ] 如需要,`SessionClient.ts` 暴露 `searchHistory` +- [ ] 增搜索命中未加载会话的用例 +- 提交:`feat(sidebar): search history via backend FTS` +- 备注:可拆为独立后续 PR,不阻塞 T1+T2 合入 + +## T4 — 质量门禁与收尾 +- [ ] `pnpm run format && pnpm run i18n && pnpm run lint && pnpm run typecheck` +- [ ] `pnpm test:renderer`(必要时 `pnpm test`) +- [ ] PR 描述附 BEFORE/AFTER 行为说明,`Closes #1762`,base 分支 `dev` +- [ ] 实现完成后按 SDD 保留策略:删除本目录 `plan.md` / `tasks.md`, + `spec.md` 作为回归契约保留(两周后若无价值再清理) diff --git a/docs/issues/skill-presenter-sync-io/plan.md b/docs/issues/skill-presenter-sync-io/plan.md deleted file mode 100644 index 95b0a9b39..000000000 --- a/docs/issues/skill-presenter-sync-io/plan.md +++ /dev/null @@ -1,22 +0,0 @@ -# SkillPresenter Sync IO — Plan - -1. Add `private async pathExists()` helper (`fs.promises.access`). -2. Convert read-path call sites in `src/main/presenter/skillPresenter/index.ts`: - - `discoverPluginSkillsOnMainThread`, `parseSkillMetadata` (discovery fallback) - - `loadSkillContent`, `viewSkill`, `viewDraftSkill` - - `getSkillExtension`, `listSkillScripts` + `collectScriptDescriptors` (→ async) - - `getSkillFolderTree` + `buildFolderTree` (→ async) - - `listSkillLinkedFiles` + `collectLinkedFiles` (→ async, awaited from `viewSkill`) -3. Update `test/main/presenter/skillPresenter/skillPresenter.test.ts`: - - fs mock factory: `promises.*` delegate to sync mocks - - shared `beforeEach`: replace `fs.promises.stat/readFile` `mockResolvedValue` defaults with - the same delegation (they would otherwise clobber the factory delegation per test) - - keep `readFileSync` default returning `'test'` to preserve `readSkillFile` expectations -4. Verify: targeted test file at baseline (3 pre-existing failures), then full `test:main`, - `typecheck:node`, `lint`, `format`. - -# Tasks - -- [ ] T1: pathExists helper + read-path conversion -- [ ] T2: test fs mock delegation -- [ ] T3: verification (tests at baseline, typecheck, lint, format) diff --git a/docs/issues/skill-presenter-sync-io/tasks.md b/docs/issues/skill-presenter-sync-io/tasks.md deleted file mode 100644 index b6e61718d..000000000 --- a/docs/issues/skill-presenter-sync-io/tasks.md +++ /dev/null @@ -1,16 +0,0 @@ -# SkillPresenter Sync IO — Tasks - -- [x] T1: Add `pathExists` helper and convert read-path call sites to `fs.promises` -- [x] T2: Update test fs mock so `promises.*` delegate to sync mocks -- [x] T3: Verify tests at baseline + typecheck + lint + format - -## Outcome - -Converted to `fs.promises` (no public signature changes): `discoverPluginSkillsOnMainThread`, -`parseSkillMetadata`, `loadSkillContent`, `viewSkill`, `viewDraftSkill`, `getSkillExtension`, -`listSkillScripts`, `collectScriptDescriptors`, `getSkillFolderTree`/`buildFolderTree`, -`listSkillLinkedFiles`/`collectLinkedFiles`. Mutation paths intentionally left synchronous -(see spec.md). One test assertion updated ("rejects oversized raw skill file reads") because -discovery now reads frontmatter through `fs.promises.readFile`. `test:main` at pre-existing -baseline (15 failures on dev unrelated to this change); the 3 `manageDraftSkill` failures in -`skillPresenter.test.ts` fail identically on unmodified dev. diff --git a/docs/issues/skill-watcher-initialize-failure/spec.md b/docs/issues/skill-watcher-initialize-failure/spec.md new file mode 100644 index 000000000..4aa3b418f --- /dev/null +++ b/docs/issues/skill-watcher-initialize-failure/spec.md @@ -0,0 +1,19 @@ +# Skill Watcher Initialize Failure + +## User Story + +When the skill file watcher utility process fails to start or exits during startup, the skills +system should still initialize and remain usable for discovery, reads, and background sync. + +## Acceptance Criteria + +- `SkillPresenter.initialize()` does not fail solely because skill file watching is unavailable. +- `watchSkillFiles()` logs a warning and leaves the presenter in a retryable state when watcher + startup throws. +- Runtime watcher errors release the failed watcher so a later `watchSkillFiles()` call can retry. +- Existing skill discovery and cache behavior remains unchanged. + +## Non-Goals + +- Replacing the watcher backend. +- Adding a user-visible degraded-mode banner. diff --git a/docs/issues/skills-path-cross-platform-repair/plan.md b/docs/issues/skills-path-cross-platform-repair/plan.md deleted file mode 100644 index cca17f034..000000000 --- a/docs/issues/skills-path-cross-platform-repair/plan.md +++ /dev/null @@ -1,25 +0,0 @@ -# Skills Path Cross-Platform Repair Plan - -## Approach - -Extend `SkillPresenter.resolveSkillsDir()` with a small default-path repair step. The repair only -matches paths that look like DeepChat's default skills location under an OS user home directory: - -- `/Users//.deepchat/skills` -- `:\Users\\.deepchat\skills` - -If matched, return the same suffix under the current `app.getPath('home')` default skills root. -This keeps intentionally custom paths unchanged while covering stale OS/account defaults. - -## Compatibility - -The current malformed path repair for `C:\Users\name.deepchat\skills` is preserved. Existing valid -configured paths continue to resolve through `path.resolve()`. - -## Test Strategy - -Add constructor-level `getSkillsDir()` assertions in `skillPresenter.test.ts` for: - -- POSIX stale default path repair. -- Windows stale default path repair. -- Existing malformed `.deepchat` repair remains unchanged. diff --git a/docs/issues/skills-path-cross-platform-repair/spec.md b/docs/issues/skills-path-cross-platform-repair/spec.md deleted file mode 100644 index 59003014a..000000000 --- a/docs/issues/skills-path-cross-platform-repair/spec.md +++ /dev/null @@ -1,32 +0,0 @@ -# Skills Path Cross-Platform Repair - -## Problem - -DeepChat can fail during startup when the persisted `skillsPath` points to a default skills -directory from another OS or user profile, such as `/Users/old-user/.deepchat/skills` on Windows. -Windows resolves that POSIX-looking path under the current drive, then startup attempts to create a -directory like `C:\Users\old-user\.deepchat\skills` and can fail with `EPERM`. - -## User Story - -As a user who moved configuration between machines or OS accounts, I want DeepChat to recover from -stale default skills paths so the app still opens and uses the current profile's skills directory. - -## Acceptance Criteria - -- Startup repairs stale default skills paths from POSIX `/Users//.deepchat/skills`. -- Startup repairs stale default skills paths from Windows `C:\Users\\.deepchat\skills`. -- Repair keeps any path suffix below `skills`. -- Non-default custom skills paths remain unchanged. -- Existing malformed `.deepchat` path repair keeps working. - -## Non-Goals - -- Do not migrate arbitrary custom directories. -- Do not change skill discovery, installation, or sync behavior. -- Do not add a new settings migration framework. - -## Constraints - -- Keep the change localized to the existing `SkillPresenter` startup path handling. -- Add focused unit coverage for the repaired path patterns. diff --git a/docs/issues/skills-path-cross-platform-repair/tasks.md b/docs/issues/skills-path-cross-platform-repair/tasks.md deleted file mode 100644 index b85b57f63..000000000 --- a/docs/issues/skills-path-cross-platform-repair/tasks.md +++ /dev/null @@ -1,6 +0,0 @@ -# Skills Path Cross-Platform Repair Tasks - -- [x] Document the issue and repair scope. -- [x] Extend `SkillPresenter.resolveSkillsDir()` repair logic. -- [x] Add focused unit tests for cross-platform stale default paths. -- [x] Run formatting and the targeted SkillPresenter test. diff --git a/docs/issues/startup-warning-cleanup/plan.md b/docs/issues/startup-warning-cleanup/plan.md deleted file mode 100644 index 351b1796b..000000000 --- a/docs/issues/startup-warning-cleanup/plan.md +++ /dev/null @@ -1,17 +0,0 @@ -# Startup Warning Cleanup Plan - -## Implementation - -- Add a lifecycle delay normalization helper and use it before the development-only hook delay timer. -- Add `EventBus.sendToRendererIfAvailable(...)`, sharing the existing renderer dispatch behavior while - returning `false` silently when `WindowPresenter` is unavailable. -- Update `EventBus.send(...)` to emit to main listeners first and then use the optional renderer send. -- Route ACP/session-list refresh notifications through the optional renderer send when no renderer may - exist yet. - -## Tests - -- Unit-test lifecycle delay normalization for missing, empty, invalid, negative, fractional, and valid - values. -- Extend EventBus tests to cover optional renderer delivery, direct renderer warnings, and main-process - delivery without a renderer. diff --git a/docs/issues/startup-warning-cleanup/spec.md b/docs/issues/startup-warning-cleanup/spec.md deleted file mode 100644 index 62e5abe93..000000000 --- a/docs/issues/startup-warning-cleanup/spec.md +++ /dev/null @@ -1,20 +0,0 @@ -# Startup Warning Cleanup Spec - -## Goal - -Startup should not print misleading warning noise when development lifecycle settings are omitted -or when expected early main-process events fire before any renderer window exists. - -## Acceptance Criteria - -- Missing, empty, invalid, non-finite, and negative `VITE_APP_LIFECYCLE_HOOK_DELAY` values produce a - `0` millisecond hook delay and never trigger `TimeoutNaNWarning`. -- `EventBus.send(...)` still emits to main-process listeners when no `WindowPresenter` is registered. -- `EventBus.send(...)` does not warn when renderer delivery is unavailable during startup. -- Direct `EventBus.sendToRenderer(...)` keeps warning when called without a `WindowPresenter`. -- Startup ACP/session-list notifications use the quiet renderer path when renderer delivery is optional. - -## Non-Goals - -- No IPC, preload, renderer UI, database, or migration changes. -- No changes to event payload shapes. diff --git a/docs/issues/startup-warning-cleanup/tasks.md b/docs/issues/startup-warning-cleanup/tasks.md deleted file mode 100644 index 51a97daa9..000000000 --- a/docs/issues/startup-warning-cleanup/tasks.md +++ /dev/null @@ -1,7 +0,0 @@ -# Startup Warning Cleanup Tasks - -- [x] Add lifecycle hook delay normalization. -- [x] Add optional EventBus renderer send. -- [x] Route startup-safe config notifications through optional renderer delivery. -- [x] Add focused unit tests. -- [x] Run targeted tests and required formatting/i18n/lint checks. diff --git a/docs/issues/stop-pauses-pending-queue/plan.md b/docs/issues/stop-pauses-pending-queue/plan.md deleted file mode 100644 index d5a3d47e6..000000000 --- a/docs/issues/stop-pauses-pending-queue/plan.md +++ /dev/null @@ -1,16 +0,0 @@ -# Plan - -## Approach - -- Track sessions whose pending turn queue was paused by an explicit user stop. -- Set that pause in `cancelGeneration` when a queue drain is active or pending turn input exists. -- Prevent automatic queue drains for `enqueue` and `completed` while the pause is active. -- Clear the pause when the user explicitly calls `resumePendingQueue`, when the session is - destroyed, and when all pending inputs are gone. - -## Test Strategy - -- Add a main-process `AgentRuntimePresenter` regression test that starts a queued pending item, - makes `processStream` return `aborted`, and verifies the item is released but not immediately - claimed again. -- Keep existing queue and cancellation tests passing. diff --git a/docs/issues/stop-pauses-pending-queue/tasks.md b/docs/issues/stop-pauses-pending-queue/tasks.md deleted file mode 100644 index 63f323917..000000000 --- a/docs/issues/stop-pauses-pending-queue/tasks.md +++ /dev/null @@ -1,7 +0,0 @@ -# Tasks - -- [x] Diagnose repeated restart after stopping a queued turn. -- [x] Document expected stop and resume behavior. -- [x] Add pending queue pause state in `AgentRuntimePresenter`. -- [x] Add regression coverage for stop-paused queue drain. -- [x] Run focused and required checks. diff --git a/docs/issues/telegram-message-markdown-render/plan.md b/docs/issues/telegram-message-markdown-render/plan.md deleted file mode 100644 index e46ecc17c..000000000 --- a/docs/issues/telegram-message-markdown-render/plan.md +++ /dev/null @@ -1,21 +0,0 @@ -# Telegram Message Markdown Render Plan - -## Approach - -- Add `src/main/presenter/remoteControlPresenter/telegram/telegramMarkdown.ts` exposing `convertMarkdownToTelegramHtml(text: string): string`, mirroring the Feishu-side `feishuMarkdown.ts` module location and shape. -- The converter: - - Escapes `&`, `<`, `>` first to make raw text safe for `parse_mode: 'HTML'`. - - Converts common GFM pipe tables into fenced fixed-width text before code-block extraction. - - Handles fenced code blocks (` ``` `) by emitting `
...
` and protecting the body from further Markdown processing. - - Handles inline code (` `…` `), bold (`**`/`__`), italic (`*`/`_`), strikethrough (`~~`), links, headings (`#…######`), unordered/ordered lists, and blockquotes (`>`). - - Auto-closes a dangling fenced block when called on a chunk that ends mid-block, so each chunk produces valid HTML for Telegram. -- Extend `TelegramClient.sendMessage`, `editMessageText`, and `sendPhoto` with an optional `parseMode` ('HTML' | 'MarkdownV2'). Default remains undefined for backward compatibility. -- In `TelegramPoller`: - - Convert chunk text via `convertMarkdownToTelegramHtml` before `sendMessage`/`editMessageText` calls in `syncDeliverySegment`, `sendChunkedMessage`, `dispatchOutboundActions`, and `editMessageText`. Pass `parseMode: 'HTML'`. - - Apply conversion to the interaction prompt text as well so callback prompts render formatting consistently. - - Retry the original plain-text chunk when Telegram returns a 400 entity-parse error for converted HTML. - -## Validation - -- Run `pnpm test test/main/presenter/remoteControlPresenter/telegramClient.test.ts` (extended) and a new `telegramMarkdown.test.ts` covering core conversion rules, table fallback, and chunk-boundary behavior. -- Run `pnpm run typecheck:node` to confirm no signature break in callers (Poller, Adapter). diff --git a/docs/issues/telegram-message-markdown-render/tasks.md b/docs/issues/telegram-message-markdown-render/tasks.md deleted file mode 100644 index d06dd3076..000000000 --- a/docs/issues/telegram-message-markdown-render/tasks.md +++ /dev/null @@ -1,9 +0,0 @@ -# Telegram Message Markdown Render Tasks - -- [x] Capture the reproduction from issue #1665 and confirm `sendMessage`/`editMessageText` ship raw Markdown without `parse_mode`. -- [x] Draft SDD spec, plan, tasks documents. -- [x] Implement `telegram/telegramMarkdown.ts` with `convertMarkdownToTelegramHtml`. -- [x] Thread an optional `parseMode` through `TelegramClient.sendMessage`, `editMessageText`, and `sendPhoto`. -- [x] Update `TelegramPoller` to apply the converter and pass `parse_mode: 'HTML'` on all generated text paths. -- [x] Add focused tests for the converter, table fallback, parse-mode wiring, and plain-text retry. -- [ ] Run `pnpm run format`, `pnpm run lint`, `pnpm run typecheck:node`, and the focused test suites. diff --git a/docs/issues/vite-mixed-import-warnings/plan.md b/docs/issues/vite-mixed-import-warnings/plan.md deleted file mode 100644 index 063f0dc83..000000000 --- a/docs/issues/vite-mixed-import-warnings/plan.md +++ /dev/null @@ -1,22 +0,0 @@ -# Vite Mixed Import Warnings Plan - -## Approach - -- Replace ineffective dynamic imports with ordinary static imports when the target is already part - of the eager main-process graph. -- For file MIME detection, move the detection helpers into a small dependency-free module so - `BaseFileAdapter` can import them statically without creating a direct adapter registry cycle. -- Keep `mime.ts` as the adapter registry facade by re-exporting the MIME detection helpers. - -## Validation - -- Search for remaining dynamic imports of the warned modules. -- Run formatting, i18n validation, lint, and a main build check to confirm the warnings are gone. - -## Risks - -- Static presenter imports are cyclic with `presenter/index.ts`; this project already uses the - exported singleton through static imports in several presenter modules. The changed call sites - only read the binding inside methods after initialization. -- Extracting MIME detection must preserve the existing exported symbols from `mime.ts` so current - callers do not need behavioral changes. diff --git a/docs/issues/vite-mixed-import-warnings/spec.md b/docs/issues/vite-mixed-import-warnings/spec.md deleted file mode 100644 index 12470f949..000000000 --- a/docs/issues/vite-mixed-import-warnings/spec.md +++ /dev/null @@ -1,31 +0,0 @@ -# Vite Mixed Import Warnings - -## Problem - -Electron Vite build output reports Rollup warnings when a module is dynamically imported while -also being statically imported elsewhere. The affected modules are: - -- `src/main/presenter/filePresenter/mime.ts` -- `src/main/presenter/agentSessionPresenter/legacyImportService.ts` -- `src/main/presenter/index.ts` - -Because the modules are already in the static graph, the dynamic imports cannot create separate -chunks and the build remains noisy. - -## Acceptance Criteria - -- The listed mixed static/dynamic import warnings no longer appear in the main-process build. -- Runtime behavior for file MIME detection, legacy chat import, data reset, shutdown interception, - and sync import broadcast remains unchanged. -- The fix stays scoped to import structure and avoids broad presenter refactors. - -## Non-Goals - -- Reworking presenter singleton ownership. -- Changing backup, reset, shutdown, or legacy import behavior. -- Optimizing chunk boundaries beyond removing ineffective dynamic imports. - -## Constraints - -- Keep the existing presenter and service APIs stable. -- Avoid introducing unresolved circular runtime reads during module initialization. diff --git a/docs/issues/vite-mixed-import-warnings/tasks.md b/docs/issues/vite-mixed-import-warnings/tasks.md deleted file mode 100644 index e3e6e6070..000000000 --- a/docs/issues/vite-mixed-import-warnings/tasks.md +++ /dev/null @@ -1,7 +0,0 @@ -# Vite Mixed Import Warnings Tasks - -- [x] Add SDD notes for the warning cleanup. -- [x] Extract MIME detection helpers away from the adapter registry. -- [x] Replace ineffective dynamic imports for legacy import and presenter singleton access. -- [x] Verify no warned dynamic imports remain. -- [x] Run required quality checks. diff --git a/docs/issues/windows-arm64-duckdb-upgrade/plan.md b/docs/issues/windows-arm64-duckdb-upgrade/plan.md deleted file mode 100644 index a35b2a747..000000000 --- a/docs/issues/windows-arm64-duckdb-upgrade/plan.md +++ /dev/null @@ -1,93 +0,0 @@ -# Windows ARM64 DuckDB Upgrade Plan - -## Planning Summary - -The safest first increment is to upgrade DuckDB to a Windows ARM64-capable release and add a narrow CI smoke check for DuckDB + `vss` before launching the Electron app. - -This isolates two independent risks: - -1. native binding availability on `win32-arm64` -2. `vss` extension install/load compatibility on the upgraded DuckDB release - -## Current Repository Constraints - -- DeepChat imports DuckDB through `src/main/presenter/knowledgePresenter/database/duckdbPresenter.ts`. -- The main-process startup path reaches built-in knowledge base code early enough that a missing native binding crashes the app before E2E can observe a window. -- DeepChat's DuckDB flow uses both online `INSTALL/LOAD vss` and an offline copied extension path through `scripts/installVss.js` and runtime extension loading. -- Project guidance requires keeping an SDD folder for active issue work and running `pnpm run format`, `pnpm run i18n`, and `pnpm run lint` after implementation. - -## Proposed Changes - -### 1. Dependency Upgrade - -Update `package.json` to `@duckdb/node-api@1.5.3-r.1` and refresh `pnpm-lock.yaml`. - -Expected effect: - -- pnpm resolves `@duckdb/node-bindings@1.5.3-r.1` -- pnpm resolves `@duckdb/node-bindings-win32-arm64@1.5.3-r.1` -- Windows ARM64 can load the native binding instead of failing during module initialization - -### 2. Early Windows ARM64 Verification - -Add a dedicated workflow step before build/E2E that runs a repository script to verify: - -- `@duckdb/node-api` imports successfully -- `DuckDBInstance.create(':memory:')` works -- `INSTALL vss` succeeds -- `LOAD vss` succeeds -- the script prints the resolved DuckDB package version for diagnostics - -This step should fail with a narrow error message instead of allowing the workflow to proceed to a generic Electron launch timeout. - -### 3. Reuse Existing VSS Flow - -Keep the existing DeepChat runtime logic unchanged unless the upgraded API breaks it: - -- `scripts/installVss.js` still performs `INSTALL vss` and copies the installed extension into `runtime/duckdb/extensions` -- `duckdbPresenter.ts` still prefers the bundled extension and falls back to online `INSTALL/LOAD` - -This keeps the change focused on compatibility validation rather than behavior redesign. - -## Validation Strategy - -### Local / Repository Validation - -Run: - -- a targeted DuckDB/VSS smoke command -- any focused tests touching the changed code or scripts -- `pnpm run format` -- `pnpm run i18n` -- `pnpm run lint` - -### CI Validation - -The Windows ARM64 workflow itself becomes part of the validation by: - -1. installing dependencies for `win32-arm64` -2. running the dedicated DuckDB/VSS smoke check -3. only then building and launching the Electron app - -## Risks And Mitigations - -### Risk 1: `vss` fails on Windows ARM64 even after the binding upgrade - -Mitigation: - -- fail in the dedicated verification step with a precise error -- keep a fallback path available for a later issue to disable built-in knowledge base on Windows ARM64 if needed - -### Risk 2: DuckDB package upgrade changes API behavior - -Mitigation: - -- keep changes minimal and avoid refactoring knowledge-base code in the first pass -- use the existing `DuckDBInstance`/`connect`/`run` usage pattern already supported by current code - -### Risk 3: Offline extension installation path changes - -Mitigation: - -- validate `scripts/installVss.js` against the upgraded package -- prefer a dedicated smoke script that exercises the same `INSTALL vss` and `LOAD vss` sequence used by production code diff --git a/docs/issues/windows-arm64-duckdb-upgrade/spec.md b/docs/issues/windows-arm64-duckdb-upgrade/spec.md index ae16a16e4..aeb6c662b 100644 --- a/docs/issues/windows-arm64-duckdb-upgrade/spec.md +++ b/docs/issues/windows-arm64-duckdb-upgrade/spec.md @@ -2,7 +2,7 @@ ## Status -Draft on `2026-05-21`. +Implemented in current code as of 2026-06-13. ## Goal @@ -10,9 +10,10 @@ Restore Windows ARM64 desktop startup and smoke E2E coverage by upgrading DeepCh ## Background -The Windows ARM64 E2E workflow currently fails during Electron main-process startup before the first window becomes available. +The Windows ARM64 E2E startup failure was caused by DeepChat loading +`@duckdb/node-api@1.3.2-alpha.25` during boot. -The failure is caused by DeepChat loading `@duckdb/node-api@1.3.2-alpha.25` during boot. That package version only ships native bindings for: +That package version only ships native bindings for: - `darwin-arm64` - `darwin-x64` @@ -20,9 +21,12 @@ The failure is caused by DeepChat loading `@duckdb/node-api@1.3.2-alpha.25` duri - `linux-x64` - `win32-x64` -It does not ship a `win32-arm64` binding, so the app crashes while loading the built-in knowledge base presenter on Windows ARM64. +It does not ship a `win32-arm64` binding, so the app crashed while loading the built-in knowledge +base presenter on Windows ARM64. -The newer `@duckdb/node-api@1.5.3-r.1` release depends on `@duckdb/node-bindings@1.5.3-r.1`, which publishes `@duckdb/node-bindings-win32-arm64` in npm metadata. DuckDB's current `vss` documentation still describes the same `INSTALL vss`, `LOAD vss`, and `SET hnsw_enable_experimental_persistence = true` workflow that DeepChat already uses. +DeepChat now depends on `@duckdb/node-api@1.5.3-r.1`. The matching lockfile includes +`@duckdb/node-bindings-win32-arm64@1.5.3-r.1`, and the Windows ARM64 workflow runs +`pnpm run smoke:duckdb:vss` before app launch smoke coverage. ## User Stories diff --git a/docs/issues/windows-arm64-duckdb-upgrade/tasks.md b/docs/issues/windows-arm64-duckdb-upgrade/tasks.md deleted file mode 100644 index e4e24c089..000000000 --- a/docs/issues/windows-arm64-duckdb-upgrade/tasks.md +++ /dev/null @@ -1,46 +0,0 @@ -# Windows ARM64 DuckDB Upgrade Tasks - -Feature: `windows-arm64-duckdb-upgrade` -Spec: [spec.md](./spec.md) -Plan: [plan.md](./plan.md) - -## Epic E1 Spec And Scope - -- [x] `T1.1` Create the SDD issue folder with `spec.md`, `plan.md`, and `tasks.md` for the Windows ARM64 DuckDB startup failure. - Owner: Maintainer - Effort: XS - Status: Completed - -## Epic E2 Upgrade And Verification - -- [x] `T2.1` Upgrade `@duckdb/node-api` to `1.5.3-r.1` and refresh the lockfile. - Owner: Maintainer - Effort: S - Status: Completed -- [x] `T2.2` Add a dedicated DuckDB/VSS smoke script that verifies import, in-memory startup, `INSTALL vss`, and `LOAD vss`. - Owner: Maintainer - Effort: S - Status: Completed -- [x] `T2.3` Add the dedicated DuckDB/VSS smoke verification to the Windows ARM64 workflow before app smoke tests. - Owner: Maintainer - Effort: S - Status: Completed -- [x] `T2.4` Scope the Windows ARM64 E2E workflow to launch-only Playwright coverage because this platform gate only needs to prove startup viability. - Owner: Maintainer - Effort: XS - Status: Completed - -## Epic E3 Validation - -- [x] `T3.1` Run targeted validation for the new DuckDB/VSS smoke path. - Owner: Maintainer - Effort: S - Status: Completed -- [x] `T3.2` Run repository-required quality gates: `pnpm run format`, `pnpm run i18n`, and `pnpm run lint`. - Owner: Maintainer - Effort: S - Status: Completed -- [ ] `T3.3` Re-run Windows ARM64 CI after scoping the E2E workflow to launch-only coverage. - Owner: Maintainer - Effort: S - Status: Pending diff --git a/docs/issues/windows-release-build-arch/plan.md b/docs/issues/windows-release-build-arch/plan.md deleted file mode 100644 index b4c01cc6f..000000000 --- a/docs/issues/windows-release-build-arch/plan.md +++ /dev/null @@ -1,15 +0,0 @@ -# Windows Release Build Architecture Plan - -## Workflow Changes - -- Add an explicit `name` to Windows matrix jobs so GitHub Actions does not render every matrix field in the display name. -- Replace Windows x64 `windows-latest` usage with the explicit `windows-2025-vs2026` runner label. -- Expand the release Windows matrix to include arm64 with its own runner and unpacked output directory. -- Copy Windows arm64 release assets from `deepchat-win-arm64` into `release_assets`. - -## Validation - -- Run `pnpm run format`. -- Run `pnpm run i18n`. -- Run `pnpm run lint`. -- Inspect workflow references for stale `windows-latest` usage. diff --git a/docs/issues/windows-release-build-arch/spec.md b/docs/issues/windows-release-build-arch/spec.md deleted file mode 100644 index ce305f1d1..000000000 --- a/docs/issues/windows-release-build-arch/spec.md +++ /dev/null @@ -1,24 +0,0 @@ -# Windows Release Build Architecture - -## User Story - -Maintainers need Windows CI and release jobs to build separate x64 and arm64 packages while keeping GitHub Actions job names concise and stable. - -## Acceptance Criteria - -- Windows build jobs display as one x64 job and one arm64 job, without extra matrix metadata in the job name. -- Windows x64 build jobs no longer use the moving `windows-latest` runner label. -- Release builds include Windows arm64 artifacts alongside Windows x64 artifacts. -- Bundled plugin verification uses the correct unpacked output directory for each Windows architecture. - -## Non-goals - -- Do not change release version metadata. -- Do not remove existing macOS or Linux release behavior. -- Do not change installer naming. - -## Constraints - -- Keep workflow changes minimal. -- Preserve existing Windows x64 behavior except for the explicit runner label. -- Use the existing `windows-11-arm` runner for Windows arm64. diff --git a/docs/issues/windows-release-build-arch/tasks.md b/docs/issues/windows-release-build-arch/tasks.md deleted file mode 100644 index 46228ca03..000000000 --- a/docs/issues/windows-release-build-arch/tasks.md +++ /dev/null @@ -1,7 +0,0 @@ -# Windows Release Build Architecture Tasks - -- [x] Document the CI/release scope. -- [x] Update Windows build workflow job naming and x64 runner label. -- [x] Update release workflow Windows matrix and plugin verification path. -- [x] Include Windows arm64 assets in draft release preparation. -- [x] Run required project checks. diff --git a/docs/issues/workspace-insert-input/plan.md b/docs/issues/workspace-insert-input/plan.md deleted file mode 100644 index f2f99669b..000000000 --- a/docs/issues/workspace-insert-input/plan.md +++ /dev/null @@ -1,41 +0,0 @@ -# Implementation Plan - -## Approach - -1. Split workspace node actions so left-click file selection and context-menu insertion use separate events. -2. Let `WorkspacePanel` emit a session-scoped insertion request upward when the context-menu action is selected. -3. Forward the insertion request through `ChatSidePanel` as a window-level renderer event scoped by `sessionId`. -4. Add a `ChatInputBox` exposed method that inserts a workspace reference using the existing formatter. -5. Make `ChatPage` listen for the session-scoped insertion event and call the exposed input method only for the active session. - -## Affected Interfaces - -- `WorkspaceFileNode.vue`: adds an `insert-path` emit while preserving `append-path` for preview selection. -- `WorkspacePanel.vue`: adds an `insert-file-reference` emit. -- `ChatSidePanel.vue`: dispatches a renderer custom event for the current session. -- `ChatInputBox.vue`: exposes `insertWorkspaceReference`. -- `ChatPage.vue`: listens for and handles workspace insertion requests. - -## Data Flow - -```text -WorkspaceFileNode context menu - -> insert-path(filePath) - -> WorkspacePanel insert-file-reference(filePath) - -> ChatSidePanel window CustomEvent(sessionId, filePath) - -> ChatPage active-session listener - -> ChatInputBox.insertWorkspaceReference(filePath) -``` - -## Compatibility - -- Existing drag-and-drop uses the same formatter and remains unchanged. -- Existing left-click preview selection continues using `append-path`. -- Event payload includes `sessionId` to avoid cross-session insertion. - -## Test Strategy - -- Unit test that `ChatInputBox` exposes workspace-reference insertion. -- Unit test that `WorkspaceFileNode` emits a distinct insertion event for the context menu. -- Unit test that `WorkspacePanel` forwards insertion requests. -- Run formatter, i18n generation, and lint per repository guidance. diff --git a/docs/issues/workspace-insert-input/spec.md b/docs/issues/workspace-insert-input/spec.md deleted file mode 100644 index e40acaac0..000000000 --- a/docs/issues/workspace-insert-input/spec.md +++ /dev/null @@ -1,33 +0,0 @@ -# Workspace Insert Into Input Fix - -## User Need - -When a user opens the workspace file list and right-clicks a file or directory, the context-menu action labeled `Insert into input` must insert a workspace reference into the current chat input. - -## Goal - -Restore the workspace file-list context-menu insertion flow so it targets the active chat input instead of behaving like file preview selection. - -## Acceptance Criteria - -- Right-clicking a workspace file and choosing `Insert into input` inserts the same `@relative/path` reference format used by workspace drag-and-drop. -- Right-clicking a workspace directory and choosing `Insert into input` also inserts a workspace reference when it is inside the active workspace. -- Normal left-click behavior remains unchanged: directories toggle and files select/open in the workspace preview area. -- The insertion request is scoped to the current chat session so another session does not receive the text. -- Invalid or empty paths fail without throwing user-visible errors. - -## Constraints - -- Keep changes renderer-local and aligned with existing Vue 3 Composition API patterns. -- Reuse existing workspace reference formatting logic from `chatInputWorkspaceReference`. -- Do not introduce new user-facing strings. - -## Non-goals - -- Changing drag-and-drop insertion behavior. -- Changing the workspace preview/file selection behavior. -- Adding input insertion for the new-thread page workspace selector. - -## Open Questions - -None. diff --git a/docs/issues/workspace-insert-input/tasks.md b/docs/issues/workspace-insert-input/tasks.md deleted file mode 100644 index 2e36755eb..000000000 --- a/docs/issues/workspace-insert-input/tasks.md +++ /dev/null @@ -1,8 +0,0 @@ -# Tasks - -- [x] Inspect current workspace file action and chat input insertion code. -- [x] Create SDD issue artifacts. -- [x] Split workspace node preview and insertion events. -- [x] Wire insertion events to the active chat input. -- [x] Add or update focused renderer tests. -- [x] Run `pnpm run format`, `pnpm run i18n`, and `pnpm run lint`. diff --git a/docs/issues/yobrowser-cdp-graceful-degradation/plan.md b/docs/issues/yobrowser-cdp-graceful-degradation/plan.md deleted file mode 100644 index c7afca525..000000000 --- a/docs/issues/yobrowser-cdp-graceful-degradation/plan.md +++ /dev/null @@ -1,95 +0,0 @@ -# Plan - -## Source Review - -- `YoBrowserPresenter.updateSessionBrowserBounds()` marks a session invisible - when the renderer reports `visible=false` or zero-size bounds. -- `YoBrowserPresenter.getBrowserStatus()` already returns enough state for an - agent-facing recovery hint: initialized, page, navigation flags, visible, and - loading. -- `YoBrowserToolHandler.callTool()` currently checks `getBrowserPage()` before - `cdp_send` and throws a generic initialization error when no page is available. -- `AgentToolManager` currently wraps YoBrowser handler success as `{ content }`; - thrown errors are caught later in the agent runtime and become errored tool - results with text like `Error: ...`. -- `ToolPresenter` can preserve agent tool failures through `rawData.isError` and - `createAgentToolErrorResult`, which is a better fit for recoverable, - structured YoBrowser failures than an untyped exception string. - -## Design - -- Add a small YoBrowser recoverable error contract for browser availability - failures. The contract should include: - - `code: "yobrowser_unavailable"` - - `recoverable: true` - - `sessionId` - - attempted `method` - - sanitized `browserStatus` from `getBrowserStatus(sessionId)` when available - - concise `suggestedNextActions` -- Detect unavailable-browser states before CDP execution in - `YoBrowserToolHandler.callTool("cdp_send", ...)`: - - missing conversation/session id remains a validation error - - missing or destroyed page maps to the recoverable YoBrowser error - - a known not-ready browser/CDP error that means the browser cannot accept CDP - commands maps to the same recoverable YoBrowser error - - ordinary CDP protocol errors remain ordinary tool errors -- Propagate the recoverable YoBrowser error as an errored agent tool result with - structured content instead of only throwing a generic exception. Prefer the - existing `AgentToolCallResult`/`rawData.isError` path so the runtime marks the - block as an error while preserving the model-readable JSON content. -- Keep the agent-visible payload compact. Do not include stack traces, Electron - internals, full DOM content, screenshots, or local paths. -- Update the YoBrowser tool system prompt only if needed to make the recovery - path explicit. If changed, keep it brief and tool-oriented: - `If cdp_send reports yobrowser_unavailable, inspect get_browser_status and use - load_url to reopen the browser when you have a URL.` - -## Event Flow - -1. User closes or hides the YoBrowser panel while an agent task is running. -2. Renderer bounds update reaches `YoBrowserPresenter.updateSessionBrowserBounds` - with `visible=false` or an unusable size. -3. YoBrowser session state becomes not visible or no longer CDP-ready. -4. The agent later calls `cdp_send`. -5. `YoBrowserToolHandler` detects the unavailable browser state and builds the - recoverable YoBrowser error payload. -6. Agent tool routing returns that payload as an errored tool result. -7. The agent runtime records the tool call as failed but injects the structured - error content into the next model context. -8. The model can call `get_browser_status`, call `load_url` with an available - URL, ask the user to reopen the panel, or continue without browser - verification. - -## Compatibility - -- No storage migration is required. -- No tool name, IPC route, or renderer event contract changes are required for - the first increment. -- Existing successful YoBrowser automation remains source-compatible. -- Existing generic failure logs can stay, but the agent-visible error should no - longer depend on raw exception text for the browser-unavailable case. - -## Test Strategy - -- Update `test/main/presenter/browser/YoBrowserToolHandler.test.ts` to verify - that `cdp_send` on a missing browser returns or raises the recoverable - YoBrowser error contract expected by the chosen propagation path. -- Add or update agent tool manager / tool presenter coverage to verify - recoverable YoBrowser errors become `rawData.isError === true` with structured - model-visible content. -- Add or update agent runtime dispatch coverage to verify the tool block remains - errored and the response text contains the stable `yobrowser_unavailable` - signal. -- Keep existing tests for successful `cdp_send` and `load_url` behavior passing. - -## Risks - -- If the recoverable error is returned as normal content without `isError`, the - UI and runtime may mark the tool as successful. The implementation should use - the existing errored tool-result path. -- If the error payload is too verbose, it may waste context or obscure the - recovery instruction. Keep only state needed for model recovery. -- If all CDP exceptions are treated as browser unavailable, real page/script/CDP - protocol mistakes could become misleading recovery prompts. Limit mapping to - missing page, destroyed page, detached/closed state, and known not-ready - failures. diff --git a/docs/issues/yobrowser-cdp-graceful-degradation/tasks.md b/docs/issues/yobrowser-cdp-graceful-degradation/tasks.md deleted file mode 100644 index bc4268e98..000000000 --- a/docs/issues/yobrowser-cdp-graceful-degradation/tasks.md +++ /dev/null @@ -1,18 +0,0 @@ -# Tasks - -- [x] Review GitHub issue #1734 and confirm the requested graceful-degradation - direction. -- [x] Inspect the current YoBrowser CDP call path and agent tool error - propagation. -- [x] Write SDD spec, plan, and task breakdown before code changes. -- [x] Define the YoBrowser recoverable error contract in the smallest suitable - module. -- [x] Map unavailable-browser `cdp_send` failures to the recoverable - `yobrowser_unavailable` error. -- [x] Propagate the recoverable error as an errored agent tool result with - structured model-visible content. -- [x] Add focused unit tests for YoBrowser handler behavior and agent runtime - propagation. -- [x] Run `pnpm run format`. -- [x] Run `pnpm run i18n`. -- [x] Run `pnpm run lint`. diff --git a/docs/issues/yobrowser-runtime-point-parsing/plan.md b/docs/issues/yobrowser-runtime-point-parsing/plan.md deleted file mode 100644 index 0dd8d24ee..000000000 --- a/docs/issues/yobrowser-runtime-point-parsing/plan.md +++ /dev/null @@ -1,15 +0,0 @@ -# Plan - -## Implementation - -- Update `YoBrowserPresenter.extractPointFromRuntimeExpression` to capture the axis name and assign values by axis. -- Ignore duplicate matches for an axis after the first value has been recorded. -- Keep the existing finite-number guard and rounding behavior. - -## Test Strategy - -- Add focused main-process presenter tests for order-independent mapping, duplicate same-axis handling, and rounding. - -## Risk - -- Low. The change is scoped to activity metadata for Runtime.evaluate click cues and does not affect command execution. diff --git a/docs/issues/yobrowser-runtime-point-parsing/spec.md b/docs/issues/yobrowser-runtime-point-parsing/spec.md deleted file mode 100644 index 40d741ad6..000000000 --- a/docs/issues/yobrowser-runtime-point-parsing/spec.md +++ /dev/null @@ -1,21 +0,0 @@ -# YoBrowser Runtime Point Parsing - -## Problem - -Runtime click activity parsing reads the first two `clientX`/`clientY` numeric matches by position. If `clientY` appears before `clientX`, the visible activity cue can swap the X and Y coordinates. - -## Acceptance Criteria - -- Runtime click expressions map `clientX` to `x` and `clientY` to `y` regardless of property order. -- Parsing returns a point only after seeing both axes. -- Duplicate same-axis matches do not substitute for the missing axis. -- Parsed numeric values continue to be rounded. - -## Non-goals - -- No change to scroll direction inference. -- No broader Runtime.evaluate expression parser. - -## Open Questions - -- None. diff --git a/docs/issues/yobrowser-runtime-point-parsing/tasks.md b/docs/issues/yobrowser-runtime-point-parsing/tasks.md deleted file mode 100644 index 44bf7ee0a..000000000 --- a/docs/issues/yobrowser-runtime-point-parsing/tasks.md +++ /dev/null @@ -1,6 +0,0 @@ -# Tasks - -- [x] Verify the reported positional parsing issue against current code. -- [x] Update runtime expression point parsing. -- [x] Add targeted regression tests. -- [x] Run formatting and validation commands. diff --git a/docs/release-flow.md b/docs/release-flow.md index 841b8e51e..f3bc8ab2a 100644 --- a/docs/release-flow.md +++ b/docs/release-flow.md @@ -64,6 +64,10 @@ This document defines the maintainer release flow for DeepChat without rewriting - the target release commit already exists on `origin/dev` - `origin/main` is an ancestor of the target commit - `main` can be updated with `git merge --ff-only` + - the requested tag is free locally and on `origin` + + The `--tag` option validates tag availability and prints the tag command. Create and push the + tag in the next step. Windows maintainers should skip this helper and use the manual release sequence below. diff --git a/docs/spec-driven-dev.md b/docs/spec-driven-dev.md index 01fbe16ca..38514881a 100644 --- a/docs/spec-driven-dev.md +++ b/docs/spec-driven-dev.md @@ -26,6 +26,10 @@ Each active goal folder contains: If a change is tiny, keep all three files short. +After implementation, delete `plan.md` and `tasks.md`. Keep `spec.md` only when it remains a +durable contract, regression guard, platform policy, or architecture decision that helps maintain +current code. + ## Workflow 1. **Feature Specification** - Define user stories, acceptance criteria, business value, non-goals @@ -33,13 +37,13 @@ If a change is tiny, keep all three files short. 3. **Task Breakdown** - Small tasks that can be reviewed independently 4. **Implementation & Validation** - TDD (pragmatic), Presenter patterns, UI consistency, quality gates -Before implementation, inspect existing docs and code, choose the correct SDD folder, and resolve every `[NEEDS CLARIFICATION]` marker. Keep SDD folders active only while they are driving current work. When a goal is implemented, fold durable maintenance facts into the current project docs and delete the old goal folder. Delete stale goal folders that only describe removed code, abandoned implementation ideas, old branch plans, or one-off bug fixes with no reusable decision record. +Before implementation, inspect existing docs and code, choose the correct SDD folder, and resolve every `[NEEDS CLARIFICATION]` marker. Keep `plan.md` and `tasks.md` active only while they are driving current work. When a goal is implemented, fold durable maintenance facts into the current project docs, keep `spec.md` only if it remains a useful contract, and delete stale goal folders that only describe removed code, abandoned implementation ideas, old branch plans, or one-off bug fixes with no reusable decision record. Retention policy: -- Feature and architecture SDD folders stay only while the work is active. -- Completed feature/architecture SDD content should become current documentation in `README.md`, `ARCHITECTURE.md`, `FLOWS.md`, `architecture/*.md`, or `guides/*.md`. -- Bug-fix issue SDD folders older than two weeks should be removed unless they still describe an active regression. +- Feature and architecture SDD folders keep `plan.md` and `tasks.md` only while the work is active. +- Completed feature/architecture SDD content should become current documentation in `README.md`, `ARCHITECTURE.md`, `FLOWS.md`, `architecture/*.md`, or `guides/*.md`; keep a spec-only folder when the acceptance criteria still define a useful maintained contract. +- Bug-fix issue SDD folders older than two weeks should be removed unless their `spec.md` still describes a useful regression contract. - Long-term history should be recovered from git history, not accumulated under `docs/archives/`. ## Six Core Principles @@ -52,7 +56,8 @@ Write clear requirements with measurable acceptance criteria before writing code Follow DeepChat's existing architectural patterns: - **Presenter Pattern**: Add behavior in the appropriate module under `src/main/presenter/` -- **Event-Driven Communication**: Use `EventBus` + event constants for main ↔ renderer flows +- **Typed Event Communication**: Use `shared/contracts/events.ts` + `publishDeepchatEvent()` for + main → renderer state notifications; keep `EventBus` for main-internal and raw transport flows - **Secure IPC**: Prefer typed IPC via `src/preload/` (contextIsolation on); avoid ad-hoc channels - **Type Definitions**: Shared types live in `src/shared/` @@ -114,7 +119,7 @@ Use Vitest + Vue Test Utils for testing. Test files mirror source structure unde - [ ] Implement Presenter method(s) - [ ] Implement UI component (if needed) - [ ] Add i18n keys (if user-facing) -- [ ] Run: `pnpm run format && pnpm run lint && pnpm run typecheck` +- [ ] Run: `pnpm run format && pnpm run i18n && pnpm run lint && pnpm run typecheck` ## Common Patterns @@ -122,8 +127,8 @@ Use Vitest + Vue Test Utils for testing. Test files mirror source structure unde // 1. Typed Route / Client Method Signature async methodName(params: InputType): Promise -// 2. EventBus Communication (Main Process) -eventBus.sendToRenderer(CONFIG_EVENTS.SETTING_CHANGED, SendTarget.ALL_WINDOWS, payload) +// 2. Typed Event Publication (Main Process) +publishDeepchatEvent('settings.changed', payload) // 3. Renderer-main Integration const settingsClient = new SettingsClient() @@ -141,9 +146,10 @@ const settingsClient = new SettingsClient() Compatibility note: - 新 renderer-main 能力优先定义 `shared/contracts/*` 和 `renderer/api/*Client` -- `useLegacyPresenter()` 不再是推荐模式 -- 如果必须临时保留 legacy transport,应先收口到 `src/renderer/api/legacy/**`,而不是直接进入业务模块 -- 不允许再创建第二个 quarantine 目录来承接 renderer-main legacy transport +- `useLegacyPresenter()`、`presenter:call`、`remoteControlPresenter:call` 和 + `src/renderer/api/legacy/**` 已退休 +- copy、file、openExternal 等低层能力通过 dedicated preload API 和 renderer client 封装 +- `src/renderer/api/legacy/**` 保持删除,architecture guard 会阻止它回流 ## Quick Reference @@ -151,7 +157,8 @@ Compatibility note: - **Renderer clients**: `src/renderer/api/**` - **Tests**: `test/main/**/*`, `test/renderer/**/*` - **EventBus**: `src/main/eventbus.ts` -- **Events**: `src/main/events.ts` (main) and `src/renderer/src/events.ts` (renderer) +- **Typed events**: `src/shared/contracts/events.ts` +- **Raw/internal events**: `src/main/events.ts` and `src/renderer/src/events.ts` - **IPC bridge**: `src/preload/` - **i18n**: `src/renderer/src/i18n/` - **Shared types**: `src/shared/presenter.d.ts` diff --git a/electron-builder.yml b/electron-builder.yml index bb68f1abe..801410fbb 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -36,6 +36,8 @@ asarUnpack: - '**/node_modules/@opendal/**/*' - '**/node_modules/ffi-rs/**/*' - '**/node_modules/@yuuang/ffi-rs-*/**/*' + - '**/node_modules/@parcel/watcher/**/*' + - '**/node_modules/@parcel/watcher-*/**/*' extraResources: - from: ./runtime/ to: app.asar.unpacked/runtime diff --git a/electron.vite.config.ts b/electron.vite.config.ts index a42175ed5..e175736bc 100644 --- a/electron.vite.config.ts +++ b/electron.vite.config.ts @@ -26,7 +26,8 @@ export default defineConfig({ rollupOptions: { input: { index: resolve('src/main/index.ts'), - backgroundExecUtilityHost: resolve('src/main/backgroundExecUtilityHostEntry.ts') + backgroundExecUtilityHost: resolve('src/main/backgroundExecUtilityHostEntry.ts'), + fileWatcherUtilityHost: resolve('src/main/fileWatcherUtilityHostEntry.ts') }, external: ['sharp', '@duckdb/node-api'], output: { diff --git a/package.json b/package.json index efa1bd6b3..afdc9fdbc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "DeepChat", - "version": "1.0.6-beta.5", + "version": "1.0.6-beta.6", "description": "DeepChat,一个简单易用的 Agent 客户端", "main": "./out/main/index.js", "author": "ThinkInAIXYZ", @@ -93,11 +93,11 @@ "@jxa/run": "^1.4.0", "@larksuiteoapi/node-sdk": "^1.64.0", "@modelcontextprotocol/sdk": "^1.29.0", + "@parcel/watcher": "^2.5.6", "ai": "^6.0.199", "axios": "^1.16.1", "better-sqlite3-multiple-ciphers": "12.9.0", "cheerio": "^1.2.0", - "chokidar": "^5.0.0", "compare-versions": "^6.1.1", "cross-spawn": "^7.0.6", "diff": "^8.0.4", diff --git a/resources/acp-registry/icons/devin.svg b/resources/acp-registry/icons/devin.svg new file mode 100644 index 000000000..43170056a --- /dev/null +++ b/resources/acp-registry/icons/devin.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/acp-registry/registry.json b/resources/acp-registry/registry.json index 20d16222a..94b610d80 100644 --- a/resources/acp-registry/registry.json +++ b/resources/acp-registry/registry.json @@ -103,7 +103,7 @@ { "id": "claude-acp", "name": "Claude Agent", - "version": "0.44.0", + "version": "0.45.0", "description": "ACP wrapper for Anthropic's Claude", "repository": "https://github.com/agentclientprotocol/claude-agent-acp", "authors": [ @@ -114,7 +114,7 @@ "license": "proprietary", "distribution": { "npx": { - "package": "@agentclientprotocol/claude-agent-acp@0.44.0" + "package": "@agentclientprotocol/claude-agent-acp@0.45.0" } }, "icon": "https://cdn.agentclientprotocol.com/registry/v1/latest/claude-acp.svg" @@ -122,7 +122,7 @@ { "id": "cline", "name": "Cline", - "version": "3.0.23", + "version": "3.0.24", "description": "Autonomous coding agent CLI - capable of creating/editing files, running commands, using the browser, and more", "repository": "https://github.com/cline/cline", "website": "https://cline.bot/cli", @@ -133,7 +133,7 @@ "icon": "https://cdn.agentclientprotocol.com/registry/v1/latest/cline.svg", "distribution": { "npx": { - "package": "cline@3.0.23", + "package": "cline@3.0.24", "args": [ "--acp" ] @@ -143,7 +143,7 @@ { "id": "codebuddy-code", "name": "Codebuddy Code", - "version": "2.105.1", + "version": "2.106.5", "description": "Tencent Cloud's official intelligent coding tool", "website": "https://www.codebuddy.cn/cli/", "authors": [ @@ -152,7 +152,7 @@ "license": "Proprietary", "distribution": { "npx": { - "package": "@tencent-ai/codebuddy-code@2.105.1", + "package": "@tencent-ai/codebuddy-code@2.106.5", "args": [ "--acp" ] @@ -356,7 +356,7 @@ { "id": "cursor", "name": "Cursor", - "version": "2026.06.04", + "version": "2026.06.15", "description": "Cursor's coding agent", "website": "https://cursor.com/docs/cli/acp", "authors": [ @@ -366,42 +366,42 @@ "distribution": { "binary": { "darwin-aarch64": { - "archive": "https://downloads.cursor.com/lab/2026.06.04-5fd875e/darwin/arm64/agent-cli-package.tar.gz", + "archive": "https://downloads.cursor.com/lab/2026.06.15-03-48-54-da23e37/darwin/arm64/agent-cli-package.tar.gz", "cmd": "./dist-package/cursor-agent", "args": [ "acp" ] }, "darwin-x86_64": { - "archive": "https://downloads.cursor.com/lab/2026.06.04-5fd875e/darwin/x64/agent-cli-package.tar.gz", + "archive": "https://downloads.cursor.com/lab/2026.06.15-03-48-54-da23e37/darwin/x64/agent-cli-package.tar.gz", "cmd": "./dist-package/cursor-agent", "args": [ "acp" ] }, "linux-aarch64": { - "archive": "https://downloads.cursor.com/lab/2026.06.04-5fd875e/linux/arm64/agent-cli-package.tar.gz", + "archive": "https://downloads.cursor.com/lab/2026.06.15-03-48-54-da23e37/linux/arm64/agent-cli-package.tar.gz", "cmd": "./dist-package/cursor-agent", "args": [ "acp" ] }, "linux-x86_64": { - "archive": "https://downloads.cursor.com/lab/2026.06.04-5fd875e/linux/x64/agent-cli-package.tar.gz", + "archive": "https://downloads.cursor.com/lab/2026.06.15-03-48-54-da23e37/linux/x64/agent-cli-package.tar.gz", "cmd": "./dist-package/cursor-agent", "args": [ "acp" ] }, "windows-aarch64": { - "archive": "https://downloads.cursor.com/lab/2026.06.04-5fd875e/windows/arm64/agent-cli-package.zip", + "archive": "https://downloads.cursor.com/lab/2026.06.15-03-48-54-da23e37/windows/arm64/agent-cli-package.zip", "cmd": "./dist-package\\cursor-agent.cmd", "args": [ "acp" ] }, "windows-x86_64": { - "archive": "https://downloads.cursor.com/lab/2026.06.04-5fd875e/windows/x64/agent-cli-package.zip", + "archive": "https://downloads.cursor.com/lab/2026.06.15-03-48-54-da23e37/windows/x64/agent-cli-package.zip", "cmd": "./dist-package\\cursor-agent.cmd", "args": [ "acp" @@ -430,10 +430,68 @@ }, "icon": "https://cdn.agentclientprotocol.com/registry/v1/latest/deepagents.svg" }, + { + "id": "devin", + "name": "Devin", + "version": "2026.5.26", + "description": "Devin CLI coding agent by Cognition", + "website": "https://docs.devin.ai/cli", + "authors": [ + "Cognition" + ], + "license": "proprietary", + "distribution": { + "binary": { + "darwin-aarch64": { + "archive": "https://static.devin.ai/cli/2026.5.26-8/devin-2026.5.26-8-aarch64-apple-darwin.tar.gz", + "cmd": "./bin/devin", + "args": [ + "acp" + ] + }, + "darwin-x86_64": { + "archive": "https://static.devin.ai/cli/2026.5.26-8/devin-2026.5.26-8-x86_64-apple-darwin.tar.gz", + "cmd": "./bin/devin", + "args": [ + "acp" + ] + }, + "linux-aarch64": { + "archive": "https://static.devin.ai/cli/2026.5.26-8/devin-2026.5.26-8-aarch64-unknown-linux.tar.gz", + "cmd": "./bin/devin", + "args": [ + "acp" + ] + }, + "linux-x86_64": { + "archive": "https://static.devin.ai/cli/2026.5.26-8/devin-2026.5.26-8-x86_64-unknown-linux.tar.gz", + "cmd": "./bin/devin", + "args": [ + "acp" + ] + }, + "windows-aarch64": { + "archive": "https://static.devin.ai/cli/2026.5.26-8/devin-2026.5.26-8-aarch64-pc-windows.zip", + "cmd": ".\\bin\\devin.exe", + "args": [ + "acp" + ] + }, + "windows-x86_64": { + "archive": "https://static.devin.ai/cli/2026.5.26-8/devin-2026.5.26-8-x86_64-pc-windows.zip", + "cmd": ".\\bin\\devin.exe", + "args": [ + "acp" + ] + } + } + }, + "icon": "https://cdn.agentclientprotocol.com/registry/v1/latest/devin.svg" + }, { "id": "dimcode", "name": "DimCode", - "version": "0.1.5", + "version": "0.2.2", "description": "A coding agent that puts leading models at your command.", "website": "https://dimcode.dev/docs/acp.html", "authors": [ @@ -442,7 +500,7 @@ "license": "proprietary", "distribution": { "npx": { - "package": "dimcode@0.1.5", + "package": "dimcode@0.2.2", "args": [ "acp" ] @@ -453,7 +511,7 @@ { "id": "dirac", "name": "Dirac", - "version": "0.3.44", + "version": "0.4.0", "description": "Reduces API costs by more than 50%, produces better and faster work. Uses Hash anchored parallel edits, AST manipulation and a whole lot of neat optimizations. Fully Open Source.", "repository": "https://github.com/dirac-run/dirac", "website": "https://dirac.run", @@ -464,7 +522,7 @@ "icon": "https://cdn.agentclientprotocol.com/registry/v1/latest/dirac.svg", "distribution": { "npx": { - "package": "dirac-cli@0.3.44", + "package": "dirac-cli@0.4.0", "args": [ "--acp" ] @@ -474,7 +532,7 @@ { "id": "factory-droid", "name": "Factory Droid", - "version": "0.144.1", + "version": "0.149.0", "description": "Factory Droid - AI coding agent powered by Factory AI", "website": "https://factory.ai/product/cli", "authors": [ @@ -483,7 +541,7 @@ "license": "proprietary", "distribution": { "npx": { - "package": "droid@0.144.1", + "package": "droid@0.149.0", "args": [ "exec", "--output-format", @@ -500,7 +558,7 @@ { "id": "fast-agent", "name": "fast-agent", - "version": "0.7.16", + "version": "0.7.20", "description": "Code and build agents with comprehensive multi-provider support", "repository": "https://github.com/evalstate/fast-agent", "website": "https://fast-agent.ai", @@ -510,7 +568,7 @@ "license": "Apache 2.0", "distribution": { "uvx": { - "package": "fast-agent-acp==0.7.16", + "package": "fast-agent-acp==0.7.20", "args": [ "-x" ] @@ -542,7 +600,7 @@ { "id": "github-copilot-cli", "name": "GitHub Copilot", - "version": "1.0.61", + "version": "1.0.62", "description": "GitHub's AI pair programmer", "repository": "https://github.com/github/copilot-cli", "website": "https://github.com/features/copilot/cli/", @@ -552,7 +610,7 @@ "license": "proprietary", "distribution": { "npx": { - "package": "@github/copilot@1.0.61", + "package": "@github/copilot@1.0.62", "args": [ "--acp" ] @@ -632,7 +690,7 @@ { "id": "grok-build", "name": "Grok Build", - "version": "0.2.20", + "version": "0.2.53", "description": "xAI's coding agent and CLI", "website": "https://x.ai/cli", "authors": [ @@ -640,55 +698,12 @@ ], "license": "proprietary", "distribution": { - "binary": { - "darwin-aarch64": { - "archive": "https://x.ai/cli/grok-0.2.20-macos-aarch64", - "cmd": "./grok-0.2.20-macos-aarch64", - "args": [ - "agent", - "stdio" - ] - }, - "darwin-x86_64": { - "archive": "https://x.ai/cli/grok-0.2.20-macos-x86_64", - "cmd": "./grok-0.2.20-macos-x86_64", - "args": [ - "agent", - "stdio" - ] - }, - "linux-aarch64": { - "archive": "https://x.ai/cli/grok-0.2.20-linux-aarch64", - "cmd": "./grok-0.2.20-linux-aarch64", - "args": [ - "agent", - "stdio" - ] - }, - "linux-x86_64": { - "archive": "https://x.ai/cli/grok-0.2.20-linux-x86_64", - "cmd": "./grok-0.2.20-linux-x86_64", - "args": [ - "agent", - "stdio" - ] - }, - "windows-aarch64": { - "archive": "https://x.ai/cli/grok-0.2.20-windows-aarch64.exe", - "cmd": "./grok-0.2.20-windows-aarch64.exe", - "args": [ - "agent", - "stdio" - ] - }, - "windows-x86_64": { - "archive": "https://x.ai/cli/grok-0.2.20-windows-x86_64.exe", - "cmd": "./grok-0.2.20-windows-x86_64.exe", - "args": [ - "agent", - "stdio" - ] - } + "npx": { + "package": "@xai-official/grok@0.2.53", + "args": [ + "agent", + "stdio" + ] } }, "icon": "https://cdn.agentclientprotocol.com/registry/v1/latest/grok-build.svg" @@ -696,7 +711,7 @@ { "id": "junie", "name": "Junie", - "version": "1831.35.0", + "version": "1892.26.0", "description": "AI Coding Agent by JetBrains", "repository": "https://github.com/JetBrains/junie", "website": "https://junie.jetbrains.com", @@ -707,35 +722,35 @@ "distribution": { "binary": { "darwin-aarch64": { - "archive": "https://github.com/JetBrains/junie/releases/download/1831.35/junie-release-1831.35-macos-aarch64.zip", + "archive": "https://github.com/JetBrains/junie/releases/download/1892.26/junie-release-1892.26-macos-aarch64.zip", "cmd": "./Applications/junie.app/Contents/MacOS/junie", "args": [ "--acp=true" ] }, "darwin-x86_64": { - "archive": "https://github.com/JetBrains/junie/releases/download/1831.35/junie-release-1831.35-macos-amd64.zip", + "archive": "https://github.com/JetBrains/junie/releases/download/1892.26/junie-release-1892.26-macos-amd64.zip", "cmd": "./Applications/junie.app/Contents/MacOS/junie", "args": [ "--acp=true" ] }, "linux-aarch64": { - "archive": "https://github.com/JetBrains/junie/releases/download/1831.35/junie-release-1831.35-linux-aarch64.zip", + "archive": "https://github.com/JetBrains/junie/releases/download/1892.26/junie-release-1892.26-linux-aarch64.zip", "cmd": "./junie-app/bin/junie", "args": [ "--acp=true" ] }, "linux-x86_64": { - "archive": "https://github.com/JetBrains/junie/releases/download/1831.35/junie-release-1831.35-linux-amd64.zip", + "archive": "https://github.com/JetBrains/junie/releases/download/1892.26/junie-release-1892.26-linux-amd64.zip", "cmd": "./junie-app/bin/junie", "args": [ "--acp=true" ] }, "windows-x86_64": { - "archive": "https://github.com/JetBrains/junie/releases/download/1831.35/junie-release-1831.35-windows-amd64.zip", + "archive": "https://github.com/JetBrains/junie/releases/download/1892.26/junie-release-1892.26-windows-amd64.zip", "cmd": "./junie/junie.exe", "args": [ "--acp=true" @@ -748,7 +763,7 @@ { "id": "kilo", "name": "Kilo", - "version": "7.3.41", + "version": "7.3.46", "description": "The open source coding agent", "repository": "https://github.com/Kilo-Org/kilocode", "website": "https://kilo.ai/", @@ -760,35 +775,35 @@ "distribution": { "binary": { "darwin-aarch64": { - "archive": "https://github.com/Kilo-Org/kilocode/releases/download/v7.3.41/kilo-darwin-arm64.zip", + "archive": "https://github.com/Kilo-Org/kilocode/releases/download/v7.3.46/kilo-darwin-arm64.zip", "cmd": "./kilo", "args": [ "acp" ] }, "darwin-x86_64": { - "archive": "https://github.com/Kilo-Org/kilocode/releases/download/v7.3.41/kilo-darwin-x64.zip", + "archive": "https://github.com/Kilo-Org/kilocode/releases/download/v7.3.46/kilo-darwin-x64.zip", "cmd": "./kilo", "args": [ "acp" ] }, "linux-aarch64": { - "archive": "https://github.com/Kilo-Org/kilocode/releases/download/v7.3.41/kilo-linux-arm64.tar.gz", + "archive": "https://github.com/Kilo-Org/kilocode/releases/download/v7.3.46/kilo-linux-arm64.tar.gz", "cmd": "./kilo", "args": [ "acp" ] }, "linux-x86_64": { - "archive": "https://github.com/Kilo-Org/kilocode/releases/download/v7.3.41/kilo-linux-x64.tar.gz", + "archive": "https://github.com/Kilo-Org/kilocode/releases/download/v7.3.46/kilo-linux-x64.tar.gz", "cmd": "./kilo", "args": [ "acp" ] }, "windows-x86_64": { - "archive": "https://github.com/Kilo-Org/kilocode/releases/download/v7.3.41/kilo-windows-x64.zip", + "archive": "https://github.com/Kilo-Org/kilocode/releases/download/v7.3.46/kilo-windows-x64.zip", "cmd": "./kilo.exe", "args": [ "acp" @@ -796,7 +811,7 @@ } }, "npx": { - "package": "@kilocode/cli@7.3.41", + "package": "@kilocode/cli@7.3.46", "args": [ "acp" ] @@ -878,7 +893,7 @@ { "id": "mistral-vibe", "name": "Mistral Vibe", - "version": "2.14.1", + "version": "2.16.0", "description": "Mistral's open-source coding assistant", "repository": "https://github.com/mistralai/mistral-vibe", "website": "https://mistral.ai/products/vibe", @@ -890,23 +905,23 @@ "distribution": { "binary": { "darwin-aarch64": { - "archive": "https://github.com/mistralai/mistral-vibe/releases/download/v2.14.1/vibe-acp-darwin-aarch64-2.14.1.zip", + "archive": "https://github.com/mistralai/mistral-vibe/releases/download/v2.16.0/vibe-acp-darwin-aarch64-2.16.0.zip", "cmd": "./vibe-acp" }, "darwin-x86_64": { - "archive": "https://github.com/mistralai/mistral-vibe/releases/download/v2.14.1/vibe-acp-darwin-x86_64-2.14.1.zip", + "archive": "https://github.com/mistralai/mistral-vibe/releases/download/v2.16.0/vibe-acp-darwin-x86_64-2.16.0.zip", "cmd": "./vibe-acp" }, "linux-aarch64": { - "archive": "https://github.com/mistralai/mistral-vibe/releases/download/v2.14.1/vibe-acp-linux-aarch64-2.14.1.zip", + "archive": "https://github.com/mistralai/mistral-vibe/releases/download/v2.16.0/vibe-acp-linux-aarch64-2.16.0.zip", "cmd": "./vibe-acp" }, "linux-x86_64": { - "archive": "https://github.com/mistralai/mistral-vibe/releases/download/v2.14.1/vibe-acp-linux-x86_64-2.14.1.zip", + "archive": "https://github.com/mistralai/mistral-vibe/releases/download/v2.16.0/vibe-acp-linux-x86_64-2.16.0.zip", "cmd": "./vibe-acp" }, "windows-x86_64": { - "archive": "https://github.com/mistralai/mistral-vibe/releases/download/v2.14.1/vibe-acp-windows-x86_64-2.14.1.zip", + "archive": "https://github.com/mistralai/mistral-vibe/releases/download/v2.16.0/vibe-acp-windows-x86_64-2.16.0.zip", "cmd": "./vibe-acp.exe" } } @@ -915,7 +930,7 @@ { "id": "nova", "name": "Nova", - "version": "1.1.16", + "version": "1.1.18", "description": "Nova by Compass AI - a fully-fledged software engineer at your command", "repository": "https://github.com/Compass-Agentic-Platform/nova", "website": "https://www.compassap.ai/portfolio/nova.html", @@ -926,7 +941,7 @@ "icon": "https://cdn.agentclientprotocol.com/registry/v1/latest/nova.svg", "distribution": { "npx": { - "package": "@compass-ai/nova@1.1.16", + "package": "@compass-ai/nova@1.1.18", "args": [ "acp" ] @@ -936,7 +951,7 @@ { "id": "opencode", "name": "OpenCode", - "version": "1.17.0", + "version": "1.17.7", "description": "The open source coding agent", "repository": "https://github.com/anomalyco/opencode", "website": "https://opencode.ai", @@ -948,42 +963,42 @@ "distribution": { "binary": { "darwin-aarch64": { - "archive": "https://github.com/anomalyco/opencode/releases/download/v1.17.0/opencode-darwin-arm64.zip", + "archive": "https://github.com/anomalyco/opencode/releases/download/v1.17.7/opencode-darwin-arm64.zip", "cmd": "./opencode", "args": [ "acp" ] }, "darwin-x86_64": { - "archive": "https://github.com/anomalyco/opencode/releases/download/v1.17.0/opencode-darwin-x64.zip", + "archive": "https://github.com/anomalyco/opencode/releases/download/v1.17.7/opencode-darwin-x64.zip", "cmd": "./opencode", "args": [ "acp" ] }, "linux-aarch64": { - "archive": "https://github.com/anomalyco/opencode/releases/download/v1.17.0/opencode-linux-arm64.tar.gz", + "archive": "https://github.com/anomalyco/opencode/releases/download/v1.17.7/opencode-linux-arm64.tar.gz", "cmd": "./opencode", "args": [ "acp" ] }, "linux-x86_64": { - "archive": "https://github.com/anomalyco/opencode/releases/download/v1.17.0/opencode-linux-x64.tar.gz", + "archive": "https://github.com/anomalyco/opencode/releases/download/v1.17.7/opencode-linux-x64.tar.gz", "cmd": "./opencode", "args": [ "acp" ] }, "windows-aarch64": { - "archive": "https://github.com/anomalyco/opencode/releases/download/v1.17.0/opencode-windows-arm64.zip", + "archive": "https://github.com/anomalyco/opencode/releases/download/v1.17.7/opencode-windows-arm64.zip", "cmd": "./opencode", "args": [ "acp" ] }, "windows-x86_64": { - "archive": "https://github.com/anomalyco/opencode/releases/download/v1.17.0/opencode-windows-x64.zip", + "archive": "https://github.com/anomalyco/opencode/releases/download/v1.17.7/opencode-windows-x64.zip", "cmd": "./opencode.exe", "args": [ "acp" @@ -995,7 +1010,7 @@ { "id": "pi-acp", "name": "pi ACP", - "version": "0.0.27", + "version": "0.0.28", "description": "ACP adapter for pi coding agent", "repository": "https://github.com/svkozak/pi-acp", "authors": [ @@ -1004,7 +1019,7 @@ "license": "MIT", "distribution": { "npx": { - "package": "pi-acp@0.0.27" + "package": "pi-acp@0.0.28" } }, "icon": "https://cdn.agentclientprotocol.com/registry/v1/latest/pi-acp.svg" @@ -1091,7 +1106,7 @@ { "id": "qwen-code", "name": "Qwen Code", - "version": "0.17.1", + "version": "0.18.1", "description": "Alibaba's Qwen coding assistant", "repository": "https://github.com/QwenLM/qwen-code", "website": "https://qwenlm.github.io/qwen-code-docs/en/users/overview", @@ -1101,7 +1116,7 @@ "license": "Apache-2.0", "distribution": { "npx": { - "package": "@qwen-code/qwen-code@0.17.1", + "package": "@qwen-code/qwen-code@0.18.1", "args": [ "--acp", "--experimental-skills" @@ -1157,7 +1172,7 @@ { "id": "stakpak", "name": "Stakpak", - "version": "0.3.86", + "version": "0.3.88", "description": "Open-source DevOps agent in Rust with enterprise-grade security", "repository": "https://github.com/stakpak/agent", "website": "https://stakpak.dev", @@ -1169,35 +1184,35 @@ "distribution": { "binary": { "darwin-aarch64": { - "archive": "https://github.com/stakpak/agent/releases/download/v0.3.86/stakpak-darwin-aarch64.tar.gz", + "archive": "https://github.com/stakpak/agent/releases/download/v0.3.88/stakpak-darwin-aarch64.tar.gz", "cmd": "./stakpak", "args": [ "acp" ] }, "darwin-x86_64": { - "archive": "https://github.com/stakpak/agent/releases/download/v0.3.86/stakpak-darwin-x86_64.tar.gz", + "archive": "https://github.com/stakpak/agent/releases/download/v0.3.88/stakpak-darwin-x86_64.tar.gz", "cmd": "./stakpak", "args": [ "acp" ] }, "linux-aarch64": { - "archive": "https://github.com/stakpak/agent/releases/download/v0.3.86/stakpak-linux-aarch64.tar.gz", + "archive": "https://github.com/stakpak/agent/releases/download/v0.3.88/stakpak-linux-aarch64.tar.gz", "cmd": "./stakpak", "args": [ "acp" ] }, "linux-x86_64": { - "archive": "https://github.com/stakpak/agent/releases/download/v0.3.86/stakpak-linux-x86_64.tar.gz", + "archive": "https://github.com/stakpak/agent/releases/download/v0.3.88/stakpak-linux-x86_64.tar.gz", "cmd": "./stakpak", "args": [ "acp" ] }, "windows-x86_64": { - "archive": "https://github.com/stakpak/agent/releases/download/v0.3.86/stakpak-windows-x86_64.zip", + "archive": "https://github.com/stakpak/agent/releases/download/v0.3.88/stakpak-windows-x86_64.zip", "cmd": "./stakpak.exe", "args": [ "acp" diff --git a/resources/model-db/providers.json b/resources/model-db/providers.json index 67e02412b..87c3f6ea0 100644 --- a/resources/model-db/providers.json +++ b/resources/model-db/providers.json @@ -1,48 +1,57 @@ { "providers": { - "upstage": { - "id": "upstage", - "name": "Upstage", - "display_name": "Upstage", - "api": "https://api.upstage.ai/v1/solar", - "doc": "https://developers.upstage.ai/docs/apis/chat", + "requesty": { + "id": "requesty", + "name": "Requesty", + "display_name": "Requesty", + "api": "https://router.requesty.ai/v1", + "doc": "https://requesty.ai/solution/llm-routing/models", "models": [ { - "id": "solar-mini", - "name": "solar-mini", - "display_name": "solar-mini", + "id": "xai/grok-4", + "name": "Grok 4", + "display_name": "Grok 4", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 4096 + "context": 256000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-09", - "release_date": "2024-06-12", - "last_updated": "2025-04-22", + "knowledge": "2025-01", + "release_date": "2025-09-09", + "last_updated": "2025-09-09", "cost": { - "input": 0.15, - "output": 0.15 + "input": 3, + "output": 15, + "cache_read": 0.75, + "cache_write": 3 }, "type": "chat" }, { - "id": "solar-pro3", - "name": "solar-pro3", - "display_name": "solar-pro3", + "id": "xai/grok-4-fast", + "name": "Grok 4 Fast", + "display_name": "Grok 4 Fast", "modalities": { "input": [ "text" @@ -52,8 +61,8 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 2000000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -61,32 +70,38 @@ "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-03", - "release_date": "2026-01", - "last_updated": "2026-01", + "knowledge": "2025-01", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", "cost": { - "input": 0.25, - "output": 0.25 + "input": 0.2, + "output": 0.5, + "cache_read": 0.05, + "cache_write": 0.2 }, "type": "chat" }, { - "id": "solar-pro2", - "name": "solar-pro2", - "display_name": "solar-pro2", + "id": "google/gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "display_name": "Gemini 2.5 Pro", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 65536, - "output": 8192 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -94,75 +109,132 @@ "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2025-03", - "release_date": "2025-05-20", - "last_updated": "2025-05-20", + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 0.25, - "output": 0.25 + "input": 1.25, + "output": 10, + "cache_read": 0.31, + "cache_write": 2.375, + "tiers": [ + { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } }, "type": "chat" - } - ] - }, - "clarifai": { - "id": "clarifai", - "name": "Clarifai", - "display_name": "Clarifai", - "api": "https://api.clarifai.com/v2/ext/openai/v1", - "doc": "https://docs.clarifai.com/compute/inference/", - "models": [ + }, { - "id": "clarifai/main/models/mm-poly-8b", - "name": "MM Poly 8B", - "display_name": "MM Poly 8B", + "id": "google/gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "display_name": "Gemini 2.5 Flash", "modalities": { "input": [ "text", "image", - "video" + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 4096 + "context": 1048576, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2025-06", - "last_updated": "2026-02-25", + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 0.658, - "output": 1.11 + "input": 0.3, + "output": 2.5, + "cache_read": 0.075, + "cache_write": 0.55 }, "type": "chat" }, { - "id": "mistralai/completion/models/Ministral-3-3B-Reasoning-2512", - "name": "Ministral 3 3B Reasoning 2512", - "display_name": "Ministral 3 3B Reasoning 2512", + "id": "google/gemini-3-pro-preview", + "name": "Gemini 3 Pro", + "display_name": "Gemini 3 Pro", "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -170,32 +242,55 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, "attachment": true, - "open_weights": true, - "release_date": "2025-12", - "last_updated": "2026-02-25", + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", "cost": { - "input": 1.039, - "output": 0.54825 + "input": 2, + "output": 12, + "cache_read": 0.2, + "cache_write": 4.5 }, "type": "chat" }, { - "id": "mistralai/completion/models/Ministral-3-14B-Reasoning-2512", - "name": "Ministral 3 14B Reasoning 2512", - "display_name": "Ministral 3 14B Reasoning 2512", + "id": "google/gemini-3-flash-preview", + "name": "Gemini 3 Flash", + "display_name": "Gemini 3 Flash", "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -203,98 +298,149 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, "attachment": true, - "open_weights": true, - "knowledge": "2025-12", - "release_date": "2025-12-01", - "last_updated": "2025-12-12", + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", "cost": { - "input": 2.5, - "output": 1.7 + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "cache_write": 1 }, "type": "chat" }, { - "id": "arcee_ai/AFM/models/trinity-mini", - "name": "Trinity Mini", - "display_name": "Trinity Mini", + "id": "openai/gpt-5.2-chat", + "name": "GPT-5.2 Chat", + "display_name": "GPT-5.2 Chat", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 128000, + "output": 16384 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-12", - "last_updated": "2026-02-25", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.045, - "output": 0.15 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "qwen/qwenLM/models/Qwen3-30B-A3B-Instruct-2507", - "name": "Qwen3 30B A3B Instruct 2507", - "display_name": "Qwen3 30B A3B Instruct 2507", + "id": "openai/gpt-5.2-pro", + "name": "GPT-5.2 Pro", + "display_name": "GPT-5.2 Pro", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-07-30", - "last_updated": "2026-02-25", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.3, - "output": 0.5 + "input": 21, + "output": 168 }, "type": "chat" }, { - "id": "qwen/qwenLM/models/Qwen3-30B-A3B-Thinking-2507", - "name": "Qwen3 30B A3B Thinking 2507", - "display_name": "Qwen3 30B A3B Thinking 2507", + "id": "openai/gpt-5", + "name": "GPT-5", + "display_name": "GPT-5", "modalities": { "input": [ - "text" + "text", + "audio", + "image", + "video" ], "output": [ - "text" + "text", + "audio", + "image" ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -303,60 +449,74 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "release_date": "2025-07-31", - "last_updated": "2026-02-25", + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.36, - "output": 1.3 + "input": 1.25, + "output": 10, + "cache_read": 0.13 }, "type": "chat" }, { - "id": "qwen/qwenCoder/models/Qwen3-Coder-30B-A3B-Instruct", - "name": "Qwen3 Coder 30B A3B Instruct", - "display_name": "Qwen3 Coder 30B A3B Instruct", + "id": "openai/gpt-5-chat", + "name": "GPT-5 Chat (latest)", + "display_name": "GPT-5 Chat (latest)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 400000, + "output": 128000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-31", - "last_updated": "2026-02-12", + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.11458, - "output": 0.74812 + "input": 1.25, + "output": 10 }, "type": "chat" }, { - "id": "moonshotai/chat-completion/models/Kimi-K2_6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "openai/gpt-5-pro", + "name": "GPT-5 Pro", + "display_name": "GPT-5 Pro", "modalities": { "input": [ "text", @@ -367,10 +527,10 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 400000, + "output": 272000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -379,29 +539,33 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "fixed", + "effort": "high", + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-10-06", + "last_updated": "2025-10-06", "cost": { - "input": 0.95, - "output": 4 + "input": 15, + "output": 120 }, "type": "chat" }, { - "id": "deepseek-ai/deepseek-ocr/models/DeepSeek-OCR", - "name": "DeepSeek OCR", - "display_name": "DeepSeek OCR", + "id": "openai/o4-mini", + "name": "o4 Mini", + "display_name": "o4 Mini", "modalities": { "input": [ "text", @@ -412,39 +576,57 @@ ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 200000, + "output": 100000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, - "open_weights": true, - "release_date": "2025-10-20", - "last_updated": "2026-02-25", + "open_weights": false, + "knowledge": "2024-06", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", "cost": { - "input": 0.2, - "output": 0.7 + "input": 1.1, + "output": 4.4, + "cache_read": 0.28 }, "type": "chat" }, { - "id": "minimaxai/chat-completion/models/MiniMax-M2_5-high-throughput", - "name": "MiniMax-M2.5 High Throughput", - "display_name": "MiniMax-M2.5 High Throughput", + "id": "openai/gpt-5.1-chat", + "name": "GPT-5.1 Chat", + "display_name": "GPT-5.1 Chat", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -452,193 +634,318 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-25", + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0.3, - "output": 1.2 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "openai/chat-completion/models/gpt-oss-20b", - "name": "GPT OSS 20B", - "display_name": "GPT OSS 20B", + "id": "openai/gpt-5.1-codex", + "name": "GPT-5.1-Codex", + "display_name": "GPT-5.1-Codex", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 400000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-12-12", + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0.045, - "output": 0.18 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "openai/chat-completion/models/gpt-oss-120b-high-throughput", - "name": "GPT OSS 120B High Throughput", - "display_name": "GPT OSS 120B High Throughput", + "id": "openai/gpt-5.1-codex-max", + "name": "GPT-5.1-Codex-Max", + "display_name": "GPT-5.1-Codex-Max", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 400000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2026-02-25", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0.09, - "output": 0.36 + "input": 1.1, + "output": 9, + "cache_read": 0.11 }, "type": "chat" - } - ] - }, - "the-grid-ai": { - "id": "the-grid-ai", - "name": "The Grid AI", - "display_name": "The Grid AI", - "api": "https://api.thegrid.ai/v1", - "doc": "https://thegrid.ai/docs", - "models": [ + }, { - "id": "text-prime", - "name": "Text Prime", - "display_name": "Text Prime", + "id": "openai/gpt-5.2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 30000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-02-26", - "last_updated": "2026-05-19", + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + }, "type": "chat" }, { - "id": "agent-standard", - "name": "Agent Standard", - "display_name": "Agent Standard", + "id": "openai/gpt-5.3-codex", + "name": "GPT-5.3-Codex", + "display_name": "GPT-5.3-Codex", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-05-04", - "last_updated": "2026-05-19", + "knowledge": "2025-08-31", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + }, "type": "chat" }, { - "id": "text-standard", - "name": "Text Standard", - "display_name": "Text Standard", + "id": "openai/gpt-5.1-codex-mini", + "name": "GPT-5.1-Codex-Mini", + "display_name": "GPT-5.1-Codex-Mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16000 + "context": 400000, + "output": 100000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-02-26", - "last_updated": "2026-05-19", + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + }, "type": "chat" }, { - "id": "agent-prime", - "name": "Agent Prime", - "display_name": "Agent Prime", + "id": "openai/gpt-5-image", + "name": "GPT-5 Image", + "display_name": "GPT-5 Image", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 128000, - "output": 64000 + "context": 400000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -646,44 +953,96 @@ "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-05-04", - "last_updated": "2026-05-19", + "knowledge": "2024-10-01", + "release_date": "2025-10-14", + "last_updated": "2025-10-14", + "cost": { + "input": 5, + "output": 10, + "cache_read": 1.25 + }, "type": "chat" }, { - "id": "code-prime", - "name": "Code Prime", - "display_name": "Code Prime", + "id": "openai/gpt-5.4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 64000 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-05-04", - "last_updated": "2026-05-19", + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "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 + } + } + ], + "context_over_200k": { + "input": 5, + "output": 22.5, + "cache_read": 0.5 + } + }, "type": "chat" }, { - "id": "agent-max", - "name": "Agent Max", - "display_name": "Agent Max", + "id": "openai/gpt-4.1", + "name": "GPT-4.1", + "display_name": "GPT-4.1", "modalities": { "input": [ "text", @@ -694,39 +1053,34 @@ ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-05-04", - "last_updated": "2026-05-19", + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + }, "type": "chat" }, { - "id": "code-standard", - "name": "Code Standard", - "display_name": "Code Standard", + "id": "openai/gpt-5-mini", + "name": "GPT-5 Mini", + "display_name": "GPT-5 Mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -734,24 +1088,51 @@ }, "limit": { "context": 128000, - "output": 16000 + "output": 32000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-05-04", - "last_updated": "2026-05-19", + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.03 + }, "type": "chat" }, { - "id": "code-max", - "name": "Code Max", - "display_name": "Code Max", + "id": "openai/gpt-4.1-mini", + "name": "GPT-4.1 Mini", + "display_name": "GPT-4.1 Mini", "modalities": { "input": [ "text", @@ -762,50 +1143,43 @@ ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-05-04", - "last_updated": "2026-05-19", + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "cost": { + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 + }, "type": "chat" }, { - "id": "text-max", - "name": "Text Max", - "display_name": "Text Max", + "id": "openai/gpt-5-nano", + "name": "GPT-5 Nano", + "display_name": "GPT-5 Nano", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 16000, + "output": 4000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -814,46 +1188,55 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-03-24", - "last_updated": "2026-05-19", + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "cost": { + "input": 0.05, + "output": 0.4, + "cache_read": 0.01 + }, "type": "chat" - } - ] - }, - "fireworks-ai": { - "id": "fireworks-ai", - "name": "Fireworks AI", - "display_name": "Fireworks AI", - "api": "https://api.fireworks.ai/inference/v1/", - "doc": "https://fireworks.ai/docs/", - "models": [ + }, { - "id": "accounts/fireworks/models/minimax-m2p5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "openai/gpt-5.4-pro", + "name": "GPT-5.4 Pro", + "display_name": "GPT-5.4 Pro", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 196608, - "output": 196608 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -862,29 +1245,39 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.03 + "input": 30, + "output": 180, + "cache_read": 30 }, "type": "chat" }, { - "id": "accounts/fireworks/models/qwen3p6-plus", - "name": "Qwen 3.6 Plus", - "display_name": "Qwen 3.6 Plus", + "id": "openai/gpt-4o-mini", + "name": "GPT-4o Mini", + "display_name": "GPT-4o Mini", "modalities": { "input": [ "text", @@ -895,41 +1288,42 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-04-04", - "last_updated": "2026-04-04", + "knowledge": "2024-10", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.1 + "input": 0.15, + "output": 0.6, + "cache_read": 0.08 }, "type": "chat" }, { - "id": "accounts/fireworks/models/gpt-oss-120b", - "name": "GPT OSS 120B", - "display_name": "GPT OSS 120B", + "id": "openai/gpt-5-codex", + "name": "GPT-5 Codex", + "display_name": "GPT-5 Codex", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 400000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -939,35 +1333,53 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "attachment": true, + "open_weights": false, + "knowledge": "2024-10-01", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.015 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "accounts/fireworks/models/minimax-m2p7", - "name": "MiniMax-M2.7", - "display_name": "MiniMax-M2.7", + "id": "openai/gpt-5.2-codex", + "name": "GPT-5.2-Codex", + "display_name": "GPT-5.2-Codex", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 196608, - "output": 196608 + "context": 400000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -978,493 +1390,692 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-04-12", - "last_updated": "2026-04-12", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "accounts/fireworks/models/gpt-oss-20b", - "name": "GPT OSS 20B", - "display_name": "GPT OSS 20B", + "id": "openai/gpt-5.1", + "name": "GPT-5.1", + "display_name": "GPT-5.1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 400000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0.07, - "output": 0.3, - "cache_read": 0.035 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "accounts/fireworks/models/kimi-k2p5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "anthropic/claude-3-7-sonnet", + "name": "Claude Sonnet 3.7", + "display_name": "Claude Sonnet 3.7", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": false, + "summaries": false, + "visibility": "full", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic uses thinking budget tokens" ] } }, "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "open_weights": false, + "knowledge": "2024-01", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", "cost": { - "input": 0.6, - "output": 3, - "cache_read": 0.1 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "accounts/fireworks/models/kimi-k2p6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "anthropic/claude-sonnet-4", + "name": "Claude Sonnet 4", + "display_name": "Claude Sonnet 4", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, - "open_weights": true, - "release_date": "2026-04-17", - "last_updated": "2026-04-17", + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0.95, - "output": 4, - "cache_read": 0.16 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "accounts/fireworks/models/deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "anthropic/claude-opus-4-5", + "name": "Claude Opus 4.5", + "display_name": "Claude Opus 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.03 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "accounts/fireworks/models/glm-5p1", - "name": "GLM 5.1", - "display_name": "GLM 5.1", + "id": "anthropic/claude-sonnet-4-5", + "name": "Claude Sonnet 4.5", + "display_name": "Claude Sonnet 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 202800, - "output": 131072 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-04-01", - "last_updated": "2026-04-01", + "attachment": true, + "open_weights": false, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 1.4, - "output": 4.4, - "cache_read": 0.26 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "accounts/fireworks/models/deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "anthropic/claude-opus-4-1", + "name": "Claude Opus 4.1", + "display_name": "Claude Opus 4.1", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 1.74, - "output": 3.48, - "cache_read": 0.145 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "accounts/fireworks/routers/kimi-k2p6-fast", - "name": "Kimi K2.6 Fast", - "display_name": "Kimi K2.6 Fast", + "id": "anthropic/claude-haiku-4-5", + "name": "Claude Haiku 4.5", + "display_name": "Claude Haiku 4.5", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 200000, + "output": 62000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-04-17", - "last_updated": "2026-06-05", + "attachment": true, + "open_weights": false, + "knowledge": "2025-02-01", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.3 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "accounts/fireworks/routers/kimi-k2p6-turbo", - "name": "Kimi K2.6 Turbo", - "display_name": "Kimi K2.6 Turbo", + "id": "anthropic/claude-opus-4-6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-04-17", - "last_updated": "2026-04-17", + "attachment": true, + "open_weights": false, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.3 + "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 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5 + } }, "type": "chat" }, { - "id": "accounts/fireworks/routers/glm-5p1-fast", - "name": "GLM 5.1 Fast", - "display_name": "GLM 5.1 Fast", + "id": "anthropic/claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 202800, - "output": 131072 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-04-01", - "last_updated": "2026-04-01", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", "cost": { - "input": 2.8, - "output": 8.8, - "cache_read": 0.52 + "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 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5 + } }, "type": "chat" - } - ] - }, - "ambient": { - "id": "ambient", - "name": "Ambient", - "display_name": "Ambient", - "api": "https://api.ambient.xyz/v1", - "doc": "https://ambient.xyz", - "models": [ + }, { - "id": "zai-org/GLM-5.1-FP8", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "anthropic/claude-opus-4", + "name": "Claude Opus 4", + "display_name": "Claude Opus 4", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 202752, - "output": 131072 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 1.4, - "output": 4.4, - "cache_read": 0, - "cache_write": 0 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" - }, + } + ] + }, + "qiniu-ai": { + "id": "qiniu-ai", + "name": "Qiniu", + "display_name": "Qiniu", + "api": "https://api.qnaigc.com/v1", + "doc": "https://developer.qiniu.com/aitokenapi", + "models": [ { - "id": "moonshotai/kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "deepseek-r1-0528", + "name": "DeepSeek-R1-0528", + "display_name": "DeepSeek-R1-0528", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 32000 }, "temperature": true, "tool_call": true, @@ -1483,32 +2094,16 @@ ] } }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", - "cost": { - "input": 0.95, - "output": 4, - "cache_read": 0.2, - "cache_write": 0 - }, + "attachment": false, + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" - } - ] - }, - "stackit": { - "id": "stackit", - "name": "STACKIT", - "display_name": "STACKIT", - "api": "https://api.openai-compat.model-serving.eu01.onstackit.cloud/v1", - "doc": "https://docs.stackit.cloud/products/data-and-ai/ai-model-serving/basics/available-shared-models", - "models": [ + }, { - "id": "neuralmagic/Meta-Llama-3.1-8B-Instruct-FP8", - "name": "Llama 3.1 8B", - "display_name": "Llama 3.1 8B", + "id": "doubao-1.5-thinking-pro", + "name": "Doubao 1.5 Thinking Pro", + "display_name": "Doubao 1.5 Thinking Pro", "modalities": { "input": [ "text" @@ -1519,30 +2114,29 @@ }, "limit": { "context": 128000, - "output": 8192 + "output": 16000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "cost": { - "input": 0.16, - "output": 0.27 - }, + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "neuralmagic/Mistral-Nemo-Instruct-2407-FP8", - "name": "Mistral Nemo", - "display_name": "Mistral Nemo", + "id": "qwen3-vl-30b-a3b-thinking", + "name": "Qwen3-Vl 30b A3b Thinking", + "display_name": "Qwen3-Vl 30b A3b Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" @@ -1550,58 +2144,62 @@ }, "limit": { "context": 128000, - "output": 8192 + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", - "cost": { - "input": 0.49, - "output": 0.71 + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, + "attachment": true, + "open_weights": false, + "release_date": "2026-02-09", + "last_updated": "2026-02-09", "type": "chat" }, { - "id": "intfloat/e5-mistral-7b-instruct", - "name": "E5 Mistral 7B", - "display_name": "E5 Mistral 7B", + "id": "claude-3.5-haiku", + "name": "Claude 3.5 Haiku", + "display_name": "Claude 3.5 Haiku", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 4096, - "output": 4096 + "context": 200000, + "output": 8192 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2023-12-11", - "last_updated": "2023-12-11", - "cost": { - "input": 0.02, - "output": 0.02 - }, + "attachment": true, + "open_weights": false, + "release_date": "2025-08-26", + "last_updated": "2025-08-26", "type": "chat" }, { - "id": "cortecs/Llama-3.3-70B-Instruct-FP8-Dynamic", - "name": "Llama 3.3 70B", - "display_name": "Llama 3.3 70B", + "id": "deepseek-v3-0324", + "name": "DeepSeek-V3-0324", + "display_name": "DeepSeek-V3-0324", "modalities": { "input": [ "text" @@ -1612,7 +2210,7 @@ }, "limit": { "context": 128000, - "output": 8192 + "output": 16000 }, "temperature": true, "tool_call": true, @@ -1620,115 +2218,96 @@ "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2024-12-05", - "last_updated": "2024-12-05", - "cost": { - "input": 0.49, - "output": 0.71 - }, + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "Qwen/Qwen3-VL-235B-A22B-Instruct-FP8", - "name": "Qwen3-VL 235B", - "display_name": "Qwen3-VL 235B", + "id": "qwen3-235b-a22b-instruct-2507", + "name": "Qwen3 235b A22B Instruct 2507", + "display_name": "Qwen3 235b A22B Instruct 2507", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 218000, - "output": 8192 + "context": 262144, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2024-11-01", - "last_updated": "2024-11-01", - "cost": { - "input": 1.64, - "output": 1.91 - }, + "attachment": false, + "open_weights": false, + "release_date": "2025-08-12", + "last_updated": "2025-08-12", "type": "chat" }, { - "id": "Qwen/Qwen3-VL-Embedding-8B", - "name": "Qwen3-VL Embedding 8B", - "display_name": "Qwen3-VL Embedding 8B", + "id": "deepseek-v3", + "name": "DeepSeek-V3", + "display_name": "DeepSeek-V3", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 32000, - "output": 4096 + "context": 128000, + "output": 16000 }, - "temperature": false, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "cost": { - "input": 0.09, - "output": 0.09 - }, + "attachment": false, + "open_weights": false, + "release_date": "2025-08-13", + "last_updated": "2025-08-13", "type": "chat" }, { - "id": "google/gemma-3-27b-it", - "name": "Gemma 3 27B", - "display_name": "Gemma 3 27B", + "id": "kimi-k2", + "name": "Kimi K2", + "display_name": "Kimi K2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 37000, - "output": 8192 + "context": 128000, + "output": 128000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2025-05-17", - "last_updated": "2025-05-17", - "cost": { - "input": 0.49, - "output": 0.71 - }, + "attachment": false, + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "openai/gpt-oss-120b", - "name": "GPT-OSS 120B", - "display_name": "GPT-OSS 120B", + "id": "qwen3-32b", + "name": "Qwen3 32B", + "display_name": "Qwen3 32B", "modalities": { "input": [ "text" @@ -1738,8 +2317,8 @@ ] }, "limit": { - "context": 131000, - "output": 8192 + "context": 40000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -1749,64 +2328,92 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": true, + "open_weights": false, "release_date": "2025-08-05", "last_updated": "2025-08-05", - "cost": { - "input": 0.49, - "output": 0.71 - }, "type": "chat" - } - ] - }, - "ovhcloud": { - "id": "ovhcloud", - "name": "OVHcloud AI Endpoints", - "display_name": "OVHcloud AI Endpoints", - "api": "https://oai.endpoints.kepler.ai.cloud.ovh.net/v1", - "doc": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog//", - "models": [ + }, { - "id": "qwen2.5-vl-72b-instruct", - "name": "Qwen2.5-VL-72B-Instruct", - "display_name": "Qwen2.5-VL-72B-Instruct", + "id": "qwen3-max-preview", + "name": "Qwen3 Max Preview", + "display_name": "Qwen3 Max Preview", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 256000, + "output": 64000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true }, - "attachment": true, - "open_weights": true, - "release_date": "2025-03-31", - "last_updated": "2025-03-31", - "cost": { - "input": 1.01, - "output": 1.01 + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, + "attachment": false, + "open_weights": false, + "release_date": "2025-09-06", + "last_updated": "2025-09-06", "type": "chat" }, { - "id": "qwen3guard-gen-8b", - "name": "Qwen3Guard-Gen-8B", - "display_name": "Qwen3Guard-Gen-8B", + "id": "claude-3.5-sonnet", + "name": "Claude 3.5 Sonnet", + "display_name": "Claude 3.5 Sonnet", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 8200 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-09-09", + "last_updated": "2025-09-09", + "type": "chat" + }, + { + "id": "qwen3-next-80b-a3b-instruct", + "name": "Qwen3 Next 80B A3B Instruct", + "display_name": "Qwen3 Next 80B A3B Instruct", "modalities": { "input": [ "text" @@ -1816,35 +2423,38 @@ ] }, "limit": { - "context": 32768, - "output": 16384 + "context": 131072, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2026-01-22", - "last_updated": "2026-01-22", + "open_weights": false, + "release_date": "2025-09-12", + "last_updated": "2025-09-12", "type": "chat" }, { - "id": "qwen3-32b", - "name": "Qwen3-32B", - "display_name": "Qwen3-32B", + "id": "gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "display_name": "Gemini 2.5 Pro", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -1855,90 +2465,90 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2025-07-16", - "last_updated": "2025-07-16", - "cost": { - "input": 0.09, - "output": 0.25 - }, + "attachment": true, + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "qwen3-coder-30b-a3b-instruct", - "name": "Qwen3-Coder-30B-A3B-Instruct", - "display_name": "Qwen3-Coder-30B-A3B-Instruct", + "id": "claude-4.5-haiku", + "name": "Claude 4.5 Haiku", + "display_name": "Claude 4.5 Haiku", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-10-28", - "last_updated": "2025-10-28", - "cost": { - "input": 0.07, - "output": 0.26 + "supported": true, + "default": true }, + "attachment": true, + "open_weights": false, + "release_date": "2025-10-16", + "last_updated": "2025-10-16", "type": "chat" }, { - "id": "mistral-7b-instruct-v0.3", - "name": "Mistral-7B-Instruct-v0.3", - "display_name": "Mistral-7B-Instruct-v0.3", + "id": "kling-v2-6", + "name": "Kling-V2 6", + "display_name": "Kling-V2 6", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 65536, - "output": 65536 + "context": 99999999, + "output": 99999999 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-04-01", - "last_updated": "2025-04-01", - "cost": { - "input": 0.11, - "output": 0.11 - }, + "attachment": true, + "open_weights": false, + "release_date": "2026-01-13", + "last_updated": "2026-01-13", "type": "chat" }, { - "id": "meta-llama-3_3-70b-instruct", - "name": "Meta-Llama-3_3-70B-Instruct", - "display_name": "Meta-Llama-3_3-70B-Instruct", + "id": "glm-4.5", + "name": "GLM 4.5", + "display_name": "GLM 4.5", "modalities": { "input": [ "text" @@ -1949,27 +2559,24 @@ }, "limit": { "context": 131072, - "output": 131072 + "output": 98304 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": true, - "release_date": "2025-04-01", - "last_updated": "2025-04-01", - "cost": { - "input": 0.74, - "output": 0.74 - }, + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "mistral-small-3.2-24b-instruct-2506", - "name": "Mistral-Small-3.2-24B-Instruct-2506", - "display_name": "Mistral-Small-3.2-24B-Instruct-2506", + "id": "claude-4.1-opus", + "name": "Claude 4.1 Opus", + "display_name": "Claude 4.1 Opus", "modalities": { "input": [ "text", @@ -1980,40 +2587,39 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": true, - "release_date": "2025-07-16", - "last_updated": "2025-07-16", - "cost": { - "input": 0.1, - "output": 0.31 - }, + "open_weights": false, + "release_date": "2025-08-06", + "last_updated": "2025-08-06", "type": "chat" }, { - "id": "qwen3.6-27b", - "name": "Qwen3.6-27B", - "display_name": "Qwen3.6-27B", + "id": "gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "display_name": "Gemini 2.5 Flash", "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1048576, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -2024,28 +2630,33 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, "attachment": true, - "open_weights": true, - "release_date": "2026-06-01", - "last_updated": "2026-06-01", - "cost": { - "input": 0.47, - "output": 3.19 - }, + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "gpt-oss-120b", - "name": "gpt-oss-120b", - "display_name": "gpt-oss-120b", + "id": "qwen3-max", + "name": "Qwen3 Max", + "display_name": "Qwen3 Max", "modalities": { "input": [ "text" @@ -2055,81 +2666,78 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 262144, + "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": true, - "release_date": "2025-08-28", - "last_updated": "2025-08-28", - "cost": { - "input": 0.09, - "output": 0.47 - }, + "open_weights": false, + "release_date": "2025-09-24", + "last_updated": "2025-09-24", "type": "chat" }, { - "id": "gpt-oss-20b", - "name": "gpt-oss-20b", - "display_name": "gpt-oss-20b", + "id": "doubao-seed-2.0-pro", + "name": "Doubao Seed 2.0 Pro", + "display_name": "Doubao Seed 2.0 Pro", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 256000, + "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-28", - "last_updated": "2025-08-28", - "cost": { - "input": 0.05, - "output": 0.18 - }, + "attachment": true, + "open_weights": false, + "release_date": "2026-02-14", + "last_updated": "2026-02-14", "type": "chat" }, { - "id": "qwen3.5-9b", - "name": "Qwen3.5-9B", - "display_name": "Qwen3.5-9B", + "id": "doubao-seed-1.6", + "name": "Doubao-Seed 1.6", + "display_name": "Doubao-Seed 1.6", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 256000, + "output": 32000 }, "temperature": true, "tool_call": true, @@ -2137,43 +2745,29 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": true, - "open_weights": true, - "release_date": "2026-04-22", - "last_updated": "2026-04-22", - "cost": { - "input": 0.12, - "output": 0.18 - }, + "open_weights": false, + "release_date": "2025-08-15", + "last_updated": "2025-08-15", "type": "chat" }, { - "id": "qwen3.5-397b-a17b", - "name": "Qwen3.5-397B-A17B", - "display_name": "Qwen3.5-397B-A17B", + "id": "doubao-seed-1.6-thinking", + "name": "Doubao-Seed 1.6 Thinking", + "display_name": "Doubao-Seed 1.6 Thinking", "modalities": { "input": [ + "image", "text", - "image" + "video" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 256000, + "output": 32000 }, "temperature": true, "tool_call": true, @@ -2181,62 +2775,46 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": true, - "open_weights": true, - "release_date": "2026-05-18", - "last_updated": "2026-05-18", - "cost": { - "input": 0.71, - "output": 4.25 - }, + "open_weights": false, + "release_date": "2025-08-15", + "last_updated": "2025-08-15", "type": "chat" }, { - "id": "llama-3.1-8b-instruct", - "name": "Llama-3.1-8B-Instruct", - "display_name": "Llama-3.1-8B-Instruct", + "id": "gemini-2.0-flash", + "name": "Gemini 2.0 Flash", + "display_name": "Gemini 2.0 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 1048576, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-06-11", - "last_updated": "2025-06-11", - "cost": { - "input": 0.11, - "output": 0.11 - }, + "attachment": true, + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "mistral-nemo-instruct-2407", - "name": "Mistral-Nemo-Instruct-2407", - "display_name": "Mistral-Nemo-Instruct-2407", + "id": "qwen-max-2025-01-25", + "name": "Qwen2.5-Max-2025-01-25", + "display_name": "Qwen2.5-Max-2025-01-25", "modalities": { "input": [ "text" @@ -2246,8 +2824,8 @@ ] }, "limit": { - "context": 65536, - "output": 65536 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -2255,55 +2833,44 @@ "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2024-11-20", - "last_updated": "2024-11-20", - "cost": { - "input": 0.14, - "output": 0.14 - }, + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "qwen3guard-gen-0.6b", - "name": "Qwen3Guard-Gen-0.6B", - "display_name": "Qwen3Guard-Gen-0.6B", + "id": "claude-4.0-sonnet", + "name": "Claude 4.0 Sonnet", + "display_name": "Claude 4.0 Sonnet", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 16384 + "context": 200000, + "output": 64000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2026-01-22", - "last_updated": "2026-01-22", + "attachment": true, + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" - } - ] - }, - "iflowcn": { - "id": "iflowcn", - "name": "iFlow", - "display_name": "iFlow", - "api": "https://apis.iflow.cn/v1", - "doc": "https://platform.iflow.cn/en/docs", - "models": [ + }, { - "id": "qwen3-max-preview", - "name": "Qwen3-Max-Preview", - "display_name": "Qwen3-Max-Preview", + "id": "doubao-1.5-pro-32k", + "name": "Doubao 1.5 Pro 32k", + "display_name": "Doubao 1.5 Pro 32k", "modalities": { "input": [ "text" @@ -2313,40 +2880,24 @@ ] }, "limit": { - "context": 256000, - "output": 32000 + "context": 128000, + "output": 12000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "cost": { - "input": 0, - "output": 0 - }, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "glm-4.6", - "name": "GLM-4.6", - "display_name": "GLM-4.6", + "id": "qwen3-30b-a3b-instruct-2507", + "name": "Qwen3 30b A3b Instruct 2507", + "display_name": "Qwen3 30b A3b Instruct 2507", "modalities": { "input": [ "text" @@ -2356,35 +2907,24 @@ ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 128000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-12-01", - "last_updated": "2025-11-13", - "cost": { - "input": 0, - "output": 0 - }, + "release_date": "2026-02-04", + "last_updated": "2026-02-04", "type": "chat" }, { - "id": "qwen3-32b", - "name": "Qwen3-32B", - "display_name": "Qwen3-32B", + "id": "qwen3-next-80b-a3b-thinking", + "name": "Qwen3 Next 80B A3B Thinking", + "display_name": "Qwen3 Next 80B A3B Thinking", "modalities": { "input": [ "text" @@ -2394,13 +2934,14 @@ ] }, "limit": { - "context": 128000, - "output": 32000 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -2414,20 +2955,15 @@ } }, "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "cost": { - "input": 0, - "output": 0 - }, + "open_weights": false, + "release_date": "2025-09-12", + "last_updated": "2025-09-12", "type": "chat" }, { - "id": "qwen3-235b", - "name": "Qwen3-235B-A22B", - "display_name": "Qwen3-235B-A22B", + "id": "qwen3-235b-a22b-thinking-2507", + "name": "Qwen3 235B A22B Thinking 2507", + "display_name": "Qwen3 235B A22B Thinking 2507", "modalities": { "input": [ "text" @@ -2437,8 +2973,8 @@ ] }, "limit": { - "context": 128000, - "output": 32000 + "context": 262144, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -2446,21 +2982,27 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "cost": { - "input": 0, - "output": 0 + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, + "attachment": false, + "open_weights": false, + "release_date": "2025-08-12", + "last_updated": "2025-08-12", "type": "chat" }, { - "id": "deepseek-v3.2", - "name": "DeepSeek-V3.2-Exp", - "display_name": "DeepSeek-V3.2-Exp", + "id": "deepseek-r1", + "name": "DeepSeek-R1", + "display_name": "DeepSeek-R1", "modalities": { "input": [ "text" @@ -2471,245 +3013,255 @@ }, "limit": { "context": 128000, - "output": 64000 + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "cost": { - "input": 0, - "output": 0 - }, + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "qwen3-235b-a22b-instruct", - "name": "Qwen3-235B-A22B-Instruct", - "display_name": "Qwen3-235B-A22B-Instruct", + "id": "doubao-1.5-vision-pro", + "name": "Doubao 1.5 Vision Pro", + "display_name": "Doubao 1.5 Vision Pro", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 64000 + "context": 128000, + "output": 16000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-01", - "last_updated": "2025-07-01", - "cost": { - "input": 0, - "output": 0 - }, + "attachment": true, + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "qwen3-max", - "name": "Qwen3-Max", - "display_name": "Qwen3-Max", + "id": "gemini-3.0-pro-image-preview", + "name": "Gemini 3.0 Pro Image Preview", + "display_name": "Gemini 3.0 Pro Image Preview", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 256000, - "output": 32000 + "context": 32768, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "cost": { - "input": 0, - "output": 0 - }, + "release_date": "2025-11-20", + "last_updated": "2025-11-20", "type": "chat" }, { - "id": "qwen3-coder-plus", - "name": "Qwen3-Coder-Plus", - "display_name": "Qwen3-Coder-Plus", + "id": "gemini-2.5-flash-image", + "name": "Gemini 2.5 Flash Image", + "display_name": "Gemini 2.5 Flash Image", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 256000, - "output": 64000 + "context": 32768, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-01", - "last_updated": "2025-07-01", - "cost": { - "input": 0, - "output": 0 - }, - "type": "chat" + "attachment": true, + "open_weights": false, + "release_date": "2025-10-22", + "last_updated": "2025-10-22", + "type": "imageGeneration" }, { - "id": "deepseek-r1", - "name": "DeepSeek-R1", - "display_name": "DeepSeek-R1", + "id": "gemini-2.5-flash-lite", + "name": "Gemini 2.5 Flash Lite", + "display_name": "Gemini 2.5 Flash Lite", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32000 + "context": 1048576, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "default": -1, + "min": 512, + "max": 24576, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "cost": { - "input": 0, - "output": 0 - }, + "attachment": true, + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "qwen3-235b-a22b-thinking-2507", - "name": "Qwen3-235B-A22B-Thinking", - "display_name": "Qwen3-235B-A22B-Thinking", + "id": "claude-3.7-sonnet", + "name": "Claude 3.7 Sonnet", + "display_name": "Claude 3.7 Sonnet", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 64000 + "context": 200000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": false, + "summaries": false, + "visibility": "full", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic uses thinking budget tokens" ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-01", - "last_updated": "2025-07-01", - "cost": { - "input": 0, - "output": 0 - }, + "attachment": true, + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "qwen3-vl-plus", - "name": "Qwen3-VL-Plus", - "display_name": "Qwen3-VL-Plus", + "id": "qwen3-30b-a3b-thinking-2507", + "name": "Qwen3 30b A3b Thinking 2507", + "display_name": "Qwen3 30b A3b Thinking 2507", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, + "context": 126000, "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -2722,53 +3274,46 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "cost": { - "input": 0, - "output": 0 - }, + "release_date": "2026-02-04", + "last_updated": "2026-02-04", "type": "chat" }, { - "id": "kimi-k2-0905", - "name": "Kimi-K2-0905", - "display_name": "Kimi-K2-0905", + "id": "qwen2.5-vl-72b-instruct", + "name": "Qwen 2.5 VL 72B Instruct", + "display_name": "Qwen 2.5 VL 72B Instruct", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 64000 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "cost": { - "input": 0, - "output": 0 - }, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "deepseek-v3", - "name": "DeepSeek-V3", - "display_name": "DeepSeek-V3", + "id": "gpt-oss-120b", + "name": "gpt-oss-120b", + "display_name": "gpt-oss-120b", "modalities": { "input": [ "text" @@ -2779,69 +3324,59 @@ }, "limit": { "context": 128000, - "output": 32000 + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2024-12-26", - "last_updated": "2024-12-26", - "cost": { - "input": 0, - "output": 0 + "extra_capabilities": { + "reasoning": { + "supported": true + } }, + "attachment": false, + "open_weights": false, + "release_date": "2025-08-06", + "last_updated": "2025-08-06", "type": "chat" }, { - "id": "kimi-k2", - "name": "Kimi-K2", - "display_name": "Kimi-K2", + "id": "doubao-seed-1.6-flash", + "name": "Doubao-Seed 1.6 Flash", + "display_name": "Doubao-Seed 1.6 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 64000 + "context": 256000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "cost": { - "input": 0, - "output": 0 - }, + "release_date": "2025-08-15", + "last_updated": "2025-08-15", "type": "chat" - } - ] - }, - "302ai": { - "id": "302ai", - "name": "302.AI", - "display_name": "302.AI", - "api": "https://api.302.ai/v1", - "doc": "https://doc.302.ai", - "models": [ + }, { - "id": "kimi-k2-thinking-turbo", - "name": "kimi-k2-thinking-turbo", - "display_name": "kimi-k2-thinking-turbo", + "id": "deepseek-v3.1", + "name": "DeepSeek-V3.1", + "display_name": "DeepSeek-V3.1", "modalities": { "input": [ "text" @@ -2851,8 +3386,8 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 32000 }, "temperature": true, "tool_call": true, @@ -2862,23 +3397,17 @@ }, "attachment": false, "open_weights": false, - "knowledge": "2025-06", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "cost": { - "input": 1.265, - "output": 9.119 - }, + "release_date": "2025-08-19", + "last_updated": "2025-08-19", "type": "chat" }, { - "id": "chatgpt-4o-latest", - "name": "chatgpt-4o-latest", - "display_name": "chatgpt-4o-latest", + "id": "qwen3-235b-a22b", + "name": "Qwen 3 235B A22B", + "display_name": "Qwen 3 235B A22B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -2886,61 +3415,61 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 32000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-08-08", - "last_updated": "2024-08-08", - "cost": { - "input": 5, - "output": 15 + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, + "attachment": false, + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "grok-4.1", - "name": "grok-4.1", - "display_name": "grok-4.1", + "id": "qwen3-coder-480b-a35b-instruct", + "name": "Qwen3 Coder 480B A35B Instruct", + "display_name": "Qwen3 Coder 480B A35B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 262000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-06", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "cost": { - "input": 2, - "output": 10 - }, + "release_date": "2025-08-14", + "last_updated": "2025-08-14", "type": "chat" }, { - "id": "doubao-seed-1-6-vision-250815", - "name": "doubao-seed-1-6-vision-250815", - "display_name": "doubao-seed-1-6-vision-250815", + "id": "qwen3.5-397b-a17b", + "name": "Qwen3.5 397B A17B", + "display_name": "Qwen3.5 397B A17B", "modalities": { "input": [ "text", @@ -2952,201 +3481,157 @@ }, "limit": { "context": 256000, - "output": 32000 + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "cost": { - "input": 0.114, - "output": 1.143 - }, + "release_date": "2026-02-22", + "last_updated": "2026-02-22", "type": "chat" }, { - "id": "claude-opus-4-5", - "name": "claude-opus-4-5", - "display_name": "claude-opus-4-5", + "id": "mimo-v2-flash", + "name": "Mimo-V2-Flash", + "display_name": "Mimo-V2-Flash", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 256000, + "output": 256000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." - ] - } + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-25", - "last_updated": "2025-11-25", + "attachment": false, + "open_weights": true, + "knowledge": "2024-12-01", + "release_date": "2025-12-16", + "last_updated": "2026-02-04", "cost": { - "input": 5, - "output": 25 + "input": 0.1, + "output": 0.3, + "cache_read": 0.01 }, "type": "chat" }, { - "id": "gpt-5-pro", - "name": "gpt-5-pro", - "display_name": "gpt-5-pro", + "id": "qwen-vl-max-2025-01-25", + "name": "Qwen VL-MAX-2025-01-25", + "display_name": "Qwen VL-MAX-2025-01-25", "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 272000 + "context": 128000, + "output": 4096 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "fixed", - "effort": "high", - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-10-08", - "last_updated": "2025-10-08", - "cost": { - "input": 15, - "output": 120 - }, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "claude-sonnet-4-6", - "name": "claude-sonnet-4-6", - "display_name": "claude-sonnet-4-6", + "id": "qwen2.5-vl-7b-instruct", + "name": "Qwen 2.5 VL 7B Instruct", + "display_name": "Qwen 2.5 VL 7B Instruct", "modalities": { "input": [ "text", "image", - "pdf" + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-18", - "last_updated": "2026-03-13", - "cost": { - "input": 3, - "output": 15 + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "type": "chat" + }, + { + "id": "glm-4.5-air", + "name": "GLM 4.5 Air", + "display_name": "GLM 4.5 Air", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] }, + "limit": { + "context": 131000, + "output": 4096 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "gpt-5-mini", - "name": "gpt-5-mini", - "display_name": "gpt-5-mini", + "id": "claude-4.5-opus", + "name": "Claude 4.5 Opus", + "display_name": "Claude 4.5 Opus", "modalities": { "input": [ "text", @@ -3157,10 +3642,42 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 200000 }, - "temperature": false, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-11-25", + "last_updated": "2025-11-25", + "type": "chat" + }, + { + "id": "gemini-3.0-pro-preview", + "name": "Gemini 3.0 Pro Preview", + "display_name": "Gemini 3.0 Pro Preview", + "modalities": { + "input": [ + "text", + "image", + "video", + "pdf", + "audio" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 64000 + }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -3170,74 +3687,63 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ + "mode": "level", + "level": "high", + "level_options": [ "low", - "medium", "high" ], - "visibility": "hidden" + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-08", - "last_updated": "2025-08-08", - "cost": { - "input": 0.25, - "output": 2 - }, + "release_date": "2025-11-19", + "last_updated": "2025-11-19", "type": "chat" }, { - "id": "gemini-2.5-flash-image", - "name": "gemini-2.5-flash-image", - "display_name": "gemini-2.5-flash-image", + "id": "doubao-seed-2.0-mini", + "name": "Doubao Seed 2.0 Mini", + "display_name": "Doubao Seed 2.0 Mini", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 256000, + "output": 32000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-10-08", - "last_updated": "2025-10-08", - "cost": { - "input": 0.3, - "output": 30 - }, - "type": "imageGeneration" + "release_date": "2026-02-14", + "last_updated": "2026-02-14", + "type": "chat" }, { - "id": "glm-4.7-flashx", - "name": "glm-4.7-flashx", - "display_name": "glm-4.7-flashx", + "id": "claude-4.0-opus", + "name": "Claude 4.0 Opus", + "display_name": "Claude 4.0 Opus", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -3245,7 +3751,7 @@ }, "limit": { "context": 200000, - "output": 131072 + "output": 32000 }, "temperature": true, "tool_call": true, @@ -3253,26 +3759,19 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-01-20", - "last_updated": "2026-01-20", - "cost": { - "input": 0.0715, - "output": 0.429 - }, + "attachment": true, + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "gpt-4o", - "name": "gpt-4o", - "display_name": "gpt-4o", + "id": "gpt-oss-20b", + "name": "gpt-oss-20b", + "display_name": "gpt-oss-20b", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" @@ -3280,117 +3779,108 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "cost": { - "input": 2.5, - "output": 10 + "extra_capabilities": { + "reasoning": { + "supported": true + } }, + "attachment": false, + "open_weights": false, + "release_date": "2025-08-06", + "last_updated": "2025-08-06", "type": "chat" }, { - "id": "gpt-5.2", - "name": "gpt-5.2", - "display_name": "gpt-5.2", + "id": "gemini-3.0-flash-preview", + "name": "Gemini 3.0 Flash Preview", + "display_name": "Gemini 3.0 Flash Preview", "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1000000, + "output": 64000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", "low", "medium", "high" ], - "visibility": "hidden" + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-12", - "last_updated": "2025-12-12", - "cost": { - "input": 1.75, - "output": 14 - }, + "release_date": "2025-12-18", + "last_updated": "2025-12-18", "type": "chat" }, { - "id": "ministral-14b-2512", - "name": "ministral-14b-2512", - "display_name": "ministral-14b-2512", + "id": "MiniMax-M1", + "name": "MiniMax M1", + "display_name": "MiniMax M1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 1000000, + "output": 80000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2025-12-16", - "last_updated": "2025-12-16", - "cost": { - "input": 0.33, - "output": 0.33 - }, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "glm-4.6", - "name": "glm-4.6", - "display_name": "glm-4.6", + "id": "qwen-turbo", + "name": "Qwen-Turbo", + "display_name": "Qwen-Turbo", "modalities": { "input": [ "text" @@ -3400,8 +3890,8 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1000000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -3411,24 +3901,25 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "cost": { - "input": 0.286, - "output": 1.142 - }, + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "kimi-k2-thinking", - "name": "kimi-k2-thinking", - "display_name": "kimi-k2-thinking", + "id": "qwen3-30b-a3b", + "name": "Qwen3 30B A3B", + "display_name": "Qwen3 30B A3B", "modalities": { "input": [ "text" @@ -3438,8 +3929,8 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 40000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -3460,24 +3951,18 @@ }, "attachment": false, "open_weights": false, - "knowledge": "2025-06", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "cost": { - "input": 0.575, - "output": 2.3 - }, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "claude-haiku-4-5-20251001", - "name": "claude-haiku-4-5-20251001", - "display_name": "claude-haiku-4-5-20251001", + "id": "claude-4.5-sonnet", + "name": "Claude 4.5 Sonnet", + "display_name": "Claude 4.5 Sonnet", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -3491,162 +3976,109 @@ "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-16", - "last_updated": "2025-10-16", - "cost": { - "input": 1, - "output": 5 - }, + "release_date": "2025-09-30", + "last_updated": "2025-09-30", "type": "chat" }, { - "id": "MiniMax-M1", - "name": "MiniMax-M1", - "display_name": "MiniMax-M1", + "id": "doubao-seed-2.0-lite", + "name": "Doubao Seed 2.0 Lite", + "display_name": "Doubao Seed 2.0 Lite", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 256000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-06-16", - "last_updated": "2025-06-16", - "cost": { - "input": 0.132, - "output": 1.254 - }, + "release_date": "2026-02-14", + "last_updated": "2026-02-14", "type": "chat" }, { - "id": "gpt-5", - "name": "gpt-5", - "display_name": "gpt-5", + "id": "gemini-2.0-flash-lite", + "name": "Gemini 2.0 Flash Lite", + "display_name": "Gemini 2.0 Flash Lite", "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1048576, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-08", - "last_updated": "2025-08-08", - "cost": { - "input": 1.25, - "output": 10 - }, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { - "id": "qwen3-max-2025-09-23", - "name": "qwen3-max-2025-09-23", - "display_name": "qwen3-max-2025-09-23", + "id": "doubao-seed-2.0-code", + "name": "Doubao Seed 2.0 Code", + "display_name": "Doubao Seed 2.0 Code", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 258048, - "output": 65536 + "context": 256000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-09-24", - "last_updated": "2025-09-24", - "cost": { - "input": 0.86, - "output": 3.43 - }, + "release_date": "2026-02-14", + "last_updated": "2026-02-14", "type": "chat" }, { - "id": "qwen-flash", - "name": "Qwen-Flash", - "display_name": "Qwen-Flash", + "id": "moonshotai/kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "display_name": "Kimi K2 Thinking", "modalities": { "input": [ "text" @@ -3656,8 +4088,8 @@ ] }, "limit": { - "context": 1000000, - "output": 32768 + "context": 256000, + "output": 100000 }, "temperature": true, "tool_call": true, @@ -3677,74 +4109,81 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "cost": { - "input": 0.022, - "output": 0.22 - }, + "release_date": "2025-11-07", + "last_updated": "2025-11-07", "type": "chat" }, { - "id": "claude-haiku-4-5", - "name": "claude-haiku-4-5", - "display_name": "claude-haiku-4-5", + "id": "moonshotai/kimi-k2.5", + "name": "Moonshotai/Kimi-K2.5", + "display_name": "Moonshotai/Kimi-K2.5", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 256000, + "output": 256000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-16", - "last_updated": "2025-10-16", - "cost": { - "input": 1, - "output": 5 + "release_date": "2026-01-28", + "last_updated": "2026-01-28", + "type": "chat" + }, + { + "id": "moonshotai/kimi-k2-0905", + "name": "Kimi K2 0905", + "display_name": "Kimi K2 0905", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 256000, + "output": 100000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false }, + "attachment": false, + "open_weights": false, + "release_date": "2025-09-08", + "last_updated": "2025-09-08", "type": "chat" }, { - "id": "grok-4-fast-non-reasoning", - "name": "grok-4-fast-non-reasoning", - "display_name": "grok-4-fast-non-reasoning", + "id": "stepfun-ai/gelab-zero-4b-preview", + "name": "Stepfun-Ai/Gelab Zero 4b Preview", + "display_name": "Stepfun-Ai/Gelab Zero 4b Preview", "modalities": { "input": [ "text", @@ -3755,8 +4194,8 @@ ] }, "limit": { - "context": 2000000, - "output": 30000 + "context": 8192, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -3765,19 +4204,14 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-06", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "cost": { - "input": 0.2, - "output": 0.5 - }, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "type": "chat" }, { - "id": "MiniMax-M2.7", - "name": "MiniMax-M2.7", - "display_name": "MiniMax-M2.7", + "id": "x-ai/grok-code-fast-1", + "name": "x-AI/Grok-Code-Fast 1", + "display_name": "x-AI/Grok-Code-Fast 1", "modalities": { "input": [ "text" @@ -3787,43 +4221,67 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 256000, + "output": 10000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": false, - "release_date": "2026-03-19", - "last_updated": "2026-03-19", - "cost": { - "input": 0.3, - "output": 1.2 + "release_date": "2025-09-02", + "last_updated": "2025-09-02", + "type": "chat" + }, + { + "id": "x-ai/grok-4.1-fast-reasoning", + "name": "X-Ai/Grok 4.1 Fast Reasoning", + "display_name": "X-Ai/Grok 4.1 Fast Reasoning", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 20000000, + "output": 2000000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true }, + "attachment": true, + "open_weights": false, + "release_date": "2025-12-19", + "last_updated": "2025-12-19", "type": "chat" }, { - "id": "gemini-2.0-flash-lite", - "name": "gemini-2.0-flash-lite", - "display_name": "gemini-2.0-flash-lite", + "id": "x-ai/grok-4.1-fast-non-reasoning", + "name": "X-Ai/Grok 4.1 Fast Non Reasoning", + "display_name": "X-Ai/Grok 4.1 Fast Non Reasoning", "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video" ], "output": [ "text" @@ -3831,42 +4289,40 @@ }, "limit": { "context": 2000000, - "output": 8192 + "output": 2000000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2024-11", - "release_date": "2025-06-16", - "last_updated": "2025-06-16", - "cost": { - "input": 0.075, - "output": 0.3 - }, + "release_date": "2025-12-19", + "last_updated": "2025-12-19", "type": "chat" }, { - "id": "gpt-5.4-pro", - "name": "gpt-5.4-pro", - "display_name": "gpt-5.4-pro", + "id": "x-ai/grok-4-fast-reasoning", + "name": "X-Ai/Grok-4-Fast-Reasoning", + "display_name": "X-Ai/Grok-4-Fast-Reasoning", "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 2000000, + "output": 2000000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -3874,195 +4330,140 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "cost": { - "input": 30, - "output": 180, - "cache_read": 0, - "cache_write": 0, - "tiers": [ - { - "input": 60, - "output": 270, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 60, - "output": 270 - } - }, + "release_date": "2025-12-18", + "last_updated": "2025-12-18", "type": "chat" }, { - "id": "qwen-max-latest", - "name": "Qwen-Max-Latest", - "display_name": "Qwen-Max-Latest", + "id": "x-ai/grok-4-fast", + "name": "x-AI/Grok-4-Fast", + "display_name": "x-AI/Grok-4-Fast", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 2000000, + "output": 2000000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-11", - "release_date": "2024-04-03", - "last_updated": "2025-01-25", - "cost": { - "input": 0.343, - "output": 1.372 - }, + "release_date": "2025-09-20", + "last_updated": "2025-09-20", "type": "chat" }, { - "id": "doubao-seed-1-8-251215", - "name": "doubao-seed-1-8-251215", - "display_name": "doubao-seed-1-8-251215", + "id": "x-ai/grok-4-fast-non-reasoning", + "name": "X-Ai/Grok-4-Fast-Non-Reasoning", + "display_name": "X-Ai/Grok-4-Fast-Non-Reasoning", "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 224000, - "output": 64000 + "context": 2000000, + "output": 2000000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, "release_date": "2025-12-18", "last_updated": "2025-12-18", - "cost": { - "input": 0.114, - "output": 0.286 - }, "type": "chat" }, { - "id": "gpt-4.1-mini", - "name": "gpt-4.1-mini", - "display_name": "gpt-4.1-mini", + "id": "x-ai/grok-4.1-fast", + "name": "x-AI/Grok-4.1-Fast", + "display_name": "x-AI/Grok-4.1-Fast", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 2000000, + "output": 2000000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "cost": { - "input": 0.4, - "output": 1.6 - }, + "release_date": "2025-11-20", + "last_updated": "2025-11-20", "type": "chat" }, { - "id": "deepseek-v3.2", - "name": "deepseek-v3.2", - "display_name": "deepseek-v3.2", + "id": "z-ai/autoglm-phone-9b", + "name": "Z-Ai/Autoglm Phone 9b", + "display_name": "Z-Ai/Autoglm Phone 9b", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 12800, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "cost": { - "input": 0.29, - "output": 0.43 - }, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "type": "chat" }, { - "id": "claude-opus-4-20250514", - "name": "claude-opus-4-20250514", - "display_name": "claude-opus-4-20250514", + "id": "z-ai/glm-4.7", + "name": "Z-Ai/GLM 4.7", + "display_name": "Z-Ai/GLM 4.7", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" @@ -4070,135 +4471,78 @@ }, "limit": { "context": 200000, - "output": 32000 + "output": 200000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "cost": { - "input": 15, - "output": 75 - }, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "type": "chat" }, { - "id": "gpt-5.4", - "name": "gpt-5.4", - "display_name": "gpt-5.4", + "id": "z-ai/glm-4.6", + "name": "Z-AI/GLM 4.6", + "display_name": "Z-AI/GLM 4.6", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 200000, + "output": 200000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "cost": { - "input": 2.5, - "output": 15, - "cache_read": 0.25, - "cache_write": 0, - "tiers": [ - { - "input": 5, - "output": 22.5, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 5, - "output": 22.5 - } - }, + "release_date": "2025-10-11", + "last_updated": "2025-10-11", "type": "chat" }, { - "id": "gemini-3-flash-preview", - "name": "gemini-3-flash-preview", - "display_name": "gemini-3-flash-preview", + "id": "z-ai/glm-5", + "name": "Z-Ai/GLM 5", + "display_name": "Z-Ai/GLM 5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 200000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -4209,37 +4553,24 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-06", - "release_date": "2025-12-18", - "last_updated": "2025-12-18", - "cost": { - "input": 0.5, - "output": 3 - }, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "type": "chat" }, { - "id": "deepseek-reasoner", - "name": "Deepseek-Reasoner", - "display_name": "Deepseek-Reasoner", + "id": "openai/gpt-5", + "name": "OpenAI/GPT-5", + "display_name": "OpenAI/GPT-5", "modalities": { "input": [ "text" @@ -4249,7 +4580,7 @@ ] }, "limit": { - "context": 128000, + "context": 400000, "output": 128000 }, "temperature": true, @@ -4261,84 +4592,96 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": false, "open_weights": false, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "cost": { - "input": 0.29, - "output": 0.43 - }, + "release_date": "2025-09-19", + "last_updated": "2025-09-19", "type": "chat" }, { - "id": "qwen3-235b-a22b", - "name": "Qwen3-235B-A22B", - "display_name": "Qwen3-235B-A22B", + "id": "openai/gpt-5.2", + "name": "OpenAI/GPT-5.2", + "display_name": "OpenAI/GPT-5.2", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 400000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "cost": { - "input": 0.29, - "output": 2.86 - }, + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "type": "chat" }, { - "id": "grok-4.20-beta-0309-reasoning", - "name": "grok-4.20-beta-0309-reasoning", - "display_name": "grok-4.20-beta-0309-reasoning", + "id": "xiaomi/mimo-v2-flash", + "name": "Xiaomi/Mimo-V2-Flash", + "display_name": "Xiaomi/Mimo-V2-Flash", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 30000 + "context": 256000, + "output": 256000 }, "temperature": true, "tool_call": true, @@ -4346,25 +4689,22 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": true, - "open_weights": false, - "release_date": "2026-03-16", - "last_updated": "2026-03-16", + "attachment": false, + "open_weights": true, + "knowledge": "2024-12-01", + "release_date": "2025-12-16", + "last_updated": "2026-02-04", "cost": { - "input": 2, - "output": 6 + "input": 0.1, + "output": 0.3, + "cache_read": 0.01 }, "type": "chat" }, { - "id": "mistral-large-2512", - "name": "mistral-large-2512", - "display_name": "mistral-large-2512", + "id": "stepfun/step-3.5-flash", + "name": "Stepfun/Step-3.5 Flash", + "display_name": "Stepfun/Step-3.5 Flash", "modalities": { "input": [ "text", @@ -4375,29 +4715,24 @@ ] }, "limit": { - "context": 128000, - "output": 262144 + "context": 64000, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2025-12-16", - "last_updated": "2025-12-16", - "cost": { - "input": 1.1, - "output": 3.3 - }, + "release_date": "2026-02-02", + "last_updated": "2026-02-02", "type": "chat" }, { - "id": "glm-4.7", - "name": "glm-4.7", - "display_name": "glm-4.7", + "id": "meituan/longcat-flash-lite", + "name": "Meituan/Longcat-Flash-Lite", + "display_name": "Meituan/Longcat-Flash-Lite", "modalities": { "input": [ "text" @@ -4407,108 +4742,109 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 256000, + "output": 320000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "cost": { - "input": 0.286, - "output": 1.142 + "open_weights": false, + "release_date": "2026-02-06", + "last_updated": "2026-02-06", + "type": "chat" + }, + { + "id": "meituan/longcat-flash-chat", + "name": "Meituan/Longcat-Flash-Chat", + "display_name": "Meituan/Longcat-Flash-Chat", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 131072 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false }, + "attachment": false, + "open_weights": false, + "release_date": "2025-11-05", + "last_updated": "2025-11-05", "type": "chat" }, { - "id": "claude-sonnet-4-6-thinking", - "name": "claude-sonnet-4-6-thinking", - "display_name": "claude-sonnet-4-6-thinking", + "id": "deepseek/deepseek-v3.1-terminus", + "name": "DeepSeek/DeepSeek-V3.1-Terminus", + "display_name": "DeepSeek/DeepSeek-V3.1-Terminus", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 128000, + "output": 32000 }, "temperature": true, "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-09-22", + "last_updated": "2025-09-22", + "type": "chat" + }, + { + "id": "deepseek/deepseek-v3.1-terminus-thinking", + "name": "DeepSeek/DeepSeek-V3.1-Terminus-Thinking", + "display_name": "DeepSeek/DeepSeek-V3.1-Terminus-Thinking", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 32000 + }, + "temperature": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08", - "release_date": "2026-02-18", - "last_updated": "2026-03-13", - "cost": { - "input": 3, - "output": 15 - }, + "release_date": "2025-09-22", + "last_updated": "2025-09-22", "type": "chat" }, { - "id": "gpt-5.2-chat-latest", - "name": "gpt-5.2-chat-latest", - "display_name": "gpt-5.2-chat-latest", + "id": "deepseek/deepseek-v3.2-exp-thinking", + "name": "DeepSeek/DeepSeek-V3.2-Exp-Thinking", + "display_name": "DeepSeek/DeepSeek-V3.2-Exp-Thinking", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -4516,96 +4852,62 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 32000 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-12", - "last_updated": "2025-12-12", - "cost": { - "input": 1.75, - "output": 14 - }, + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "type": "chat" }, { - "id": "gpt-5.1", - "name": "gpt-5.1", - "display_name": "gpt-5.1", + "id": "deepseek/deepseek-v3.2-exp", + "name": "DeepSeek/DeepSeek-V3.2-Exp", + "display_name": "DeepSeek/DeepSeek-V3.2-Exp", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 32000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "cost": { - "input": 1.25, - "output": 10 - }, + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "type": "chat" }, { - "id": "grok-4-fast-reasoning", - "name": "grok-4-fast-reasoning", - "display_name": "grok-4-fast-reasoning", + "id": "deepseek/deepseek-v3.2-251201", + "name": "Deepseek/DeepSeek-V3.2", + "display_name": "Deepseek/DeepSeek-V3.2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 30000 + "context": 128000, + "output": 32000 }, "temperature": true, "tool_call": true, @@ -4613,71 +4915,55 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-06", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "cost": { - "input": 0.2, - "output": 0.5 - }, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "type": "chat" }, { - "id": "grok-4-1-fast-non-reasoning", - "name": "grok-4-1-fast-non-reasoning", - "display_name": "grok-4-1-fast-non-reasoning", + "id": "deepseek/deepseek-math-v2", + "name": "Deepseek/Deepseek-Math-V2", + "display_name": "Deepseek/Deepseek-Math-V2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 30000 + "context": 160000, + "output": 160000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-06", - "release_date": "2025-11-20", - "last_updated": "2025-11-20", - "cost": { - "input": 0.2, - "output": 0.5 - }, + "release_date": "2025-12-04", + "last_updated": "2025-12-04", "type": "chat" }, { - "id": "claude-opus-4-1-20250805-thinking", - "name": "claude-opus-4-1-20250805-thinking", - "display_name": "claude-opus-4-1-20250805-thinking", + "id": "minimax/minimax-m2.5", + "name": "Minimax/Minimax-M2.5", + "display_name": "Minimax/Minimax-M2.5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 204800, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -4687,52 +4973,30 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03", - "release_date": "2025-05-27", - "last_updated": "2025-05-27", - "cost": { - "input": 15, - "output": 75 - }, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "type": "chat" }, { - "id": "gemini-2.5-pro", - "name": "gemini-2.5-pro", - "display_name": "gemini-2.5-pro", + "id": "minimax/minimax-m2.1", + "name": "Minimax/Minimax-M2.1", + "display_name": "Minimax/Minimax-M2.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 204800, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -4742,43 +5006,22 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "cost": { - "input": 1.25, - "output": 10 - }, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "type": "chat" }, { - "id": "claude-3-5-haiku-latest", - "name": "claude-3-5-haiku-latest", - "display_name": "claude-3-5-haiku-latest", + "id": "minimax/minimax-m2", + "name": "Minimax/Minimax-M2", + "display_name": "Minimax/Minimax-M2", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" @@ -4786,41 +5029,40 @@ }, "limit": { "context": 200000, - "output": 8192 + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-07-31", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "cost": { - "input": 0.8, - "output": 4 + "extra_capabilities": { + "reasoning": { + "supported": true + } }, + "attachment": false, + "open_weights": false, + "release_date": "2025-10-28", + "last_updated": "2025-10-28", "type": "chat" }, { - "id": "glm-4.5v", - "name": "GLM-4.5V", - "display_name": "GLM-4.5V", + "id": "minimax/minimax-m2.5-highspeed", + "name": "Minimax/Minimax-M2.5 Highspeed", + "display_name": "Minimax/Minimax-M2.5 Highspeed", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 64000, - "output": 16384 + "context": 204800, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -4828,21 +5070,62 @@ "supported": true, "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": false, + "release_date": "2026-02-14", + "last_updated": "2026-02-14", + "type": "chat" + } + ] + }, + "alibaba-cn": { + "id": "alibaba-cn", + "name": "alibaba-cn", + "display_name": "alibaba-cn", + "api": "https://dashscope.aliyuncs.com/compatible-mode/v1", + "doc": "https://www.alibabacloud.com/help/en/model-studio/models", + "models": [ + { + "id": "qwen2-5-math-72b-instruct", + "name": "Qwen2.5-Math 72B Instruct", + "display_name": "Qwen2.5-Math 72B Instruct", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 4096, + "output": 3072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-08-12", - "last_updated": "2025-08-12", + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", "cost": { - "input": 0.29, - "output": 0.86 + "input": 0.574, + "output": 1.721 }, "type": "chat" }, { - "id": "qwen3-30b-a3b", - "name": "Qwen3-30B-A3B", - "display_name": "Qwen3-30B-A3B", + "id": "deepseek-r1-0528", + "name": "DeepSeek R1 0528", + "display_name": "DeepSeek R1 0528", "modalities": { "input": [ "text" @@ -4852,13 +5135,14 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 131072, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -4873,53 +5157,68 @@ }, "attachment": false, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-04-29", - "last_updated": "2025-04-29", + "release_date": "2025-05-28", + "last_updated": "2025-05-28", "cost": { - "input": 0.11, - "output": 1.08 + "input": 0.574, + "output": 2.294 }, "type": "chat" }, { - "id": "gpt-4.1", - "name": "gpt-4.1", - "display_name": "gpt-4.1", + "id": "qwen3-omni-flash", + "name": "Qwen3-Omni Flash", + "display_name": "Qwen3-Omni Flash", "modalities": { "input": [ "text", "image", - "pdf" + "audio", + "video" ], "output": [ - "text" + "text", + "audio" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 65536, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": false, "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", "cost": { - "input": 2, - "output": 8 + "input": 0.058, + "output": 0.23, + "input_audio": 3.584, + "output_audio": 7.168 }, "type": "chat" }, { - "id": "deepseek-v3.2-thinking", - "name": "DeepSeek-V3.2-Thinking", - "display_name": "DeepSeek-V3.2-Thinking", + "id": "deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ "text" @@ -4929,8 +5228,8 @@ ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 1000000, + "output": 384000 }, "temperature": true, "tool_call": true, @@ -4938,167 +5237,153 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, - "open_weights": false, - "knowledge": "2024-12", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.29, - "output": 0.43 + "input": 0.14, + "output": 0.28, + "cache_read": 0.0028 }, "type": "chat" }, { - "id": "claude-sonnet-4-5-20250929", - "name": "claude-sonnet-4-5-20250929", - "display_name": "claude-sonnet-4-5-20250929", + "id": "qwen-plus", + "name": "Qwen Plus", + "display_name": "Qwen Plus", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 1000000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": false, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" + }, + "attachment": false, "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", + "knowledge": "2024-04", + "release_date": "2024-01-25", + "last_updated": "2025-09-11", "cost": { - "input": 3, - "output": 15 + "input": 0.115, + "output": 0.287, + "reasoning": 1.147 }, "type": "chat" }, { - "id": "claude-3-5-haiku-20241022", - "name": "claude-3-5-haiku-20241022", - "display_name": "claude-3-5-haiku-20241022", + "id": "qwen3-coder-30b-a3b-instruct", + "name": "Qwen3-Coder 30B-A3B Instruct", + "display_name": "Qwen3-Coder 30B-A3B Instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-07-31", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", "cost": { - "input": 0.8, - "output": 4 + "input": 0.216, + "output": 0.861 }, "type": "chat" }, { - "id": "gpt-5.4-mini-2026-03-17", - "name": "gpt-5.4-mini-2026-03-17", - "display_name": "gpt-5.4-mini-2026-03-17", + "id": "qwen2-5-coder-7b-instruct", + "name": "Qwen2.5-Coder 7B Instruct", + "display_name": "Qwen2.5-Coder 7B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-19", - "last_updated": "2026-03-19", + "attachment": false, + "open_weights": true, + "knowledge": "2024-04", + "release_date": "2024-11", + "last_updated": "2024-11", "cost": { - "input": 0.75, - "output": 4.5 + "input": 0.144, + "output": 0.287 }, "type": "chat" }, { - "id": "deepseek-chat", - "name": "Deepseek-Chat", - "display_name": "Deepseek-Chat", + "id": "deepseek-v3", + "name": "DeepSeek V3", + "display_name": "DeepSeek V3", "modalities": { "input": [ "text" @@ -5108,7 +5393,7 @@ ] }, "limit": { - "context": 128000, + "context": 65536, "output": 8192 }, "temperature": true, @@ -5118,87 +5403,66 @@ }, "attachment": false, "open_weights": false, - "knowledge": "2024-07", - "release_date": "2024-11-29", - "last_updated": "2024-11-29", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", "cost": { - "input": 0.29, - "output": 0.43 + "input": 0.287, + "output": 1.147 }, "type": "chat" }, { - "id": "gpt-5.4-nano", - "name": "gpt-5.4-nano", - "display_name": "gpt-5.4-nano", + "id": "qwen3-omni-flash-realtime", + "name": "Qwen3-Omni Flash Realtime", + "display_name": "Qwen3-Omni Flash Realtime", "modalities": { "input": [ "text", - "image" + "image", + "audio" ], "output": [ - "text" + "text", + "audio" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 65536, + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-19", - "last_updated": "2026-03-19", + "knowledge": "2024-04", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", "cost": { - "input": 0.2, - "output": 1.25 + "input": 0.23, + "output": 0.918, + "input_audio": 3.584, + "output_audio": 7.168 }, "type": "chat" }, { - "id": "claude-opus-4-5-20251101-thinking", - "name": "claude-opus-4-5-20251101-thinking", - "display_name": "claude-opus-4-5-20251101-thinking", + "id": "deepseek-r1-distill-llama-70b", + "name": "DeepSeek R1 Distill Llama 70B", + "display_name": "DeepSeek R1 Distill Llama 70B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 32768, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -5208,113 +5472,87 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03", - "release_date": "2025-11-25", - "last_updated": "2025-11-25", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 5, - "output": 25 + "input": 0.287, + "output": 0.861 }, "type": "chat" }, { - "id": "claude-opus-4-1-20250805", - "name": "claude-opus-4-1-20250805", - "display_name": "claude-opus-4-1-20250805", + "id": "qwen3-32b", + "name": "Qwen3 32B", + "display_name": "Qwen3 32B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 131072, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { + "default": true, + "budget": { + "default": 38912, + "min": 0, + "max": 38912 + } + }, + "extra_capabilities": { + "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", "cost": { - "input": 15, - "output": 75 + "input": 0.287, + "output": 1.147, + "reasoning": 2.868 }, "type": "chat" }, { - "id": "qwen3-coder-480b-a35b-instruct", - "name": "qwen3-coder-480b-a35b-instruct", - "display_name": "qwen3-coder-480b-a35b-instruct", + "id": "qwen-omni-turbo-realtime", + "name": "Qwen-Omni Turbo Realtime", + "display_name": "Qwen-Omni Turbo Realtime", "modalities": { "input": [ - "text" + "text", + "image", + "audio" ], "output": [ - "text" + "text", + "audio" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 32768, + "output": 2048 }, "temperature": true, "tool_call": true, @@ -5323,108 +5561,85 @@ }, "attachment": false, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", + "knowledge": "2024-04", + "release_date": "2025-05-08", + "last_updated": "2025-05-08", "cost": { - "input": 0.86, - "output": 3.43 + "input": 0.23, + "output": 0.918, + "input_audio": 3.584, + "output_audio": 7.168 }, "type": "chat" }, { - "id": "glm-4.6v", - "name": "GLM-4.6V", - "display_name": "GLM-4.6V", + "id": "qwen2-5-math-7b-instruct", + "name": "Qwen2.5-Math 7B Instruct", + "display_name": "Qwen2.5-Math 7B Instruct", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 4096, + "output": 3072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-08", - "last_updated": "2025-12-08", + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", "cost": { - "input": 0.145, - "output": 0.43 + "input": 0.144, + "output": 0.287 }, "type": "chat" }, { - "id": "gemini-2.5-flash", - "name": "gemini-2.5-flash", - "display_name": "gemini-2.5-flash", + "id": "qwen3-next-80b-a3b-instruct", + "name": "Qwen3 Next 80B A3B Instruct", + "display_name": "Qwen3 Next 80B A3B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-09", + "last_updated": "2025-09", "cost": { - "input": 0.3, - "output": 2.5 + "input": 0.144, + "output": 0.574 }, "type": "chat" }, { - "id": "gemini-2.5-flash-preview-09-2025", - "name": "gemini-2.5-flash-preview-09-2025", - "display_name": "gemini-2.5-flash-preview-09-2025", + "id": "qwen3.7-plus", + "name": "Qwen3.7 Plus", + "display_name": "Qwen3.7 Plus", "modalities": { "input": [ "text", @@ -5436,7 +5651,7 @@ }, "limit": { "context": 1000000, - "output": 65536 + "output": 64000 }, "temperature": true, "tool_call": true, @@ -5446,54 +5661,49 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-09-26", - "last_updated": "2025-09-26", + "knowledge": "2025-04", + "release_date": "2026-06-02", + "last_updated": "2026-06-02", "cost": { - "input": 0.3, - "output": 2.5 + "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 + } + } + ] }, "type": "chat" }, { - "id": "glm-5v-turbo", - "name": "GLM-5V-Turbo", - "display_name": "GLM-5V-Turbo", + "id": "qwen3.7-max", + "name": "Qwen3.7 Max", + "display_name": "Qwen3.7 Max", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -5503,33 +5713,28 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "release_date": "2026-05-21", + "last_updated": "2026-05-21", "cost": { - "input": 0.72, - "output": 3.2 + "input": 2.5, + "output": 7.5, + "cache_read": 0.5, + "cache_write": 3.125 }, "type": "chat" }, { - "id": "gemini-2.5-flash-lite-preview-09-2025", - "name": "gemini-2.5-flash-lite-preview-09-2025", - "display_name": "gemini-2.5-flash-lite-preview-09-2025", + "id": "qwen-long", + "name": "Qwen Long", + "display_name": "Qwen Long", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -5537,48 +5742,28 @@ }, "limit": { "context": 1000000, - "output": 65536 + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "default": -1, - "min": 512, - "max": 24576, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-09-26", - "last_updated": "2025-09-26", + "knowledge": "2024-04", + "release_date": "2025-01-25", + "last_updated": "2025-01-25", "cost": { - "input": 0.1, - "output": 0.4 + "input": 0.072, + "output": 0.287 }, "type": "chat" }, { - "id": "glm-for-coding", - "name": "glm-for-coding", - "display_name": "glm-for-coding", + "id": "qwen-math-turbo", + "name": "Qwen Math Turbo", + "display_name": "Qwen Math Turbo", "modalities": { "input": [ "text" @@ -5588,91 +5773,109 @@ ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 4096, + "output": 3072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-09-30", - "last_updated": "2025-09-30", + "knowledge": "2024-04", + "release_date": "2024-09-19", + "last_updated": "2024-09-19", "cost": { - "input": 0.086, - "output": 0.343 + "input": 0.287, + "output": 0.861 }, "type": "chat" }, { - "id": "claude-opus-4-5-20251101", - "name": "claude-opus-4-5-20251101", - "display_name": "claude-opus-4-5-20251101", + "id": "qwen3-max", + "name": "Qwen3 Max", + "display_name": "Qwen3 Max", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-25", - "last_updated": "2025-11-25", + "knowledge": "2025-04", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", "cost": { - "input": 5, - "output": 25 + "input": 0.861, + "output": 3.441 }, "type": "chat" }, { - "id": "MiniMax-M2", - "name": "MiniMax-M2", - "display_name": "MiniMax-M2", + "id": "qwen2-5-omni-7b", + "name": "Qwen2.5-Omni 7B", + "display_name": "Qwen2.5-Omni 7B", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video" + ], + "output": [ + "text", + "audio" + ] + }, + "limit": { + "context": 32768, + "output": 2048 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2024-04", + "release_date": "2024-12", + "last_updated": "2024-12", + "cost": { + "input": 0.087, + "output": 0.345, + "input_audio": 5.448 + }, + "type": "chat" + }, + { + "id": "qwen3-8b", + "name": "Qwen3 8B", + "display_name": "Qwen3 8B", "modalities": { "input": [ "text" @@ -5682,65 +5885,79 @@ ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true, + "budget": { + "default": 38912, + "min": 0, + "max": 38912 + } }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": false, - "release_date": "2025-10-26", - "last_updated": "2025-10-26", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", "cost": { - "input": 0.33, - "output": 1.32 + "input": 0.072, + "output": 0.287, + "reasoning": 0.717 }, "type": "chat" }, { - "id": "doubao-seed-code-preview-251028", - "name": "doubao-seed-code-preview-251028", - "display_name": "doubao-seed-code-preview-251028", + "id": "qwen2-5-14b-instruct", + "name": "Qwen2.5 14B Instruct", + "display_name": "Qwen2.5 14B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 32000 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2025-11-11", - "last_updated": "2025-11-11", + "attachment": false, + "open_weights": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", "cost": { - "input": 0.17, - "output": 1.14 + "input": 0.144, + "output": 0.431 }, "type": "chat" }, { - "id": "glm-5", - "name": "glm-5", - "display_name": "glm-5", + "id": "glm-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ "text" @@ -5750,8 +5967,8 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 202752, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -5772,18 +5989,19 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "release_date": "2026-04-14", + "last_updated": "2026-04-14", "cost": { - "input": 0.6, - "output": 2.6 + "input": 0.87, + "output": 3.48, + "cache_read": 0.17 }, "type": "chat" }, { - "id": "glm-5-turbo", - "name": "glm-5-turbo", - "display_name": "glm-5-turbo", + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ "text" @@ -5793,8 +6011,8 @@ ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 1000000, + "output": 384000 }, "temperature": true, "tool_call": true, @@ -5814,19 +6032,21 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2026-03-16", - "last_updated": "2026-03-16", + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.72, - "output": 3.2 + "input": 0.435, + "output": 0.87, + "cache_read": 0.003625 }, "type": "chat" }, { - "id": "glm-4.5", - "name": "GLM-4.5", - "display_name": "GLM-4.5", + "id": "qwen3-next-80b-a3b-thinking", + "name": "Qwen3 Next 80B A3B Thinking", + "display_name": "Qwen3 Next 80B A3B Thinking", "modalities": { "input": [ "text" @@ -5837,173 +6057,154 @@ }, "limit": { "context": 131072, - "output": 98304 + "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": true + "default": true, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, "knowledge": "2025-04", - "release_date": "2025-07-29", - "last_updated": "2025-07-29", + "release_date": "2025-09", + "last_updated": "2025-09", "cost": { - "input": 0.286, - "output": 1.142 + "input": 0.144, + "output": 1.434 }, "type": "chat" }, { - "id": "qwen3-235b-a22b-instruct-2507", - "name": "qwen3-235b-a22b-instruct-2507", - "display_name": "qwen3-235b-a22b-instruct-2507", + "id": "qvq-max", + "name": "QVQ Max", + "display_name": "QVQ Max", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 65536 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-07-30", - "last_updated": "2025-07-30", + "knowledge": "2024-04", + "release_date": "2025-03-25", + "last_updated": "2025-03-25", "cost": { - "input": 0.29, - "output": 1.143 + "input": 1.147, + "output": 4.588 }, "type": "chat" }, { - "id": "gpt-5.4-nano-2026-03-17", - "name": "gpt-5.4-nano-2026-03-17", - "display_name": "gpt-5.4-nano-2026-03-17", + "id": "qwen-plus-character", + "name": "Qwen Plus Character", + "display_name": "Qwen Plus Character", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 32768, + "output": 4096 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-19", - "last_updated": "2026-03-19", + "knowledge": "2024-04", + "release_date": "2024-01", + "last_updated": "2024-01", "cost": { - "input": 0.2, - "output": 1.25 + "input": 0.115, + "output": 0.287 }, "type": "chat" }, { - "id": "claude-sonnet-4-20250514", - "name": "claude-sonnet-4-20250514", - "display_name": "claude-sonnet-4-20250514", + "id": "kimi-k2-thinking", + "name": "Moonshot Kimi K2 Thinking", + "display_name": "Moonshot Kimi K2 Thinking", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 262144, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "attachment": false, + "open_weights": true, + "release_date": "2025-11-06", + "last_updated": "2025-11-06", "cost": { - "input": 3, - "output": 15 + "input": 0.574, + "output": 2.294 }, "type": "chat" }, { - "id": "glm-4.5-x", - "name": "glm-4.5-x", - "display_name": "glm-4.5-x", + "id": "deepseek-r1", + "name": "DeepSeek R1", + "display_name": "DeepSeek R1", "modalities": { "input": [ "text" @@ -6013,33 +6214,45 @@ ] }, "limit": { - "context": 128000, + "context": 131072, "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-07-29", - "last_updated": "2025-07-29", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 1.143, - "output": 2.29 + "input": 0.574, + "output": 2.294 }, "type": "chat" }, { - "id": "gemini-3-pro-preview", - "name": "gemini-3-pro-preview", - "display_name": "gemini-3-pro-preview", + "id": "qwen3.5-flash", + "name": "Qwen3.5 Flash", + "display_name": "Qwen3.5 Flash", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" @@ -6047,7 +6260,7 @@ }, "limit": { "context": 1000000, - "output": 64000 + "output": 65536 }, "temperature": true, "tool_call": true, @@ -6058,67 +6271,76 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-06", - "release_date": "2025-11-19", - "last_updated": "2025-11-19", + "knowledge": "2025-04", + "release_date": "2026-02-23", + "last_updated": "2026-02-23", "cost": { - "input": 2, - "output": 12 + "input": 0.172, + "output": 1.72, + "reasoning": 1.72 }, "type": "chat" }, { - "id": "kimi-k2-0905-preview", - "name": "kimi-k2-0905-preview", - "display_name": "kimi-k2-0905-preview", + "id": "qwen3.6-flash", + "name": "Qwen3.6 Flash", + "display_name": "Qwen3.6 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2025-06", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", + "release_date": "2026-04-27", + "last_updated": "2026-04-27", "cost": { - "input": 0.632, - "output": 2.53 + "input": 0.1875, + "output": 1.125, + "cache_write": 0.234375 }, "type": "chat" }, { - "id": "doubao-seed-1-6-thinking-250715", - "name": "doubao-seed-1-6-thinking-250715", - "display_name": "doubao-seed-1-6-thinking-250715", + "id": "qwen2-5-vl-72b-instruct", + "name": "Qwen2.5-VL 72B Instruct", + "display_name": "Qwen2.5-VL 72B Instruct", "modalities": { "input": [ "text", @@ -6129,45 +6351,52 @@ ] }, "limit": { - "context": 256000, - "output": 16000 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2025-07-15", - "last_updated": "2025-07-15", + "attachment": false, + "open_weights": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", "cost": { - "input": 0.121, - "output": 1.21 + "input": 2.294, + "output": 6.881 }, "type": "chat" }, { - "id": "MiniMax-M2.7-highspeed", - "name": "MiniMax-M2.7-highspeed", - "display_name": "MiniMax-M2.7-highspeed", + "id": "qwen3-vl-plus", + "name": "Qwen3 VL Plus", + "display_name": "Qwen3 VL Plus", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 262144, + "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true + "supported": true, + "default": false, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, "extra_capabilities": { "reasoning": { @@ -6182,232 +6411,154 @@ }, "attachment": false, "open_weights": false, - "release_date": "2026-03-19", - "last_updated": "2026-03-19", + "knowledge": "2025-04", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", "cost": { - "input": 0.6, - "output": 4.8 + "input": 0.143353, + "output": 1.433525, + "reasoning": 4.300576 }, "type": "chat" }, { - "id": "claude-sonnet-4-5", - "name": "claude-sonnet-4-5", - "display_name": "claude-sonnet-4-5", + "id": "qwen-vl-ocr", + "name": "Qwen Vl Ocr", + "display_name": "Qwen Vl Ocr", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 34096, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", + "knowledge": "2024-04", + "release_date": "2024-10-28", + "last_updated": "2025-04-13", "cost": { - "input": 3, - "output": 15 + "input": 0.717, + "output": 0.717 }, "type": "chat" }, { - "id": "gpt-5.4-mini", - "name": "gpt-5.4-mini", - "display_name": "gpt-5.4-mini", + "id": "qwen-mt-turbo", + "name": "Qwen Mt Turbo", + "display_name": "Qwen Mt Turbo", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 16384, + "output": 8192 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-19", - "last_updated": "2026-03-19", + "knowledge": "2024-04", + "release_date": "2025-01", + "last_updated": "2025-01", "cost": { - "input": 0.75, - "output": 4.5 + "input": 0.101, + "output": 0.28 }, "type": "chat" }, { - "id": "claude-opus-4-6", - "name": "claude-opus-4-6", - "display_name": "claude-opus-4-6", + "id": "qwen-math-plus", + "name": "Qwen Math Plus", + "display_name": "Qwen Math Plus", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 4096, + "output": 3072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-06", - "last_updated": "2026-03-13", + "knowledge": "2024-04", + "release_date": "2024-08-16", + "last_updated": "2024-09-19", "cost": { - "input": 5, - "output": 25 + "input": 0.574, + "output": 1.721 }, "type": "chat" }, { - "id": "gpt-5.1-chat-latest", - "name": "gpt-5.1-chat-latest", - "display_name": "gpt-5.1-chat-latest", + "id": "qwen-mt-plus", + "name": "Qwen Mt Plus", + "display_name": "Qwen Mt Plus", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 16384, + "output": 8192 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-14", - "last_updated": "2025-11-14", + "knowledge": "2024-04", + "release_date": "2025-01", + "last_updated": "2025-01", "cost": { - "input": 1.25, - "output": 10 + "input": 0.259, + "output": 0.775 }, "type": "chat" }, { - "id": "claude-opus-4-6-thinking", - "name": "claude-opus-4-6-thinking", - "display_name": "claude-opus-4-6-thinking", + "id": "qwen3.5-plus", + "name": "Qwen3.5 Plus", + "display_name": "Qwen3.5 Plus", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" @@ -6415,7 +6566,7 @@ }, "limit": { "context": 1000000, - "output": 128000 + "output": 65536 }, "temperature": true, "tool_call": true, @@ -6426,46 +6577,68 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-05", - "release_date": "2026-02-06", - "last_updated": "2026-03-13", + "knowledge": "2025-04", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", "cost": { - "input": 5, - "output": 25 + "input": 0.573, + "output": 3.44, + "reasoning": 3.44 }, "type": "chat" }, { - "id": "glm-4.5-airx", - "name": "glm-4.5-airx", - "display_name": "glm-4.5-airx", + "id": "qwen-omni-turbo", + "name": "Qwen-Omni Turbo", + "display_name": "Qwen-Omni Turbo", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video" + ], + "output": [ + "text", + "audio" + ] + }, + "limit": { + "context": 32768, + "output": 2048 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-01-19", + "last_updated": "2025-03-26", + "cost": { + "input": 0.058, + "output": 0.23, + "input_audio": 3.584, + "output_audio": 7.168 + }, + "type": "chat" + }, + { + "id": "qwen2-5-72b-instruct", + "name": "Qwen2.5 72B Instruct", + "display_name": "Qwen2.5 72B Instruct", "modalities": { "input": [ "text" @@ -6475,8 +6648,8 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -6484,33 +6657,31 @@ "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-07-29", - "last_updated": "2025-07-29", + "open_weights": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", "cost": { - "input": 0.572, - "output": 1.714 + "input": 0.574, + "output": 1.721 }, "type": "chat" }, { - "id": "claude-sonnet-4-5-20250929-thinking", - "name": "claude-sonnet-4-5-20250929-thinking", - "display_name": "claude-sonnet-4-5-20250929-thinking", + "id": "deepseek-r1-distill-qwen-7b", + "name": "DeepSeek R1 Distill Qwen 7B", + "display_name": "DeepSeek R1 Distill Qwen 7B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 32768, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -6518,123 +6689,51 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 3, - "output": 15 + "input": 0.072, + "output": 0.144 }, "type": "chat" }, { - "id": "claude-opus-4-7", - "name": "claude-opus-4-7", - "display_name": "claude-opus-4-7", + "id": "deepseek-v3-1", + "name": "DeepSeek V3.1", + "display_name": "DeepSeek V3.1", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-17", - "last_updated": "2026-04-17", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "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 - } - } - ], - "context_over_200k": { - "input": 10, - "output": 37.5, - "cache_read": 1, - "cache_write": 12.5 - } + "input": 0.574, + "output": 1.721 }, "type": "chat" }, { - "id": "glm-4.5-air", - "name": "glm-4.5-air", - "display_name": "glm-4.5-air", + "id": "qwen2-5-coder-32b-instruct", + "name": "Qwen2.5-Coder 32B Instruct", + "display_name": "Qwen2.5-Coder 32B Instruct", "modalities": { "input": [ "text" @@ -6645,126 +6744,156 @@ }, "limit": { "context": 131072, - "output": 98304 + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-29", - "last_updated": "2025-07-29", + "knowledge": "2024-04", + "release_date": "2024-11", + "last_updated": "2024-11", "cost": { - "input": 0.1143, - "output": 0.286 + "input": 0.287, + "output": 0.861 }, "type": "chat" }, { - "id": "gemini-3-pro-image-preview", - "name": "gemini-3-pro-image-preview", - "display_name": "gemini-3-pro-image-preview", + "id": "qwen-flash", + "name": "Qwen Flash", + "display_name": "Qwen Flash", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 64000 + "context": 1000000, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" + }, + "attachment": false, "open_weights": false, - "knowledge": "2025-06", - "release_date": "2025-11-20", - "last_updated": "2025-11-20", + "knowledge": "2024-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 2, - "output": 120 + "input": 0.022, + "output": 0.216 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "gpt-5-thinking", - "name": "gpt-5-thinking", - "display_name": "gpt-5-thinking", + "id": "deepseek-v3-2-exp", + "name": "DeepSeek V3.2 Exp", + "display_name": "DeepSeek V3.2 Exp", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-08-08", - "last_updated": "2025-08-08", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 1.25, - "output": 10 + "input": 0.287, + "output": 0.431 }, "type": "chat" }, { - "id": "grok-4-1-fast-reasoning", - "name": "grok-4-1-fast-reasoning", - "display_name": "grok-4-1-fast-reasoning", + "id": "moonshot-kimi-k2-instruct", + "name": "Moonshot Kimi K2 Instruct", + "display_name": "Moonshot Kimi K2 Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 30000 + "context": 131072, + "output": 8192 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "cost": { + "input": 0.574, + "output": 2.294 + }, + "type": "chat" + }, + { + "id": "deepseek-r1-distill-qwen-14b", + "name": "DeepSeek R1 Distill Qwen 14B", + "display_name": "DeepSeek R1 Distill Qwen 14B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 32768, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -6772,26 +6901,20 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-06", - "release_date": "2025-11-20", - "last_updated": "2025-11-20", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0.2, - "output": 0.5 + "input": 0.144, + "output": 0.431 }, "type": "chat" }, { - "id": "grok-4.20-multi-agent-beta-0309", - "name": "grok-4.20-multi-agent-beta-0309", - "display_name": "grok-4.20-multi-agent-beta-0309", + "id": "qwen3-vl-235b-a22b", + "name": "Qwen3-VL 235B-A22B", + "display_name": "Qwen3-VL 235B-A22B", "modalities": { "input": [ "text", @@ -6802,8 +6925,8 @@ ] }, "limit": { - "context": 2000000, - "output": 30000 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -6813,35 +6936,76 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "cost": { + "input": 0.286705, + "output": 1.14682, + "reasoning": 2.867051 + }, + "type": "chat" + }, + { + "id": "qwen-deep-research", + "name": "Qwen Deep Research", + "display_name": "Qwen Deep Research", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, "open_weights": false, - "release_date": "2026-03-16", - "last_updated": "2026-03-16", + "knowledge": "2024-04", + "release_date": "2024-01", + "last_updated": "2024-01", "cost": { - "input": 2, - "output": 6 + "input": 7.742, + "output": 23.367 }, "type": "chat" }, { - "id": "gemini-2.5-flash-nothink", - "name": "gemini-2.5-flash-nothink", - "display_name": "gemini-2.5-flash-nothink", + "id": "kimi-k2.5", + "name": "Moonshot Kimi K2.5", + "display_name": "Moonshot Kimi K2.5", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 262144, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -6852,49 +7016,41 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, - "open_weights": false, + "attachment": false, + "open_weights": true, "knowledge": "2025-01", - "release_date": "2025-06-24", - "last_updated": "2025-06-24", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 0.3, - "output": 2.5 + "input": 0.574, + "output": 2.411 }, "type": "chat" }, { - "id": "glm-5.1", - "name": "glm-5.1", - "display_name": "glm-5.1", + "id": "qwen3-vl-30b-a3b", + "name": "Qwen3-VL 30B-A3B", + "display_name": "Qwen3-VL 30B-A3B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -6914,128 +7070,124 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2026-04-10", - "last_updated": "2026-04-10", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", "cost": { - "input": 0.86, - "output": 3.5 + "input": 0.108, + "output": 0.431, + "reasoning": 1.076 }, "type": "chat" }, { - "id": "MiniMax-M2.1", - "name": "MiniMax-M2.1", - "display_name": "MiniMax-M2.1", + "id": "qwen-vl-max", + "name": "Qwen-VL Max", + "display_name": "Qwen-VL Max", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 131072 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-12-19", - "last_updated": "2025-12-19", + "knowledge": "2024-04", + "release_date": "2024-04-08", + "last_updated": "2025-08-13", "cost": { - "input": 0.3, - "output": 1.2 + "input": 0.23, + "output": 0.574 }, "type": "chat" }, { - "id": "gpt-4.1-nano", - "name": "gpt-4.1-nano", - "display_name": "gpt-4.1-nano", + "id": "deepseek-r1-distill-qwen-1-5b", + "name": "DeepSeek R1 Distill Qwen 1.5B", + "display_name": "DeepSeek R1 Distill Qwen 1.5B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 32768, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0.1, - "output": 0.4 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gemini-3.1-flash-image-preview", - "name": "gemini-3.1-flash-image-preview", - "display_name": "gemini-3.1-flash-image-preview", + "id": "qwen-max", + "name": "Qwen Max", + "display_name": "Qwen Max", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 32768, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-02-27", - "last_updated": "2026-02-27", + "knowledge": "2024-04", + "release_date": "2024-04-03", + "last_updated": "2025-01-25", "cost": { - "input": 0.5, - "output": 60 + "input": 0.345, + "output": 1.377 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "qwen-plus", - "name": "Qwen-Plus", - "display_name": "Qwen-Plus", + "id": "MiniMax-M2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ "text" @@ -7045,13 +7197,14 @@ ] }, "limit": { - "context": 1000000, - "output": 32768 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -7065,66 +7218,69 @@ } }, "attachment": false, - "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "open_weights": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.12, + "input": 0.3, "output": 1.2 }, "type": "chat" }, { - "id": "grok-4.20-beta-0309-non-reasoning", - "name": "grok-4.20-beta-0309-non-reasoning", - "display_name": "grok-4.20-beta-0309-non-reasoning", + "id": "qwen3-235b-a22b", + "name": "Qwen3 235B A22B", + "display_name": "Qwen3 235B A22B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 30000 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": false, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-03-16", - "last_updated": "2026-03-16", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", "cost": { - "input": 2, - "output": 6 + "input": 0.287, + "output": 1.147, + "reasoning": 2.868 }, "type": "chat" - } - ] - }, - "nano-gpt": { - "id": "nano-gpt", - "name": "NanoGPT", - "display_name": "NanoGPT", - "api": "https://nano-gpt.com/api/v1", - "doc": "https://docs.nano-gpt.com", - "models": [ + }, { - "id": "learnlm-1.5-pro-experimental", - "name": "Gemini LearnLM Experimental", - "display_name": "Gemini LearnLM Experimental", + "id": "deepseek-r1-distill-llama-8b", + "name": "DeepSeek R1 Distill Llama 8B", + "display_name": "DeepSeek R1 Distill Llama 8B", "modalities": { "input": [ "text" @@ -7134,41 +7290,44 @@ ] }, "limit": { - "context": 32767, - "output": 8192 + "context": 32768, + "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2024-05-14", - "last_updated": "2024-05-14", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 3.502, - "output": 10.506 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "claude-sonnet-4-thinking:8192", - "name": "Claude 4 Sonnet Thinking (8K)", - "display_name": "Claude 4 Sonnet Thinking (8K)", + "id": "kimi-k2.6", + "name": "Moonshot Kimi K2.6", + "display_name": "Moonshot Kimi K2.6", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 262144, + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -7177,38 +7336,29 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, - "open_weights": false, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 2.992, - "output": 14.994 + "input": 0.929, + "output": 3.858 }, "type": "chat" }, { - "id": "mistral-code-latest", - "name": "Mistral Code Latest", - "display_name": "Mistral Code Latest", + "id": "qwen3-coder-480b-a35b-instruct", + "name": "Qwen3-Coder 480B-A35B Instruct", + "display_name": "Qwen3-Coder 480B-A35B Instruct", "modalities": { "input": [ "text" @@ -7218,27 +7368,29 @@ ] }, "limit": { - "context": 256000, - "output": 32768 + "context": 262144, + "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-06-02", - "last_updated": "2026-06-02", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", "cost": { - "input": 0.3, - "output": 0.9 + "input": 0.861, + "output": 3.441 }, "type": "chat" }, { - "id": "command-a-reasoning-08-2025", - "name": "Cohere Command A (08/2025)", - "display_name": "Cohere Command A (08/2025)", + "id": "qwq-plus", + "name": "QwQ Plus", + "display_name": "QwQ Plus", "modalities": { "input": [ "text" @@ -7248,27 +7400,84 @@ ] }, "limit": { - "context": 256000, + "context": 131072, "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true, + "budget": { + "default": 32768, + "min": 0, + "max": 32768 + } + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, "attachment": false, "open_weights": false, - "release_date": "2025-08-22", - "last_updated": "2025-08-22", + "knowledge": "2024-04", + "release_date": "2025-03-05", + "last_updated": "2025-03-05", "cost": { - "input": 2.5, - "output": 10 + "input": 0.23, + "output": 0.574 }, "type": "chat" }, { - "id": "Qwen3.5-27B-BlueStar-v3-Derestricted-Lite", - "name": "Qwen3.5 27B BlueStar v3 Derestricted Lite", - "display_name": "Qwen3.5 27B BlueStar v3 Derestricted Lite", + "id": "qwen2-5-32b-instruct", + "name": "Qwen2.5 32B Instruct", + "display_name": "Qwen2.5 32B Instruct", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", + "cost": { + "input": 0.287, + "output": 0.861 + }, + "type": "chat" + }, + { + "id": "qwen3.5-397b-a17b", + "name": "Qwen3.5 397B-A17B", + "display_name": "Qwen3.5 397B-A17B", "modalities": { "input": [ "text", @@ -7281,9 +7490,10 @@ }, "limit": { "context": 262144, - "output": 16384 + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -7299,51 +7509,54 @@ ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-04-30", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", "cost": { - "input": 0.306, - "output": 0.306 + "input": 0.43, + "output": 2.58, + "reasoning": 2.58 }, "type": "chat" }, { - "id": "deepclaude", - "name": "DeepClaude", - "display_name": "DeepClaude", + "id": "tongyi-intent-detect-v3", + "name": "Tongyi Intent Detect V3", + "display_name": "Tongyi Intent Detect V3", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 8192, + "output": 1024 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-02-01", - "last_updated": "2025-02-01", + "knowledge": "2024-04", + "release_date": "2024-01", + "last_updated": "2024-01", "cost": { - "input": 3, - "output": 15 + "input": 0.058, + "output": 0.144 }, "type": "chat" }, { - "id": "v0-1.5-lg", - "name": "v0 1.5 LG", - "display_name": "v0 1.5 LG", + "id": "qwen3-coder-flash", + "name": "Qwen3 Coder Flash", + "display_name": "Qwen3 Coder Flash", "modalities": { "input": [ "text" @@ -7354,26 +7567,28 @@ }, "limit": { "context": 1000000, - "output": 64000 + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-07-04", - "last_updated": "2025-07-04", + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 15, - "output": 75 + "input": 0.144, + "output": 0.574 }, "type": "chat" }, { - "id": "Meta-Llama-3-1-8B-Instruct-FP8", - "name": "Llama 3.1 8B (decentralized)", - "display_name": "Llama 3.1 8B (decentralized)", + "id": "deepseek-r1-distill-qwen-32b", + "name": "DeepSeek R1 Distill Qwen 32B", + "display_name": "DeepSeek R1 Distill Qwen 32B", "modalities": { "input": [ "text" @@ -7383,42 +7598,43 @@ ] }, "limit": { - "context": 128000, + "context": 32768, "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0.02, - "output": 0.03 + "input": 0.287, + "output": 0.861 }, "type": "chat" }, { - "id": "Qwen3.5-27B-Marvin-DPO-V2-Derestricted", - "name": "Qwen3.5 27B Marvin DPO V2 Derestricted", - "display_name": "Qwen3.5 27B Marvin DPO V2 Derestricted", + "id": "qwq-32b", + "name": "QwQ 32B", + "display_name": "QwQ 32B", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 131072, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -7434,160 +7650,148 @@ ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-04-30", + "attachment": false, + "open_weights": true, + "knowledge": "2024-04", + "release_date": "2024-12", + "last_updated": "2024-12", "cost": { - "input": 0.306, - "output": 0.306 + "input": 0.287, + "output": 0.861 }, "type": "chat" }, { - "id": "gemini-2.5-flash-lite-preview-06-17", - "name": "Gemini 2.5 Flash Lite Preview", - "display_name": "Gemini 2.5 Flash Lite Preview", + "id": "qwen3-14b", + "name": "Qwen3 14B", + "display_name": "Qwen3 14B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 131072, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true, + "budget": { + "default": 38912, + "min": 0, + "max": 38912 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "default": -1, - "min": 512, - "max": 24576, - "auto": -1, - "unit": "tokens" - }, + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2025-06-17", - "last_updated": "2025-06-17", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.144, + "output": 0.574, + "reasoning": 1.434 }, "type": "chat" }, { - "id": "glm-4.1v-thinking-flashx", - "name": "GLM 4.1V Thinking FlashX", - "display_name": "GLM 4.1V Thinking FlashX", + "id": "qwen3-asr-flash", + "name": "Qwen3-ASR Flash", + "display_name": "Qwen3-ASR Flash", "modalities": { "input": [ - "text", - "image" + "audio" ], "output": [ "text" ] }, "limit": { - "context": 64000, - "output": 8192 + "context": 53248, + "output": 4096 }, + "temperature": false, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", + "knowledge": "2024-04", + "release_date": "2025-09-08", + "last_updated": "2025-09-08", "cost": { - "input": 0.3, - "output": 0.3 + "input": 0.032, + "output": 0.032 }, "type": "chat" }, { - "id": "Qwen3.5-27B-Derestricted", - "name": "Qwen3.5 27B Derestricted", - "display_name": "Qwen3.5 27B Derestricted", + "id": "qwen-doc-turbo", + "name": "Qwen Doc Turbo", + "display_name": "Qwen Doc Turbo", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 131072, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "knowledge": "2024-04", + "release_date": "2024-01", + "last_updated": "2024-01", "cost": { - "input": 0.306, - "output": 0.306 + "input": 0.087, + "output": 0.144 }, "type": "chat" }, { - "id": "claude-haiku-4-5-20251001-thinking", - "name": "Claude Haiku 4.5 Thinking", - "display_name": "Claude Haiku 4.5 Thinking", + "id": "glm-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 202752, + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -7596,39 +7800,28 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1 + "input": 0.86, + "output": 3.15 }, "type": "chat" }, { - "id": "gemini-2.0-flash-thinking-exp-1219", - "name": "Gemini 2.0 Flash Thinking 1219", - "display_name": "Gemini 2.0 Flash Thinking 1219", + "id": "qwen-turbo", + "name": "Qwen Turbo", + "display_name": "Qwen Turbo", "modalities": { "input": [ "text" @@ -7638,27 +7831,53 @@ ] }, "limit": { - "context": 32767, - "output": 8192 + "context": 131072, + "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false, + "budget": { + "default": 38912, + "min": 0, + "max": 38912 + } + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, "attachment": false, "open_weights": false, - "release_date": "2024-12-19", - "last_updated": "2024-12-19", + "knowledge": "2024-04", + "release_date": "2024-11-01", + "last_updated": "2025-07-15", "cost": { - "input": 0.1003, - "output": 0.408 + "input": 0.044, + "output": 0.087, + "reasoning": 0.431 }, "type": "chat" }, { - "id": "v0-1.0-md", - "name": "v0 1.0 MD", - "display_name": "v0 1.0 MD", + "id": "qwen2-5-7b-instruct", + "name": "Qwen2.5 7B Instruct", + "display_name": "Qwen2.5 7B Instruct", "modalities": { "input": [ "text" @@ -7668,123 +7887,144 @@ ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 131072, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-07-04", - "last_updated": "2025-07-04", + "open_weights": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", "cost": { - "input": 3, - "output": 15 + "input": 0.072, + "output": 0.144 }, "type": "chat" }, { - "id": "qwen3-30b-a3b-instruct-2507", - "name": "Qwen3 30B A3B Instruct 2507", - "display_name": "Qwen3 30B A3B Instruct 2507", + "id": "qwen2-5-vl-7b-instruct", + "name": "Qwen2.5-VL 7B Instruct", + "display_name": "Qwen2.5-VL 7B Instruct", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 32768 + "context": 131072, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-02-20", - "last_updated": "2025-02-20", + "open_weights": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", "cost": { - "input": 0.2, - "output": 0.5 + "input": 0.287, + "output": 0.717 }, "type": "chat" }, { - "id": "gemma-4-31B-K1-v5", - "name": "Gemma 4 31B K1 v5", - "display_name": "Gemma 4 31B K1 v5", + "id": "qwen3.6-max-preview", + "name": "Qwen3.6 Max Preview", + "display_name": "Qwen3.6 Max Preview", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 245800, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": false, - "release_date": "2026-05-02", - "last_updated": "2026-05-02", + "release_date": "2026-04-20", + "last_updated": "2026-04-21", "cost": { - "input": 0.306, - "output": 0.306 + "input": 1.32, + "output": 7.9, + "cache_read": 0.132 }, "type": "chat" }, { - "id": "glm-4-plus", - "name": "GLM-4 Plus", - "display_name": "GLM-4 Plus", + "id": "qwen-vl-plus", + "name": "Qwen-VL Plus", + "display_name": "Qwen-VL Plus", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131072, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-08-01", - "last_updated": "2024-08-01", + "knowledge": "2024-04", + "release_date": "2024-01-25", + "last_updated": "2025-08-15", "cost": { - "input": 7.497, - "output": 7.497 + "input": 0.115, + "output": 0.287 }, "type": "chat" }, { - "id": "auto-model-basic", - "name": "Auto model (Basic)", - "display_name": "Auto model (Basic)", + "id": "qwen3.6-plus", + "name": "Qwen3.6 Plus", + "display_name": "Qwen3.6 Plus", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" @@ -7792,26 +8032,60 @@ }, "limit": { "context": 1000000, - "output": 1000000 + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": false, - "release_date": "2024-06-01", - "last_updated": "2024-06-01", + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 9.996, - "output": 19.992 + "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 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.2, + "cache_write": 2.5 + } }, "type": "chat" }, { - "id": "jamba-large", - "name": "Jamba Large", - "display_name": "Jamba Large", + "id": "MiniMax/MiniMax-M2.7", + "name": "MiniMax-M2.7", + "display_name": "MiniMax-M2.7", "modalities": { "input": [ "text" @@ -7821,27 +8095,42 @@ ] }, "limit": { - "context": 256000, - "output": 4096 + "context": 204800, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 1.989, - "output": 7.99 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "qwen3.5-122b-a10b", - "name": "Qwen3.5 122B A10B", - "display_name": "Qwen3.5 122B A10B", + "id": "kimi/kimi-k2.5", + "name": "kimi/kimi-k2.5", + "display_name": "kimi/kimi-k2.5", "modalities": { "input": [ "text", @@ -7853,12 +8142,14 @@ ] }, "limit": { - "context": 260096, - "output": 65536 + "context": 262144, + "output": 262144 }, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -7871,34 +8162,36 @@ ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-02-24", - "last_updated": "2026-02-24", + "attachment": false, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 0.36, - "output": 2.88 + "input": 0.6, + "output": 3, + "cache_read": 0.1 }, "type": "chat" }, { - "id": "gemini-2.5-flash-preview-04-17:thinking", - "name": "Gemini 2.5 Flash Preview Thinking", - "display_name": "Gemini 2.5 Flash Preview Thinking", + "id": "siliconflow/deepseek-r1-0528", + "name": "siliconflow/deepseek-r1-0528", + "display_name": "siliconflow/deepseek-r1-0528", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 163840, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -7906,68 +8199,60 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-04-17", - "last_updated": "2025-04-17", + "release_date": "2025-05-28", + "last_updated": "2025-11-25", "cost": { - "input": 0.15, - "output": 3.5 + "input": 0.5, + "output": 2.18 }, "type": "chat" }, { - "id": "doubao-1.5-vision-pro-32k", - "name": "Doubao 1.5 Vision Pro 32k", - "display_name": "Doubao 1.5 Vision Pro 32k", + "id": "siliconflow/deepseek-v3.1-terminus", + "name": "siliconflow/deepseek-v3.1-terminus", + "display_name": "siliconflow/deepseek-v3.1-terminus", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 32000, - "output": 8192 + "context": 163840, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-01-22", - "last_updated": "2025-01-22", + "release_date": "2025-09-29", + "last_updated": "2025-11-25", "cost": { - "input": 0.459, - "output": 1.377 + "input": 0.27, + "output": 1 }, "type": "chat" }, { - "id": "hunyuan-turbos-20250226", - "name": "Hunyuan Turbo S", - "display_name": "Hunyuan Turbo S", + "id": "siliconflow/deepseek-v3-0324", + "name": "siliconflow/deepseek-v3-0324", + "display_name": "siliconflow/deepseek-v3-0324", "modalities": { "input": [ "text" @@ -7977,41 +8262,41 @@ ] }, "limit": { - "context": 24000, - "output": 8192 + "context": 163840, + "output": 163840 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-02-27", - "last_updated": "2025-02-27", + "release_date": "2024-12-26", + "last_updated": "2025-11-25", "cost": { - "input": 0.187, - "output": 0.374 + "input": 0.25, + "output": 1 }, "type": "chat" }, { - "id": "gemini-2.5-flash-preview-09-2025-thinking", - "name": "Gemini 2.5 Flash Preview (09/2025) – Thinking", - "display_name": "Gemini 2.5 Flash Preview (09/2025) – Thinking", + "id": "siliconflow/deepseek-v3.2", + "name": "siliconflow/deepseek-v3.2", + "display_name": "siliconflow/deepseek-v3.2", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048756, + "context": 163840, "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -8019,38 +8304,23 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "release_date": "2025-12-03", + "last_updated": "2025-12-03", "cost": { - "input": 0.3, - "output": 2.5 + "input": 0.27, + "output": 0.42 }, "type": "chat" }, { - "id": "gemini-2.0-flash-exp-image-generation", - "name": "Gemini Text + Image", - "display_name": "Gemini Text + Image", + "id": "qwen3-coder-plus", + "name": "Qwen3 Coder Plus", + "display_name": "Qwen3 Coder Plus", "modalities": { "input": [ "text" @@ -8060,32 +8330,32 @@ ] }, "limit": { - "context": 32767, - "output": 8192 + "context": 1000000, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-02-19", - "last_updated": "2025-02-19", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", "cost": { - "input": 0.2, - "output": 0.8 + "input": 1, + "output": 5 }, "type": "chat" }, { - "id": "hermes-high", - "name": "Hermes High", - "display_name": "Hermes High", + "id": "qwen3-coder-plus-2025-09-23", + "name": "Qwen3 Coder Plus 2025 09 23", + "display_name": "Qwen3 Coder Plus 2025 09 23", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" @@ -8093,27 +8363,20 @@ }, "limit": { "context": 1000000, - "output": 128000 + "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "attachment": true, - "open_weights": false, - "release_date": "2026-05-11", - "last_updated": "2026-05-11", - "cost": { - "input": 4.998, - "output": 25.007 + "supported": false }, + "attachment": false, "type": "chat" }, { - "id": "step-r1-v-mini", - "name": "Step R1 V Mini", - "display_name": "Step R1 V Mini", + "id": "qwen3-coder-plus-2025-07-22", + "name": "Qwen3 Coder Plus 2025 07 22", + "display_name": "Qwen3 Coder Plus 2025 07 22", "modalities": { "input": [ "text" @@ -8123,27 +8386,21 @@ ] }, "limit": { - "context": 128000, + "context": 1000000, "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-04-08", - "last_updated": "2025-04-08", - "cost": { - "input": 2.5, - "output": 11 - }, "type": "chat" }, { - "id": "gemini-2.5-flash-preview-05-20", - "name": "Gemini 2.5 Flash 0520", - "display_name": "Gemini 2.5 Flash 0520", + "id": "qwen-vl-ocr-latest", + "name": "Qwen Vl Ocr Latest", + "display_name": "Qwen Vl Ocr Latest", "modalities": { "input": [ "text", @@ -8154,126 +8411,74 @@ ] }, "limit": { - "context": 1048000, - "output": 65536 - }, - "tool_call": false, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, - "open_weights": false, - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "cost": { - "input": 0.15, - "output": 0.6 - }, - "type": "chat" - }, - { - "id": "sonar", - "name": "Perplexity Simple", - "display_name": "Perplexity Simple", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 127000, - "output": 128000 + "context": 34096, + "output": 4096 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "cost": { - "input": 1.003, - "output": 1.003 - }, "type": "chat" }, { - "id": "yi-large", - "name": "Yi Large", - "display_name": "Yi Large", + "id": "qvq-max-2025-05-15", + "name": "Qvq Max 2025 05 15", + "display_name": "Qvq Max 2025 05 15", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32000, - "output": 4096 + "context": 131072, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": false, + "budget": { + "default": 16384, + "min": 0, + "max": 16384 + } }, "attachment": false, - "open_weights": false, - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "cost": { - "input": 3.196, - "output": 3.196 - }, "type": "chat" }, { - "id": "Qwen3.5-27B-Omega-Evolution-v2.0-Derestricted-Lite", - "name": "Qwen3.5 27B Omega Evolution v2.0 Derestricted Lite", - "display_name": "Qwen3.5 27B Omega Evolution v2.0 Derestricted Lite", + "id": "qwen-turbo-latest", + "name": "Qwen Turbo Latest", + "display_name": "Qwen Turbo Latest", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, + "context": 131072, "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false, + "budget": { + "default": 38912, + "min": 0, + "max": 38912 + } }, "extra_capabilities": { "reasoning": { @@ -8286,20 +8491,19 @@ ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-06", - "last_updated": "2026-04-06", - "cost": { - "input": 0.306, - "output": 0.306 + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, + "attachment": false, "type": "chat" }, { - "id": "doubao-seed-2-0-code-preview-260215", - "name": "Doubao Seed 2.0 Code Preview", - "display_name": "Doubao Seed 2.0 Code Preview", + "id": "qwen-turbo-2024-09-19", + "name": "Qwen Turbo 2024 09 19", + "display_name": "Qwen Turbo 2024 09 19", "modalities": { "input": [ "text" @@ -8309,62 +8513,24 @@ ] }, "limit": { - "context": 256000, - "output": 128000 + "context": 131072, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-02-14", - "last_updated": "2026-02-14", - "cost": { - "input": 0.782, - "output": 3.893 - }, "type": "chat" }, { - "id": "ernie-4.5-turbo-128k", - "name": "Ernie 4.5 Turbo 128k", - "display_name": "Ernie 4.5 Turbo 128k", + "id": "qwen-flash-2025-07-28", + "name": "Qwen Flash 2025 07 28", + "display_name": "Qwen Flash 2025 07 28", "modalities": { "input": [ - "text", - "image" - ], - "output": [ "text" - ] - }, - "limit": { - "context": 128000, - "output": 16384 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "release_date": "2025-05-08", - "last_updated": "2025-05-08", - "cost": { - "input": 0.132, - "output": 0.55 - }, - "type": "chat" - }, - { - "id": "gemini-2.0-flash-001", - "name": "Gemini 2.0 Flash", - "display_name": "Gemini 2.0 Flash", - "modalities": { - "input": [ - "text", - "image" ], "output": [ "text" @@ -8372,265 +8538,238 @@ }, "limit": { "context": 1000000, - "output": 8192 + "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, - "attachment": true, - "open_weights": false, - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "cost": { - "input": 0.1003, - "output": 0.408 + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, + "attachment": false, "type": "chat" }, { - "id": "Gemma-4-31B-it", - "name": "Gemma 4 31B IT", - "display_name": "Gemma 4 31B IT", + "id": "qwen-plus-latest", + "name": "Qwen Plus Latest", + "display_name": "Qwen Plus Latest", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 1000000, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-09", - "last_updated": "2026-04-09", - "cost": { - "input": 0.306, - "output": 0.306 + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, + "attachment": false, "type": "chat" }, { - "id": "gemini-2.0-pro-exp-02-05", - "name": "Gemini 2.0 Pro 0205", - "display_name": "Gemini 2.0 Pro 0205", + "id": "qwen-plus-2024-09-19", + "name": "Qwen Plus 2024 09 19", + "display_name": "Qwen Plus 2024 09 19", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 2097152, + "context": 131072, "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2025-02-05", - "last_updated": "2025-02-05", - "cost": { - "input": 1.989, - "output": 7.956 - }, + "attachment": false, "type": "chat" }, { - "id": "claw-high", - "name": "Claw High", - "display_name": "Claw High", + "id": "qwen-plus-2025-07-14", + "name": "Qwen Plus 2025 07 14", + "display_name": "Qwen Plus 2025 07 14", "modalities": { "input": [ - "text", - "image", - "pdf" - ], - "output": [ "text" - ] - }, - "limit": { - "context": 1000000, - "output": 128000 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": true, - "open_weights": false, - "release_date": "2026-05-11", - "last_updated": "2026-05-11", - "cost": { - "input": 4.998, - "output": 25.007 - }, - "type": "chat" - }, - { - "id": "claude-opus-4-1-thinking:32000", - "name": "Claude 4.1 Opus Thinking (32K)", - "display_name": "Claude 4.1 Opus Thinking (32K)", - "modalities": { - "input": [ - "text", - "image", - "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 131072, + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false, + "budget": { + "default": 38912, + "min": 0, + "max": 38912 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "cost": { - "input": 14.994, - "output": 75.004 + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, + "attachment": false, "type": "chat" }, { - "id": "claude-opus-4-thinking:32768", - "name": "Claude 4 Opus Thinking (32K)", - "display_name": "Claude 4 Opus Thinking (32K)", + "id": "qwen-plus-2025-09-11", + "name": "Qwen Plus 2025 09 11", + "display_name": "Qwen Plus 2025 09 11", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 1000000, + "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "cost": { - "input": 14.994, - "output": 75.004 + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, + "attachment": false, "type": "chat" }, { - "id": "Gemma-4-31B-Claude-4.6-Opus-Reasoning-Distilled", - "name": "Gemma 4 31B Claude 4.6 Opus Reasoning Distilled", - "display_name": "Gemma 4 31B Claude 4.6 Opus Reasoning Distilled", + "id": "qwen-max-latest", + "name": "Qwen Max Latest", + "display_name": "Qwen Max Latest", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 131072, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-05-01", - "last_updated": "2026-05-01", - "cost": { - "input": 0.306, - "output": 0.306, - "cache_read": 0.0306 + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, + "attachment": false, "type": "chat" }, { - "id": "exa-research", - "name": "Exa (Research)", - "display_name": "Exa (Research)", + "id": "qwen-max-2024-09-19", + "name": "Qwen Max 2024 09 19", + "display_name": "Qwen Max 2024 09 19", "modalities": { "input": [ "text" @@ -8640,32 +8779,108 @@ ] }, "limit": { - "context": 8192, + "context": 32768, "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2025-06-04", - "last_updated": "2025-06-04", - "cost": { - "input": 2.5, - "output": 2.5 + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, + "attachment": false, "type": "chat" }, { - "id": "Qwen3.5-27B-Omega-Evolution-v2.2-Derestricted-Lite", - "name": "Qwen3.5 27B Omega Evolution v2.2 Derestricted Lite", - "display_name": "Qwen3.5 27B Omega Evolution v2.2 Derestricted Lite", + "id": "qwen-max-2024-04-28", + "name": "Qwen Max 2024 04 28", + "display_name": "Qwen Max 2024 04 28", "modalities": { "input": [ - "text", - "image", - "video" + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 8000, + "output": 2000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "type": "chat" + }, + { + "id": "qwen-max-2024-04-03", + "name": "Qwen Max 2024 04 03", + "display_name": "Qwen Max 2024 04 03", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 8000, + "output": 2000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "type": "chat" + }, + { + "id": "qwen-max-2025-01-25", + "name": "Qwen Max 2025 01 25", + "display_name": "Qwen Max 2025 01 25", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" + }, + "attachment": false, + "type": "chat" + }, + { + "id": "qwen3-max-2025-09-23", + "name": "Qwen3 Max 20250923", + "display_name": "Qwen3 Max 20250923", + "modalities": { + "input": [ + "text" ], "output": [ "text" @@ -8673,12 +8888,42 @@ }, "limit": { "context": 262144, - "output": 16384 + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { + "supported": false + }, + "search": { "supported": true, - "default": true + "default": false, + "forced_search": false, + "search_strategy": "turbo" + }, + "attachment": false, + "type": "chat" + }, + { + "id": "qwen3-max-preview", + "name": "Qwen3 Max Preview", + "display_name": "Qwen3 Max Preview", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true }, "extra_capabilities": { "reasoning": { @@ -8691,38 +8936,41 @@ ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-05-02", - "last_updated": "2026-05-02", - "cost": { - "input": 0.306, - "output": 0.306 + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, + "attachment": false, "type": "chat" }, { - "id": "Qwen3.5-27B-Vivid-Durian", - "name": "Qwen3.5 27B Vivid Durian", - "display_name": "Qwen3.5 27B Vivid Durian", + "id": "qwen3-235b-a22b-thinking-2507", + "name": "Qwen3 235B A22B Thinking 2507", + "display_name": "Qwen3 235B A22B Thinking 2507", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 131072, + "output": 32768 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": true, - "default": true + "default": true, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, "extra_capabilities": { "reasoning": { @@ -8735,20 +8983,13 @@ ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "cost": { - "input": 0.306, - "output": 0.306 - }, + "attachment": false, "type": "chat" }, { - "id": "deepseek-v3-0324", - "name": "DeepSeek Chat 0324", - "display_name": "DeepSeek Chat 0324", + "id": "qwen3-235b-a22b-instruct-2507", + "name": "Qwen3 235B A22B Instruct 2507", + "display_name": "Qwen3 235B A22B Instruct 2507", "modalities": { "input": [ "text" @@ -8758,58 +8999,45 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 131072, + "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-03-24", - "last_updated": "2025-03-24", - "cost": { - "input": 0.25, - "output": 0.7 - }, "type": "chat" }, { - "id": "azure-gpt-4o", - "name": "Azure gpt-4o", - "display_name": "Azure gpt-4o", + "id": "qwen3-30b-a3b-instruct-2507", + "name": "Qwen3 30B A3B Instruct 2507", + "display_name": "Qwen3 30B A3B Instruct 2507", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "cost": { - "input": 2.499, - "output": 9.996 - }, + "attachment": false, "type": "chat" }, { - "id": "ernie-x1-32k-preview", - "name": "Ernie X1 32k", - "display_name": "Ernie X1 32k", + "id": "qwen3-30b-a3b-thinking-2507", + "name": "Qwen3 30B A3B Thinking 2507", + "display_name": "Qwen3 30B A3B Thinking 2507", "modalities": { "input": [ "text" @@ -8819,27 +9047,38 @@ ] }, "limit": { - "context": 32000, - "output": 16384 + "context": 131072, + "output": 32768 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, - "attachment": false, - "open_weights": false, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "cost": { - "input": 0.33, - "output": 1.32 + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, + "attachment": false, "type": "chat" }, { - "id": "qwen3-coder-30b-a3b-instruct", - "name": "Qwen3 Coder 30B A3B Instruct", - "display_name": "Qwen3 Coder 30B A3B Instruct", + "id": "qwen3-30b-a3b", + "name": "Qwen3 30B A3B", + "display_name": "Qwen3 30B A3B", "modalities": { "input": [ "text" @@ -8849,27 +9088,38 @@ ] }, "limit": { - "context": 128000, - "output": 65536 + "context": 131072, + "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, - "attachment": false, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "cost": { - "input": 0.1, - "output": 0.4 + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, + "attachment": false, "type": "chat" }, { - "id": "doubao-seed-2-0-lite-260215", - "name": "Doubao Seed 2.0 Lite", - "display_name": "Doubao Seed 2.0 Lite", + "id": "qwen3-4b", + "name": "Qwen3 4B", + "display_name": "Qwen3 4B", "modalities": { "input": [ "text" @@ -8879,233 +9129,246 @@ ] }, "limit": { - "context": 256000, - "output": 32000 + "context": 131072, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true, + "budget": { + "default": 38912, + "min": 0, + "max": 38912 + } }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": false, - "release_date": "2026-02-14", - "last_updated": "2026-02-14", - "cost": { - "input": 0.1462, - "output": 0.8738 - }, "type": "chat" }, { - "id": "gemini-2.5-pro-preview-06-05", - "name": "Gemini 2.5 Pro Preview 0605", - "display_name": "Gemini 2.5 Pro Preview 0605", + "id": "qwen3-1.7b", + "name": "Qwen3 1.7B", + "display_name": "Qwen3 1.7B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 32768, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": true, + "budget": { + "default": 30720, + "min": 0, + "max": 30720 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2025-06-05", - "last_updated": "2025-06-05", - "cost": { - "input": 2.5, - "output": 10 - }, + "attachment": false, "type": "chat" }, { - "id": "claude-haiku-4-5-20251001", - "name": "Claude Haiku 4.5", - "display_name": "Claude Haiku 4.5", + "id": "qwen3-0.6b", + "name": "Qwen3 0.6B", + "display_name": "Qwen3 0.6B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 32768, + "output": 8192 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true, + "budget": { + "default": 30720, + "min": 0, + "max": 30720 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "cost": { - "input": 1, - "output": 5 - }, + "attachment": false, "type": "chat" }, { - "id": "MiniMax-M1", - "name": "MiniMax M1", - "display_name": "MiniMax M1", + "id": "qwen3-vl-plus-2025-09-23", + "name": "Qwen3 VL Plus 2025 09 23", + "display_name": "Qwen3 VL Plus 2025 09 23", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 131072 + "context": 262144, + "output": 32768 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": false, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, - "attachment": false, - "open_weights": false, - "release_date": "2025-06-16", - "last_updated": "2025-06-16", - "cost": { - "input": 0.1394, - "output": 1.3328 + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, + "attachment": false, "type": "chat" }, { - "id": "command-a-plus-05-2026", - "name": "Cohere Command A+ (05/2026)", - "display_name": "Cohere Command A+ (05/2026)", + "id": "qwq-plus-latest", + "name": "QwQ Plus Latest", + "display_name": "QwQ Plus Latest", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 64000 + "context": 131072, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": true, - "default": true + "default": true, + "budget": { + "default": 32768, + "min": 0, + "max": 32768 + } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-05-22", - "last_updated": "2026-05-22", - "cost": { - "input": 2.5, - "output": 10 + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, + "search": { + "supported": false + }, + "attachment": false, "type": "chat" - }, + } + ] + }, + "regolo-ai": { + "id": "regolo-ai", + "name": "Regolo AI", + "display_name": "Regolo AI", + "api": "https://api.regolo.ai/v1", + "doc": "https://docs.regolo.ai/", + "models": [ { - "id": "qwen3.7-plus:thinking", - "name": "Qwen3.7 Plus Thinking", - "display_name": "Qwen3.7 Plus Thinking", + "id": "llama-3.1-8b-instruct", + "name": "Llama 3.1 8B Instruct", + "display_name": "Llama 3.1 8B Instruct", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 983616, - "output": 65536 + "context": 120000, + "output": 120000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-06-01", - "last_updated": "2026-06-01", + "release_date": "2025-04-07", + "last_updated": "2025-04-07", "cost": { - "input": 0.4, - "output": 1.6, - "cache_read": 0.04 + "input": 0.05, + "output": 0.25 }, "type": "chat" }, { - "id": "Baichuan-M2", - "name": "Baichuan M2 32B Medical", - "display_name": "Baichuan M2 32B Medical", + "id": "minimax-m2.5", + "name": "MiniMax 2.5", + "display_name": "MiniMax 2.5", "modalities": { "input": [ "text" @@ -9115,102 +9378,97 @@ ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 190000, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": false, - "release_date": "2025-08-19", - "last_updated": "2025-08-19", + "release_date": "2026-03-10", + "last_updated": "2026-03-10", "cost": { - "input": 15.73, - "output": 15.73 + "input": 0.8, + "output": 3.5 }, "type": "chat" }, { - "id": "Qwen3.5-27B-Infracelestial", - "name": "Qwen3.5 27B Infracelestial", - "display_name": "Qwen3.5 27B Infracelestial", + "id": "mistral-small3.2", + "name": "Mistral Small 3.2", + "display_name": "Mistral Small 3.2", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 120000, + "output": 120000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-04-30", + "release_date": "2025-01-31", + "last_updated": "2025-01-31", "cost": { - "input": 0.306, - "output": 0.306 + "input": 0.5, + "output": 2.2 }, "type": "chat" }, { - "id": "asi1-mini", - "name": "ASI1 Mini", - "display_name": "ASI1 Mini", + "id": "qwen3-reranker-4b", + "name": "Qwen3-Reranker-4B", + "display_name": "Qwen3-Reranker-4B", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 32768, + "output": 8192 }, + "temperature": false, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2025-03-25", - "last_updated": "2025-03-25", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-01", + "last_updated": "2026-02-01", "cost": { - "input": 1, - "output": 1 + "input": 0.12, + "output": 0.12 }, - "type": "chat" + "type": "rerank" }, { - "id": "venice-uncensored", - "name": "Venice Uncensored", - "display_name": "Venice Uncensored", + "id": "qwen3-embedding-8b", + "name": "Qwen3-Embedding-8B", + "display_name": "Qwen3-Embedding-8B", "modalities": { "input": [ "text" @@ -9220,106 +9478,94 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 32768, + "output": 8192 }, + "temperature": false, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-02-24", - "last_updated": "2025-02-24", + "open_weights": true, + "release_date": "2026-02-01", + "last_updated": "2026-02-01", "cost": { - "input": 0.4, - "output": 0.4 + "input": 0.1, + "output": 0.1 }, - "type": "chat" + "type": "embedding" }, { - "id": "Qwen3.5-27B-NaNovel-Derestricted-Lite", - "name": "Qwen3.5 27B NaNovel Derestricted Lite", - "display_name": "Qwen3.5 27B NaNovel Derestricted Lite", + "id": "llama-3.3-70b-instruct", + "name": "Llama 3.3 70B Instruct", + "display_name": "Llama 3.3 70B Instruct", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, + "context": 128000, "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-04-30", + "release_date": "2025-04-28", + "last_updated": "2025-04-28", "cost": { - "input": 0.306, - "output": 0.306 + "input": 0.6, + "output": 2.7 }, "type": "chat" }, { - "id": "glm-4-air", - "name": "GLM-4 Air", - "display_name": "GLM-4 Air", + "id": "qwen-image", + "name": "Qwen-Image", + "display_name": "Qwen-Image", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 128000, + "context": 8192, "output": 4096 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-06-05", - "last_updated": "2024-06-05", + "release_date": "2026-03-01", + "last_updated": "2026-03-01", "cost": { - "input": 0.2006, - "output": 0.2006 + "input": 0.5, + "output": 2 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "Qwen3.5-27B-Writer-V2-Derestricted-Lite", - "name": "Qwen3.5 27B Writer V2 Derestricted Lite", - "display_name": "Qwen3.5 27B Writer V2 Derestricted Lite", + "id": "qwen3.5-122b", + "name": "Qwen3.5-122B", + "display_name": "Qwen3.5-122B", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" @@ -9329,7 +9575,8 @@ "context": 262144, "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -9346,71 +9593,56 @@ } }, "attachment": true, - "open_weights": false, - "release_date": "2026-04-06", - "last_updated": "2026-04-06", + "open_weights": true, + "release_date": "2026-02-01", + "last_updated": "2026-02-01", "cost": { - "input": 0.306, - "output": 0.306 + "input": 0.9, + "output": 3.6 }, "type": "chat" }, { - "id": "gemini-2.5-flash-lite-preview-09-2025-thinking", - "name": "Gemini 2.5 Flash Lite Preview (09/2025) – Thinking", - "display_name": "Gemini 2.5 Flash Lite Preview (09/2025) – Thinking", + "id": "gpt-oss-120b", + "name": "GPT-OSS-120B", + "display_name": "GPT-OSS-120B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 128000, + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "default": -1, - "min": 512, - "max": 24576, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.1, - "output": 0.4 + "input": 1, + "output": 4.2 }, "type": "chat" }, { - "id": "venice-uncensored:web", - "name": "Venice Uncensored Web", - "display_name": "Venice Uncensored Web", + "id": "qwen3-coder-next", + "name": "Qwen3-Coder-Next", + "display_name": "Qwen3-Coder-Next", "modalities": { "input": [ "text" @@ -9420,126 +9652,155 @@ ] }, "limit": { - "context": 80000, + "context": 262144, "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2024-05-01", - "last_updated": "2024-05-01", + "open_weights": true, + "release_date": "2026-03-01", + "last_updated": "2026-03-01", "cost": { - "input": 0.4, - "output": 0.4 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "deepseek-r1-sambanova", - "name": "DeepSeek R1 Fast", - "display_name": "DeepSeek R1 Fast", + "id": "qwen3.5-9b", + "name": "Qwen3.5-9B", + "display_name": "Qwen3.5-9B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 262144, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2025-02-20", - "last_updated": "2025-02-20", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-02-01", + "last_updated": "2026-02-01", "cost": { - "input": 4.998, - "output": 6.987 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "Gemma-4-31B-GarnetV2", - "name": "Gemma 4 31B Garnet V2", - "display_name": "Gemma 4 31B Garnet V2", + "id": "mistral-small-4-119b", + "name": "Mistral Small 4 119B", + "display_name": "Mistral Small 4 119B", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, + "context": 256000, "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": true, "open_weights": false, - "release_date": "2026-05-01", - "last_updated": "2026-05-01", + "release_date": "2026-03-15", + "last_updated": "2026-03-15", "cost": { - "input": 0.306, - "output": 0.306 + "input": 0.75, + "output": 3 }, "type": "chat" }, { - "id": "holo3-35b-a3b:thinking", - "name": "Holo3-35B-A3B Thinking", - "display_name": "Holo3-35B-A3B Thinking", + "id": "gpt-oss-20b", + "name": "GPT-OSS-20B", + "display_name": "GPT-OSS-20B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 65536, - "output": 65536 + "context": 128000, + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-03-01", + "last_updated": "2026-03-01", "cost": { - "input": 0.25, + "input": 0.4, "output": 1.8 }, "type": "chat" - }, + } + ] + }, + "stackit": { + "id": "stackit", + "name": "STACKIT", + "display_name": "STACKIT", + "api": "https://api.openai-compat.model-serving.eu01.onstackit.cloud/v1", + "doc": "https://docs.stackit.cloud/products/data-and-ai/ai-model-serving/basics/available-shared-models", + "models": [ { - "id": "kimi-thinking-preview", - "name": "Kimi Thinking Preview", - "display_name": "Kimi Thinking Preview", + "id": "neuralmagic/Meta-Llama-3.1-8B-Instruct-FP8", + "name": "Llama 3.1 8B", + "display_name": "Llama 3.1 8B", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ "text" @@ -9547,26 +9808,27 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2025-05-07", - "last_updated": "2025-05-07", + "attachment": false, + "open_weights": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 31.46, - "output": 31.46 + "input": 0.16, + "output": 0.27 }, "type": "chat" }, { - "id": "Baichuan4-Turbo", - "name": "Baichuan 4 Turbo", - "display_name": "Baichuan 4 Turbo", + "id": "neuralmagic/Mistral-Nemo-Instruct-2407-FP8", + "name": "Mistral Nemo", + "display_name": "Mistral Nemo", "modalities": { "input": [ "text" @@ -9577,26 +9839,27 @@ }, "limit": { "context": 128000, - "output": 32768 + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-19", - "last_updated": "2025-08-19", + "open_weights": true, + "release_date": "2024-07-01", + "last_updated": "2024-07-01", "cost": { - "input": 2.42, - "output": 2.42 + "input": 0.49, + "output": 0.71 }, "type": "chat" }, { - "id": "glm-4-long", - "name": "GLM-4 Long", - "display_name": "GLM-4 Long", + "id": "cortecs/Llama-3.3-70B-Instruct-FP8-Dynamic", + "name": "Llama 3.3 70B", + "display_name": "Llama 3.3 70B", "modalities": { "input": [ "text" @@ -9606,145 +9869,124 @@ ] }, "limit": { - "context": 1000000, - "output": 4096 + "context": 128000, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2024-08-01", - "last_updated": "2024-08-01", + "open_weights": true, + "release_date": "2024-12-05", + "last_updated": "2024-12-05", "cost": { - "input": 0.2006, - "output": 0.2006 + "input": 0.49, + "output": 0.71 }, "type": "chat" }, { - "id": "brave", - "name": "Brave (Answers)", - "display_name": "Brave (Answers)", + "id": "google/gemma-3-27b-it", + "name": "Gemma 3 27B", + "display_name": "Gemma 3 27B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8192, + "context": 37000, "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2023-03-02", - "last_updated": "2024-01-01", + "attachment": true, + "open_weights": true, + "release_date": "2025-05-17", + "last_updated": "2025-05-17", "cost": { - "input": 5, - "output": 5 + "input": 0.49, + "output": 0.71 }, "type": "chat" }, { - "id": "Qwen3.5-27B-Musica-v1", - "name": "Qwen3.5 27B Musica v1", - "display_name": "Qwen3.5 27B Musica v1", + "id": "Qwen/Qwen3-VL-Embedding-8B", + "name": "Qwen3-VL Embedding 8B", + "display_name": "Qwen3-VL Embedding 8B", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 32000, + "output": 4096 }, + "temperature": false, "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": true, - "open_weights": false, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "open_weights": true, + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 0.306, - "output": 0.306 - }, + "input": 0.09, + "output": 0.09 + }, "type": "chat" }, { - "id": "Qwen3.5-27B-Writer-V2-Derestricted", - "name": "Qwen3.5 27B Writer V2 Derestricted", - "display_name": "Qwen3.5 27B Writer V2 Derestricted", + "id": "Qwen/Qwen3-VL-235B-A22B-Instruct-FP8", + "name": "Qwen3-VL 235B", + "display_name": "Qwen3-VL 235B", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 218000, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": true, - "open_weights": false, - "release_date": "2026-04-06", - "last_updated": "2026-04-06", + "open_weights": true, + "release_date": "2024-11-01", + "last_updated": "2024-11-01", "cost": { - "input": 0.306, - "output": 0.306 + "input": 1.64, + "output": 1.91 }, "type": "chat" }, { - "id": "sonar-pro", - "name": "Perplexity Pro", - "display_name": "Perplexity Pro", + "id": "openai/gpt-oss-120b", + "name": "GPT-OSS 120B", + "display_name": "GPT-OSS 120B", "modalities": { "input": [ "text" @@ -9754,27 +9996,34 @@ ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 131000, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-02-19", - "last_updated": "2025-02-19", + "open_weights": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 2.992, - "output": 14.994 + "input": 0.49, + "output": 0.71 }, "type": "chat" }, { - "id": "glm-4", - "name": "GLM-4", - "display_name": "GLM-4", + "id": "intfloat/e5-mistral-7b-instruct", + "name": "E5 Mistral 7B", + "display_name": "E5 Mistral 7B", "modalities": { "input": [ "text" @@ -9784,87 +10033,106 @@ ] }, "limit": { - "context": 128000, + "context": 4096, "output": 4096 }, + "temperature": false, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2024-01-16", - "last_updated": "2024-01-16", + "open_weights": true, + "release_date": "2023-12-11", + "last_updated": "2023-12-11", "cost": { - "input": 14.994, - "output": 14.994 + "input": 0.02, + "output": 0.02 }, "type": "chat" - }, + } + ] + }, + "vercel": { + "id": "vercel", + "name": "Vercel AI Gateway", + "display_name": "Vercel AI Gateway", + "doc": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", + "models": [ { - "id": "doubao-seed-1-8-251215", - "name": "Doubao Seed 1.8", - "display_name": "Doubao Seed 1.8", + "id": "xai/grok-4.1-fast-reasoning", + "name": "Grok 4.1 Fast Reasoning", + "display_name": "Grok 4.1 Fast Reasoning", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 1000000, + "output": 1000000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2025-12-15", - "last_updated": "2025-12-15", + "knowledge": "2024-10", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", "cost": { - "input": 0.612, - "output": 6.12 + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "Qwen2.5-32B-EVA-v0.2", - "name": "Qwen 2.5 32b EVA", - "display_name": "Qwen 2.5 32b EVA", + "id": "xai/grok-4.20-non-reasoning-beta", + "name": "Grok 4.20 Beta Non-Reasoning", + "display_name": "Grok 4.20 Beta Non-Reasoning", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 24576, - "output": 8192 + "context": 2000000, + "output": 2000000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-09-01", - "last_updated": "2024-09-01", + "release_date": "2026-03-11", + "last_updated": "2026-03-13", "cost": { - "input": 0.493, - "output": 0.493 + "input": 1.25, + "output": 2.5, + "cache_read": 0.4 }, "type": "chat" }, { - "id": "claw-low", - "name": "Claw Low", - "display_name": "Claw Low", + "id": "xai/grok-4.3", + "name": "Grok 4.3", + "display_name": "Grok 4.3", "modalities": { "input": [ "text", @@ -9876,29 +10144,35 @@ ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 1000000, + "output": 1000000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": true, "open_weights": false, - "release_date": "2026-05-11", - "last_updated": "2026-05-11", + "release_date": "2026-04-30", + "last_updated": "2026-04-17", "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.025 + "input": 1.25, + "output": 2.5, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "claude-opus-4-20250514", - "name": "Claude 4 Opus", - "display_name": "Claude 4 Opus", + "id": "xai/grok-4.1-fast-non-reasoning", + "name": "Grok 4.1 Fast Non-Reasoning", + "display_name": "Grok 4.1 Fast Non-Reasoning", "modalities": { "input": [ "text", @@ -9910,345 +10184,325 @@ ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 1000000, + "output": 1000000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-05-14", - "last_updated": "2025-05-14", + "knowledge": "2024-10", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", "cost": { - "input": 14.994, - "output": 75.004 + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "Qwen3.5-27B-NaNovel-Derestricted", - "name": "Qwen3.5 27B NaNovel Derestricted", - "display_name": "Qwen3.5 27B NaNovel Derestricted", + "id": "xai/grok-imagine-video", + "name": "Grok Imagine", + "display_name": "Grok Imagine", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-04-30", - "cost": { - "input": 0.306, - "output": 0.306 - }, + "release_date": "2026-01-28", + "last_updated": "2026-01-28", "type": "chat" }, { - "id": "Magistral-Small-2506", - "name": "Magistral Small 2506", - "display_name": "Magistral Small 2506", + "id": "xai/grok-4.20-multi-agent-beta", + "name": "Grok 4.20 Multi Agent Beta", + "display_name": "Grok 4.20 Multi Agent Beta", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 2000000, + "output": 2000000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "release_date": "2026-03-11", + "last_updated": "2026-03-13", "cost": { - "input": 0.4, - "output": 1.4 + "input": 1.25, + "output": 2.5, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "Qwen3.5-27B-Queen-Derestricted-Lite", - "name": "Qwen3.5 27B Queen Derestricted Lite", - "display_name": "Qwen3.5 27B Queen Derestricted Lite", + "id": "xai/grok-4.20-reasoning", + "name": "Grok 4.20 Reasoning", + "display_name": "Grok 4.20 Reasoning", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 2000000, + "output": 2000000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": true, "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-04-30", + "release_date": "2026-03-09", + "last_updated": "2026-03-23", "cost": { - "input": 0.306, - "output": 0.306 + "input": 1.25, + "output": 2.5, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "deepseek-reasoner", - "name": "DeepSeek Reasoner", - "display_name": "DeepSeek Reasoner", + "id": "xai/grok-4.20-reasoning-beta", + "name": "Grok 4.20 Beta Reasoning", + "display_name": "Grok 4.20 Beta Reasoning", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 64000, - "output": 65536 + "context": 2000000, + "output": 2000000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", + "release_date": "2026-03-11", + "last_updated": "2026-03-13", "cost": { - "input": 0.4, - "output": 1.7 + "input": 1.25, + "output": 2.5, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "exa-answer", - "name": "Exa (Answer)", - "display_name": "Exa (Answer)", + "id": "xai/grok-imagine-video-1.5-preview", + "name": "Grok Imagine Video 1.5 Preview", + "display_name": "Grok Imagine Video 1.5 Preview", "modalities": { "input": [ "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 4096, - "output": 4096 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-06-04", - "last_updated": "2025-06-04", - "cost": { - "input": 2.5, - "output": 2.5 - }, + "release_date": "2026-05-30", + "last_updated": "2026-05-30", "type": "chat" }, { - "id": "doubao-1.5-pro-256k", - "name": "Doubao 1.5 Pro 256k", - "display_name": "Doubao 1.5 Pro 256k", + "id": "xai/grok-4.20-non-reasoning", + "name": "Grok 4.20 Non-Reasoning", + "display_name": "Grok 4.20 Non-Reasoning", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 16384 + "context": 2000000, + "output": 2000000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-03-12", - "last_updated": "2025-03-12", + "release_date": "2026-03-09", + "last_updated": "2026-03-23", "cost": { - "input": 0.799, - "output": 1.445 + "input": 1.25, + "output": 2.5, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "gemma-4-31B-Larkspur-v0.5", - "name": "Gemma 4 31B Larkspur v0.5", - "display_name": "Gemma 4 31B Larkspur v0.5", + "id": "xai/grok-4.20-multi-agent", + "name": "Grok 4.20 Multi-Agent", + "display_name": "Grok 4.20 Multi-Agent", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 2000000, + "output": 2000000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-05-02", - "last_updated": "2026-05-02", + "release_date": "2026-03-09", + "last_updated": "2026-03-23", "cost": { - "input": 0.306, - "output": 0.306 + "input": 1.25, + "output": 2.5, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "qwen3.5-flash:thinking", - "name": "Qwen3.5 Flash Thinking", - "display_name": "Qwen3.5 Flash Thinking", + "id": "xai/grok-imagine-image", + "name": "Grok Imagine Image", + "display_name": "Grok Imagine Image", "modalities": { "input": [ + "text" + ], + "output": [ "text", - "image", - "video" + "image" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2026-01-28", + "last_updated": "2026-02-19", + "type": "chat" + }, + { + "id": "xai/grok-build-0.1", + "name": "Grok Build 0.1", + "display_name": "Grok Build 0.1", + "modalities": { + "input": [ + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 991808, - "output": 65536 + "context": 256000, + "output": 256000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": true, "open_weights": false, - "release_date": "2026-02-24", - "last_updated": "2026-02-24", + "release_date": "2026-05-20", + "last_updated": "2026-04-16", "cost": { - "input": 0.09, - "output": 0.36 + "input": 1, + "output": 2, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "KAT-Coder-Exp-72B-1010", - "name": "KAT Coder Exp 72B 1010", - "display_name": "KAT Coder Exp 72B 1010", + "id": "moonshotai/kimi-k2", + "name": "Kimi K2 Instruct", + "display_name": "Kimi K2 Instruct", "modalities": { "input": [ "text" @@ -10258,102 +10512,128 @@ ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 131072, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-10-28", - "last_updated": "2025-10-28", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", "cost": { - "input": 0.1, - "output": 0.2 + "input": 0.57, + "output": 2.3 }, "type": "chat" }, { - "id": "exa-research-pro", - "name": "Exa (Research Pro)", - "display_name": "Exa (Research Pro)", + "id": "moonshotai/kimi-k2.7-code", + "name": "Kimi K2.7 Code", + "display_name": "Kimi K2.7 Code", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 256000, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-06-04", - "last_updated": "2025-06-04", + "knowledge": "2025-01", + "release_date": "2026-06-12", + "last_updated": "2026-06-12", "cost": { - "input": 2.5, - "output": 2.5 + "input": 0.95, + "output": 4, + "cache_read": 0.19 }, "type": "chat" }, { - "id": "ernie-4.5-turbo-vl-32k", - "name": "Ernie 4.5 Turbo VL 32k", - "display_name": "Ernie 4.5 Turbo VL 32k", + "id": "moonshotai/kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "display_name": "Kimi K2 Thinking", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 32000, - "output": 16384 + "context": 262114, + "output": 262114 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": false, - "release_date": "2025-05-08", - "last_updated": "2025-05-08", + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", "cost": { - "input": 0.495, - "output": 1.43 + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "claude-opus-4-thinking:32000", - "name": "Claude 4 Opus Thinking (32K)", - "display_name": "Claude 4 Opus Thinking (32K)", + "id": "moonshotai/kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 262114, + "output": 262114 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -10362,512 +10642,395 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, - "open_weights": false, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-01-26", + "last_updated": "2026-01", "cost": { - "input": 14.994, - "output": 75.004 + "input": 0.6, + "output": 3, + "cache_read": 0.1 }, "type": "chat" }, { - "id": "qwen3-vl-235b-a22b-instruct-original", - "name": "Qwen3 VL 235B A22B Instruct Original", - "display_name": "Qwen3 VL 235B A22B Instruct Original", + "id": "moonshotai/kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 262000, + "output": 262000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": true, - "open_weights": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-20", + "last_updated": "2026-04-21", "cost": { - "input": 0.5, - "output": 1.2 + "input": 0.95, + "output": 4, + "cache_read": 0.16 }, "type": "chat" }, { - "id": "yi-lightning", - "name": "Yi Lightning", - "display_name": "Yi Lightning", + "id": "klingai/kling-v3.0-motion-control", + "name": "Kling v3.0 Motion Control", + "display_name": "Kling v3.0 Motion Control", "modalities": { "input": [ "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 12000, - "output": 4096 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-10-16", - "last_updated": "2024-10-16", - "cost": { - "input": 0.2006, - "output": 0.2006 - }, + "release_date": "2026-03-04", + "last_updated": "2026-03-04", "type": "chat" }, { - "id": "azure-o1", - "name": "Azure o1", - "display_name": "Azure o1", + "id": "klingai/kling-v2.6-i2v", + "name": "Kling v2.6 Image-to-Video", + "display_name": "Kling v2.6 Image-to-Video", "modalities": { "input": [ "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-12-17", - "last_updated": "2024-12-17", - "cost": { - "input": 14.994, - "output": 59.993 - }, + "release_date": "2025-12-21", + "last_updated": "2025-12-21", "type": "chat" }, { - "id": "mirothinker-1-7-deepresearch-mini", - "name": "MiroThinker 1.7 Deep Research Mini", - "display_name": "MiroThinker 1.7 Deep Research Mini", + "id": "klingai/kling-v2.5-turbo-t2v", + "name": "Kling v2.5 Turbo Text-to-Video", + "display_name": "Kling v2.5 Turbo Text-to-Video", "modalities": { "input": [ "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-05-11", - "last_updated": "2026-05-11", - "cost": { - "input": 1.25, - "output": 10 - }, + "release_date": "2025-09-23", + "last_updated": "2025-09-23", "type": "chat" }, { - "id": "mistral-code-agent-latest", - "name": "Mistral Code Agent Latest", - "display_name": "Mistral Code Agent Latest", + "id": "klingai/kling-v3.0-i2v", + "name": "Kling v3.0 Image-to-Video", + "display_name": "Kling v3.0 Image-to-Video", "modalities": { "input": [ "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 8192, + "output": 8192 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-06-02", - "last_updated": "2026-06-02", - "cost": { - "input": 0.4, - "output": 2 - }, + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "type": "chat" }, { - "id": "Gemma-4-31B-DarkIdol", - "name": "Gemma 4 31B DarkIdol", - "display_name": "Gemma 4 31B DarkIdol", + "id": "klingai/kling-v2.5-turbo-i2v", + "name": "Kling v2.5 Turbo Image-to-Video", + "display_name": "Kling v2.5 Turbo Image-to-Video", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-05-01", - "last_updated": "2026-05-01", - "cost": { - "input": 0.306, - "output": 0.306 - }, + "release_date": "2025-09-23", + "last_updated": "2025-09-23", "type": "chat" }, { - "id": "jamba-mini-1.6", - "name": "Jamba Mini 1.6", - "display_name": "Jamba Mini 1.6", + "id": "klingai/kling-v3.0-t2v", + "name": "Kling v3.0 Text-to-Video", + "display_name": "Kling v3.0 Text-to-Video", "modalities": { "input": [ "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 256000, - "output": 4096 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-03-01", - "last_updated": "2025-03-01", - "cost": { - "input": 0.1989, - "output": 0.408 - }, + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "type": "chat" }, { - "id": "hermes-low", - "name": "Hermes Low", - "display_name": "Hermes Low", + "id": "klingai/kling-v2.6-motion-control", + "name": "Kling v2.6 Motion Control", + "display_name": "Kling v2.6 Motion Control", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 8192, + "output": 8192 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-05-11", - "last_updated": "2026-05-11", - "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.025 - }, + "release_date": "2025-12-21", + "last_updated": "2025-12-21", "type": "chat" }, { - "id": "Qwen3.5-27B-BlueStar-Derestricted", - "name": "Qwen3.5 27B BlueStar Derestricted", - "display_name": "Qwen3.5 27B BlueStar Derestricted", + "id": "klingai/kling-v2.6-t2v", + "name": "Kling v2.6 Text-to-Video", + "display_name": "Kling v2.6 Text-to-Video", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-06", - "last_updated": "2026-04-06", - "cost": { - "input": 0.306, - "output": 0.306 - }, + "release_date": "2025-12-21", + "last_updated": "2025-12-21", "type": "chat" }, { - "id": "Qwen3.5-27B-Marvin-V2-Derestricted-Lite", - "name": "Qwen3.5 27B Marvin V2 Derestricted Lite", - "display_name": "Qwen3.5 27B Marvin V2 Derestricted Lite", + "id": "voyage/voyage-4-lite", + "name": "voyage-4-lite", + "display_name": "voyage-4-lite", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 32000, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-04-30", - "cost": { - "input": 0.306, - "output": 0.306 - }, + "release_date": "2026-03-06", + "last_updated": "2026-03-06", "type": "chat" }, { - "id": "ernie-x1-32k", - "name": "Ernie X1 32k", - "display_name": "Ernie X1 32k", + "id": "voyage/voyage-law-2", + "name": "voyage-law-2", + "display_name": "voyage-law-2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 32000, - "output": 16384 + "context": 8192, + "output": 1536 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-05-08", - "last_updated": "2025-05-08", - "cost": { - "input": 0.33, - "output": 1.32 - }, + "release_date": "2024-03-01", + "last_updated": "2024-03", "type": "chat" }, { - "id": "claude-sonnet-4-thinking:1024", - "name": "Claude 4 Sonnet Thinking (1K)", - "display_name": "Claude 4 Sonnet Thinking (1K)", + "id": "voyage/voyage-4", + "name": "voyage-4", + "display_name": "voyage-4", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 32000, + "output": 8192 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "cost": { - "input": 2.992, - "output": 14.994 - }, + "release_date": "2026-03-06", + "last_updated": "2026-03-06", "type": "chat" }, { - "id": "gemini-2.5-flash-preview-04-17", - "name": "Gemini 2.5 Flash Preview", - "display_name": "Gemini 2.5 Flash Preview", + "id": "voyage/voyage-code-3", + "name": "voyage-code-3", + "display_name": "voyage-code-3", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 8192, + "output": 1536 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-04-17", - "last_updated": "2025-04-17", - "cost": { - "input": 0.15, - "output": 0.6 - }, + "release_date": "2024-09-01", + "last_updated": "2024-09", "type": "chat" }, { - "id": "hermes-medium", - "name": "Hermes Medium", - "display_name": "Hermes Medium", + "id": "voyage/voyage-4-large", + "name": "voyage-4-large", + "display_name": "voyage-4-large", "modalities": { "input": [ "text" @@ -10877,250 +11040,186 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 32000, + "output": 8192 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-05-11", - "last_updated": "2026-05-11", - "cost": { - "input": 0.3, - "output": 1.2 - }, + "release_date": "2026-03-06", + "last_updated": "2026-03-06", "type": "chat" }, { - "id": "Qwen3.5-27B-Marvin-DPO-V2-Derestricted-Lite", - "name": "Qwen3.5 27B Marvin DPO V2 Derestricted Lite", - "display_name": "Qwen3.5 27B Marvin DPO V2 Derestricted Lite", + "id": "voyage/rerank-2.5", + "name": "Voyage Rerank 2.5", + "display_name": "Voyage Rerank 2.5", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 32000, + "output": 32000 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-04-30", - "cost": { - "input": 0.306, - "output": 0.306 - }, + "release_date": "2025-08-11", + "last_updated": "2025-08-11", "type": "chat" }, { - "id": "gemma-4-31B-MeroMero", - "name": "Gemma 4 31B MeroMero", - "display_name": "Gemma 4 31B MeroMero", + "id": "voyage/rerank-2.5-lite", + "name": "Voyage Rerank 2.5 Lite", + "display_name": "Voyage Rerank 2.5 Lite", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 32000, + "output": 32000 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-05-02", - "last_updated": "2026-05-02", - "cost": { - "input": 0.306, - "output": 0.306 - }, + "release_date": "2025-08-11", + "last_updated": "2025-08-11", "type": "chat" }, { - "id": "ernie-5.0-thinking-preview", - "name": "Ernie 5.0 Thinking Preview", - "display_name": "Ernie 5.0 Thinking Preview", + "id": "voyage/voyage-code-2", + "name": "voyage-code-2", + "display_name": "voyage-code-2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 8192, + "output": 1536 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "cost": { - "input": 1.1, - "output": 2 - }, + "release_date": "2024-01-01", + "last_updated": "2024-01", "type": "chat" }, { - "id": "Gemma-4-31B-Queen", - "name": "Gemma 4 31B Queen", - "display_name": "Gemma 4 31B Queen", + "id": "voyage/voyage-3.5-lite", + "name": "voyage-3.5-lite", + "display_name": "voyage-3.5-lite", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 8192, + "output": 1536 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-05-01", - "last_updated": "2026-05-01", - "cost": { - "input": 0.306, - "output": 0.306 - }, + "release_date": "2025-05-20", + "last_updated": "2025-05-20", "type": "chat" }, { - "id": "kimi-k2-instruct-fast", - "name": "Kimi K2 0711 Fast", - "display_name": "Kimi K2 0711 Fast", + "id": "voyage/voyage-3.5", + "name": "voyage-3.5", + "display_name": "voyage-3.5", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 8192, + "output": 1536 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-07-15", - "last_updated": "2025-07-15", - "cost": { - "input": 0.1, - "output": 2 - }, + "release_date": "2025-05-20", + "last_updated": "2025-05-20", "type": "chat" }, { - "id": "Qwen3.5-27B-Queen-Derestricted", - "name": "Qwen3.5 27B Queen Derestricted", - "display_name": "Qwen3.5 27B Queen Derestricted", + "id": "voyage/voyage-3-large", + "name": "voyage-3-large", + "display_name": "voyage-3-large", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 8192, + "output": 1536 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-04-30", - "cost": { - "input": 0.306, - "output": 0.306 - }, + "release_date": "2024-09-01", + "last_updated": "2024-09", "type": "chat" }, { - "id": "deepseek-r1", - "name": "DeepSeek R1", - "display_name": "DeepSeek R1", + "id": "voyage/voyage-finance-2", + "name": "voyage-finance-2", + "display_name": "voyage-finance-2", "modalities": { "input": [ "text" @@ -11130,133 +11229,83 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 8192, + "output": 1536 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "cost": { - "input": 0.4, - "output": 1.7 - }, + "release_date": "2024-03-01", + "last_updated": "2024-03", "type": "chat" }, { - "id": "gemini-2.5-pro-preview-05-06", - "name": "Gemini 2.5 Pro Preview 0506", - "display_name": "Gemini 2.5 Pro Preview 0506", + "id": "mistral/mistral-nemo", + "name": "Mistral Nemo", + "display_name": "Mistral Nemo", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 131072, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-05-06", - "last_updated": "2025-05-06", + "knowledge": "2024-04", + "release_date": "2024-07-01", + "last_updated": "2024-07-01", "cost": { - "input": 2.5, - "output": 10 + "input": 0.02, + "output": 0.04 }, "type": "chat" }, { - "id": "qwen3.5-flash", - "name": "Qwen3.5 Flash", - "display_name": "Qwen3.5 Flash", + "id": "mistral/codestral-embed", + "name": "Codestral Embed", + "display_name": "Codestral Embed", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 991808, - "output": 65536 + "context": 8192, + "output": 1536 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-02-24", - "last_updated": "2026-02-24", - "cost": { - "input": 0.09, - "output": 0.36 - }, + "release_date": "2025-05-28", + "last_updated": "2025-05-28", "type": "chat" }, { - "id": "phi-4-multimodal-instruct", - "name": "Phi 4 Multimodal", - "display_name": "Phi 4 Multimodal", + "id": "mistral/mistral-embed", + "name": "Mistral Embed", + "display_name": "Mistral Embed", "modalities": { "input": [ "text" @@ -11266,27 +11315,24 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 8192, + "output": 1536 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", - "cost": { - "input": 0.07, - "output": 0.11 - }, + "release_date": "2023-12-11", + "last_updated": "2023-12-11", "type": "chat" }, { - "id": "qwen3.7-max", - "name": "Qwen3.7 Max", - "display_name": "Qwen3.7 Max", + "id": "mistral/devstral-small", + "name": "Devstral Small 1.1", + "display_name": "Devstral Small 1.1", "modalities": { "input": [ "text" @@ -11296,63 +11342,62 @@ ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 128000, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-05-21", - "last_updated": "2026-05-21", + "knowledge": "2024-10", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", "cost": { - "input": 2.5, - "output": 7.5, - "cache_read": 0.25 + "input": 0.1, + "output": 0.3 }, "type": "chat" }, { - "id": "azure-gpt-4-turbo", - "name": "Azure gpt-4-turbo", - "display_name": "Azure gpt-4-turbo", + "id": "mistral/mistral-large-3", + "name": "Mistral Large 3", + "display_name": "Mistral Large 3", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 256000, + "output": 256000 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2023-11-06", - "last_updated": "2024-01-01", + "knowledge": "2024-10", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", "cost": { - "input": 9.996, - "output": 30.005 + "input": 0.5, + "output": 1.5 }, "type": "chat" }, { - "id": "sonar-reasoning-pro", - "name": "Perplexity Reasoning Pro", - "display_name": "Perplexity Reasoning Pro", + "id": "mistral/mistral-medium-3.5", + "name": "Mistral Medium Latest", + "display_name": "Mistral Medium Latest", "modalities": { "input": [ "text" @@ -11362,28 +11407,29 @@ ] }, "limit": { - "context": 127000, - "output": 128000 + "context": 256000, + "output": 256000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": false, "open_weights": false, - "release_date": "2025-02-19", - "last_updated": "2025-02-19", + "release_date": "2026-05-21", + "last_updated": "2026-05-21", "cost": { - "input": 2.006, - "output": 7.9985 + "input": 1.5, + "output": 7.5 }, "type": "chat" }, { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "display_name": "Gemini 2.5 Pro", + "id": "mistral/mistral-medium", + "name": "Mistral Medium 3.1", + "display_name": "Mistral Medium 3.1", "modalities": { "input": [ "text", @@ -11394,47 +11440,29 @@ ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 128000, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-06-05", - "last_updated": "2025-06-05", + "knowledge": "2024-10", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", "cost": { - "input": 2.5, - "output": 10 + "input": 0.4, + "output": 2 }, "type": "chat" }, { - "id": "KAT-Coder-Air-V1", - "name": "KAT Coder Air V1", - "display_name": "KAT Coder Air V1", + "id": "mistral/devstral-small-2", + "name": "Devstral Small 2", + "display_name": "Devstral Small 2", "modalities": { "input": [ "text" @@ -11444,57 +11472,63 @@ ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 256000, + "output": 256000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-10-28", - "last_updated": "2025-10-28", + "knowledge": "2024-10", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", "cost": { "input": 0.1, - "output": 0.2 + "output": 0.3 }, "type": "chat" }, { - "id": "glm-4-air-0111", - "name": "GLM 4 Air 0111", - "display_name": "GLM 4 Air 0111", + "id": "mistral/ministral-14b", + "name": "Ministral 14B", + "display_name": "Ministral 14B", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 256000, + "output": 256000 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-01-11", - "last_updated": "2025-01-11", + "knowledge": "2024-10", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "cost": { - "input": 0.1394, - "output": 0.1394 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "doubao-1.5-pro-32k", - "name": "Doubao 1.5 Pro 32k", - "display_name": "Doubao 1.5 Pro 32k", + "id": "mistral/devstral-2", + "name": "Devstral 2", + "display_name": "Devstral 2", "modalities": { "input": [ "text" @@ -11504,63 +11538,65 @@ ] }, "limit": { - "context": 32000, - "output": 8192 + "context": 256000, + "output": 256000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-01-22", - "last_updated": "2025-01-22", + "knowledge": "2024-10", + "release_date": "2025-12-09", + "last_updated": "2025-12-09", "cost": { - "input": 0.1343, - "output": 0.3349 + "input": 0.4, + "output": 2 }, "type": "chat" }, { - "id": "qwen3.5-omni-plus", - "name": "Qwen3.5 Omni Plus", - "display_name": "Qwen3.5 Omni Plus", + "id": "mistral/ministral-8b", + "name": "Ministral 8B (latest)", + "display_name": "Ministral 8B (latest)", "modalities": { "input": [ - "text", - "image", - "video", - "audio" + "text" ], "output": [ "text" ] }, "limit": { - "context": 983616, - "output": 65536 + "context": 128000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-03-30", - "last_updated": "2026-03-30", + "attachment": false, + "open_weights": true, + "knowledge": "2024-10", + "release_date": "2024-10-01", + "last_updated": "2024-10-04", "cost": { - "input": 0, - "output": 0 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "doubao-seed-1-6-flash-250615", - "name": "Doubao Seed 1.6 Flash", - "display_name": "Doubao Seed 1.6 Flash", + "id": "mistral/mistral-small", + "name": "Mistral Small (latest)", + "display_name": "Mistral Small (latest)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -11568,26 +11604,29 @@ }, "limit": { "context": 256000, - "output": 16384 + "output": 256000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2025-06-15", - "last_updated": "2025-06-15", + "attachment": true, + "open_weights": true, + "knowledge": "2025-06", + "release_date": "2026-03-16", + "last_updated": "2026-03-16", "cost": { - "input": 0.0374, - "output": 0.374 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "mirothinker-1-7-deepresearch", - "name": "MiroThinker 1.7 Deep Research", - "display_name": "MiroThinker 1.7 Deep Research", + "id": "mistral/codestral", + "name": "Codestral (latest)", + "display_name": "Codestral (latest)", "modalities": { "input": [ "text" @@ -11597,148 +11636,130 @@ ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 256000, + "output": 4096 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-05-11", - "last_updated": "2026-05-11", + "open_weights": true, + "knowledge": "2024-10", + "release_date": "2024-05-29", + "last_updated": "2025-01-04", "cost": { - "input": 4, - "output": 25 + "input": 0.3, + "output": 0.9 }, "type": "chat" }, { - "id": "azure-o3-mini", - "name": "Azure o3-mini", - "display_name": "Azure o3-mini", + "id": "mistral/pixtral-12b", + "name": "Pixtral 12B", + "display_name": "Pixtral 12B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 65536 + "context": 128000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2025-01-31", - "last_updated": "2025-01-31", + "attachment": true, + "open_weights": true, + "knowledge": "2024-09", + "release_date": "2024-09-01", + "last_updated": "2024-09-01", "cost": { - "input": 1.088, - "output": 4.3996 + "input": 0.15, + "output": 0.15 }, "type": "chat" }, { - "id": "claude-sonnet-4-5-20250929", - "name": "Claude Sonnet 4.5", - "display_name": "Claude Sonnet 4.5", + "id": "mistral/pixtral-large", + "name": "Pixtral Large (latest)", + "display_name": "Pixtral Large (latest)", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 128000, + "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, "attachment": true, - "open_weights": false, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "open_weights": true, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2024-11-04", "cost": { - "input": 2.992, - "output": 14.994 + "input": 2, + "output": 6 }, "type": "chat" }, { - "id": "claude-3-5-haiku-20241022", - "name": "Claude 3.5 Haiku", - "display_name": "Claude 3.5 Haiku", + "id": "mistral/ministral-3b", + "name": "Ministral 3B (latest)", + "display_name": "Ministral 3B (latest)", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 128000, + "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2024-10-22", - "last_updated": "2024-10-22", + "attachment": false, + "open_weights": true, + "knowledge": "2024-10", + "release_date": "2024-10-01", + "last_updated": "2024-10-04", "cost": { - "input": 0.8, - "output": 4 + "input": 0.04, + "output": 0.04 }, "type": "chat" }, { - "id": "deepseek-chat", - "name": "DeepSeek V3/Deepseek Chat", - "display_name": "DeepSeek V3/Deepseek Chat", + "id": "mistral/magistral-small", + "name": "Magistral Small", + "display_name": "Magistral Small", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ "text" @@ -11746,58 +11767,62 @@ }, "limit": { "context": 128000, - "output": 8192 + "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-02-27", - "last_updated": "2025-02-27", + "attachment": false, + "open_weights": true, + "knowledge": "2025-06", + "release_date": "2025-03-17", + "last_updated": "2025-03-17", "cost": { - "input": 0.25, - "output": 0.7 + "input": 0.5, + "output": 1.5 }, "type": "chat" }, { - "id": "gemini-2.0-flash-thinking-exp-01-21", - "name": "Gemini 2.0 Flash Thinking 0121", - "display_name": "Gemini 2.0 Flash Thinking 0121", + "id": "mistral/magistral-medium", + "name": "Magistral Medium (latest)", + "display_name": "Magistral Medium (latest)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 8192 + "context": 128000, + "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-01-21", - "last_updated": "2025-01-21", + "attachment": false, + "open_weights": true, + "knowledge": "2025-06", + "release_date": "2025-03-17", + "last_updated": "2025-03-20", "cost": { - "input": 0.306, - "output": 1.003 + "input": 2, + "output": 5 }, "type": "chat" }, { - "id": "phi-4-mini-instruct", - "name": "Phi 4 Mini", - "display_name": "Phi 4 Mini", + "id": "google/gemini-embedding-2", + "name": "Gemini Embedding 2", + "display_name": "Gemini Embedding 2", "modalities": { "input": [ "text" @@ -11807,27 +11832,24 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", - "cost": { - "input": 0.17, - "output": 0.68 - }, + "release_date": "2026-03-10", + "last_updated": "2026-03-23", "type": "chat" }, { - "id": "claw-medium", - "name": "Claw Medium", - "display_name": "Claw Medium", + "id": "google/text-multilingual-embedding-002", + "name": "Text Multilingual Embedding 002", + "display_name": "Text Multilingual Embedding 002", "modalities": { "input": [ "text" @@ -11837,192 +11859,191 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 8192, + "output": 1536 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-05-11", - "last_updated": "2026-05-11", - "cost": { - "input": 0.3, - "output": 1.2 - }, + "release_date": "2024-03-01", + "last_updated": "2024-03", "type": "chat" }, { - "id": "Qwen3.5-27B-BlueStar-v2-Derestricted", - "name": "Qwen3.5 27B BlueStar v2 Derestricted", - "display_name": "Qwen3.5 27B BlueStar v2 Derestricted", + "id": "google/gemini-3.1-flash-lite", + "name": "Gemini 3.1 Flash Lite", + "display_name": "Gemini 3.1 Flash Lite", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 1000000, + "output": 65000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": true, "open_weights": false, - "release_date": "2026-04-06", - "last_updated": "2026-04-06", + "knowledge": "2025-01", + "release_date": "2026-05-07", + "last_updated": "2026-05-07", "cost": { - "input": 0.306, - "output": 0.306 + "input": 0.25, + "output": 1.5, + "cache_read": 0.03 }, "type": "chat" }, { - "id": "claude-opus-4-1-20250805", - "name": "Claude 4.1 Opus", - "display_name": "Claude 4.1 Opus", + "id": "google/gemini-3.1-flash-image", + "name": "Gemini 3.1 Flash Image (Nano Banana 2)", + "display_name": "Gemini 3.1 Flash Image (Nano Banana 2)", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 131072, + "output": 32768 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "supported": true } }, "attachment": true, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "cost": { - "input": 14.994, - "output": 75.004 + "input": 0.5, + "output": 3, + "cache_read": 0.05 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "qwen3.5-omni-flash", - "name": "Qwen3.5 Omni Flash", - "display_name": "Qwen3.5 Omni Flash", + "id": "google/gemini-3-flash", + "name": "Gemini 3 Flash", + "display_name": "Gemini 3 Flash", "modalities": { "input": [ "text", "image", - "video", - "audio" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 49152, - "output": 16384 + "context": 1000000, + "output": 65000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2026-03-30", - "last_updated": "2026-03-30", + "knowledge": "2025-03", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", "cost": { - "input": 0, - "output": 0 + "input": 0.5, + "output": 3, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "qwen-max", - "name": "Qwen 2.5 Max", - "display_name": "Qwen 2.5 Max", + "id": "google/veo-3.1-generate-001", + "name": "Veo 3.1", + "display_name": "Veo 3.1", "modalities": { "input": [ "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 32000, + "context": 8192, "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-04-03", - "last_updated": "2024-04-03", - "cost": { - "input": 1.5997, - "output": 6.392 - }, + "release_date": "2026-06-08", + "last_updated": "2026-06-08", "type": "chat" }, { - "id": "doubao-1-5-thinking-pro-250415", - "name": "Doubao 1.5 Thinking Pro", - "display_name": "Doubao 1.5 Thinking Pro", - "modalities": { - "input": [ + "id": "google/gemini-3.5-flash", + "name": "Gemini 3.5 Flash", + "display_name": "Gemini 3.5 Flash", + "modalities": { + "input": [ "text", + "image", "pdf" ], "output": [ @@ -12030,117 +12051,138 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 1000000, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2025-04-17", - "last_updated": "2025-04-17", + "knowledge": "2025-01", + "release_date": "2026-05-19", + "last_updated": "2026-05-19", "cost": { - "input": 0.6, - "output": 2.4 + "input": 1.5, + "output": 9, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "jamba-large-1.7", - "name": "Jamba Large 1.7", - "display_name": "Jamba Large 1.7", + "id": "google/gemma-4-31b-it", + "name": "Gemma 4 31B IT", + "display_name": "Gemma 4 31B IT", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 4096 + "context": 262144, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 1.989, - "output": 7.99 + "input": 0.14, + "output": 0.4 }, "type": "chat" }, { - "id": "brave-pro", - "name": "Brave (Pro)", - "display_name": "Brave (Pro)", + "id": "google/veo-3.0-generate-001", + "name": "Veo 3.0", + "display_name": "Veo 3.0", "modalities": { "input": [ "text" ], "output": [ - "text" + "video" ] }, "limit": { "context": 8192, "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2023-03-02", - "last_updated": "2024-01-01", - "cost": { - "input": 5, - "output": 5 - }, + "release_date": "2026-06-08", + "last_updated": "2026-06-08", "type": "chat" }, { - "id": "jamba-mini-1.7", - "name": "Jamba Mini 1.7", - "display_name": "Jamba Mini 1.7", + "id": "google/veo-3.0-fast-generate-001", + "name": "Veo 3.0 Fast Generate", + "display_name": "Veo 3.0 Fast Generate", "modalities": { "input": [ "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 256000, - "output": 4096 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "cost": { - "input": 0.1989, - "output": 0.408 - }, + "release_date": "2026-06-08", + "last_updated": "2026-06-08", "type": "chat" }, { - "id": "sarvam-105b", - "name": "Sarvam 105B", - "display_name": "Sarvam 105B", + "id": "google/text-embedding-005", + "name": "Text Embedding 005", + "display_name": "Text Embedding 005", "modalities": { "input": [ "text" @@ -12150,29 +12192,24 @@ ] }, "limit": { - "context": 131072, - "output": 4096 + "context": 8192, + "output": 1536 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-05-12", - "last_updated": "2026-05-12", - "cost": { - "input": 0.045, - "output": 0.177, - "cache_read": 0.028 - }, + "release_date": "2024-08-01", + "last_updated": "2024-08", "type": "chat" }, { - "id": "v0-1.5-md", - "name": "v0 1.5 MD", - "display_name": "v0 1.5 MD", + "id": "google/gemini-embedding-001", + "name": "Gemini Embedding 001", + "display_name": "Gemini Embedding 001", "modalities": { "input": [ "text" @@ -12182,71 +12219,102 @@ ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 8192, + "output": 1536 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-07-04", - "last_updated": "2025-07-04", - "cost": { - "input": 3, - "output": 15 - }, - "type": "chat" + "knowledge": "2025-05", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "type": "embedding" }, { - "id": "glm-zero-preview", - "name": "GLM Zero Preview", - "display_name": "GLM Zero Preview", + "id": "google/gemini-2.5-flash-image", + "name": "Nano Banana (Gemini 2.5 Flash Image)", + "display_name": "Nano Banana (Gemini 2.5 Flash Image)", "modalities": { "input": [ "text" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 8000, - "output": 4096 + "context": 32768, + "output": 65536 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-08-26", "cost": { - "input": 1.802, - "output": 1.802 + "input": 0.3, + "output": 2.5, + "cache_read": 0.03 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "gemini-2.5-flash-lite", + "id": "google/imagen-4.0-fast-generate-001", + "name": "Imagen 4 Fast", + "display_name": "Imagen 4 Fast", + "modalities": { + "input": [ + "text" + ], + "output": [ + "image" + ] + }, + "limit": { + "context": 480, + "output": 8192 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-06-01", + "last_updated": "2025-06", + "type": "imageGeneration" + }, + { + "id": "google/gemini-2.5-flash-lite", "name": "Gemini 2.5 Flash Lite", "display_name": "Gemini 2.5 Flash Lite", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048756, + "context": 1048576, "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": false @@ -12272,64 +12340,104 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2025-01", "release_date": "2025-06-17", "last_updated": "2025-06-17", "cost": { "input": 0.1, - "output": 0.4 + "output": 0.4, + "cache_read": 0.01 }, "type": "chat" }, { - "id": "sarvam-30b", - "name": "Sarvam 30B", - "display_name": "Sarvam 30B", + "id": "google/gemini-3.1-flash-image-preview", + "name": "Gemini 3.1 Flash Image Preview (Nano Banana 2)", + "display_name": "Gemini 3.1 Flash Image Preview (Nano Banana 2)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 65536, - "output": 4096 + "context": 131072, + "output": 32768 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-05-12", - "last_updated": "2026-05-12", + "knowledge": "2025-01", + "release_date": "2026-02-26", + "last_updated": "2026-02-26", "cost": { - "input": 0.028, - "output": 0.111, - "cache_read": 0.017 + "input": 0.5, + "output": 3, + "cache_read": 0.05 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "display_name": "Gemini 2.5 Flash", + "id": "google/imagen-4.0-ultra-generate-001", + "name": "Imagen 4 Ultra", + "display_name": "Imagen 4 Ultra", "modalities": { "input": [ - "text", + "text" + ], + "output": [ "image" + ] + }, + "limit": { + "context": 480, + "output": 8192 + }, + "temperature": false, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-05-24", + "last_updated": "2025-05-24", + "type": "imageGeneration" + }, + { + "id": "google/gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "display_name": "Gemini 3.1 Pro Preview", + "modalities": { + "input": [ + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 1000000, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -12338,15 +12446,12 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ @@ -12356,126 +12461,203 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-06-05", - "last_updated": "2025-06-05", + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2026-02-19", "cost": { - "input": 0.3, - "output": 2.5 + "input": 2, + "output": 12, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "azure-gpt-4o-mini", - "name": "Azure gpt-4o-mini", - "display_name": "Azure gpt-4o-mini", + "id": "google/gemma-4-26b-a4b-it", + "name": "Gemma 4 26B A4B IT", + "display_name": "Gemma 4 26B A4B IT", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 262144, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0.1496, - "output": 0.595 + "input": 0.15, + "output": 0.6, + "cache_read": 0.015 }, "type": "chat" }, { - "id": "qwen3.5-35b-a3b", - "name": "Qwen3.5 35B A3B", - "display_name": "Qwen3.5 35B A3B", + "id": "google/gemini-3-pro-preview", + "name": "Gemini 3 Pro Preview", + "display_name": "Gemini 3 Pro Preview", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 260096, - "output": 65536 + "context": 1000000, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-02-24", - "last_updated": "2026-02-24", + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", "cost": { - "input": 0.225, - "output": 1.8 + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "ernie-5.1:thinking", - "name": "ERNIE 5.1 Thinking", - "display_name": "ERNIE 5.1 Thinking", + "id": "google/veo-3.1-fast-generate-001", + "name": "Veo 3.1 Fast Generate", + "display_name": "Veo 3.1 Fast Generate", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ + "video" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2026-06-08", + "last_updated": "2026-06-08", + "type": "chat" + }, + { + "id": "google/gemini-3-pro-image", + "name": "Nano Banana Pro (Gemini 3 Pro Image)", + "display_name": "Nano Banana Pro (Gemini 3 Pro Image)", + "modalities": { + "input": [ "text" + ], + "output": [ + "text", + "image" ] }, "limit": { - "context": 119000, - "output": 64000 + "context": 65536, + "output": 32768 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": false, "open_weights": false, - "release_date": "2026-05-10", - "last_updated": "2026-05-10", + "knowledge": "2025-03", + "release_date": "2025-09-01", + "last_updated": "2025-09", "cost": { - "input": 0.75, - "output": 3, - "cache_read": 0.75 + "input": 2, + "output": 12, + "cache_read": 0.2 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "claude-sonnet-4-thinking:64000", - "name": "Claude 4 Sonnet Thinking (64K)", - "display_name": "Claude 4 Sonnet Thinking (64K)", + "id": "google/gemini-3.1-flash-lite-preview", + "name": "Gemini 3.1 Flash Lite Preview", + "display_name": "Gemini 3.1 Flash Lite Preview", "modalities": { "input": [ "text", @@ -12488,8 +12670,9 @@ }, "limit": { "context": 1000000, - "output": 64000 + "output": 65000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -12497,106 +12680,117 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "supported": true } }, "attachment": true, "open_weights": false, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "knowledge": "2025-01", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", "cost": { - "input": 2.992, - "output": 14.994 + "input": 0.25, + "output": 1.5, + "cache_read": 0.03 }, "type": "chat" }, { - "id": "deepseek-reasoner-cheaper", - "name": "Deepseek R1 Cheaper", - "display_name": "Deepseek R1 Cheaper", + "id": "google/imagen-4.0-generate-001", + "name": "Imagen 4", + "display_name": "Imagen 4", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 128000, - "output": 65536 + "context": 480, + "output": 8192 }, + "temperature": false, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "cost": { - "input": 0.4, - "output": 1.7 - }, - "type": "chat" + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "type": "imageGeneration" }, { - "id": "Gemma-4-31B-Gemopus", - "name": "Gemma 4 31B Gemopus", - "display_name": "Gemma 4 31B Gemopus", + "id": "google/gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "display_name": "Gemini 2.5 Flash", "modalities": { "input": [ "text", "image", - "video" + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 1048576, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, "attachment": true, "open_weights": false, - "release_date": "2026-05-01", - "last_updated": "2026-05-01", + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", "cost": { - "input": 0.306, - "output": 0.306 + "input": 0.3, + "output": 2.5, + "cache_read": 0.03, + "input_audio": 1 }, "type": "chat" }, { - "id": "gemini-2.5-flash-preview-09-2025", - "name": "Gemini 2.5 Flash Preview (09/2025)", - "display_name": "Gemini 2.5 Flash Preview (09/2025)", + "id": "google/gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "display_name": "Gemini 2.5 Pro", "modalities": { "input": [ "text", "image", + "audio", + "video", "pdf" ], "output": [ @@ -12604,9 +12798,10 @@ ] }, "limit": { - "context": 1048756, + "context": 1048576, "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -12619,10 +12814,9 @@ "mode": "budget", "budget": { "default": -1, - "min": 0, - "max": 24576, + "min": 128, + "max": 32768, "auto": -1, - "off": 0, "unit": "tokens" }, "summaries": true, @@ -12634,115 +12828,134 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", "cost": { - "input": 0.3, - "output": 2.5 + "input": 1.25, + "output": 10, + "cache_read": 0.125, + "tiers": [ + { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } }, "type": "chat" }, { - "id": "auto-model-standard", - "name": "Auto model (Standard)", - "display_name": "Auto model (Standard)", + "id": "prodia/flux-fast-schnell", + "name": "Flux Schnell", + "display_name": "Flux Schnell", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 1000000, - "output": 1000000 + "context": 512, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-06-01", - "last_updated": "2024-06-01", - "cost": { - "input": 9.996, - "output": 19.992 - }, + "release_date": "2026-06-08", + "last_updated": "2026-06-08", "type": "chat" }, { - "id": "Gemma-4-31B-Musica-v1", - "name": "Gemma 4 31B Musica v1", - "display_name": "Gemma 4 31B Musica v1", + "id": "openai/gpt-oss-safeguard-20b", + "name": "gpt-oss-safeguard-20b", + "display_name": "gpt-oss-safeguard-20b", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 131072, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-05-01", - "last_updated": "2026-05-01", + "knowledge": "2024-10", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", "cost": { - "input": 0.306, - "output": 0.306 + "input": 0.075, + "output": 0.3, + "cache_read": 0.037 }, "type": "chat" }, { - "id": "mistral-small-31-24b-instruct", - "name": "Mistral Small 31 24b Instruct", - "display_name": "Mistral Small 31 24b Instruct", + "id": "openai/gpt-3.5-turbo-instruct", + "name": "GPT-3.5 Turbo Instruct", + "display_name": "GPT-3.5 Turbo Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 131072 + "context": 8192, + "output": 4096 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", + "knowledge": "2021-09", + "release_date": "2023-09-28", + "last_updated": "2023-03-01", "cost": { - "input": 0.1, - "output": 0.3 + "input": 1.5, + "output": 2 }, "type": "chat" }, { - "id": "gemini-2.0-pro-reasoner", - "name": "Gemini 2.0 Pro Reasoner", - "display_name": "Gemini 2.0 Pro Reasoner", + "id": "openai/gpt-5.2-chat", + "name": "GPT-5.2 Chat", + "display_name": "GPT-5.2 Chat", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" @@ -12750,26 +12963,30 @@ }, "limit": { "context": 128000, - "output": 65536 + "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-02-05", - "last_updated": "2025-02-05", + "knowledge": "2024-10", + "release_date": "2025-12-11", + "last_updated": "2025-08-07", "cost": { - "input": 1.292, - "output": 4.998 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "glm-z1-air", - "name": "GLM Z1 Air", - "display_name": "GLM Z1 Air", + "id": "openai/text-embedding-3-large", + "name": "text-embedding-3-large", + "display_name": "text-embedding-3-large", "modalities": { "input": [ "text" @@ -12779,68 +12996,79 @@ ] }, "limit": { - "context": 32000, - "output": 16384 + "context": 8192, + "output": 1536 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "cost": { - "input": 0.07, - "output": 0.07 - }, - "type": "chat" + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "type": "embedding" }, { - "id": "qwen-turbo", - "name": "Qwen Turbo", - "display_name": "Qwen Turbo", + "id": "openai/gpt-5.2-pro", + "name": "GPT 5.2 ", + "display_name": "GPT 5.2 ", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 8192 + "context": 400000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-11-01", - "last_updated": "2024-11-01", + "knowledge": "2024-10", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.04998, - "output": 0.2006 + "input": 21, + "output": 168 }, "type": "chat" }, { - "id": "fastgpt", - "name": "Web Answer", - "display_name": "Web Answer", + "id": "openai/gpt-4o-mini-search-preview", + "name": "GPT 4o Mini Search Preview", + "display_name": "GPT 4o Mini Search Preview", "modalities": { "input": [ "text" @@ -12850,102 +13078,98 @@ ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 128000, + "output": 16384 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2023-08-01", - "last_updated": "2024-01-01", + "knowledge": "2023-09", + "release_date": "2025-03-12", + "last_updated": "2025-01", "cost": { - "input": 7.5, - "output": 7.5 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "gemini-exp-1206", - "name": "Gemini 2.0 Pro 1206", - "display_name": "Gemini 2.0 Pro 1206", + "id": "openai/gpt-5-chat", + "name": "GPT-5 Chat", + "display_name": "GPT-5 Chat", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 2097152, - "output": 8192 + "context": 128000, + "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 1.258, - "output": 4.998 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "Qwen3.5-27B-earica-Derestricted-Lite", - "name": "Qwen3.5 27B earica Derestricted Lite", - "display_name": "Qwen3.5 27B earica Derestricted Lite", + "id": "openai/gpt-3.5-turbo", + "name": "GPT-3.5 Turbo", + "display_name": "GPT-3.5 Turbo", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 16385, + "output": 4096 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-04-30", + "knowledge": "2021-09", + "release_date": "2023-05-28", + "last_updated": "2023-11-06", "cost": { - "input": 0.306, - "output": 0.306 + "input": 0.5, + "output": 1.5 }, "type": "chat" }, { - "id": "gemini-2.5-flash-nothinking", - "name": "Gemini 2.5 Flash (No Thinking)", - "display_name": "Gemini 2.5 Flash (No Thinking)", + "id": "openai/gpt-5-pro", + "name": "GPT-5 pro", + "display_name": "GPT-5 pro", "modalities": { "input": [ "text", @@ -12953,14 +13177,16 @@ "pdf" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 400000, + "output": 272000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -12969,51 +13195,48 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "mode": "fixed", + "effort": "high", + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2025-06-05", - "last_updated": "2025-06-05", + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-10-06", "cost": { - "input": 0.3, - "output": 2.5 + "input": 15, + "output": 120 }, "type": "chat" }, { - "id": "Qwen3.5-27B-Anko", - "name": "Qwen3.5 27B Anko", - "display_name": "Qwen3.5 27B Anko", + "id": "openai/o3-pro", + "name": "o3 Pro", + "display_name": "o3 Pro", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 200000, + "output": 100000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -13021,178 +13244,240 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-04-30", + "knowledge": "2024-10", + "release_date": "2025-04-16", + "last_updated": "2025-06-10", "cost": { - "input": 0.306, - "output": 0.306 + "input": 20, + "output": 80 }, "type": "chat" }, { - "id": "auto-model", - "name": "Auto model", - "display_name": "Auto model", + "id": "openai/gpt-5.4-nano", + "name": "GPT 5.4 Nano", + "display_name": "GPT 5.4 Nano", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 1000000 + "context": 400000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": false, - "release_date": "2024-06-01", - "last_updated": "2024-06-01", - "cost": { - "input": 0, - "output": 0 - }, - "type": "chat" - }, - { - "id": "ernie-4.5-8k-preview", - "name": "Ernie 4.5 8k Preview", - "display_name": "Ernie 4.5 8k Preview", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 8000, - "output": 16384 - }, - "tool_call": false, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-03-25", - "last_updated": "2025-03-25", + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0.66, - "output": 2.6 + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "doubao-seed-1-6-250615", - "name": "Doubao Seed 1.6", - "display_name": "Doubao Seed 1.6", + "id": "openai/gpt-5.3-chat", + "name": "GPT-5.3 Chat", + "display_name": "GPT-5.3 Chat", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, + "context": 128000, "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-06-15", - "last_updated": "2025-06-15", + "release_date": "2026-03-03", + "last_updated": "2026-03-06", "cost": { - "input": 0.204, - "output": 0.51 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "step-2-16k-exp", - "name": "Step-2 16k Exp", - "display_name": "Step-2 16k Exp", + "id": "openai/gpt-5.1-thinking", + "name": "GPT 5.1 Thinking", + "display_name": "GPT 5.1 Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 16000, - "output": 8192 + "context": 400000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "release_date": "2024-07-05", - "last_updated": "2024-07-05", + "knowledge": "2024-10", + "release_date": "2025-11-12", + "last_updated": "2025-08-07", "cost": { - "input": 7.004, - "output": 19.992 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "step-2-mini", - "name": "Step-2 Mini", - "display_name": "Step-2 Mini", + "id": "openai/gpt-5.1-codex", + "name": "GPT-5.1-Codex", + "display_name": "GPT-5.1-Codex", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 8000, - "output": 4096 + "context": 400000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "release_date": "2024-07-05", - "last_updated": "2024-07-05", + "knowledge": "2024-10", + "release_date": "2025-11-12", + "last_updated": "2025-11-13", "cost": { - "input": 0.2006, - "output": 0.408 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "gemini-2.5-flash-lite-preview-09-2025", - "name": "Gemini 2.5 Flash Lite Preview (09/2025)", - "display_name": "Gemini 2.5 Flash Lite Preview (09/2025)", + "id": "openai/gpt-5.1-codex-max", + "name": "GPT 5.1 Codex Max", + "display_name": "GPT 5.1 Codex Max", "modalities": { "input": [ "text", @@ -13204,9 +13489,10 @@ ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 400000, + "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -13216,73 +13502,66 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "budget", - "budget": { - "default": -1, - "min": 512, - "max": 24576, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "knowledge": "2024-10", + "release_date": "2025-11-19", + "last_updated": "2025-11-13", "cost": { - "input": 0.1, - "output": 0.4 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "ernie-5.1", - "name": "ERNIE 5.1", - "display_name": "ERNIE 5.1", + "id": "openai/text-embedding-ada-002", + "name": "text-embedding-ada-002", + "display_name": "text-embedding-ada-002", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 119000, - "output": 64000 + "context": 8192, + "output": 1536 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-05-10", - "last_updated": "2026-05-10", - "cost": { - "input": 0.75, - "output": 3, - "cache_read": 0.75 - }, - "type": "chat" + "release_date": "2022-12-15", + "last_updated": "2022-12-15", + "type": "embedding" }, { - "id": "claude-opus-4-thinking:1024", - "name": "Claude 4 Opus Thinking (1K)", - "display_name": "Claude 4 Opus Thinking (1K)", + "id": "openai/gpt-5.2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", "modalities": { "input": [ "text", @@ -13294,64 +13573,69 @@ ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 400000, + "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "knowledge": "2024-10", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 14.994, - "output": 75.004 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "Qwen3.5-27B-BlueStar-v3-Derestricted", - "name": "Qwen3.5 27B BlueStar v3 Derestricted", - "display_name": "Qwen3.5 27B BlueStar v3 Derestricted", + "id": "openai/gpt-5.3-codex", + "name": "GPT 5.3 Codex", + "display_name": "GPT 5.3 Codex", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 400000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -13359,28 +13643,40 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-04-30", + "knowledge": "2025-08-31", + "release_date": "2026-02-24", + "last_updated": "2026-02-05", "cost": { - "input": 0.306, - "output": 0.306 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "yi-medium-200k", - "name": "Yi Medium 200k", - "display_name": "Yi Medium 200k", + "id": "openai/text-embedding-3-small", + "name": "text-embedding-3-small", + "display_name": "text-embedding-3-small", "modalities": { "input": [ "text" @@ -13390,27 +13686,24 @@ ] }, "limit": { - "context": 200000, - "output": 4096 + "context": 8192, + "output": 1536 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-03-01", - "last_updated": "2024-03-01", - "cost": { - "input": 2.499, - "output": 2.499 - }, - "type": "chat" + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "type": "embedding" }, { - "id": "claude-opus-4-5-20251101", - "name": "Claude 4.5 Opus", - "display_name": "Claude 4.5 Opus", + "id": "openai/gpt-5.1-codex-mini", + "name": "GPT-5.1 Codex mini", + "display_name": "GPT-5.1 Codex mini", "modalities": { "input": [ "text", @@ -13422,9 +13715,10 @@ ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 400000, + "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -13434,73 +13728,71 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", + "mode": "effort", + "effort": "none", "effort_options": [ + "none", "low", "medium", "high" ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." - ] + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2025-11-01", - "last_updated": "2025-11-01", + "knowledge": "2024-10", + "release_date": "2025-11-12", + "last_updated": "2025-11-13", "cost": { - "input": 4.998, - "output": 25.007 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "glm-4-airx", - "name": "GLM-4 AirX", - "display_name": "GLM-4 AirX", + "id": "openai/gpt-image-1.5", + "name": "GPT Image 1.5", + "display_name": "GPT Image 1.5", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 8000, - "output": 4096 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-06-05", - "last_updated": "2024-06-05", + "release_date": "2025-12-16", + "last_updated": "2025-12-16", "cost": { - "input": 2.006, - "output": 2.006 + "input": 5, + "output": 32, + "cache_read": 1.25 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "MiniMax-M2", - "name": "MiniMax M2", - "display_name": "MiniMax M2", + "id": "openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "display_name": "GPT OSS 120B", "modalities": { "input": [ "text" @@ -13510,10 +13802,11 @@ ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 131072, + "output": 131000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -13524,91 +13817,79 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2025-10-25", - "last_updated": "2025-10-25", + "open_weights": true, + "knowledge": "2024-10", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.17, - "output": 1.53 + "input": 0.35, + "output": 0.75, + "cache_read": 0.25 }, "type": "chat" }, { - "id": "step-3", - "name": "Step-3", - "display_name": "Step-3", + "id": "openai/gpt-5.4", + "name": "GPT 5.4", + "display_name": "GPT 5.4", "modalities": { "input": [ "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 65536, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "release_date": "2025-07-31", - "last_updated": "2025-07-31", - "cost": { - "input": 0.2499, - "output": 0.6494 - }, - "type": "chat" - }, - { - "id": "qwq-32b", - "name": "Qwen: QwQ 32B", - "display_name": "Qwen: QwQ 32B", - "modalities": { - "input": [ - "text" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 1050000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0.25599999, - "output": 0.30499999 + "input": 2.5, + "output": 15, + "cache_read": 0.25 }, "type": "chat" }, { - "id": "claude-opus-4-1-thinking:32768", - "name": "Claude 4.1 Opus Thinking (32K)", - "display_name": "Claude 4.1 Opus Thinking (32K)", + "id": "openai/gpt-5.4-mini", + "name": "GPT 5.4 Mini", + "display_name": "GPT 5.4 Mini", "modalities": { "input": [ "text", @@ -13620,168 +13901,183 @@ ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 400000, + "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 14.994, - "output": 75.004 + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "qwen3-max-2026-01-23", - "name": "Qwen3 Max 2026-01-23", - "display_name": "Qwen3 Max 2026-01-23", + "id": "openai/o3-deep-research", + "name": "o3-deep-research", + "display_name": "o3-deep-research", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 32768 + "context": 200000, + "output": 100000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-01-26", - "last_updated": "2026-01-26", + "knowledge": "2024-10", + "release_date": "2024-06-26", + "last_updated": "2024-06-26", "cost": { - "input": 1.2002, - "output": 6.001 + "input": 10, + "output": 40, + "cache_read": 2.5 }, "type": "chat" }, { - "id": "qwen-3.6-plus", - "name": "Qwen 3.6 Plus", - "display_name": "Qwen 3.6 Plus", + "id": "openai/gpt-image-1", + "name": "GPT Image 1", + "display_name": "GPT Image 1", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 991800, - "output": 65536 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "release_date": "2025-03-25", + "last_updated": "2025-03-25", "cost": { - "input": 0.45, - "output": 2.7 + "input": 5, + "output": 40, + "cache_read": 1.25 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "qwen3.7-max:thinking", - "name": "Qwen3.7 Max Thinking", - "display_name": "Qwen3.7 Max Thinking", + "id": "openai/gpt-image-1-mini", + "name": "GPT Image 1 Mini", + "display_name": "GPT Image 1 Mini", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-05-21", - "last_updated": "2026-05-21", + "release_date": "2025-10-06", + "last_updated": "2025-10-06", "cost": { - "input": 2.5, - "output": 7.5, - "cache_read": 0.25 + "input": 2, + "output": 8, + "cache_read": 0.2 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "gemini-2.5-pro-preview-03-25", - "name": "Gemini 2.5 Pro Preview 0325", - "display_name": "Gemini 2.5 Pro Preview 0325", + "id": "openai/gpt-5.4-pro", + "name": "GPT 5.4 Pro", + "display_name": "GPT 5.4 Pro", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 1050000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -13790,66 +14086,77 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "mode": "effort", + "effort": "high", + "effort_options": [ + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2025-03-25", - "last_updated": "2025-03-25", + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 2.5, - "output": 10 + "input": 30, + "output": 180 }, "type": "chat" }, { - "id": "doubao-1-5-thinking-vision-pro-250428", - "name": "Doubao 1.5 Thinking Vision Pro", - "display_name": "Doubao 1.5 Thinking Vision Pro", + "id": "openai/gpt-5.5-pro", + "name": "GPT 5.5 Pro", + "display_name": "GPT 5.5 Pro", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 1000000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": true, "open_weights": false, - "release_date": "2025-05-15", - "last_updated": "2025-05-15", + "knowledge": "2025-12-01", + "release_date": "2026-04-24", + "last_updated": "2026-04-23", "cost": { - "input": 0.55, - "output": 1.43 + "input": 30, + "output": 180 }, "type": "chat" }, { - "id": "jamba-large-1.6", - "name": "Jamba Large 1.6", - "display_name": "Jamba Large 1.6", + "id": "openai/gpt-oss-20b", + "name": "GPT OSS 20B", + "display_name": "GPT OSS 20B", "modalities": { "input": [ "text" @@ -13859,186 +14166,252 @@ ] }, "limit": { - "context": 256000, - "output": 4096 + "context": 131072, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-03-12", - "last_updated": "2025-03-12", + "open_weights": true, + "knowledge": "2024-10", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 1.989, - "output": 7.99 + "input": 0.05, + "output": 0.2 }, "type": "chat" }, { - "id": "glm-4.1v-thinking-flash", - "name": "GLM 4.1V Thinking Flash", - "display_name": "GLM 4.1V Thinking Flash", + "id": "openai/gpt-5.2-codex", + "name": "GPT-5.2-Codex", + "display_name": "GPT-5.2-Codex", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 64000, - "output": 8192 + "context": 400000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, "open_weights": false, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", + "knowledge": "2024-10", + "release_date": "2025-12-18", + "last_updated": "2025-12-11", "cost": { - "input": 0.3, - "output": 0.3 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "gemini-2.5-pro-exp-03-25", - "name": "Gemini 2.5 Pro Experimental 0325", - "display_name": "Gemini 2.5 Pro Experimental 0325", + "id": "openai/gpt-5.1-instant", + "name": "GPT-5.1 Instant", + "display_name": "GPT-5.1 Instant", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 128000, + "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2025-03-25", - "last_updated": "2025-03-25", + "knowledge": "2024-10", + "release_date": "2025-11-12", + "last_updated": "2025-08-07", "cost": { - "input": 2.5, - "output": 10 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "doubao-seed-1-6-thinking-250615", - "name": "Doubao Seed 1.6 Thinking", - "display_name": "Doubao Seed 1.6 Thinking", + "id": "openai/gpt-image-2", + "name": "GPT Image 2", + "display_name": "GPT Image 2", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 256000, - "output": 16384 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-06-15", - "last_updated": "2025-06-15", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0.204, - "output": 2.04 + "input": 5, + "output": 30, + "cache_read": 1.25 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "gemma-4-31B-Garnet", - "name": "Gemma 4 31B Garnet", - "display_name": "Gemma 4 31B Garnet", + "id": "openai/gpt-5.5", + "name": "GPT 5.5", + "display_name": "GPT 5.5", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 1000000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, "attachment": true, "open_weights": false, - "release_date": "2026-05-02", - "last_updated": "2026-05-02", - "cost": { - "input": 0.306, - "output": 0.306 + "knowledge": "2025-12-01", + "release_date": "2026-04-24", + "last_updated": "2026-04-23", + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "claude-opus-4-1-thinking", - "name": "Claude 4.1 Opus Thinking", - "display_name": "Claude 4.1 Opus Thinking", + "id": "openai/gpt-5-codex", + "name": "GPT-5-Codex", + "display_name": "GPT-5-Codex", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 400000, + "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -14048,41 +14421,44 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "knowledge": "2024-09-30", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", "cost": { - "input": 14.994, - "output": 75.004 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "doubao-1-5-thinking-pro-vision-250415", - "name": "Doubao 1.5 Thinking Pro Vision", - "display_name": "Doubao 1.5 Thinking Pro Vision", + "id": "openai/gpt-4o-mini", + "name": "GPT-4o mini", + "display_name": "GPT-4o mini", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" @@ -14092,99 +14468,166 @@ "context": 128000, "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", + "knowledge": "2023-09", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", "cost": { - "input": 0.6, - "output": 2.4 + "input": 0.15, + "output": 0.6, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "owl", - "name": "OWL", - "display_name": "OWL", + "id": "openai/gpt-5-nano", + "name": "GPT-5 Nano", + "display_name": "GPT-5 Nano", "modalities": { "input": [ + "text", + "image" + ], + "output": [ "text" + ] + }, + "limit": { + "context": 400000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "cost": { + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 + }, + "type": "chat" + }, + { + "id": "openai/gpt-4-turbo", + "name": "GPT-4 Turbo", + "display_name": "GPT-4 Turbo", + "modalities": { + "input": [ + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048756, - "output": 262144 + "context": 128000, + "output": 4096 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-05-01", - "last_updated": "2026-05-01", + "knowledge": "2023-12", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", "cost": { - "input": 0.1, - "output": 0.3 + "input": 10, + "output": 30 }, "type": "chat" }, { - "id": "auto-model-premium", - "name": "Auto model (Premium)", - "display_name": "Auto model (Premium)", + "id": "openai/gpt-4.1-mini", + "name": "GPT-4.1 mini", + "display_name": "GPT-4.1 mini", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 1000000 + "context": 1047576, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-06-01", - "last_updated": "2024-06-01", + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 9.996, - "output": 19.992 + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 }, "type": "chat" }, { - "id": "Qwen3.5-27B-Writer-Derestricted", - "name": "Qwen3.5 27B Writer Derestricted", - "display_name": "Qwen3.5 27B Writer Derestricted", + "id": "openai/gpt-5-mini", + "name": "GPT-5 Mini", + "display_name": "GPT-5 Mini", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 400000, + "output": 128000 }, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -14192,28 +14635,40 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2026-04-06", - "last_updated": "2026-04-06", + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.306, - "output": 0.306 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "claude-sonnet-4-20250514", - "name": "Claude 4 Sonnet", - "display_name": "Claude 4 Sonnet", + "id": "openai/gpt-4.1", + "name": "GPT-4.1", + "display_name": "GPT-4.1", "modalities": { "input": [ "text", @@ -14225,49 +14680,30 @@ ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 1047576, + "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 2.992, - "output": 14.994 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "claude-opus-4-thinking:8192", - "name": "Claude 4 Opus Thinking (8K)", - "display_name": "Claude 4 Opus Thinking (8K)", + "id": "openai/o1", + "name": "o1", + "display_name": "o1", "modalities": { "input": [ "text", @@ -14280,8 +14716,9 @@ }, "limit": { "context": 200000, - "output": 32000 + "output": 100000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -14291,95 +14728,79 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "knowledge": "2023-09", + "release_date": "2024-12-05", + "last_updated": "2024-12-05", "cost": { - "input": 14.994, - "output": 75.004 + "input": 15, + "output": 60, + "cache_read": 7.5 }, "type": "chat" }, { - "id": "qwen3.5-122b-a10b:thinking", - "name": "Qwen3.5 122B A10B Thinking", - "display_name": "Qwen3.5 122B A10B Thinking", + "id": "openai/gpt-4.1-nano", + "name": "GPT-4.1 nano", + "display_name": "GPT-4.1 nano", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 260096, - "output": 65536 + "context": 1047576, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-02-24", - "last_updated": "2026-02-24", + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.36, - "output": 2.88 + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "claude-sonnet-4-thinking", - "name": "Claude 4 Sonnet Thinking", - "display_name": "Claude 4 Sonnet Thinking", + "id": "openai/o3-mini", + "name": "o3-mini", + "display_name": "o3-mini", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 200000, + "output": 100000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -14389,73 +14810,85 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "visibility": "hidden" } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-02-24", - "last_updated": "2025-02-24", + "knowledge": "2024-05", + "release_date": "2024-12-20", + "last_updated": "2025-01-29", "cost": { - "input": 2.992, - "output": 14.994 + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 }, "type": "chat" }, { - "id": "Gemma-4-31B-Cognitive-Unshackled", - "name": "Gemma 4 31B Cognitive Unshackled", - "display_name": "Gemma 4 31B Cognitive Unshackled", + "id": "openai/o4-mini", + "name": "o4-mini", + "display_name": "o4-mini", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 200000, + "output": 100000 }, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, "attachment": true, "open_weights": false, - "release_date": "2026-05-01", - "last_updated": "2026-05-01", + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", "cost": { - "input": 0.306, - "output": 0.306 + "input": 1.1, + "output": 4.4, + "cache_read": 0.275 }, "type": "chat" }, { - "id": "deepseek-chat-cheaper", - "name": "DeepSeek V3/Chat Cheaper", - "display_name": "DeepSeek V3/Chat Cheaper", + "id": "openai/gpt-4o", + "name": "GPT-4o", + "display_name": "GPT-4o", "modalities": { "input": [ "text", + "image", "pdf" ], "output": [ @@ -14464,67 +14897,85 @@ }, "limit": { "context": 128000, - "output": 8192 + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-08-06", "cost": { - "input": 0.25, - "output": 0.7 + "input": 2.5, + "output": 10, + "cache_read": 1.25 }, "type": "chat" }, { - "id": "qwen3.6-max-preview", - "name": "Qwen3.6 Max Preview", - "display_name": "Qwen3.6 Max Preview", + "id": "openai/gpt-5", + "name": "GPT-5", + "display_name": "GPT-5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 245800, - "output": 65536 + "context": 400000, + "output": 128000 }, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-04-20", - "last_updated": "2026-04-21", + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 1.3, - "output": 7.8 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "claude-opus-4-1-thinking:1024", - "name": "Claude 4.1 Opus Thinking (1K)", - "display_name": "Claude 4.1 Opus Thinking (1K)", + "id": "openai/o3", + "name": "o3", + "display_name": "o3", "modalities": { "input": [ "text", @@ -14537,8 +14988,9 @@ }, "limit": { "context": 200000, - "output": 32000 + "output": 100000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -14548,37 +15000,32 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", "cost": { - "input": 14.994, - "output": 75.004 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "glm-z1-airx", - "name": "GLM Z1 AirX", - "display_name": "GLM Z1 AirX", + "id": "zai/glm-4.7", + "name": "GLM 4.7", + "display_name": "GLM 4.7", "modalities": { "input": [ "text" @@ -14588,41 +15035,10 @@ ] }, "limit": { - "context": 32000, - "output": 16384 - }, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "cost": { - "input": 0.7, - "output": 0.7 - }, - "type": "chat" - }, - { - "id": "claude-opus-4-5-20251101:thinking", - "name": "Claude 4.5 Opus Thinking", - "display_name": "Claude 4.5 Opus Thinking", - "modalities": { - "input": [ - "text", - "image", - "pdf" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 200000, - "output": 32000 + "context": 131000, + "output": 40000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -14631,74 +15047,65 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-11-01", - "last_updated": "2025-11-01", + "knowledge": "2024-10", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 4.998, - "output": 25.007 + "input": 2.25, + "output": 2.75, + "cache_read": 2.25 }, "type": "chat" }, { - "id": "brave-research", - "name": "Brave (Research)", - "display_name": "Brave (Research)", + "id": "zai/glm-4.5v", + "name": "GLM 4.5V", + "display_name": "GLM 4.5V", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 66000, + "output": 16000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2023-03-02", - "last_updated": "2024-01-01", + "attachment": true, + "open_weights": true, + "knowledge": "2025-08", + "release_date": "2025-08-11", + "last_updated": "2025-08-11", "cost": { - "input": 5, - "output": 5 + "input": 0.6, + "output": 1.8, + "cache_read": 0.11 }, "type": "chat" }, { - "id": "universal-summarizer", - "name": "Universal Summarizer", - "display_name": "Universal Summarizer", + "id": "zai/glm-4.5", + "name": "GLM 4.5", + "display_name": "GLM 4.5", "modalities": { "input": [ "text" @@ -14708,27 +15115,37 @@ ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 128000, + "output": 96000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true + } }, "attachment": false, - "open_weights": false, - "release_date": "2023-05-01", - "last_updated": "2024-01-01", + "open_weights": true, + "knowledge": "2025-07", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 30, - "output": 30 + "input": 0.6, + "output": 2.2, + "cache_read": 0.11 }, "type": "chat" }, { - "id": "Baichuan4-Air", - "name": "Baichuan 4 Air", - "display_name": "Baichuan 4 Air", + "id": "zai/glm-4.7-flashx", + "name": "GLM 4.7 FlashX", + "display_name": "GLM 4.7 FlashX", "modalities": { "input": [ "text" @@ -14738,86 +15155,91 @@ ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 200000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-19", - "last_updated": "2025-08-19", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2026-01-19", "cost": { - "input": 0.157, - "output": 0.157 + "input": 0.06, + "output": 0.4, + "cache_read": 0.01 }, "type": "chat" }, { - "id": "Qwen3.5-27B-BlueStar-v2-Derestricted-Lite", - "name": "Qwen3.5 27B BlueStar v2 Derestricted Lite", - "display_name": "Qwen3.5 27B BlueStar v2 Derestricted Lite", + "id": "zai/glm-5.1", + "name": "GLM 5.1", + "display_name": "GLM 5.1", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 202800, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": true, "open_weights": false, - "release_date": "2026-04-06", - "last_updated": "2026-04-06", + "release_date": "2026-04-07", + "last_updated": "2026-03-27", "cost": { - "input": 0.306, - "output": 0.306 + "input": 1.4, + "output": 4.4, + "cache_read": 0.26 }, "type": "chat" }, { - "id": "Qwen3.5-27B-earica-Derestricted", - "name": "Qwen3.5 27B earica Derestricted", - "display_name": "Qwen3.5 27B earica Derestricted", + "id": "zai/glm-4.6", + "name": "GLM 4.6", + "display_name": "GLM 4.6", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 200000, + "output": 96000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -14825,85 +15247,76 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "interleaved": true } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-04-30", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", "cost": { - "input": 0.306, - "output": 0.306 + "input": 0.6, + "output": 2.2, + "cache_read": 0.11 }, "type": "chat" }, { - "id": "Qwen3.5-27B-RpRMax-v1", - "name": "Qwen3.5 27B RpRMax v1", - "display_name": "Qwen3.5 27B RpRMax v1", + "id": "zai/glm-4.6v", + "name": "GLM-4.6V", + "display_name": "GLM-4.6V", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 128000, + "output": 24000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": true, "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-04-30", + "knowledge": "2024-10", + "release_date": "2025-09-30", + "last_updated": "2025-12-08", "cost": { - "input": 0.306, - "output": 0.306 + "input": 0.3, + "output": 0.9, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "holo3-35b-a3b", - "name": "Holo3-35B-A3B", - "display_name": "Holo3-35B-A3B", + "id": "zai/glm-5v-turbo", + "name": "GLM 5V Turbo", + "display_name": "GLM 5V Turbo", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 65536, - "output": 65536 + "context": 200000, + "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -14911,108 +15324,84 @@ }, "attachment": true, "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", + "release_date": "2026-04-01", + "last_updated": "2026-04-01", "cost": { - "input": 0.25, - "output": 1.8 + "input": 1.2, + "output": 4, + "cache_read": 0.24 }, "type": "chat" }, { - "id": "qwen3.7-plus", - "name": "Qwen3.7 Plus", - "display_name": "Qwen3.7 Plus", + "id": "zai/glm-4.6v-flash", + "name": "GLM-4.6V-Flash", + "display_name": "GLM-4.6V-Flash", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 991808, - "output": 65536 + "context": 128000, + "output": 24000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "release_date": "2026-06-01", - "last_updated": "2026-06-01", - "cost": { - "input": 0.4, - "output": 1.6, - "cache_read": 0.04 - }, + "knowledge": "2024-10", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", "type": "chat" }, { - "id": "gemini-2.5-flash-preview-05-20:thinking", - "name": "Gemini 2.5 Flash 0520 Thinking", - "display_name": "Gemini 2.5 Flash 0520 Thinking", + "id": "zai/glm-4.5-air", + "name": "GLM 4.5 Air", + "display_name": "GLM 4.5 Air", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048000, - "output": 65536 + "context": 128000, + "output": 96000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, - "open_weights": false, - "release_date": "2025-05-20", - "last_updated": "2025-05-20", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 0.15, - "output": 3.5 + "input": 0.2, + "output": 1.1, + "cache_read": 0.03 }, "type": "chat" }, { - "id": "GLM-4.6-Derestricted-v5", - "name": "GLM 4.6 Derestricted v5", - "display_name": "GLM 4.6 Derestricted v5", + "id": "zai/glm-4.7-flash", + "name": "GLM 4.7 Flash", + "display_name": "GLM 4.7 Flash", "modalities": { "input": [ "text" @@ -15022,41 +15411,48 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 200000, + "output": 131000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": false, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "knowledge": "2025-04", + "release_date": "2026-03-13", + "last_updated": "2026-01-19", "cost": { - "input": 0.4, - "output": 1.5 + "input": 0.07, + "output": 0.4 }, "type": "chat" }, { - "id": "claude-opus-4-thinking", - "name": "Claude 4 Opus Thinking", - "display_name": "Claude 4 Opus Thinking", + "id": "zai/glm-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 202800, + "output": 131100 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -15065,38 +15461,29 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2025-07-15", - "last_updated": "2025-07-15", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-11", "cost": { - "input": 14.994, - "output": 75.004 + "input": 1, + "output": 3.2, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "deepseek-math-v2", - "name": "DeepSeek Math V2", - "display_name": "DeepSeek Math V2", + "id": "zai/glm-5-turbo", + "name": "GLM 5 Turbo", + "display_name": "GLM 5 Turbo", "modalities": { "input": [ "text" @@ -15106,637 +15493,471 @@ ] }, "limit": { - "context": 128000, - "output": 65536 + "context": 202800, + "output": 131100 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": false, - "release_date": "2025-12-03", - "last_updated": "2025-12-03", + "release_date": "2026-03-15", + "last_updated": "2026-03-16", "cost": { - "input": 0.6, - "output": 2.2 + "input": 1.2, + "output": 4, + "cache_read": 0.24 }, "type": "chat" }, { - "id": "qwen25-vl-72b-instruct", - "name": "Qwen25 VL 72b", - "display_name": "Qwen25 VL 72b", + "id": "bytedance/seedream-5.0-lite", + "name": "Seedream 5.0 Lite", + "display_name": "Seedream 5.0 Lite", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 32000, - "output": 32768 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-05-10", - "last_updated": "2025-05-10", - "cost": { - "input": 0.69989, - "output": 0.69989 - }, + "release_date": "2026-01-28", + "last_updated": "2026-01-28", "type": "chat" }, { - "id": "Qwen3.5-27B-Omega-Evolution-v2.0-Derestricted", - "name": "Qwen3.5 27B Omega Evolution v2.0 Derestricted", - "display_name": "Qwen3.5 27B Omega Evolution v2.0 Derestricted", + "id": "bytedance/seedance-2.0-fast", + "name": "Seedance 2.0 Fast", + "display_name": "Seedance 2.0 Fast", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-04-06", - "last_updated": "2026-04-06", - "cost": { - "input": 0.306, - "output": 0.306 - }, + "release_date": "2026-04-14", + "last_updated": "2026-04-14", "type": "chat" }, { - "id": "ernie-x1.1-preview", - "name": "ERNIE X1.1", - "display_name": "ERNIE X1.1", + "id": "bytedance/seedance-v1.0-pro", + "name": "Seedance v1.0 Pro", + "display_name": "Seedance v1.0 Pro", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 64000, + "context": 8192, "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-09-10", - "last_updated": "2025-09-10", - "cost": { - "input": 0.15, - "output": 0.6 - }, + "release_date": "2025-06-11", + "last_updated": "2025-06-11", "type": "chat" }, { - "id": "Qwen3.5-27B-Writer-Derestricted-Lite", - "name": "Qwen3.5 27B Writer Derestricted Lite", - "display_name": "Qwen3.5 27B Writer Derestricted Lite", + "id": "bytedance/seed-1.6", + "name": "Seed 1.6", + "display_name": "Seed 1.6", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 256000, + "output": 32000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-06", - "last_updated": "2026-04-06", + "knowledge": "2024-10", + "release_date": "2025-09-01", + "last_updated": "2025-09", "cost": { - "input": 0.306, - "output": 0.306 + "input": 0.25, + "output": 2, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "claude-opus-4-1-thinking:8192", - "name": "Claude 4.1 Opus Thinking (8K)", - "display_name": "Claude 4.1 Opus Thinking (8K)", + "id": "bytedance/seedance-2.0", + "name": "Seedance 2.0", + "display_name": "Seedance 2.0", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 8192, + "output": 8192 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "cost": { - "input": 14.994, - "output": 75.004 - }, + "release_date": "2026-04-14", + "last_updated": "2026-04-14", "type": "chat" }, { - "id": "claude-sonnet-4-5-20250929-thinking", - "name": "Claude Sonnet 4.5 Thinking", - "display_name": "Claude Sonnet 4.5 Thinking", + "id": "bytedance/seedance-v1.5-pro", + "name": "Seedance v1.5 Pro", + "display_name": "Seedance v1.5 Pro", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 8192, + "output": 8192 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "cost": { - "input": 2.992, - "output": 14.994 - }, + "release_date": "2025-12-16", + "last_updated": "2025-12-16", "type": "chat" }, { - "id": "qwen3.5-27b", - "name": "Qwen3.5 27B", - "display_name": "Qwen3.5 27B", + "id": "bytedance/seedance-v1.0-lite-t2v", + "name": "Seedance v1.0 Lite Text-to-Video", + "display_name": "Seedance v1.0 Lite Text-to-Video", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 260096, - "output": 65536 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-02-24", - "last_updated": "2026-02-24", - "cost": { - "input": 0.27, - "output": 2.16 - }, + "release_date": "2025-06-01", + "last_updated": "2025-06-01", "type": "chat" }, { - "id": "glm-4-plus-0111", - "name": "GLM 4 Plus 0111", - "display_name": "GLM 4 Plus 0111", + "id": "bytedance/seedance-v1.0-pro-fast", + "name": "Seedance v1.0 Pro Fast", + "display_name": "Seedance v1.0 Pro Fast", "modalities": { "input": [ "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "cost": { - "input": 9.996, - "output": 9.996 - }, + "release_date": "2025-10-31", + "last_updated": "2025-10-31", "type": "chat" }, { - "id": "ernie-x1-turbo-32k", - "name": "Ernie X1 Turbo 32k", - "display_name": "Ernie X1 Turbo 32k", + "id": "bytedance/seedream-4.0", + "name": "Seedream 4.0", + "display_name": "Seedream 4.0", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 32000, - "output": 16384 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-05-08", - "last_updated": "2025-05-08", - "cost": { - "input": 0.165, - "output": 0.66 - }, + "release_date": "2025-08-28", + "last_updated": "2025-08-28", "type": "chat" }, { - "id": "gemma-4-31B-Fabled", - "name": "Gemma 4 31B Fabled", - "display_name": "Gemma 4 31B Fabled", + "id": "bytedance/seedream-4.5", + "name": "Seedream 4.5", + "display_name": "Seedream 4.5", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-05-02", - "last_updated": "2026-05-02", - "cost": { - "input": 0.306, - "output": 0.306 - }, + "release_date": "2025-11-28", + "last_updated": "2025-11-28", "type": "chat" }, { - "id": "claude-sonnet-4-thinking:32768", - "name": "Claude 4 Sonnet Thinking (32K)", - "display_name": "Claude 4 Sonnet Thinking (32K)", + "id": "bytedance/seed-1.8", + "name": "Seed 1.8", + "display_name": "Seed 1.8", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 256000, "output": 64000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "knowledge": "2024-10", + "release_date": "2025-09-01", + "last_updated": "2025-10", "cost": { - "input": 2.992, - "output": 14.994 + "input": 0.25, + "output": 2, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "qwen-long", - "name": "Qwen Long 10M", - "display_name": "Qwen Long 10M", + "id": "bytedance/seedance-v1.0-lite-i2v", + "name": "Seedance v1.0 Lite Image-to-Video", + "display_name": "Seedance v1.0 Lite Image-to-Video", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 10000000, + "context": 8192, "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-01-25", - "last_updated": "2025-01-25", - "cost": { - "input": 0.1003, - "output": 0.408 - }, + "release_date": "2025-06-01", + "last_updated": "2025-06-01", "type": "chat" }, { - "id": "qwen3.5-35b-a3b:thinking", - "name": "Qwen3.5 35B A3B Thinking", - "display_name": "Qwen3.5 35B A3B Thinking", + "id": "morph/morph-v3-large", + "name": "Morph v3 Large", + "display_name": "Morph v3 Large", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 260096, - "output": 65536 + "context": 32000, + "output": 32000 }, + "temperature": false, "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-02-24", - "last_updated": "2026-02-24", + "release_date": "2024-08-15", + "last_updated": "2024-08-15", "cost": { - "input": 0.225, - "output": 1.8 + "input": 0.9, + "output": 1.9 }, "type": "chat" }, { - "id": "qvq-max", - "name": "Qwen: QvQ Max", - "display_name": "Qwen: QvQ Max", + "id": "morph/morph-v3-fast", + "name": "Morph v3 Fast", + "display_name": "Morph v3 Fast", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 16000, + "output": 16000 }, + "temperature": false, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-03-28", - "last_updated": "2025-03-28", + "release_date": "2024-08-15", + "last_updated": "2024-08-15", "cost": { - "input": 1.4, - "output": 5.3 + "input": 0.8, + "output": 1.2 }, "type": "chat" }, { - "id": "gemini-3-pro-image-preview", - "name": "Gemini 3 Pro Image", - "display_name": "Gemini 3 Pro Image", + "id": "nvidia/nemotron-3-ultra-550b-a55b", + "name": "Nemotron 3 Ultra", + "display_name": "Nemotron 3 Ultra", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 1000000, + "output": 65000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-11-18", - "last_updated": "2025-11-18", + "release_date": "2026-06-04", + "last_updated": "2026-06-04", "cost": { - "input": 2, - "output": 12 + "input": 0.6, + "output": 2.4, + "cache_read": 0.12 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "doubao-seed-2-0-pro-260215", - "name": "Doubao Seed 2.0 Pro", - "display_name": "Doubao Seed 2.0 Pro", + "id": "nvidia/nemotron-3-nano-30b-a3b", + "name": "Nemotron 3 Nano 30B A3B", + "display_name": "Nemotron 3 Nano 30B A3B", "modalities": { "input": [ "text" @@ -15746,27 +15967,63 @@ ] }, "limit": { - "context": 256000, - "output": 128000 + "context": 262144, + "output": 262144 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2026-02-14", - "last_updated": "2026-02-14", + "knowledge": "2024-10", + "release_date": "2024-12-01", + "last_updated": "2025-12-15", "cost": { - "input": 0.782, - "output": 3.876 + "input": 0.05, + "output": 0.24 }, "type": "chat" }, { - "id": "jamba-mini", - "name": "Jamba Mini", - "display_name": "Jamba Mini", + "id": "nvidia/nemotron-nano-9b-v2", + "name": "Nvidia Nemotron Nano 9B V2", + "display_name": "Nvidia Nemotron Nano 9B V2", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": false, + "knowledge": "2024-10", + "release_date": "2025-08-18", + "last_updated": "2025-08-18", + "cost": { + "input": 0.06, + "output": 0.23 + }, + "type": "chat" + }, + { + "id": "nvidia/nemotron-3-super-120b-a12b", + "name": "NVIDIA Nemotron 3 Super 120B A12B", + "display_name": "NVIDIA Nemotron 3 Super 120B A12B", "modalities": { "input": [ "text" @@ -15777,26 +16034,27 @@ }, "limit": { "context": 256000, - "output": 4096 + "output": 32000 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", + "release_date": "2026-03-18", + "last_updated": "2026-03-11", "cost": { - "input": 0.1989, - "output": 0.408 + "input": 0.15, + "output": 0.65 }, "type": "chat" }, { - "id": "qwen3-vl-235b-a22b-thinking", - "name": "Qwen3 VL 235B A22B Thinking", - "display_name": "Qwen3 VL 235B A22B Thinking", + "id": "nvidia/nemotron-nano-12b-v2-vl", + "name": "Nvidia Nemotron Nano 12B V2 VL", + "display_name": "Nvidia Nemotron Nano 12B V2 VL", "modalities": { "input": [ "text", @@ -15807,72 +16065,66 @@ ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 131072, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": true, "open_weights": false, - "release_date": "2025-08-26", - "last_updated": "2025-08-26", + "knowledge": "2024-10", + "release_date": "2024-12-01", + "last_updated": "2025-10-28", "cost": { - "input": 0.5, - "output": 6 + "input": 0.2, + "output": 0.6 }, "type": "chat" }, { - "id": "qwen3.5-27b:thinking", - "name": "Qwen3.5 27B Thinking", - "display_name": "Qwen3.5 27B Thinking", + "id": "xiaomi/mimo-v2.5", + "name": "MiMo M2.5", + "display_name": "MiMo M2.5", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 260096, - "output": 65536 + "context": 1050000, + "output": 131100 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": true, "open_weights": false, - "release_date": "2026-02-24", - "last_updated": "2026-02-24", + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 0.27, - "output": 2.16 + "input": 0.14, + "output": 0.28, + "cache_read": 0.0028 }, "type": "chat" }, { - "id": "mercury-2", - "name": "Mercury 2", - "display_name": "Mercury 2", + "id": "xiaomi/mimo-v2-flash", + "name": "MiMo V2 Flash", + "display_name": "MiMo V2 Flash", "modalities": { "input": [ "text" @@ -15882,9 +16134,10 @@ ] }, "limit": { - "context": 128000, - "output": 50000 + "context": 262144, + "output": 32000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -15892,63 +16145,90 @@ }, "attachment": false, "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", + "knowledge": "2024-10", + "release_date": "2025-12-17", + "last_updated": "2026-02-04", "cost": { - "input": 0.25, - "output": 0.75, - "cache_read": 0.025 + "input": 0.1, + "output": 0.3, + "cache_read": 0.01 }, "type": "chat" }, { - "id": "Qwen3.5-27B-BlueStar-Derestricted-Lite", - "name": "Qwen3.5 27B BlueStar Derestricted Lite", - "display_name": "Qwen3.5 27B BlueStar Derestricted Lite", + "id": "xiaomi/mimo-v2-pro", + "name": "MiMo V2 Pro", + "display_name": "MiMo V2 Pro", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 128000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": false, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "cost": { + "input": 1, + "output": 3, + "cache_read": 0.2 + }, + "type": "chat" + }, + { + "id": "xiaomi/mimo-v2.5-pro", + "name": "MiMo V2.5 Pro", + "display_name": "MiMo V2.5 Pro", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 1050000, + "output": 131000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": true, "open_weights": false, - "release_date": "2026-04-06", - "last_updated": "2026-04-06", + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 0.306, - "output": 0.306 + "input": 0.435, + "output": 0.87, + "cache_read": 0.0036 }, "type": "chat" }, { - "id": "sonar-deep-research", - "name": "Perplexity Deep Research", - "display_name": "Perplexity Deep Research", + "id": "inception/mercury-coder-small", + "name": "Mercury Coder Small Beta", + "display_name": "Mercury Coder Small Beta", "modalities": { "input": [ "text" @@ -15958,27 +16238,28 @@ ] }, "limit": { - "context": 60000, - "output": 128000 + "context": 32000, + "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-02-25", - "last_updated": "2025-02-25", + "release_date": "2025-02-26", + "last_updated": "2025-02-26", "cost": { - "input": 3.4, - "output": 13.6 + "input": 0.25, + "output": 1 }, "type": "chat" }, { - "id": "glm-4-flash", - "name": "GLM-4 Flash", - "display_name": "GLM-4 Flash", + "id": "inception/mercury-2", + "name": "Mercury 2", + "display_name": "Mercury 2", "modalities": { "input": [ "text" @@ -15989,250 +16270,429 @@ }, "limit": { "context": 128000, - "output": 4096 + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2024-08-01", - "last_updated": "2024-08-01", + "release_date": "2026-02-24", + "last_updated": "2026-03-06", "cost": { - "input": 0.1003, - "output": 0.1003 + "input": 0.25, + "output": 0.75, + "cache_read": 0.024999999999999998 }, "type": "chat" }, { - "id": "Qwen3.5-27B-Omega-Evolution-v2.2-Derestricted", - "name": "Qwen3.5 27B Omega Evolution v2.2 Derestricted", - "display_name": "Qwen3.5 27B Omega Evolution v2.2 Derestricted", + "id": "anthropic/claude-haiku-4.5", + "name": "Claude Haiku 4.5", + "display_name": "Claude Haiku 4.5", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 200000, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-05-02", - "last_updated": "2026-05-02", + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 0.306, - "output": 0.306 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "doubao-seed-2-0-mini-260215", - "name": "Doubao Seed 2.0 Mini", - "display_name": "Doubao Seed 2.0 Mini", + "id": "anthropic/claude-opus-4.7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 32000 + "context": 1000000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-02-14", - "last_updated": "2026-02-14", + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 0.0493, - "output": 0.4845 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "Qwen3.5-27B-Marvin-V2-Derestricted", - "name": "Qwen3.5 27B Marvin V2 Derestricted", - "display_name": "Qwen3.5 27B Marvin V2 Derestricted", + "id": "anthropic/claude-opus-4.8", + "name": "Claude Opus 4.8", + "display_name": "Claude Opus 4.8", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 1000000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], "interleaved": true, "summaries": true, - "visibility": "summary", + "visibility": "omitted", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-04-30", + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "cost": { - "input": 0.306, - "output": 0.306 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "qwen-plus", - "name": "Qwen Plus", - "display_name": "Qwen Plus", + "id": "anthropic/claude-opus-4.5", + "name": "Claude Opus 4.5", + "display_name": "Claude Opus 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 995904, - "output": 32768 + "context": 200000, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-01-25", - "last_updated": "2024-01-25", + "knowledge": "2025-03-31", + "release_date": "2024-11-24", + "last_updated": "2025-11-24", "cost": { - "input": 0.3995, - "output": 1.2002 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "kwaipilot/kat-coder-pro-v2", - "name": "KAT Coder Pro V2", - "display_name": "KAT Coder Pro V2", + "id": "anthropic/claude-sonnet-4.6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 80000 + "context": 1000000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-03-28", - "last_updated": "2026-03-28", + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "cost": { - "input": 0.3, - "output": 1.2 + "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 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5 + } }, "type": "chat" }, { - "id": "z-ai/glm-4.6:thinking", - "name": "GLM 4.6 Thinking", - "display_name": "GLM 4.6 Thinking", + "id": "anthropic/claude-opus-4.6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 65535 + "context": 1000000, + "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", "cost": { - "input": 0.4, - "output": 1.5 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "z-ai/glm-4.6", - "name": "GLM 4.6", - "display_name": "GLM 4.6", + "id": "anthropic/claude-opus-4", + "name": "Claude Opus 4", + "display_name": "Claude Opus 4", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" @@ -16240,197 +16700,298 @@ }, "limit": { "context": 200000, - "output": 65535 + "output": 32000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-09-30", - "last_updated": "2025-09-30", + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0.4, - "output": 1.5 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "z-ai/glm-5v-turbo:thinking", - "name": "GLM 5V Turbo Thinking", - "display_name": "GLM 5V Turbo Thinking", + "id": "anthropic/claude-3-haiku", + "name": "Claude Haiku 3", + "display_name": "Claude Haiku 3", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 202800, - "output": 131100 + "context": 200000, + "output": 4096 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "knowledge": "2023-08-31", + "release_date": "2024-03-13", + "last_updated": "2024-03-13", "cost": { - "input": 1.2, - "output": 4, - "cache_read": 0.24 + "input": 0.25, + "output": 1.25, + "cache_read": 0.03, + "cache_write": 0.3 }, "type": "chat" }, { - "id": "z-ai/glm-4.5v", - "name": "GLM 4.5V", - "display_name": "GLM 4.5V", + "id": "anthropic/claude-opus-4.1", + "name": "Claude Opus 4.1", + "display_name": "Claude Opus 4.1", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 64000, - "output": 96000 + "context": 200000, + "output": 32000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2025-11-22", - "last_updated": "2025-11-22", + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.6, - "output": 1.7999999999999998 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "z-ai/glm-5v-turbo", - "name": "GLM 5V Turbo", - "display_name": "GLM 5V Turbo", + "id": "anthropic/claude-sonnet-4", + "name": "Claude Sonnet 4", + "display_name": "Claude Sonnet 4", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 202800, - "output": 131100 + "context": 200000, + "output": 64000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2026-04-01", - "last_updated": "2026-04-01", + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 1.2, - "output": 4, - "cache_read": 0.24 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "z-ai/glm-5-turbo", - "name": "GLM 5 Turbo", - "display_name": "GLM 5 Turbo", + "id": "anthropic/claude-sonnet-4.5", + "name": "Claude Sonnet 4.5", + "display_name": "Claude Sonnet 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 202800, - "output": 131072 + "context": 200000, + "output": 64000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-03-15", - "last_updated": "2026-03-15", + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 1.2, - "output": 4, - "cache_read": 0.24 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "z-ai/glm-4.5v:thinking", - "name": "GLM 4.5V Thinking", - "display_name": "GLM 4.5V Thinking", + "id": "anthropic/claude-3.5-haiku", + "name": "Claude Haiku 3.5", + "display_name": "Claude Haiku 3.5", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 64000, - "output": 96000 + "context": 200000, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-11-22", - "last_updated": "2025-11-22", + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", "cost": { - "input": 0.6, - "output": 1.7999999999999998 + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 }, "type": "chat" }, { - "id": "upstage/solar-pro-3", - "name": "Solar Pro 3", - "display_name": "Solar Pro 3", + "id": "cohere/rerank-v3.5", + "name": "Cohere Rerank 3.5", + "display_name": "Cohere Rerank 3.5", "modalities": { "input": [ "text" @@ -16440,28 +17001,24 @@ ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 4096, + "output": 4096 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-03-03", - "last_updated": "2026-03-03", - "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.015 - }, + "release_date": "2024-12-02", + "last_updated": "2024-12-02", "type": "chat" }, { - "id": "Alibaba-NLP/Tongyi-DeepResearch-30B-A3B", - "name": "Tongyi DeepResearch 30B A3B", - "display_name": "Tongyi DeepResearch 30B A3B", + "id": "cohere/command-a", + "name": "Command A", + "display_name": "Command A", "modalities": { "input": [ "text" @@ -16471,27 +17028,29 @@ ] }, "limit": { - "context": 128000, - "output": 65536 + "context": 256000, + "output": 8000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-08-26", - "last_updated": "2025-08-26", + "knowledge": "2024-10", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", "cost": { - "input": 0.08, - "output": 0.24000000000000002 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "THUDM/GLM-Z1-32B-0414", - "name": "GLM Z1 32B 0414", - "display_name": "GLM Z1 32B 0414", + "id": "cohere/rerank-v4-fast", + "name": "Cohere Rerank 4 Fast", + "display_name": "Cohere Rerank 4 Fast", "modalities": { "input": [ "text" @@ -16501,27 +17060,24 @@ ] }, "limit": { - "context": 128000, - "output": 65536 + "context": 32000, + "output": 32000 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "cost": { - "input": 0.2, - "output": 0.2 - }, + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "type": "chat" }, { - "id": "THUDM/GLM-Z1-9B-0414", - "name": "GLM Z1 9B 0414", - "display_name": "GLM Z1 9B 0414", + "id": "cohere/embed-v4.0", + "name": "Embed v4.0", + "display_name": "Embed v4.0", "modalities": { "input": [ "text" @@ -16531,27 +17087,24 @@ ] }, "limit": { - "context": 32000, - "output": 8000 + "context": 128000, + "output": 1536 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "cost": { - "input": 0.2, - "output": 0.2 - }, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", "type": "chat" }, { - "id": "THUDM/GLM-4-32B-0414", - "name": "GLM 4 32B 0414", - "display_name": "GLM 4 32B 0414", + "id": "cohere/rerank-v4-pro", + "name": "Cohere Rerank 4 Pro", + "display_name": "Cohere Rerank 4 Pro", "modalities": { "input": [ "text" @@ -16561,88 +17114,93 @@ ] }, "limit": { - "context": 128000, - "output": 65536 + "context": 32000, + "output": 32000 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "cost": { - "input": 0.2, - "output": 0.2 - }, + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "type": "chat" }, { - "id": "THUDM/GLM-4-9B-0414", - "name": "GLM 4 9B 0414", - "display_name": "GLM 4 9B 0414", + "id": "stepfun/step-3.7-flash", + "name": "Step 3.7 Flash", + "display_name": "Step 3.7 Flash", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32000, - "output": 8000 + "context": 256000, + "output": 256000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "knowledge": "2026-01-01", + "release_date": "2026-05-28", + "last_updated": "2026-05-29", "cost": { "input": 0.2, - "output": 0.2 + "output": 1.15, + "cache_read": 0.04 }, "type": "chat" }, { - "id": "TheDrummer/Skyfall-31B-v4.2", - "name": "TheDrummer Skyfall 31B v4.2", - "display_name": "TheDrummer Skyfall 31B v4.2", + "id": "stepfun/step-3.5-flash", + "name": "StepFun 3.5 Flash", + "display_name": "StepFun 3.5 Flash", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 262114, + "output": 262114 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-03-26", - "last_updated": "2026-03-26", + "knowledge": "2025-01", + "release_date": "2026-01-29", + "last_updated": "2026-02-13", "cost": { - "input": 0.55, - "output": 0.8 + "input": 0.09, + "output": 0.3, + "cache_write": 0.02 }, "type": "chat" }, { - "id": "TheDrummer/Rocinante-12B-v1.1", - "name": "Rocinante 12b", - "display_name": "Rocinante 12b", + "id": "interfaze/interfaze-beta", + "name": "Interfaze Beta", + "display_name": "Interfaze Beta", "modalities": { "input": [ "text" @@ -16652,571 +17210,515 @@ ] }, "limit": { - "context": 16384, - "output": 8192 + "context": 1000000, + "output": 32000 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", + "release_date": "2025-10-07", + "last_updated": "2026-04-29", "cost": { - "input": 0.408, - "output": 0.595 + "input": 1.5, + "output": 3.5 }, "type": "chat" }, { - "id": "TheDrummer/Cydonia-24B-v4", - "name": "The Drummer Cydonia 24B v4", - "display_name": "The Drummer Cydonia 24B v4", + "id": "bfl/flux-kontext-max", + "name": "FLUX.1 Kontext Max", + "display_name": "FLUX.1 Kontext Max", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 16384, - "output": 32768 + "context": 512, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-07-22", - "last_updated": "2025-07-22", - "cost": { - "input": 0.2006, - "output": 0.2414 - }, + "release_date": "2025-06-01", + "last_updated": "2025-06", "type": "chat" }, { - "id": "TheDrummer/Magidonia-24B-v4.3", - "name": "The Drummer Magidonia 24B v4.3", - "display_name": "The Drummer Magidonia 24B v4.3", + "id": "bfl/flux-2-flex", + "name": "FLUX.2 [flex]", + "display_name": "FLUX.2 [flex]", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-12-25", - "last_updated": "2025-12-25", - "cost": { - "input": 0.1003, - "output": 0.1207 - }, - "type": "chat" + "release_date": "2026-06-08", + "last_updated": "2026-06-08", + "type": "imageGeneration" }, { - "id": "TheDrummer/Cydonia-24B-v4.3", - "name": "The Drummer Cydonia 24B v4.3", - "display_name": "The Drummer Cydonia 24B v4.3", + "id": "bfl/flux-pro-1.1-ultra", + "name": "FLUX1.1 [pro] Ultra", + "display_name": "FLUX1.1 [pro] Ultra", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 512, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-12-25", - "last_updated": "2025-12-25", - "cost": { - "input": 0.1003, - "output": 0.1207 - }, + "release_date": "2024-11-01", + "last_updated": "2024-11", "type": "chat" }, { - "id": "TheDrummer/Anubis-70B-v1.1", - "name": "Anubis 70B v1.1", - "display_name": "Anubis 70B v1.1", + "id": "bfl/flux-2-max", + "name": "FLUX.2 [max]", + "display_name": "FLUX.2 [max]", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 67300, + "output": 67300 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", - "cost": { - "input": 0.31, - "output": 0.31 - }, + "release_date": "2026-06-08", + "last_updated": "2026-06-08", "type": "chat" }, { - "id": "TheDrummer/Anubis-70B-v1", - "name": "Anubis 70B v1", - "display_name": "Anubis 70B v1", + "id": "bfl/flux-pro-1.1", + "name": "FLUX1.1 [pro]", + "display_name": "FLUX1.1 [pro]", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 65536, - "output": 16384 + "context": 512, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", - "cost": { - "input": 0.31, - "output": 0.31 - }, + "release_date": "2024-10-01", + "last_updated": "2024-10", "type": "chat" }, { - "id": "TheDrummer/skyfall-36b-v2", - "name": "TheDrummer Skyfall 36B V2", - "display_name": "TheDrummer Skyfall 36B V2", + "id": "bfl/flux-pro-1.0-fill", + "name": "FLUX.1 Fill [pro]", + "display_name": "FLUX.1 Fill [pro]", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 64000, - "output": 32768 + "context": 512, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-03-10", - "last_updated": "2025-03-10", - "cost": { - "input": 0.493, - "output": 0.493 - }, + "release_date": "2024-10-01", + "last_updated": "2024-10", "type": "chat" }, { - "id": "TheDrummer/Cydonia-24B-v4.1", - "name": "The Drummer Cydonia 24B v4.1", - "display_name": "The Drummer Cydonia 24B v4.1", + "id": "bfl/flux-2-klein-4b", + "name": "FLUX.2 [klein] 4B", + "display_name": "FLUX.2 [klein] 4B", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 16384, - "output": 32768 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-08-19", - "last_updated": "2025-08-19", - "cost": { - "input": 0.1003, - "output": 0.1207 - }, + "release_date": "2026-06-08", + "last_updated": "2026-06-08", "type": "chat" }, { - "id": "TheDrummer/Cydonia-24B-v2", - "name": "The Drummer Cydonia 24B v2", - "display_name": "The Drummer Cydonia 24B v2", + "id": "bfl/flux-2-klein-9b", + "name": "FLUX.2 [klein] 9B", + "display_name": "FLUX.2 [klein] 9B", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 16384, - "output": 32768 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "cost": { - "input": 0.1003, - "output": 0.1207 - }, + "release_date": "2026-06-08", + "last_updated": "2026-06-08", "type": "chat" }, { - "id": "TheDrummer/UnslopNemo-12B-v4.1", - "name": "UnslopNemo 12b v4", - "display_name": "UnslopNemo 12b v4", + "id": "bfl/flux-kontext-pro", + "name": "FLUX.1 Kontext Pro", + "display_name": "FLUX.1 Kontext Pro", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 32768, + "context": 512, "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", - "cost": { - "input": 0.493, - "output": 0.493 - }, + "release_date": "2025-06-01", + "last_updated": "2025-06", "type": "chat" }, { - "id": "mistralai/ministral-14b-instruct-2512", - "name": "Ministral 3 14B", - "display_name": "Ministral 3 14B", + "id": "bfl/flux-2-pro", + "name": "FLUX.2 [pro]", + "display_name": "FLUX.2 [pro]", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 67300, + "output": 67300 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", - "cost": { - "input": 0.1, - "output": 0.4 - }, - "type": "chat" + "release_date": "2026-06-08", + "last_updated": "2026-06-08", + "type": "imageGeneration" }, { - "id": "mistralai/mistral-medium-3.1", - "name": "Mistral Medium 3.1", - "display_name": "Mistral Medium 3.1", + "id": "recraft/recraft-v4.1-pro", + "name": "Recraft V4.1 Pro", + "display_name": "Recraft V4.1 Pro", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "cost": { - "input": 0.4, - "output": 2 - }, + "release_date": "2026-05-14", + "last_updated": "2026-05-14", "type": "chat" }, { - "id": "mistralai/ministral-14b-2512", - "name": "Ministral 14B", - "display_name": "Ministral 14B", + "id": "recraft/recraft-v4.1", + "name": "Recraft V4.1", + "display_name": "Recraft V4.1", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-12-04", - "last_updated": "2025-12-04", - "cost": { - "input": 0.2, - "output": 0.2 - }, + "release_date": "2026-05-14", + "last_updated": "2026-05-14", "type": "chat" }, { - "id": "mistralai/ministral-8b-2512", - "name": "Ministral 8B", - "display_name": "Ministral 8B", + "id": "recraft/recraft-v4", + "name": "Recraft V4", + "display_name": "Recraft V4", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-12-04", - "last_updated": "2025-12-04", - "cost": { - "input": 0.15, - "output": 0.15 - }, + "release_date": "2026-02-17", + "last_updated": "2026-02-17", "type": "chat" }, { - "id": "mistralai/mistral-large-3-675b-instruct-2512", - "name": "Mistral Large 3 675B", - "display_name": "Mistral Large 3 675B", + "id": "recraft/recraft-v4-pro", + "name": "Recraft V4 Pro", + "display_name": "Recraft V4 Pro", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 262144, - "output": 256000 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", - "cost": { - "input": 1, - "output": 3 - }, + "release_date": "2026-02-17", + "last_updated": "2026-02-17", "type": "chat" }, { - "id": "mistralai/mixtral-8x22b-instruct-v0.1", - "name": "Mixtral 8x22B", - "display_name": "Mixtral 8x22B", + "id": "recraft/recraft-v2", + "name": "Recraft V2", + "display_name": "Recraft V2", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 65536, - "output": 32768 + "context": 512, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "cost": { - "input": 0.8999999999999999, - "output": 0.8999999999999999 - }, + "release_date": "2024-03-01", + "last_updated": "2024-03", "type": "chat" }, { - "id": "mistralai/mistral-large", - "name": "Mistral Large 2411", - "display_name": "Mistral Large 2411", + "id": "recraft/recraft-v3", + "name": "Recraft V3", + "display_name": "Recraft V3", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 128000, - "output": 256000 + "context": 512, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-02-26", - "last_updated": "2024-02-26", - "cost": { - "input": 2.006, - "output": 6.001 - }, + "release_date": "2024-10-01", + "last_updated": "2024-10", "type": "chat" }, { - "id": "mistralai/ministral-3b-2512", - "name": "Ministral 3B", - "display_name": "Ministral 3B", + "id": "recraft/recraft-v4.1-utility-pro", + "name": "Recraft V4.1 Utility Pro", + "display_name": "Recraft V4.1 Utility Pro", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-12-04", - "last_updated": "2025-12-04", - "cost": { - "input": 0.1, - "output": 0.1 - }, + "release_date": "2026-05-14", + "last_updated": "2026-05-14", "type": "chat" }, { - "id": "mistralai/Mistral-Nemo-Instruct-2407", - "name": "Mistral Nemo", - "display_name": "Mistral Nemo", + "id": "recraft/recraft-v4.1-utility", + "name": "Recraft V4.1 Utility", + "display_name": "Recraft V4.1 Utility", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 16384, + "context": 8192, "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "cost": { - "input": 0.1003, - "output": 0.1207 - }, + "release_date": "2026-05-14", + "last_updated": "2026-05-14", "type": "chat" }, { - "id": "mistralai/mistral-saba", - "name": "Mistral Saba", - "display_name": "Mistral Saba", + "id": "arcee-ai/trinity-large-preview", + "name": "Trinity Large Preview", + "display_name": "Trinity Large Preview", "modalities": { "input": [ "text" @@ -17226,58 +17728,61 @@ ] }, "limit": { - "context": 32000, - "output": 32768 + "context": 131000, + "output": 131000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-02-17", - "last_updated": "2025-02-17", + "knowledge": "2024-10", + "release_date": "2025-01-01", + "last_updated": "2025-01", "cost": { - "input": 0.1989, - "output": 0.595 + "input": 0.25, + "output": 1 }, "type": "chat" }, { - "id": "mistralai/mistral-medium-3", - "name": "Mistral Medium 3", - "display_name": "Mistral Medium 3", + "id": "arcee-ai/trinity-large-thinking", + "name": "Trinity Large Thinking", + "display_name": "Trinity Large Thinking", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 262100, + "output": 80000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "attachment": false, + "open_weights": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-03", "cost": { - "input": 0.4, - "output": 2 + "input": 0.25, + "output": 0.8999999999999999 }, "type": "chat" }, { - "id": "mistralai/mixtral-8x7b-instruct-v0.1", - "name": "Mixtral 8x7B", - "display_name": "Mixtral 8x7B", + "id": "arcee-ai/trinity-mini", + "name": "Trinity Mini", + "display_name": "Trinity Mini", "modalities": { "input": [ "text" @@ -17287,59 +17792,29 @@ ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 131072, + "output": 131072 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "cost": { - "input": 0.27, - "output": 0.27 - }, - "type": "chat" - }, - { - "id": "mistralai/mistral-small-4-119b-2603:thinking", - "name": "Mistral Small 4 119B Thinking", - "display_name": "Mistral Small 4 119B Thinking", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 16384 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": true, - "open_weights": false, - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "knowledge": "2024-10", + "release_date": "2025-12-01", + "last_updated": "2025-12", "cost": { - "input": 0.4, - "output": 1.4 + "input": 0.045, + "output": 0.15 }, "type": "chat" }, { - "id": "mistralai/Devstral-Small-2505", - "name": "Mistral Devstral Small 2505", - "display_name": "Mistral Devstral Small 2505", + "id": "perplexity/sonar-reasoning-pro", + "name": "Sonar Reasoning Pro", + "display_name": "Sonar Reasoning Pro", "modalities": { "input": [ "text" @@ -17349,57 +17824,55 @@ ] }, "limit": { - "context": 32768, - "output": 8192 + "context": 127000, + "output": 8000 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2025-08-02", - "last_updated": "2025-08-02", - "cost": { - "input": 0.060000000000000005, - "output": 0.060000000000000005 - }, + "knowledge": "2025-09", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", "type": "chat" }, { - "id": "mistralai/codestral-2508", - "name": "Codestral 2508", - "display_name": "Codestral 2508", + "id": "perplexity/sonar", + "name": "Sonar", + "display_name": "Sonar", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 32768 + "context": 127000, + "output": 8000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-08-01", - "last_updated": "2025-08-01", - "cost": { - "input": 0.3, - "output": 0.8999999999999999 - }, + "knowledge": "2025-02", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", "type": "chat" }, { - "id": "mistralai/mistral-small-4-119b-2603", - "name": "Mistral Small 4 119B", - "display_name": "Mistral Small 4 119B", + "id": "perplexity/sonar-pro", + "name": "Sonar Pro", + "display_name": "Sonar Pro", "modalities": { "input": [ "text", @@ -17410,28 +17883,25 @@ ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 200000, + "output": 8000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-03-16", - "last_updated": "2026-03-16", - "cost": { - "input": 0.4, - "output": 1.4 - }, + "knowledge": "2025-09", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", "type": "chat" }, { - "id": "mistralai/devstral-2-123b-instruct-2512", - "name": "Devstral 2 123B", - "display_name": "Devstral 2 123B", + "id": "amazon/titan-embed-text-v2", + "name": "Titan Text Embeddings V2", + "display_name": "Titan Text Embeddings V2", "modalities": { "input": [ "text" @@ -17441,253 +17911,268 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 8192, + "output": 1536 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-12-09", - "last_updated": "2025-12-09", - "cost": { - "input": 0.4, - "output": 1.4 - }, + "release_date": "2024-04-01", + "last_updated": "2024-04", "type": "chat" }, { - "id": "deepseek/deepseek-v3.2:thinking", - "name": "DeepSeek V3.2 Thinking", - "display_name": "DeepSeek V3.2 Thinking", + "id": "amazon/nova-2-lite", + "name": "Nova 2 Lite", + "display_name": "Nova 2 Lite", "modalities": { "input": [ "text", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 163000, - "output": 65536 + "context": 1000000, + "output": 1000000 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "attachment": true, "open_weights": false, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "knowledge": "2024-10", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", "cost": { - "input": 0.27999999999999997, - "output": 0.42000000000000004 + "input": 0.3, + "output": 2.5, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "deepseek/deepseek-v4-pro-cheaper", - "name": "DeepSeek V4 Pro Cheaper", - "display_name": "DeepSeek V4 Pro Cheaper", + "id": "amazon/nova-lite", + "name": "Nova Lite", + "display_name": "Nova Lite", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 384000 + "context": 300000, + "output": 8192 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-04-25", - "last_updated": "2026-04-25", + "knowledge": "2024-10", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", "cost": { - "input": 0.435, - "output": 0.87, - "cache_read": 0.003625 + "input": 0.06, + "output": 0.24, + "cache_read": 0.015 }, "type": "chat" }, { - "id": "deepseek/deepseek-v3.2", - "name": "DeepSeek V3.2", - "display_name": "DeepSeek V3.2", + "id": "amazon/nova-micro", + "name": "Nova Micro", + "display_name": "Nova Micro", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 163000, - "output": 65536 + "context": 128000, + "output": 8192 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "knowledge": "2024-10", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", "cost": { - "input": 0.27999999999999997, - "output": 0.42000000000000004 + "input": 0.035, + "output": 0.14, + "cache_read": 0.00875 }, "type": "chat" }, { - "id": "deepseek/deepseek-prover-v2-671b", - "name": "DeepSeek Prover v2 671B", - "display_name": "DeepSeek Prover v2 671B", + "id": "amazon/nova-pro", + "name": "Nova Pro", + "display_name": "Nova Pro", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 160000, - "output": 16384 + "context": 300000, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-04-30", - "last_updated": "2025-04-30", + "knowledge": "2024-10", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", "cost": { - "input": 1, - "output": 2.5 + "input": 0.8, + "output": 3.2, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "deepseek/deepseek-v4-flash:thinking", - "name": "DeepSeek V4 Flash (Thinking)", - "display_name": "DeepSeek V4 Flash (Thinking)", + "id": "alibaba/qwen3-vl-thinking", + "name": "Qwen3 VL Thinking", + "display_name": "Qwen3 VL Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 384000 + "context": 131072, + "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "knowledge": "2025-09", + "release_date": "2025-09-24", + "last_updated": "2025-09-24", "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.028 + "input": 0.4, + "output": 4 }, "type": "chat" }, { - "id": "deepseek/deepseek-v3.2-speciale", - "name": "DeepSeek V3.2 Speciale", - "display_name": "DeepSeek V3.2 Speciale", + "id": "alibaba/qwen3-coder-plus", + "name": "Qwen3 Coder Plus", + "display_name": "Qwen3 Coder Plus", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 163000, + "context": 1000000, "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", "cost": { - "input": 0.27999999999999997, - "output": 0.42000000000000004 + "input": 1, + "output": 5, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "deepseek/deepseek-v4-pro:thinking", - "name": "DeepSeek V4 Pro (Thinking)", - "display_name": "DeepSeek V4 Pro (Thinking)", + "id": "alibaba/wan-v2.6-r2v", + "name": "Wan v2.6 Reference-to-Video", + "display_name": "Wan v2.6 Reference-to-Video", "modalities": { "input": [ "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 1048576, - "output": 384000 + "context": 8192, + "output": 8192 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-04-24", - "last_updated": "2026-04-24", - "cost": { - "input": 1.1, - "output": 2.2, - "cache_read": 0.11 - }, + "release_date": "2025-12-16", + "last_updated": "2025-12-16", "type": "chat" }, { - "id": "deepseek/deepseek-v4-pro-cheaper:thinking", - "name": "DeepSeek V4 Pro Cheaper (Thinking)", - "display_name": "DeepSeek V4 Pro Cheaper (Thinking)", + "id": "alibaba/qwen3-embedding-0.6b", + "name": "Qwen3 Embedding 0.6B", + "display_name": "Qwen3 Embedding 0.6B", "modalities": { "input": [ "text" @@ -17697,29 +18182,24 @@ ] }, "limit": { - "context": 1048576, - "output": 384000 + "context": 32768, + "output": 32768 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-04-25", - "last_updated": "2026-04-25", - "cost": { - "input": 0.435, - "output": 0.87, - "cache_read": 0.003625 - }, - "type": "chat" + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "type": "embedding" }, { - "id": "deepseek/deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "alibaba/qwen3-max-preview", + "name": "Qwen3 Max Preview", + "display_name": "Qwen3 Max Preview", "modalities": { "input": [ "text" @@ -17729,13 +18209,13 @@ ] }, "limit": { - "context": 1048576, - "output": 384000 + "context": 262144, + "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -17750,19 +18230,20 @@ }, "attachment": false, "open_weights": false, - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "knowledge": "2025-04", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.028 + "input": 1.2, + "output": 6, + "cache_read": 0.24 }, "type": "chat" }, { - "id": "deepseek/deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "alibaba/qwen3-embedding-8b", + "name": "Qwen3 Embedding 8B", + "display_name": "Qwen3 Embedding 8B", "modalities": { "input": [ "text" @@ -17772,40 +18253,24 @@ ] }, "limit": { - "context": 1048576, - "output": 384000 + "context": 32768, + "output": 32768 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-04-24", - "last_updated": "2026-04-24", - "cost": { - "input": 1.1, - "output": 2.2, - "cache_read": 0.11 - }, - "type": "chat" + "release_date": "2025-06-05", + "last_updated": "2025-06-05", + "type": "embedding" }, { - "id": "deepseek/deepseek-latest", - "name": "DeepSeek Latest", - "display_name": "DeepSeek Latest", + "id": "alibaba/qwen3-next-80b-a3b-instruct", + "name": "Qwen3 Next 80B A3B Instruct", + "display_name": "Qwen3 Next 80B A3B Instruct", "modalities": { "input": [ "text" @@ -17815,149 +18280,172 @@ ] }, "limit": { - "context": 1048576, - "output": 384000 + "context": 131072, + "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-05-03", - "last_updated": "2026-05-03", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-09-12", + "last_updated": "2025-09", "cost": { - "input": 1.1, - "output": 2.2, - "cache_read": 0.11 + "input": 0.15, + "output": 1.2 }, "type": "chat" }, { - "id": "Tongyi-Zhiwen/QwenLong-L1-32B", - "name": "QwenLong L1 32B", - "display_name": "QwenLong L1 32B", + "id": "alibaba/qwen3.7-plus", + "name": "Qwen 3.7 Plus", + "display_name": "Qwen 3.7 Plus", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 40960 + "context": 1000000, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-01-25", - "last_updated": "2025-01-25", + "knowledge": "2025-04", + "release_date": "2026-06-01", + "last_updated": "2026-06-02", "cost": { - "input": 0.13999999999999999, - "output": 0.6 + "input": 0.4, + "output": 1.6, + "cache_read": 0.08, + "cache_write": 0.5 }, "type": "chat" }, { - "id": "chutesai/Mistral-Small-3.2-24B-Instruct-2506", - "name": "Mistral Small 3.2 24b Instruct", - "display_name": "Mistral Small 3.2 24b Instruct", + "id": "alibaba/qwen3-vl-instruct", + "name": "Qwen3 VL Instruct", + "display_name": "Qwen3 VL Instruct", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 131072 + "context": 131072, + "output": 129024 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", + "attachment": true, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-09-24", + "last_updated": "2025-09-24", "cost": { - "input": 0.2, - "output": 0.4 + "input": 0.4, + "output": 1.6 }, "type": "chat" }, { - "id": "MiniMaxAI/MiniMax-M1-80k", - "name": "MiniMax M1 80K", - "display_name": "MiniMax M1 80K", + "id": "alibaba/qwen3.7-max", + "name": "Qwen 3.7 Max", + "display_name": "Qwen 3.7 Max", "modalities": { "input": [ - "text" + "text", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 131072 + "context": 991000, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-06-16", - "last_updated": "2025-06-16", + "release_date": "2026-05-21", + "last_updated": "2026-05-21", "cost": { - "input": 0.6052, - "output": 2.4225000000000003 + "input": 1.25, + "output": 3.75, + "cache_read": 0.25, + "cache_write": 1.5625 }, "type": "chat" }, { - "id": "dmind/dmind-1-mini", - "name": "DMind-1-Mini", - "display_name": "DMind-1-Mini", + "id": "alibaba/wan-v2.5-t2v-preview", + "name": "Wan v2.5 Text-to-Video Preview", + "display_name": "Wan v2.5 Text-to-Video Preview", "modalities": { "input": [ "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 32768, + "context": 8192, "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-06-01", - "last_updated": "2025-06-01", - "cost": { - "input": 0.2, - "output": 0.4 - }, + "release_date": "2025-09-24", + "last_updated": "2025-09-24", "type": "chat" }, { - "id": "dmind/dmind-1", - "name": "DMind-1", - "display_name": "DMind-1", + "id": "alibaba/qwen3-max", + "name": "Qwen3 Max", + "display_name": "Qwen3 Max", "modalities": { "input": [ "text" @@ -17967,27 +18455,41 @@ ] }, "limit": { - "context": 32768, - "output": 8192 + "context": 262144, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": false, - "release_date": "2025-06-01", - "last_updated": "2025-06-01", + "knowledge": "2025-04", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", "cost": { - "input": 0.3, - "output": 0.6 + "input": 1.2, + "output": 6, + "cache_read": 0.24 }, "type": "chat" }, { - "id": "zai-org/glm-5.1:thinking", - "name": "GLM 5.1 Thinking", - "display_name": "GLM 5.1 Thinking", + "id": "alibaba/qwen3-next-80b-a3b-thinking", + "name": "Qwen3 Next 80B A3B Thinking", + "display_name": "Qwen3 Next 80B A3B Thinking", "modalities": { "input": [ "text" @@ -17997,28 +18499,41 @@ ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 131072, + "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "knowledge": "2025-09", + "release_date": "2025-09-12", + "last_updated": "2025-09", "cost": { - "input": 0.3, - "output": 2.55 + "input": 0.15, + "output": 1.2 }, "type": "chat" }, { - "id": "zai-org/GLM-4.6-turbo:thinking", - "name": "GLM 4.6 Turbo (Thinking)", - "display_name": "GLM 4.6 Turbo (Thinking)", + "id": "alibaba/qwen3-embedding-4b", + "name": "Qwen3 Embedding 4B", + "display_name": "Qwen3 Embedding 4B", "modalities": { "input": [ "text" @@ -18028,28 +18543,71 @@ ] }, "limit": { - "context": 200000, - "output": 204800 + "context": 32768, + "output": 32768 }, + "temperature": true, "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-06-05", + "last_updated": "2025-06-05", + "type": "embedding" + }, + { + "id": "alibaba/qwen3.5-flash", + "name": "Qwen 3.5 Flash", + "display_name": "Qwen 3.5 Flash", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 64000 + }, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-10-02", - "last_updated": "2025-10-02", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", "cost": { - "input": 1, - "output": 3 + "input": 0.1, + "output": 0.4, + "cache_read": 0.001, + "cache_write": 0.125 }, "type": "chat" }, { - "id": "zai-org/glm-4.7-original", - "name": "GLM 4.7 Original", - "display_name": "GLM 4.7 Original", + "id": "alibaba/qwen3-coder", + "name": "Qwen3 Coder 480B A35B Instruct", + "display_name": "Qwen3 Coder 480B A35B Instruct", "modalities": { "input": [ "text" @@ -18059,29 +18617,30 @@ ] }, "limit": { - "context": 200000, - "output": 65535 + "context": 262144, + "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "knowledge": "2025-04", + "release_date": "2025-04-01", + "last_updated": "2025-04", "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11 + "input": 1.5, + "output": 7.5, + "cache_read": 0.3 }, "type": "chat" }, { - "id": "zai-org/GLM-4.5-Air", - "name": "GLM 4.5 Air", - "display_name": "GLM 4.5 Air", + "id": "alibaba/qwen-3-235b", + "name": "Qwen3 235B A22B Instruct 2507", + "display_name": "Qwen3 235B A22B Instruct 2507", "modalities": { "input": [ "text" @@ -18091,91 +18650,104 @@ ] }, "limit": { - "context": 128000, - "output": 98304 + "context": 262144, + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", + "knowledge": "2025-04", + "release_date": "2025-04-01", + "last_updated": "2025-04", "cost": { - "input": 0.12, - "output": 0.8 + "input": 0.22, + "output": 0.88 }, "type": "chat" }, { - "id": "zai-org/glm-4.6v-flash-original", - "name": "GLM 4.6V Flash", - "display_name": "GLM 4.6V Flash", + "id": "alibaba/qwen3.5-plus", + "name": "Qwen 3.5 Plus", + "display_name": "Qwen 3.5 Plus", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 24000 + "context": 1000000, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2025-12-08", - "last_updated": "2025-12-08", + "knowledge": "2025-04", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", "cost": { - "input": 0.1, - "output": 0.4 + "input": 0.4, + "output": 2.4, + "cache_read": 0.04, + "cache_write": 0.5 }, "type": "chat" }, { - "id": "zai-org/glm-latest", - "name": "GLM Latest", - "display_name": "GLM Latest", + "id": "alibaba/wan-v2.6-t2v", + "name": "Wan v2.6 Text-to-Video", + "display_name": "Wan v2.6 Text-to-Video", "modalities": { "input": [ "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 8192, + "output": 8192 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-05-03", - "last_updated": "2026-05-03", - "cost": { - "input": 0.75, - "output": 2.6, - "cache_read": 0.15 - }, + "release_date": "2025-12-16", + "last_updated": "2025-12-16", "type": "chat" }, { - "id": "zai-org/glm-4.7", - "name": "GLM 4.7", - "display_name": "GLM 4.7", + "id": "alibaba/qwen3-max-thinking", + "name": "Qwen 3 Max Thinking", + "display_name": "Qwen 3 Max Thinking", "modalities": { "input": [ "text" @@ -18185,9 +18757,10 @@ ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 256000, + "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -18206,81 +18779,74 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-01-29", - "last_updated": "2026-01-29", + "knowledge": "2025-01", + "release_date": "2025-01", + "last_updated": "2025-01", "cost": { - "input": 0.15, - "output": 0.8 + "input": 1.2, + "output": 6, + "cache_read": 0.24 }, "type": "chat" }, { - "id": "zai-org/glm-4.7-flash-original:thinking", - "name": "GLM 4.7 Flash Original Thinking", - "display_name": "GLM 4.7 Flash Original Thinking", + "id": "alibaba/wan-v2.6-i2v-flash", + "name": "Wan v2.6 Image-to-Video Flash", + "display_name": "Wan v2.6 Image-to-Video Flash", "modalities": { "input": [ "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "cost": { - "input": 0.07, - "output": 0.4 - }, + "release_date": "2025-12-16", + "last_updated": "2025-12-16", "type": "chat" }, { - "id": "zai-org/glm-5-original:thinking", - "name": "GLM 5 Original Thinking", - "display_name": "GLM 5 Original Thinking", + "id": "alibaba/wan-v2.6-r2v-flash", + "name": "Wan v2.6 Reference-to-Video Flash", + "display_name": "Wan v2.6 Reference-to-Video Flash", "modalities": { "input": [ "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 8192, + "output": 8192 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "cost": { - "input": 1, - "output": 3.2, - "cache_read": 0.2 - }, + "release_date": "2025-12-16", + "last_updated": "2025-12-16", "type": "chat" }, { - "id": "zai-org/glm-4.6-original", - "name": "GLM 4.6 Original", - "display_name": "GLM 4.6 Original", + "id": "alibaba/qwen3-coder-next", + "name": "Qwen3 Coder Next", + "display_name": "Qwen3 Coder Next", "modalities": { "input": [ "text" @@ -18291,90 +18857,100 @@ }, "limit": { "context": 256000, - "output": 65535 + "output": 256000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": false, "open_weights": false, - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2025-07-22", + "last_updated": "2026-02-19", "cost": { - "input": 0.35, - "output": 1.4 + "input": 0.5, + "output": 1.2 }, "type": "chat" }, { - "id": "zai-org/glm-5-original", - "name": "GLM 5 Original", - "display_name": "GLM 5 Original", + "id": "alibaba/qwen3.6-27b", + "name": "Qwen 3.6 27B", + "display_name": "Qwen 3.6 27B", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 256000, + "output": 256000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 1, - "output": 3.2, - "cache_read": 0.2 + "input": 0.6, + "output": 3.6 }, "type": "chat" }, { - "id": "zai-org/glm-4.6v", - "name": "GLM 4.6V", - "display_name": "GLM 4.6V", + "id": "alibaba/wan-v2.6-i2v", + "name": "Wan v2.6 Image-to-Video", + "display_name": "Wan v2.6 Image-to-Video", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 128000, - "output": 24000 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "cost": { - "input": 0.3, - "output": 0.9 - }, + "release_date": "2025-12-16", + "last_updated": "2025-12-16", "type": "chat" }, { - "id": "zai-org/GLM-4.6-turbo", - "name": "GLM 4.6 Turbo", - "display_name": "GLM 4.6 Turbo", + "id": "alibaba/qwen-3-30b", + "name": "Qwen3-30B-A3B", + "display_name": "Qwen3-30B-A3B", "modalities": { "input": [ "text" @@ -18384,58 +18960,109 @@ ] }, "limit": { - "context": 200000, - "output": 204800 + "context": 40960, + "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2025-10-02", - "last_updated": "2025-10-02", + "knowledge": "2025-04", + "release_date": "2025-04-01", + "last_updated": "2025-04", "cost": { - "input": 1, - "output": 3 + "input": 0.12, + "output": 0.5 }, "type": "chat" }, { - "id": "zai-org/GLM-4.5:thinking", - "name": "GLM 4.5 (Thinking)", - "display_name": "GLM 4.5 (Thinking)", + "id": "alibaba/qwen3-235b-a22b-thinking", + "name": "Qwen3 235B A22B Thinking 2507", + "display_name": "Qwen3 235B A22B Thinking 2507", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 65536 + "context": 131072, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", + "knowledge": "2025-04", + "release_date": "2025-09-24", + "last_updated": "2025-04", "cost": { - "input": 0.3, - "output": 1.3 + "input": 0.4, + "output": 4 }, "type": "chat" }, { - "id": "zai-org/glm-4.7-flash", - "name": "GLM 4.7 Flash", - "display_name": "GLM 4.7 Flash", + "id": "alibaba/qwen3-vl-235b-a22b-instruct", + "name": "Qwen3 VL 235B A22B Instruct", + "display_name": "Qwen3 VL 235B A22B Instruct", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 129024 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-09-24", + "last_updated": "2026-05-01", + "cost": { + "input": 0.4, + "output": 1.6 + }, + "type": "chat" + }, + { + "id": "alibaba/qwen-3-14b", + "name": "Qwen3-14B", + "display_name": "Qwen3-14B", "modalities": { "input": [ "text" @@ -18445,33 +19072,30 @@ ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 40960, + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, "attachment": false, - "open_weights": true, - "release_date": "2026-01-19", - "last_updated": "2026-01-19", + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2025-04-01", + "last_updated": "2025-04", "cost": { - "input": 0.07, - "output": 0.4 + "input": 0.12, + "output": 0.24 }, "type": "chat" }, { - "id": "zai-org/glm-4.7-flash-original", - "name": "GLM 4.7 Flash Original", - "display_name": "GLM 4.7 Flash Original", + "id": "alibaba/qwen-3-32b", + "name": "Qwen 3.32B", + "display_name": "Qwen 3.32B", "modalities": { "input": [ "text" @@ -18481,9 +19105,10 @@ ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 128000, + "output": 8192 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -18491,49 +19116,54 @@ }, "attachment": false, "open_weights": false, - "release_date": "2026-01-19", - "last_updated": "2026-01-19", + "knowledge": "2025-04", + "release_date": "2025-04-01", + "last_updated": "2025-04", "cost": { - "input": 0.07, - "output": 0.4 + "input": 0.16, + "output": 0.64 }, "type": "chat" }, { - "id": "zai-org/glm-5:thinking", - "name": "GLM 5 Thinking", - "display_name": "GLM 5 Thinking", + "id": "alibaba/qwen-3.6-max-preview", + "name": "Qwen 3.6 Max Preview", + "display_name": "Qwen 3.6 Max Preview", "modalities": { "input": [ - "text" + "text", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 240000, + "output": 64000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "release_date": "2026-04-20", + "last_updated": "2026-04-24", "cost": { - "input": 0.3, - "output": 2.55 + "input": 1.3, + "output": 7.8, + "cache_read": 0.26, + "cache_write": 1.625 }, "type": "chat" }, { - "id": "zai-org/glm-4.7-original:thinking", - "name": "GLM 4.7 Original Thinking", - "display_name": "GLM 4.7 Original Thinking", + "id": "alibaba/qwen3-coder-30b-a3b", + "name": "Qwen 3 Coder 30B A3B Instruct", + "display_name": "Qwen 3 Coder 30B A3B Instruct", "modalities": { "input": [ "text" @@ -18543,9 +19173,10 @@ ] }, "limit": { - "context": 200000, - "output": 65535 + "context": 262144, + "output": 8192 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -18553,31 +19184,34 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "knowledge": "2025-04", + "release_date": "2025-04-01", + "last_updated": "2025-04", "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "zai-org/glm-5", - "name": "GLM 5", - "display_name": "GLM 5", + "id": "alibaba/qwen3.6-plus", + "name": "Qwen 3.6 Plus", + "display_name": "Qwen 3.6 Plus", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 1000000, + "output": 64000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -18594,20 +19228,23 @@ ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "attachment": true, + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0.3, - "output": 2.55 + "input": 0.5, + "output": 3, + "cache_read": 0.1, + "cache_write": 0.625 }, "type": "chat" }, { - "id": "zai-org/glm-4.7:thinking", - "name": "GLM 4.7 Thinking", - "display_name": "GLM 4.7 Thinking", + "id": "meituan/longcat-flash-thinking-2601", + "name": "LongCat Flash Thinking 2601", + "display_name": "LongCat Flash Thinking 2601", "modalities": { "input": [ "text" @@ -18617,28 +19254,25 @@ ] }, "limit": { - "context": 200000, - "output": 65535 + "context": 32768, + "output": 32768 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "attachment": false, "open_weights": false, - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "cost": { - "input": 0.2, - "output": 0.8 - }, + "release_date": "2026-03-13", + "last_updated": "2026-03-13", "type": "chat" }, { - "id": "zai-org/glm-4.5", - "name": "GLM 4.5", - "display_name": "GLM 4.5", + "id": "meituan/longcat-flash-chat", + "name": "LongCat Flash Chat", + "display_name": "LongCat Flash Chat", "modalities": { "input": [ "text" @@ -18649,26 +19283,24 @@ }, "limit": { "context": 128000, - "output": 65536 + "output": 100000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "cost": { - "input": 0.3, - "output": 1.3 - }, + "knowledge": "2024-10", + "release_date": "2025-08-30", + "last_updated": "2025-08-30", "type": "chat" }, { - "id": "zai-org/GLM-4.5-Air:thinking", - "name": "GLM 4.5 Air (Thinking)", - "display_name": "GLM 4.5 Air (Thinking)", + "id": "meta/llama-3.2-1b", + "name": "Llama 3.2 1B Instruct", + "display_name": "Llama 3.2 1B Instruct", "modalities": { "input": [ "text" @@ -18679,27 +19311,28 @@ }, "limit": { "context": 128000, - "output": 98304 + "output": 8192 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", + "knowledge": "2023-12", + "release_date": "2024-09-18", + "last_updated": "2024-09-18", "cost": { - "input": 0.12, - "output": 0.8 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "zai-org/glm-4.6v-original", - "name": "GLM 4.6V Original", - "display_name": "GLM 4.6V Original", + "id": "meta/llama-3.2-11b", + "name": "Llama 3.2 11B Vision Instruct", + "display_name": "Llama 3.2 11B Vision Instruct", "modalities": { "input": [ "text", @@ -18711,26 +19344,28 @@ }, "limit": { "context": 128000, - "output": 24000 + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-12-08", - "last_updated": "2025-12-08", + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", "cost": { - "input": 0.6, - "output": 0.9 + "input": 0.16, + "output": 0.16 }, "type": "chat" }, { - "id": "zai-org/glm-4.7-flash:thinking", - "name": "GLM 4.7 Flash Thinking", - "display_name": "GLM 4.7 Flash Thinking", + "id": "meta/llama-3.1-8b", + "name": "Llama 3.1 8B Instruct", + "display_name": "Llama 3.1 8B Instruct", "modalities": { "input": [ "text" @@ -18740,64 +19375,62 @@ ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 128000, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-01-19", - "last_updated": "2026-01-19", + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 0.07, - "output": 0.4 + "input": 0.22, + "output": 0.22 }, "type": "chat" }, { - "id": "zai-org/glm-5.1", - "name": "GLM 5.1", - "display_name": "GLM 5.1", + "id": "meta/llama-3.2-90b", + "name": "Llama 3.2 90B Vision Instruct", + "display_name": "Llama 3.2 90B Vision Instruct", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 128000, + "output": 8192 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "attachment": true, + "open_weights": false, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", "cost": { - "input": 0.3, - "output": 2.55 + "input": 0.72, + "output": 0.72 }, "type": "chat" }, { - "id": "MarinaraSpaghetti/NemoMix-Unleashed-12B", - "name": "NemoMix 12B Unleashed", - "display_name": "NemoMix 12B Unleashed", + "id": "meta/llama-3.1-70b", + "name": "Llama 3.1 70B Instruct", + "display_name": "Llama 3.1 70B Instruct", "modalities": { "input": [ "text" @@ -18807,27 +19440,29 @@ ] }, "limit": { - "context": 32768, + "context": 128000, "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 0.49299999999999994, - "output": 0.49299999999999994 + "input": 0.72, + "output": 0.72 }, "type": "chat" }, { - "id": "deepcogito/cogito-v1-preview-qwen-32B", - "name": "Cogito v1 Preview Qwen 32B", - "display_name": "Cogito v1 Preview Qwen 32B", + "id": "meta/llama-3.2-3b", + "name": "Llama 3.2 3B Instruct", + "display_name": "Llama 3.2 3B Instruct", "modalities": { "input": [ "text" @@ -18838,56 +19473,61 @@ }, "limit": { "context": 128000, - "output": 32768 + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-05-10", - "last_updated": "2025-05-10", + "knowledge": "2023-12", + "release_date": "2024-09-18", + "last_updated": "2024-09-18", "cost": { - "input": 1.7999999999999998, - "output": 1.7999999999999998 + "input": 0.15, + "output": 0.15 }, "type": "chat" }, { - "id": "inflection/inflection-3-pi", - "name": "Inflection 3 Pi", - "display_name": "Inflection 3 Pi", + "id": "meta/llama-4-scout", + "name": "Llama-4-Scout-17B-16E-Instruct-FP8", + "display_name": "Llama-4-Scout-17B-16E-Instruct-FP8", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8000, + "context": 128000, "output": 4096 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2024-10-11", - "last_updated": "2024-10-11", + "attachment": true, + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { - "input": 2.499, - "output": 9.996 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "inflection/inflection-3-productivity", - "name": "Inflection 3 Productivity", - "display_name": "Inflection 3 Productivity", + "id": "meta/llama-3.3-70b", + "name": "Llama-3.3-70B-Instruct", + "display_name": "Llama-3.3-70B-Instruct", "modalities": { "input": [ "text" @@ -18897,154 +19537,179 @@ ] }, "limit": { - "context": 8000, + "context": 128000, "output": 4096 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2024-10-11", - "last_updated": "2024-10-11", + "attachment": true, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 2.499, - "output": 9.996 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "LatitudeGames/Wayfarer-Large-70B-Llama-3.3", - "name": "Llama 3.3 70B Wayfarer", - "display_name": "Llama 3.3 70B Wayfarer", + "id": "meta/llama-4-maverick", + "name": "Llama-4-Maverick-17B-128E-Instruct-FP8", + "display_name": "Llama-4-Maverick-17B-128E-Instruct-FP8", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 128000, + "output": 4096 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2025-02-20", - "last_updated": "2025-02-20", + "attachment": true, + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { - "input": 0.700000007, - "output": 0.700000007 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "perceptron/perceptron-mk1", - "name": "Perceptron Mk1", - "display_name": "Perceptron Mk1", + "id": "deepseek/deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 8192 + "context": 1000000, + "output": 384000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2026-05-12", - "last_updated": "2026-05-12", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-23", + "last_updated": "2026-04-24", "cost": { - "input": 0.15, - "output": 1.5 + "input": 0.14, + "output": 0.28, + "cache_read": 0.0028 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.7:thinking", - "name": "Claude 4.7 Opus Thinking", - "display_name": "Claude 4.7 Opus Thinking", + "id": "deepseek/deepseek-v3.1-terminus", + "name": "DeepSeek V3.1 Terminus", + "display_name": "DeepSeek V3.1 Terminus", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] - } + "attachment": false, + "open_weights": true, + "knowledge": "2025-07", + "release_date": "2025-09-22", + "last_updated": "2025-09-22", + "cost": { + "input": 0.27, + "output": 1, + "cache_read": 0.135 }, - "attachment": true, + "type": "chat" + }, + { + "id": "deepseek/deepseek-v3", + "name": "DeepSeek V3 0324", + "display_name": "DeepSeek V3 0324", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 163840, + "output": 163840 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, "open_weights": false, - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "knowledge": "2024-07", + "release_date": "2024-12-26", + "last_updated": "2024-12-26", "cost": { - "input": 4.998, - "output": 25.007, - "cache_read": 0.4998 + "input": 0.27, + "output": 1.12, + "cache_read": 0.135 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.6:thinking", - "name": "Claude 4.6 Opus Thinking", - "display_name": "Claude 4.6 Opus Thinking", + "id": "deepseek/deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ "text", - "image", "pdf" ], "output": [ @@ -19053,8 +19718,9 @@ }, "limit": { "context": 1000000, - "output": 128000 + "output": 384000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -19063,45 +19729,30 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-23", + "last_updated": "2026-04-24", "cost": { - "input": 4.998, - "output": 25.007 + "input": 0.435, + "output": 0.87, + "cache_read": 0.0036 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4.6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "deepseek/deepseek-v3.2-thinking", + "name": "DeepSeek V3.2 Thinking", + "display_name": "DeepSeek V3.2 Thinking", "modalities": { "input": [ "text", @@ -19113,91 +19764,70 @@ ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 128000, + "output": 8000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] + "interleaved": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-02-17", + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "cost": { - "input": 2.992, - "output": 14.993999999999998 + "input": 0.62, + "output": 1.85 }, "type": "chat" }, { - "id": "anthropic/claude-opus-latest", - "name": "Claude Opus Latest", - "display_name": "Claude Opus Latest", + "id": "deepseek/deepseek-v3.1", + "name": "DeepSeek-V3.1", + "display_name": "DeepSeek-V3.1", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 163840, + "output": 8192 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-03-29", - "last_updated": "2026-03-29", + "knowledge": "2024-07", + "release_date": "2025-08-21", + "last_updated": "2025-08-21", "cost": { - "input": 4.998, - "output": 25.007, - "cache_read": 0.4998 + "input": 0.56, + "output": 1.68, + "cache_read": 0.28 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.7", - "name": "Claude 4.7 Opus", - "display_name": "Claude 4.7 Opus", + "id": "deepseek/deepseek-v3.2", + "name": "DeepSeek V3.2", + "display_name": "DeepSeek V3.2", "modalities": { "input": [ "text", @@ -19209,69 +19839,92 @@ ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 128000, + "output": 8000 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": false, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "cost": { + "input": 0.28, + "output": 0.42, + "cache_read": 0.028 + }, + "type": "chat" + }, + { + "id": "deepseek/deepseek-r1", + "name": "DeepSeek-R1", + "display_name": "DeepSeek-R1", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-05-29", "cost": { - "input": 4.998, - "output": 25.007, - "cache_read": 0.4998 + "input": 1.35, + "output": 5.4 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.8:thinking", - "name": "Claude Opus 4.8 Thinking", - "display_name": "Claude Opus 4.8 Thinking", + "id": "minimax/minimax-m2.7-highspeed", + "name": "MiniMax M2.7 High Speed", + "display_name": "MiniMax M2.7 High Speed", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 204800, + "output": 131100 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -19280,92 +19933,82 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, "attachment": true, - "open_weights": false, - "release_date": "2026-05-28", - "last_updated": "2026-05-28", + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 4.998, - "output": 25.007, - "cache_read": 0.4998 + "input": 0.6, + "output": 2.4, + "cache_read": 0.06, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "anthropic/claude-haiku-latest", - "name": "Claude Haiku Latest", - "display_name": "Claude Haiku Latest", + "id": "minimax/minimax-m2.5", + "name": "MiniMax M2.5", + "display_name": "MiniMax M2.5", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 204800, + "output": 131000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, "open_weights": false, - "release_date": "2026-03-29", - "last_updated": "2026-03-29", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1 + "input": 0.3, + "output": 1.2, + "cache_read": 0.03, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.6:thinking:max", - "name": "Claude 4.6 Opus Thinking Max", - "display_name": "Claude 4.6 Opus Thinking Max", + "id": "minimax/minimax-m2.1", + "name": "MiniMax M2.1", + "display_name": "MiniMax M2.1", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 204800, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -19374,45 +20017,26 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] + "interleaved": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "knowledge": "2024-10", + "release_date": "2025-10-27", + "last_updated": "2025-12-23", "cost": { - "input": 4.998, - "output": 25.007 + "input": 0.3, + "output": 1.2, + "cache_read": 0.03, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.6", - "name": "Claude 4.6 Opus", - "display_name": "Claude 4.6 Opus", + "id": "minimax/minimax-m3", + "name": "MiniMax M3", + "display_name": "MiniMax M3", "modalities": { "input": [ "text", @@ -19425,129 +20049,88 @@ }, "limit": { "context": 1000000, - "output": 128000 + "output": 1000000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] + "supported": true } }, "attachment": true, - "open_weights": false, - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "open_weights": true, + "release_date": "2026-05-31", + "last_updated": "2026-06-01", "cost": { - "input": 4.998, - "output": 25.007 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.8", - "name": "Claude Opus 4.8", - "display_name": "Claude Opus 4.8", + "id": "minimax/minimax-m2", + "name": "MiniMax M2", + "display_name": "MiniMax M2", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 205000, + "output": 205000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] + "interleaved": true } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-05-28", - "last_updated": "2026-05-28", + "attachment": false, + "open_weights": true, + "knowledge": "2024-10", + "release_date": "2025-10-27", + "last_updated": "2025-10-27", "cost": { - "input": 4.998, - "output": 25.007, - "cache_read": 0.4998 + "input": 0.3, + "output": 1.2, + "cache_read": 0.03, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.6:thinking:low", - "name": "Claude 4.6 Opus Thinking Low", - "display_name": "Claude 4.6 Opus Thinking Low", + "id": "minimax/minimax-m2.7", + "name": "Minimax M2.7", + "display_name": "Minimax M2.7", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 204800, + "output": 131000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -19556,59 +20139,43 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, "attachment": true, - "open_weights": false, - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 4.998, - "output": 25.007 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.6:thinking:medium", - "name": "Claude 4.6 Opus Thinking Medium", - "display_name": "Claude 4.6 Opus Thinking Medium", + "id": "minimax/minimax-m2.5-highspeed", + "name": "MiniMax M2.5 High Speed", + "display_name": "MiniMax M2.5 High Speed", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 204800, + "output": 131000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -19616,200 +20183,150 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "release_date": "2026-02-12", + "last_updated": "2026-02-13", "cost": { - "input": 4.998, - "output": 25.007 + "input": 0.6, + "output": 2.4, + "cache_read": 0.03, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-latest", - "name": "Claude Sonnet Latest", - "display_name": "Claude Sonnet Latest", + "id": "minimax/minimax-m2.1-lightning", + "name": "MiniMax M2.1 Lightning", + "display_name": "MiniMax M2.1 Lightning", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 204800, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-03-01", - "last_updated": "2026-03-01", + "knowledge": "2024-10", + "release_date": "2025-10-27", + "last_updated": "2025-10-27", "cost": { - "input": 2.992, - "output": 14.994, - "cache_read": 0.2992 + "input": 0.3, + "output": 2.4, + "cache_read": 0.03, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4.6:thinking", - "name": "Claude Sonnet 4.6 Thinking", - "display_name": "Claude Sonnet 4.6 Thinking", + "id": "kwaipilot/kat-coder-pro-v1", + "name": "KAT-Coder-Pro V1", + "display_name": "KAT-Coder-Pro V1", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 256000, + "output": 32000 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-02-17", + "knowledge": "2024-10", + "release_date": "2025-10-24", + "last_updated": "2025-10-24", "cost": { - "input": 2.992, - "output": 14.993999999999998 + "input": 0.03, + "output": 1.2, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "alibaba/qwen3.6-27b", - "name": "Qwen3.6 27B", - "display_name": "Qwen3.6 27B", + "id": "kwaipilot/kat-coder-pro-v2", + "name": "Kat Coder Pro V2", + "display_name": "Kat Coder Pro V2", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 260096, - "output": 65536 + "context": 256000, + "output": 256000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "release_date": "2026-03-27", + "last_updated": "2026-03-30", "cost": { - "input": 0.203, - "output": 2.24 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 }, "type": "chat" - }, + } + ] + }, + "submodel": { + "id": "submodel", + "name": "submodel", + "display_name": "submodel", + "api": "https://llm.submodel.ai/v1", + "doc": "https://submodel.gitbook.io", + "models": [ { - "id": "alibaba/qwen3.6-27b:thinking", - "name": "Qwen3.6 27B Thinking", - "display_name": "Qwen3.6 27B Thinking", + "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", + "name": "Qwen3 235B A22B Thinking 2507", + "display_name": "Qwen3 235B A22B Thinking 2507", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 260096, - "output": 65536 + "context": 262144, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -19825,69 +20342,54 @@ ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "attachment": false, + "open_weights": true, + "release_date": "2025-08-23", + "last_updated": "2025-08-23", "cost": { - "input": 0.203, - "output": 2.24 + "input": 0.2, + "output": 0.6 }, "type": "chat" }, { - "id": "alibaba/qwen3.6-flash", - "name": "Qwen3.6 Flash", - "display_name": "Qwen3.6 Flash", + "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8", + "name": "Qwen3 Coder 480B A35B Instruct", + "display_name": "Qwen3 Coder 480B A35B Instruct", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 991800, - "output": 65536 + "context": 262144, + "output": 262144 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-04-17", - "last_updated": "2026-04-17", + "release_date": "2025-08-23", + "last_updated": "2025-08-23", "cost": { - "input": 0.19, - "output": 1.16 + "input": 0.2, + "output": 0.8 }, "type": "chat" }, { - "id": "xiaomi/mimo-v2-omni", - "name": "MiMo V2 Omni", - "display_name": "MiMo V2 Omni", + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "name": "Qwen3 235B A22B Instruct 2507", + "display_name": "Qwen3 235B A22B Instruct 2507", "modalities": { "input": [ - "text", - "image", - "video", - "audio" + "text" ], "output": [ "text" @@ -19895,27 +20397,27 @@ }, "limit": { "context": 262144, - "output": 65536 + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-03-19", - "last_updated": "2026-03-19", + "attachment": false, + "open_weights": true, + "release_date": "2025-08-23", + "last_updated": "2025-08-23", "cost": { - "input": 0.4, - "output": 2, - "cache_read": 0.08 + "input": 0.2, + "output": 0.3 }, "type": "chat" }, { - "id": "xiaomi/mimo-v2-flash-thinking", - "name": "MiMo V2 Flash (Thinking)", - "display_name": "MiMo V2 Flash (Thinking)", + "id": "openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "display_name": "GPT OSS 120B", "modalities": { "input": [ "text" @@ -19925,27 +20427,34 @@ ] }, "limit": { - "context": 256000, + "context": 131072, "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "open_weights": true, + "release_date": "2025-08-23", + "last_updated": "2025-08-23", "cost": { - "input": 0.102, - "output": 0.306 + "input": 0.1, + "output": 0.5 }, "type": "chat" }, { - "id": "xiaomi/mimo-v2-flash-thinking-original", - "name": "MiMo V2 Flash (Thinking) Original", - "display_name": "MiMo V2 Flash (Thinking) Original", + "id": "zai-org/GLM-4.5-FP8", + "name": "GLM 4.5 FP8", + "display_name": "GLM 4.5 FP8", "modalities": { "input": [ "text" @@ -19955,27 +20464,29 @@ ] }, "limit": { - "context": 256000, - "output": 32768 + "context": 131072, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "open_weights": true, + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 0.102, - "output": 0.306 + "input": 0.2, + "output": 0.8 }, "type": "chat" }, { - "id": "xiaomi/mimo-v2-flash-original", - "name": "MiMo V2 Flash Original", - "display_name": "MiMo V2 Flash Original", + "id": "zai-org/GLM-4.5-Air", + "name": "GLM 4.5 Air", + "display_name": "GLM 4.5 Air", "modalities": { "input": [ "text" @@ -19985,27 +20496,28 @@ ] }, "limit": { - "context": 256000, - "output": 32768 + "context": 131072, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "open_weights": true, + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 0.102, - "output": 0.306 + "input": 0.1, + "output": 0.5 }, "type": "chat" }, { - "id": "xiaomi/mimo-v2-pro", - "name": "MiMo V2 Pro", - "display_name": "MiMo V2 Pro", + "id": "deepseek-ai/DeepSeek-V3-0324", + "name": "DeepSeek V3 0324", + "display_name": "DeepSeek V3 0324", "modalities": { "input": [ "text" @@ -20015,63 +20527,71 @@ ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 75000, + "output": 163840 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-03-19", - "last_updated": "2026-03-19", + "release_date": "2025-08-23", + "last_updated": "2025-08-23", "cost": { - "input": 1, - "output": 3, - "cache_read": 0.2 + "input": 0.2, + "output": 0.8 }, "type": "chat" }, { - "id": "xiaomi/mimo-v2.5", - "name": "MiMo V2.5", - "display_name": "MiMo V2.5", + "id": "deepseek-ai/DeepSeek-R1-0528", + "name": "DeepSeek R1 0528", + "display_name": "DeepSeek R1 0528", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 75000, + "output": 163840 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": false, - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "release_date": "2025-08-23", + "last_updated": "2025-08-23", "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.0028 + "input": 0.5, + "output": 2.15 }, "type": "chat" }, { - "id": "xiaomi/mimo-v2-flash", - "name": "MiMo V2 Flash", - "display_name": "MiMo V2 Flash", + "id": "deepseek-ai/DeepSeek-V3.1", + "name": "DeepSeek V3.1", + "display_name": "DeepSeek V3.1", "modalities": { "input": [ "text" @@ -20081,27 +20601,38 @@ ] }, "limit": { - "context": 256000, - "output": 32768 + "context": 75000, + "output": 163840 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "release_date": "2025-08-23", + "last_updated": "2025-08-23", "cost": { - "input": 0.102, - "output": 0.306 + "input": 0.2, + "output": 0.8 }, "type": "chat" - }, + } + ] + }, + "huggingface": { + "id": "huggingface", + "name": "Hugging Face", + "display_name": "Hugging Face", + "api": "https://router.huggingface.co/v1", + "doc": "https://huggingface.co/docs/inference-providers", + "models": [ { - "id": "xiaomi/mimo-v2.5-pro", - "name": "MiMo V2.5 Pro", - "display_name": "MiMo V2.5 Pro", + "id": "moonshotai/Kimi-K2-Thinking", + "name": "Kimi-K2-Thinking", + "display_name": "Kimi-K2-Thinking", "modalities": { "input": [ "text" @@ -20111,29 +20642,42 @@ ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 262144, + "output": 262144 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, - "open_weights": false, - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", "cost": { - "input": 0.435, - "output": 0.87, - "cache_read": 0.0036 + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "ReadyArt/MS3.2-The-Omega-Directive-24B-Unslop-v2.0", - "name": "Omega Directive 24B Unslop v2.0", - "display_name": "Omega Directive 24B Unslop v2.0", + "id": "moonshotai/Kimi-K2-Instruct-0905", + "name": "Kimi-K2-Instruct-0905", + "display_name": "Kimi-K2-Instruct-0905", "modalities": { "input": [ "text" @@ -20143,107 +20687,127 @@ ] }, "limit": { - "context": 16384, - "output": 32768 + "context": 262144, + "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-12-08", - "last_updated": "2025-12-08", + "open_weights": true, + "knowledge": "2024-10", + "release_date": "2025-09-04", + "last_updated": "2025-09-04", "cost": { - "input": 0.5, - "output": 0.5 + "input": 1, + "output": 3 }, "type": "chat" }, { - "id": "mistral/mistral-medium-3.5", - "name": "Mistral Medium 3.5", - "display_name": "Mistral Medium 3.5", + "id": "moonshotai/Kimi-K2-Instruct", + "name": "Kimi-K2-Instruct", + "display_name": "Kimi-K2-Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 32768 + "context": 131072, + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-29", - "last_updated": "2026-04-29", + "attachment": false, + "open_weights": true, + "knowledge": "2024-10", + "release_date": "2025-07-14", + "last_updated": "2025-07-14", "cost": { - "input": 1.5, - "output": 7.5 + "input": 1, + "output": 3 }, "type": "chat" }, { - "id": "mistral/mistral-medium-3.5:thinking", - "name": "Mistral Medium 3.5 Thinking", - "display_name": "Mistral Medium 3.5 Thinking", + "id": "moonshotai/Kimi-K2.6", + "name": "Kimi-K2.6", + "display_name": "Kimi-K2.6", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 32768 + "context": 262144, + "output": 262144 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": true, - "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-04-30", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-20", + "last_updated": "2026-04-20", "cost": { - "input": 1.5, - "output": 7.5 + "input": 0.95, + "output": 4, + "cache_read": 0.16 }, "type": "chat" }, { - "id": "qwen/qwen3-32b", - "name": "Qwen 3 32b", - "display_name": "Qwen 3 32b", + "id": "moonshotai/Kimi-K2.5", + "name": "Kimi-K2.5", + "display_name": "Kimi-K2.5", "modalities": { "input": [ "text", - "pdf" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 41000, - "output": 32768 + "context": 262144, + "output": 262144 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -20257,19 +20821,21 @@ } }, "attachment": true, - "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-01-01", + "last_updated": "2026-01-01", "cost": { - "input": 0.1, - "output": 0.3 + "input": 0.6, + "output": 3, + "cache_read": 0.1 }, "type": "chat" }, { - "id": "qwen/qwq-32b-preview", - "name": "Qwen QwQ 32B Preview", - "display_name": "Qwen QwQ 32B Preview", + "id": "Qwen/Qwen3-Coder-Next", + "name": "Qwen3-Coder-Next", + "display_name": "Qwen3-Coder-Next", "modalities": { "input": [ "text" @@ -20279,82 +20845,61 @@ ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 262144, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-02-27", - "last_updated": "2025-02-27", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2026-02-03", + "last_updated": "2026-02-03", "cost": { "input": 0.2, - "output": 0.2 + "output": 1.5 }, "type": "chat" }, { - "id": "qwen/qwen3.5-plus", - "name": "Qwen3.5 Plus", - "display_name": "Qwen3.5 Plus", + "id": "Qwen/Qwen3-Embedding-8B", + "name": "Qwen 3 Embedding 8B", + "display_name": "Qwen 3 Embedding 8B", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 983616, - "output": 65536 + "context": 32000, + "output": 4096 }, + "temperature": false, "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-02-16", - "last_updated": "2026-02-16", + "attachment": false, + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0.4, - "output": 2.4, - "cache_read": 0.04 + "input": 0.01, + "output": 0 }, - "type": "chat" + "type": "embedding" }, { - "id": "qwen/Qwen3-8B", - "name": "Qwen 3 8B", - "display_name": "Qwen 3 8B", + "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "name": "Qwen3-Next-80B-A3B-Instruct", + "display_name": "Qwen3-Next-80B-A3B-Instruct", "modalities": { "input": [ "text" @@ -20364,54 +20909,47 @@ ] }, "limit": { - "context": 41000, - "output": 32768 + "context": 262144, + "output": 66536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-09-11", + "last_updated": "2025-09-11", "cost": { - "input": 0.47, - "output": 0.47 + "input": 0.25, + "output": 1 }, "type": "chat" }, { - "id": "qwen/qwen3-235b-a22b", - "name": "Qwen 3 235b A22B", - "display_name": "Qwen 3 235b A22B", + "id": "Qwen/Qwen3.5-397B-A17B", + "name": "Qwen3.5-397B-A17B", + "display_name": "Qwen3.5-397B-A17B", "modalities": { "input": [ "text", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 41000, + "context": 262144, "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -20425,19 +20963,20 @@ } }, "attachment": true, - "open_weights": false, - "release_date": "2025-04-29", - "last_updated": "2025-04-29", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2026-02-01", + "last_updated": "2026-02-01", "cost": { - "input": 0.3, - "output": 0.5 + "input": 0.6, + "output": 3.6 }, "type": "chat" }, { - "id": "qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen 3 235b A22B 2507 Thinking", - "display_name": "Qwen 3 235b A22B 2507 Thinking", + "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", + "name": "Qwen3-235B-A22B-Thinking-2507", + "display_name": "Qwen3-235B-A22B-Thinking-2507", "modalities": { "input": [ "text" @@ -20447,12 +20986,14 @@ ] }, "limit": { - "context": 256000, - "output": 262144 + "context": 262144, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -20466,19 +21007,20 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2025-09-11", - "last_updated": "2025-09-11", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", "cost": { "input": 0.3, - "output": 0.5 + "output": 3 }, "type": "chat" }, { - "id": "qwen/qwen3-max", - "name": "Qwen3 Max", - "display_name": "Qwen3 Max", + "id": "Qwen/Qwen3-Embedding-4B", + "name": "Qwen 3 Embedding 4B", + "display_name": "Qwen 3 Embedding 4B", "modalities": { "input": [ "text" @@ -20488,38 +21030,29 @@ ] }, "limit": { - "context": 256000, - "output": 32768 + "context": 32000, + "output": 2048 }, + "temperature": false, "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-09-05", - "last_updated": "2025-09-05", + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 1.08018, - "output": 5.4009 + "input": 0.01, + "output": 0 }, - "type": "chat" + "type": "embedding" }, { - "id": "qwen/qwen3-coder-plus", - "name": "Qwen3 Coder Plus", - "display_name": "Qwen3 Coder Plus", + "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "name": "Qwen3-Coder-480B-A35B-Instruct", + "display_name": "Qwen3-Coder-480B-A35B-Instruct", "modalities": { "input": [ "text" @@ -20529,27 +21062,29 @@ ] }, "limit": { - "context": 128000, - "output": 65536 + "context": 262144, + "output": 66536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-09-17", - "last_updated": "2025-09-17", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", "cost": { - "input": 1, - "output": 5 + "input": 2, + "output": 2 }, "type": "chat" }, { - "id": "qwen/qwen3-14b", - "name": "Qwen 3 14b", - "display_name": "Qwen 3 14b", + "id": "Qwen/Qwen3-Next-80B-A3B-Thinking", + "name": "Qwen3-Next-80B-A3B-Thinking", + "display_name": "Qwen3-Next-80B-A3B-Thinking", "modalities": { "input": [ "text" @@ -20559,10 +21094,11 @@ ] }, "limit": { - "context": 41000, - "output": 32768 + "context": 262144, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true }, @@ -20578,19 +21114,20 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-09-11", + "last_updated": "2025-09-11", "cost": { - "input": 0.08, - "output": 0.24 + "input": 0.3, + "output": 2 }, "type": "chat" }, { - "id": "qwen/qwen3-coder-next", - "name": "Qwen3 Coder Next", - "display_name": "Qwen3 Coder Next", + "id": "XiaomiMiMo/MiMo-V2-Flash", + "name": "MiMo-V2-Flash", + "display_name": "MiMo-V2-Flash", "modalities": { "input": [ "text" @@ -20601,43 +21138,46 @@ }, "limit": { "context": 262144, - "output": 65536 + "output": 4096 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2025-12-08", - "last_updated": "2025-12-08", + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2025-12-16", + "last_updated": "2025-12-16", "cost": { - "input": 0.15, - "output": 1.5 + "input": 0.1, + "output": 0.3 }, "type": "chat" }, { - "id": "qwen/Qwen3.6-35B-A3B", - "name": "Qwen3.6 35B A3B", - "display_name": "Qwen3.6 35B A3B", + "id": "zai-org/GLM-4.7-Flash", + "name": "GLM-4.7-Flash", + "display_name": "GLM-4.7-Flash", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 200000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -20650,35 +21190,35 @@ ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-17", - "last_updated": "2026-04-17", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-08-08", + "last_updated": "2025-08-08", "cost": { - "input": 0.112, - "output": 0.8 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen/qwen3.5-plus-thinking", - "name": "Qwen3.5 Plus Thinking", - "display_name": "Qwen3.5 Plus Thinking", + "id": "zai-org/GLM-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 983616, - "output": 65536 + "context": 202752, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -20694,21 +21234,21 @@ ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-02-16", - "last_updated": "2026-02-16", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 0.4, - "output": 2.4, - "cache_read": 0.04 + "input": 1, + "output": 3.2, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "qwen/Qwen3-235B-A22B-Instruct-2507-TEE", - "name": "Qwen 3 235b A22B 2507 (TEE)", - "display_name": "Qwen 3 235b A22B 2507 (TEE)", + "id": "zai-org/GLM-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", "modalities": { "input": [ "text" @@ -20718,27 +21258,42 @@ ] }, "limit": { - "context": 256000, - "output": 262144 + "context": 204800, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-07-25", - "last_updated": "2025-07-25", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 0.13, - "output": 0.5 + "input": 0.6, + "output": 2.2, + "cache_read": 0.11 }, "type": "chat" }, { - "id": "qwen/qwen3-30b-a3b", - "name": "Qwen3 30B A3B", - "display_name": "Qwen3 30B A3B", + "id": "zai-org/GLM-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ "text" @@ -20748,12 +21303,14 @@ ] }, "limit": { - "context": 41000, - "output": 32768 + "context": 202752, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -20767,33 +21324,34 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2025-02-27", - "last_updated": "2025-02-27", + "open_weights": true, + "release_date": "2026-04-03", + "last_updated": "2026-04-03", "cost": { - "input": 0.1, - "output": 0.3 + "input": 1, + "output": 3.2, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "qwen/qwen3.5-9b", - "name": "Qwen3.5 9B", - "display_name": "Qwen3.5 9B", + "id": "deepseek-ai/DeepSeek-R1-0528", + "name": "DeepSeek-R1-0528", + "display_name": "DeepSeek-R1-0528", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 65536 + "context": 163840, + "output": 163840 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -20809,20 +21367,21 @@ ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-03-10", - "last_updated": "2026-03-10", + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2025-05-28", + "last_updated": "2025-05-28", "cost": { - "input": 0.05, - "output": 0.15 + "input": 3, + "output": 5 }, "type": "chat" }, { - "id": "qwen/qwen3-next-80b-a3b-thinking", - "name": "Qwen3 Next 80B A3B (Thinking)", - "display_name": "Qwen3 Next 80B A3B (Thinking)", + "id": "deepseek-ai/DeepSeek-V4-Pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ "text" @@ -20832,12 +21391,14 @@ ] }, "limit": { - "context": 256000, - "output": 32768 + "context": 1048576, + "output": 393216 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -20851,19 +21412,21 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.15, - "output": 0.65 + "input": 0.435, + "output": 0.87, + "cache_read": 0.003625 }, "type": "chat" }, { - "id": "qwen/qwen3-coder-flash", - "name": "Qwen3 Coder Flash", - "display_name": "Qwen3 Coder Flash", + "id": "deepseek-ai/DeepSeek-V3.2", + "name": "DeepSeek-V3.2", + "display_name": "DeepSeek-V3.2", "modalities": { "input": [ "text" @@ -20873,27 +21436,35 @@ ] }, "limit": { - "context": 128000, + "context": 163840, "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-09-17", - "last_updated": "2025-09-17", + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "cost": { - "input": 0.3, - "output": 1.5 + "input": 0.28, + "output": 0.4 }, "type": "chat" }, { - "id": "qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen 3 235b A22B 2507", - "display_name": "Qwen 3 235b A22B 2507", + "id": "MiniMaxAI/MiniMax-M2.1", + "name": "MiniMax-M2.1", + "display_name": "MiniMax-M2.1", "modalities": { "input": [ "text" @@ -20903,27 +21474,41 @@ ] }, "limit": { - "context": 256000, - "output": 262144 + "context": 204800, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-07-25", - "last_updated": "2025-07-25", + "open_weights": true, + "knowledge": "2025-10", + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "cost": { - "input": 0.13, - "output": 0.5 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "qwen/Qwen3-Next-80B-A3B-Instruct", - "name": "Qwen3 Next 80B A3B (Instruct)", - "display_name": "Qwen3 Next 80B A3B (Instruct)", + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ "text" @@ -20933,27 +21518,41 @@ ] }, "limit": { - "context": 256000, - "output": 262144 + "context": 204800, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-09-11", - "last_updated": "2025-09-11", + "open_weights": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.15, - "output": 0.65 + "input": 0.3, + "output": 1.2, + "cache_read": 0.03 }, "type": "chat" }, { - "id": "qwen/Qwen2.5-Coder-32B-Instruct", - "name": "Qwen 2.5 Coder 32b", - "display_name": "Qwen 2.5 Coder 32b", + "id": "MiniMaxAI/MiniMax-M2.7", + "name": "MiniMax-M2.7", + "display_name": "MiniMax-M2.7", "modalities": { "input": [ "text" @@ -20963,71 +21562,87 @@ ] }, "limit": { - "context": 32000, - "output": 8192 + "context": 204800, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-07-03", - "last_updated": "2025-07-03", + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.2006, - "output": 0.2006 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 }, "type": "chat" - }, + } + ] + }, + "minimax-coding-plan": { + "id": "minimax-coding-plan", + "name": "MiniMax Token Plan (minimax.io)", + "display_name": "MiniMax Token Plan (minimax.io)", + "api": "https://api.minimax.io/anthropic/v1", + "doc": "https://platform.minimax.io/docs/token-plan/intro", + "models": [ { - "id": "qwen/Qwen3.6-35B-A3B:thinking", - "name": "Qwen3.6 35B A3B Thinking", - "display_name": "Qwen3.6 35B A3B Thinking", + "id": "MiniMax-M2.1", + "name": "MiniMax-M2.1", + "display_name": "MiniMax-M2.1", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 204800, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-19", - "last_updated": "2026-04-19", + "attachment": false, + "open_weights": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "cost": { - "input": 0.112, - "output": 0.8 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen/qwen3-coder", - "name": "Qwen 3 Coder 480B", - "display_name": "Qwen 3 Coder 480B", + "id": "MiniMax-M2.5-highspeed", + "name": "MiniMax-M2.5-highspeed", + "display_name": "MiniMax-M2.5-highspeed", "modalities": { "input": [ "text" @@ -21037,44 +21652,53 @@ ] }, "limit": { - "context": 262000, - "output": 65536 + "context": 204800, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": false, - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "open_weights": true, + "release_date": "2026-02-13", + "last_updated": "2026-02-13", "cost": { - "input": 0.13, - "output": 0.5 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen/qwen3.5-397b-a17b", - "name": "Qwen3.5 397B A17B", - "display_name": "Qwen3.5 397B A17B", + "id": "MiniMax-M2.7-highspeed", + "name": "MiniMax-M2.7-highspeed", + "display_name": "MiniMax-M2.7-highspeed", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 258048, - "output": 65536 + "context": 204800, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -21089,62 +21713,57 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-02-16", - "last_updated": "2026-02-16", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.6, - "output": 3.6 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen/qwen3.5-397b-a17b-thinking", - "name": "Qwen3.5 397B A17B Thinking", - "display_name": "Qwen3.5 397B A17B Thinking", + "id": "MiniMax-M2", + "name": "MiniMax-M2", + "display_name": "MiniMax-M2", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 258048, - "output": 65536 + "context": 196608, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-02-16", - "last_updated": "2026-02-16", + "attachment": false, + "open_weights": true, + "release_date": "2025-10-27", + "last_updated": "2025-10-27", "cost": { - "input": 0.6, - "output": 3.6 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen/qwen-2.5-72b-instruct", - "name": "Qwen2.5 72B", - "display_name": "Qwen2.5 72B", + "id": "MiniMax-M2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ "text" @@ -21154,58 +21773,77 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 204800, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-07-03", - "last_updated": "2025-07-03", + "open_weights": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.357, - "output": 0.408 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen/Qwen3-VL-235B-A22B-Instruct", - "name": "Qwen3 VL 235B A22B Instruct", - "display_name": "Qwen3 VL 235B A22B Instruct", + "id": "MiniMax-M3", + "name": "MiniMax-M3", + "display_name": "MiniMax-M3", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 262144 + "context": 512000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": true, - "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", + "open_weights": true, + "release_date": "2026-06-01", + "last_updated": "2026-06-01", "cost": { - "input": 0.3, - "output": 1.2 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "Salesforce/Llama-xLAM-2-70b-fc-r", - "name": "Llama-xLAM-2 70B fc-r", - "display_name": "Llama-xLAM-2 70B fc-r", + "id": "MiniMax-M2.7", + "name": "MiniMax-M2.7", + "display_name": "MiniMax-M2.7", "modalities": { "input": [ "text" @@ -21215,27 +21853,51 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 204800, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-04-13", - "last_updated": "2025-04-13", + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 2.5, - "output": 2.5 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" - }, + } + ] + }, + "novita-ai": { + "id": "novita-ai", + "name": "NovitaAI", + "display_name": "NovitaAI", + "api": "https://api.novita.ai/openai", + "doc": "https://novita.ai/docs/guides/introduction", + "models": [ { - "id": "Gryphe/MythoMax-L2-13b", - "name": "MythoMax 13B", - "display_name": "MythoMax 13B", + "id": "inclusionai/ling-2.6-1t", + "name": "Ling-2.6-1T", + "display_name": "Ling-2.6-1T", "modalities": { "input": [ "text" @@ -21245,27 +21907,28 @@ ] }, "limit": { - "context": 4000, - "output": 4096 + "context": 262144, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-08", - "last_updated": "2025-08-08", + "open_weights": true, + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 0.1003, - "output": 0.1003 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "Envoid/Llama-3.05-Nemotron-Tenyxchat-Storybreaker-70B", - "name": "Nemotron Tenyxchat Storybreaker 70b", - "display_name": "Nemotron Tenyxchat Storybreaker 70b", + "id": "inclusionai/ring-2.6-1t", + "name": "Ring-2.6-1T", + "display_name": "Ring-2.6-1T", "modalities": { "input": [ "text" @@ -21275,27 +21938,30 @@ ] }, "limit": { - "context": 16384, - "output": 8192 + "context": 262144, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", + "release_date": "2026-05-08", + "last_updated": "2026-05-27", "cost": { - "input": 0.49299999999999994, - "output": 0.49299999999999994 + "input": 0.3, + "output": 2.5, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "Envoid/Llama-3.05-NT-Storybreaker-Ministral-70B", - "name": "Llama 3.05 Storybreaker Ministral 70b", - "display_name": "Llama 3.05 Storybreaker Ministral 70b", + "id": "inclusionai/ling-2.6-flash", + "name": "Ling-2.6-flash", + "display_name": "Ling-2.6-flash", "modalities": { "input": [ "text" @@ -21305,27 +21971,29 @@ ] }, "limit": { - "context": 16384, - "output": 8192 + "context": 262144, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", + "open_weights": true, + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.49299999999999994, - "output": 0.49299999999999994 + "input": 0.1, + "output": 0.3, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "pamanseau/OpenReasoning-Nemotron-32B", - "name": "OpenReasoning Nemotron 32B", - "display_name": "OpenReasoning Nemotron 32B", + "id": "meta-llama/llama-3.1-8b-instruct", + "name": "Llama 3.1 8B Instruct", + "display_name": "Llama 3.1 8B Instruct", "modalities": { "input": [ "text" @@ -21335,28 +22003,28 @@ ] }, "limit": { - "context": 32768, - "output": 65536 + "context": 16384, + "output": 16384 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", + "open_weights": true, + "release_date": "2024-07-24", + "last_updated": "2024-07-24", "cost": { - "input": 0.1, - "output": 0.4 + "input": 0.02, + "output": 0.05 }, "type": "chat" }, { - "id": "GalrionSoftworks/MN-LooseCannon-12B-v1", - "name": "MN-LooseCannon-12B-v1", - "display_name": "MN-LooseCannon-12B-v1", + "id": "meta-llama/llama-3-70b-instruct", + "name": "Llama3 70B Instruct", + "display_name": "Llama3 70B Instruct", "modalities": { "input": [ "text" @@ -21366,57 +22034,60 @@ ] }, "limit": { - "context": 16384, - "output": 8192 + "context": 8192, + "output": 8000 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", + "open_weights": true, + "release_date": "2024-04-25", + "last_updated": "2024-04-25", "cost": { - "input": 0.49299999999999994, - "output": 0.49299999999999994 + "input": 0.51, + "output": 0.74 }, "type": "chat" }, { - "id": "liquid/lfm-2-24b-a2b", - "name": "LFM2 24B A2B", - "display_name": "LFM2 24B A2B", + "id": "meta-llama/llama-4-scout-17b-16e-instruct", + "name": "Llama 4 Scout Instruct", + "display_name": "Llama 4 Scout Instruct", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 131072, + "output": 131072 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2025-12-20", - "last_updated": "2025-12-20", + "attachment": true, + "open_weights": true, + "release_date": "2025-04-06", + "last_updated": "2025-04-06", "cost": { - "input": 0.03, - "output": 0.12 + "input": 0.18, + "output": 0.59 }, "type": "chat" }, { - "id": "soob3123/Veiled-Calla-12B", - "name": "Veiled Calla 12B", - "display_name": "Veiled Calla 12B", + "id": "meta-llama/llama-3.3-70b-instruct", + "name": "Llama 3.3 70B Instruct", + "display_name": "Llama 3.3 70B Instruct", "modalities": { "input": [ "text" @@ -21426,27 +22097,29 @@ ] }, "limit": { - "context": 32768, - "output": 8192 + "context": 131072, + "output": 120000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-04-13", - "last_updated": "2025-04-13", + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-12-07", + "last_updated": "2024-12-07", "cost": { - "input": 0.3, - "output": 0.3 + "input": 0.135, + "output": 0.4 }, "type": "chat" }, { - "id": "soob3123/amoral-gemma3-27B-v2", - "name": "Amoral Gemma3 27B v2", - "display_name": "Amoral Gemma3 27B v2", + "id": "meta-llama/llama-3-8b-instruct", + "name": "Llama 3 8B Instruct", + "display_name": "Llama 3 8B Instruct", "modalities": { "input": [ "text" @@ -21456,27 +22129,28 @@ ] }, "limit": { - "context": 32768, + "context": 8192, "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-05-23", - "last_updated": "2025-05-23", + "open_weights": true, + "release_date": "2024-04-25", + "last_updated": "2024-04-25", "cost": { - "input": 0.3, - "output": 0.3 + "input": 0.04, + "output": 0.04 }, "type": "chat" }, { - "id": "soob3123/GrayLine-Qwen3-8B", - "name": "Grayline Qwen3 8B", - "display_name": "Grayline Qwen3 8B", + "id": "meta-llama/llama-3.2-3b-instruct", + "name": "Llama 3.2 3B Instruct", + "display_name": "Llama 3.2 3B Instruct", "modalities": { "input": [ "text" @@ -21486,57 +22160,60 @@ ] }, "limit": { - "context": 16384, - "output": 32768 + "context": 32768, + "output": 32000 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "open_weights": true, + "release_date": "2024-09-18", + "last_updated": "2024-09-18", "cost": { - "input": 0.3, - "output": 0.3 + "input": 0.03, + "output": 0.05 }, "type": "chat" }, { - "id": "Unbabel/M-Prometheus-14B", - "name": "M-Prometheus 14B", - "display_name": "M-Prometheus 14B", + "id": "meta-llama/llama-4-maverick-17b-128e-instruct-fp8", + "name": "Llama 4 Maverick Instruct", + "display_name": "Llama 4 Maverick Instruct", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32768, + "context": 1048576, "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2026-05-29", - "last_updated": "2026-05-29", + "attachment": true, + "open_weights": true, + "release_date": "2025-04-06", + "last_updated": "2025-04-06", "cost": { - "input": 0.2, - "output": 0.2 + "input": 0.27, + "output": 0.85 }, "type": "chat" }, { - "id": "NousResearch/hermes-4-70b", - "name": "Hermes 4 Medium", - "display_name": "Hermes 4 Medium", + "id": "moonshotai/kimi-k2-instruct", + "name": "Kimi K2 Instruct", + "display_name": "Kimi K2 Instruct", "modalities": { "input": [ "text" @@ -21546,27 +22223,28 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 131072, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-07-03", - "last_updated": "2025-07-03", + "open_weights": true, + "release_date": "2025-07-11", + "last_updated": "2025-07-11", "cost": { - "input": 0.2006, - "output": 0.3995 + "input": 0.57, + "output": 2.3 }, "type": "chat" }, { - "id": "NousResearch/DeepHermes-3-Mistral-24B-Preview", - "name": "DeepHermes-3 Mistral 24B (Preview)", - "display_name": "DeepHermes-3 Mistral 24B (Preview)", + "id": "moonshotai/kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "display_name": "Kimi K2 Thinking", "modalities": { "input": [ "text" @@ -21576,87 +22254,134 @@ ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 262144, + "output": 262144 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-05-10", - "last_updated": "2025-05-10", + "open_weights": true, + "release_date": "2025-11-07", + "last_updated": "2025-11-07", "cost": { - "input": 0.3, - "output": 0.3 + "input": 0.6, + "output": 2.5 }, "type": "chat" }, { - "id": "NousResearch/hermes-3-llama-3.1-70b", - "name": "Hermes 3 70B", - "display_name": "Hermes 3 70B", + "id": "moonshotai/kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 65536, - "output": 8192 + "context": 262144, + "output": 262144 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2026-01-07", - "last_updated": "2026-01-07", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 0.408, - "output": 0.408 + "input": 0.6, + "output": 3, + "cache_read": 0.1 }, "type": "chat" }, { - "id": "NousResearch/Hermes-4-70B:thinking", - "name": "Hermes 4 (Thinking)", - "display_name": "Hermes 4 (Thinking)", + "id": "moonshotai/kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 262144, + "output": 262144 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2025-09-17", - "last_updated": "2025-09-17", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0.2006, - "output": 0.3995 + "input": 0.95, + "output": 4, + "cache_read": 0.16 }, "type": "chat" }, { - "id": "NousResearch/hermes-4-405b", - "name": "Hermes 4 Large", - "display_name": "Hermes 4 Large", + "id": "moonshotai/kimi-k2-0905", + "name": "Kimi K2 0905", + "display_name": "Kimi K2 0905", "modalities": { "input": [ "text" @@ -21666,27 +22391,29 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 262144, + "output": 262144 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-26", - "last_updated": "2025-08-26", + "open_weights": true, + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", "cost": { - "input": 0.3, - "output": 1.2 + "input": 0.6, + "output": 2.5 }, "type": "chat" }, { - "id": "NousResearch/hermes-4-405b:thinking", - "name": "Hermes 4 Large (Thinking)", - "display_name": "Hermes 4 Large (Thinking)", + "id": "minimaxai/minimax-m1-80k", + "name": "MiniMax M1", + "display_name": "MiniMax M1", "modalities": { "input": [ "text" @@ -21696,57 +22423,62 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 1000000, + "output": 40000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", + "open_weights": true, + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 0.3, - "output": 1.2 + "input": 0.55, + "output": 2.2 }, "type": "chat" }, { - "id": "Steelskull/L3.3-Nevoria-R1-70b", - "name": "Steelskull Nevoria R1 70b", - "display_name": "Steelskull Nevoria R1 70b", + "id": "baidu/ernie-4.5-vl-28b-a3b", + "name": "ERNIE 4.5 VL 28B A3B", + "display_name": "ERNIE 4.5 VL 28B A3B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 30000, + "output": 8000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "attachment": true, + "open_weights": true, + "release_date": "2025-06-30", + "last_updated": "2025-06-30", "cost": { - "input": 0.49299999999999994, - "output": 0.49299999999999994 + "input": 1.4, + "output": 5.6 }, "type": "chat" }, { - "id": "Steelskull/L3.3-Cu-Mai-R1-70b", - "name": "Llama 3.3 70B Cu Mai", - "display_name": "Llama 3.3 70B Cu Mai", + "id": "baidu/ernie-4.5-21B-a3b", + "name": "ERNIE 4.5 21B A3B", + "display_name": "ERNIE 4.5 21B A3B", "modalities": { "input": [ "text" @@ -21756,57 +22488,62 @@ ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 120000, + "output": 8000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "open_weights": true, + "knowledge": "2025-03", + "release_date": "2025-06-30", + "last_updated": "2025-06-30", "cost": { - "input": 0.49299999999999994, - "output": 0.49299999999999994 + "input": 0.07, + "output": 0.28 }, "type": "chat" }, { - "id": "Steelskull/L3.3-MS-Nevoria-70b", - "name": "Steelskull Nevoria 70b", - "display_name": "Steelskull Nevoria 70b", + "id": "baidu/ernie-4.5-vl-424b-a47b", + "name": "ERNIE 4.5 VL 424B A47B", + "display_name": "ERNIE 4.5 VL 424B A47B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 123000, + "output": 16000 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "attachment": true, + "open_weights": true, + "release_date": "2025-06-30", + "last_updated": "2025-06-30", "cost": { - "input": 0.49299999999999994, - "output": 0.49299999999999994 + "input": 0.42, + "output": 1.25 }, "type": "chat" }, { - "id": "Steelskull/L3.3-MS-Evayale-70B", - "name": "Evayale 70b ", - "display_name": "Evayale 70b ", + "id": "baidu/ernie-4.5-21B-a3b-thinking", + "name": "ERNIE-4.5-21B-A3B-Thinking", + "display_name": "ERNIE-4.5-21B-A3B-Thinking", "modalities": { "input": [ "text" @@ -21816,27 +22553,30 @@ ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 131072, + "output": 65536 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "open_weights": true, + "knowledge": "2025-03", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", "cost": { - "input": 0.49299999999999994, - "output": 0.49299999999999994 + "input": 0.07, + "output": 0.28 }, "type": "chat" }, { - "id": "Steelskull/L3.3-Electra-R1-70b", - "name": "Steelskull Electra R1 70b", - "display_name": "Steelskull Electra R1 70b", + "id": "baidu/ernie-4.5-300b-a47b-paddle", + "name": "ERNIE 4.5 300B A47B", + "display_name": "ERNIE 4.5 300B A47B", "modalities": { "input": [ "text" @@ -21846,177 +22586,192 @@ ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 123000, + "output": 12000 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "open_weights": true, + "release_date": "2025-06-30", + "last_updated": "2025-06-30", "cost": { - "input": 0.69989, - "output": 0.69989 + "input": 0.28, + "output": 1.1 }, "type": "chat" }, { - "id": "Steelskull/L3.3-MS-Evalebis-70b", - "name": "MS Evalebis 70b", - "display_name": "MS Evalebis 70b", + "id": "baidu/ernie-4.5-vl-28b-a3b-thinking", + "name": "ERNIE-4.5-VL-28B-A3B-Thinking", + "display_name": "ERNIE-4.5-VL-28B-A3B-Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 131072, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "attachment": true, + "open_weights": true, + "release_date": "2025-11-26", + "last_updated": "2025-11-26", "cost": { - "input": 0.49299999999999994, - "output": 0.49299999999999994 + "input": 0.39, + "output": 0.39 }, "type": "chat" }, { - "id": "essentialai/rnj-1-instruct", - "name": "RNJ-1 Instruct 8B", - "display_name": "RNJ-1 Instruct 8B", + "id": "google/gemma-4-31b-it", + "name": "Gemma 4 31B", + "display_name": "Gemma 4 31B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 262144, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2025-12-13", - "last_updated": "2025-12-13", + "attachment": true, + "open_weights": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0.15, - "output": 0.15 + "input": 0.14, + "output": 0.4 }, "type": "chat" }, { - "id": "cohere/command-r-plus-08-2024", - "name": "Cohere: Command R+", - "display_name": "Cohere: Command R+", + "id": "google/gemma-4-26b-a4b-it", + "name": "Gemma 4 26B A4B", + "display_name": "Gemma 4 26B A4B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 262144, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2024-08-30", - "last_updated": "2024-08-30", + "attachment": true, + "open_weights": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 2.856, - "output": 14.246 + "input": 0.13, + "output": 0.4 }, "type": "chat" }, { - "id": "cohere/command-r", - "name": "Cohere: Command R", - "display_name": "Cohere: Command R", + "id": "google/gemma-3-12b-it", + "name": "Gemma 3 12B", + "display_name": "Gemma 3 12B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131072, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2024-03-11", - "last_updated": "2024-03-11", + "attachment": true, + "open_weights": true, + "release_date": "2025-03-13", + "last_updated": "2025-03-13", "cost": { - "input": 0.476, - "output": 1.428 + "input": 0.05, + "output": 0.1 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2-instruct-0711", - "name": "Kimi K2 0711", - "display_name": "Kimi K2 0711", + "id": "google/gemma-3-27b-it", + "name": "Gemma 3 27B", + "display_name": "Gemma 3 27B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 98304, + "output": 16384 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2025-07-11", - "last_updated": "2025-07-11", + "attachment": true, + "open_weights": true, + "release_date": "2025-03-25", + "last_updated": "2025-03-25", "cost": { - "input": 0.1, - "output": 2 + "input": 0.119, + "output": 0.2 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "display_name": "Kimi K2 Thinking", + "id": "microsoft/wizardlm-2-8x22b", + "name": "Wizardlm 2 8x22B", + "display_name": "Wizardlm 2 8x22B", "modalities": { "input": [ "text" @@ -22026,38 +22781,28 @@ ] }, "limit": { - "context": 256000, - "output": 262144 + "context": 65535, + "output": 8000 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-11-06", - "last_updated": "2025-11-06", + "open_weights": true, + "release_date": "2024-04-24", + "last_updated": "2024-04-24", "cost": { - "input": 0.3, - "output": 1.2 + "input": 0.62, + "output": 0.62 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2.5:thinking", - "name": "Kimi K2.5 Thinking", - "display_name": "Kimi K2.5 Thinking", + "id": "openai/gpt-oss-120b", + "name": "OpenAI GPT OSS 120B", + "display_name": "OpenAI GPT OSS 120B", "modalities": { "input": [ "text", @@ -22068,58 +22813,34 @@ ] }, "limit": { - "context": 256000, - "output": 65536 + "context": 131072, + "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2026-01-26", - "last_updated": "2026-01-26", - "cost": { - "input": 0.3, - "output": 1.9 - }, - "type": "chat" - }, - { - "id": "moonshotai/kimi-k2-instruct", - "name": "Kimi K2 Instruct", - "display_name": "Kimi K2 Instruct", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 256000, - "output": 8192 - }, - "tool_call": true, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true + } }, - "attachment": false, - "open_weights": false, - "release_date": "2025-07-01", - "last_updated": "2025-07-01", + "attachment": true, + "open_weights": true, + "release_date": "2025-08-06", + "last_updated": "2025-08-06", "cost": { - "input": 0.1, - "output": 2 + "input": 0.05, + "output": 0.25 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "openai/gpt-oss-20b", + "name": "OpenAI: GPT OSS 20B", + "display_name": "OpenAI: GPT OSS 20B", "modalities": { "input": [ "text", @@ -22130,12 +22851,14 @@ ] }, "limit": { - "context": 256000, - "output": 65536 + "context": 131072, + "output": 32768 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -22144,18 +22867,18 @@ }, "attachment": true, "open_weights": true, - "release_date": "2026-04-16", - "last_updated": "2026-04-21", + "release_date": "2025-08-06", + "last_updated": "2025-08-06", "cost": { - "input": 0.53, - "output": 2.73 + "input": 0.04, + "output": 0.15 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2-Instruct-0905", - "name": "Kimi K2 0905", - "display_name": "Kimi K2 0905", + "id": "sao10K/l31-70b-euryale-v2.2", + "name": "L31 70B Euryale V2.2", + "display_name": "L31 70B Euryale V2.2", "modalities": { "input": [ "text" @@ -22165,92 +22888,59 @@ ] }, "limit": { - "context": 256000, - "output": 262144 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "open_weights": true, + "release_date": "2024-09-19", + "last_updated": "2024-09-19", "cost": { - "input": 0.4, - "output": 2 + "input": 1.48, + "output": 1.48 }, "type": "chat" }, { - "id": "moonshotai/kimi-latest", - "name": "Kimi Latest", - "display_name": "Kimi Latest", + "id": "sao10K/L3-8B-stheno-v3.2", + "name": "L3 8B Stheno V3.2", + "display_name": "L3 8B Stheno V3.2", "modalities": { "input": [ - "text", - "image" - ], - "output": [ "text" - ] - }, - "limit": { - "context": 256000, - "output": 65536 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": true, - "open_weights": false, - "release_date": "2026-05-03", - "last_updated": "2026-05-03", - "cost": { - "input": 0.5, - "output": 2.6, - "cache_read": 0.125 - }, - "type": "chat" - }, - { - "id": "moonshotai/kimi-k2.6:thinking", - "name": "Kimi K2.6 Thinking", - "display_name": "Kimi K2.6 Thinking", - "modalities": { - "input": [ - "text", - "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 65536 + "context": 8192, + "output": 32000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-04-16", - "last_updated": "2026-04-21", + "release_date": "2024-11-29", + "last_updated": "2024-11-29", "cost": { - "input": 0.53, - "output": 2.73 + "input": 0.05, + "output": 0.05 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2-thinking-original", - "name": "Kimi K2 Thinking Original", - "display_name": "Kimi K2 Thinking Original", + "id": "sao10K/l3-8b-lunaris", + "name": "Sao10k L3 8B Lunaris\t", + "display_name": "Sao10k L3 8B Lunaris\t", "modalities": { "input": [ "text" @@ -22260,70 +22950,59 @@ ] }, "limit": { - "context": 256000, - "output": 16384 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-11-06", - "last_updated": "2025-11-06", + "open_weights": true, + "release_date": "2024-11-28", + "last_updated": "2024-11-28", "cost": { - "input": 0.6, - "output": 2.5 + "input": 0.05, + "output": 0.05 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "sao10K/l3-70b-euryale-v2.1", + "name": "L3 70B Euryale V2.1\t", + "display_name": "L3 70B Euryale V2.1\t", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 65536 + "context": 8192, + "output": 8192 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-01-26", - "last_updated": "2026-01-26", + "attachment": false, + "open_weights": true, + "release_date": "2024-06-18", + "last_updated": "2024-06-18", "cost": { - "input": 0.3, - "output": 1.9 + "input": 1.48, + "output": 1.48 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2-thinking-turbo-original", - "name": "Kimi K2 Thinking Turbo Original", - "display_name": "Kimi K2 Thinking Turbo Original", + "id": "baichuan/baichuan-m2-32b", + "name": "baichuan-m2-32b", + "display_name": "baichuan-m2-32b", "modalities": { "input": [ "text" @@ -22333,121 +23012,155 @@ ] }, "limit": { - "context": 256000, - "output": 16384 + "context": 131072, + "output": 131072 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-11-06", - "last_updated": "2025-11-06", + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2025-08-13", + "last_updated": "2025-08-13", "cost": { - "input": 1.15, - "output": 8 + "input": 0.07, + "output": 0.07 }, "type": "chat" }, { - "id": "meta-llama/llama-4-maverick", - "name": "Llama 4 Maverick", - "display_name": "Llama 4 Maverick", + "id": "mistralai/mistral-nemo", + "name": "Mistral Nemo", + "display_name": "Mistral Nemo", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 60288, + "output": 16000 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2025-09-05", - "last_updated": "2025-09-05", + "attachment": false, + "open_weights": true, + "release_date": "2024-07-30", + "last_updated": "2024-07-30", "cost": { - "input": 0.18000000000000002, - "output": 0.8 + "input": 0.04, + "output": 0.17 }, "type": "chat" }, { - "id": "meta-llama/llama-3.2-3b-instruct", - "name": "Llama 3.2 3b Instruct", - "display_name": "Llama 3.2 3b Instruct", + "id": "xiaomimimo/mimo-v2-flash", + "name": "XiaomiMiMo/MiMo-V2-Flash", + "display_name": "XiaomiMiMo/MiMo-V2-Flash", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 262144, + "output": 32000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2024-09-25", - "last_updated": "2024-09-25", + "attachment": false, + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2025-12-19", + "last_updated": "2025-12-19", "cost": { - "input": 0.0306, - "output": 0.0493 + "input": 0.1, + "output": 0.3, + "cache_read": 0.3 }, "type": "chat" }, { - "id": "meta-llama/llama-4-scout", - "name": "Llama 4 Scout", - "display_name": "Llama 4 Scout", + "id": "xiaomimimo/mimo-v2-pro", + "name": "MiMo-V2-Pro", + "display_name": "MiMo-V2-Pro", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 328000, - "output": 65536 + "context": 1048576, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": false, - "release_date": "2025-09-05", - "last_updated": "2025-09-05", + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-05-27", "cost": { - "input": 0.085, - "output": 0.46 + "input": 2, + "output": 6, + "cache_read": 0.4, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "meta-llama/llama-3.1-8b-instruct", - "name": "Llama 3.1 8b Instruct", - "display_name": "Llama 3.1 8b Instruct", + "id": "xiaomimimo/mimo-v2.5-pro", + "name": "MiMo-V2.5-Pro", + "display_name": "MiMo-V2.5-Pro", "modalities": { "input": [ "text" @@ -22457,27 +23170,58 @@ ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 1048576, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-05-27", "cost": { - "input": 0.0544, - "output": 0.0544 + "input": 2, + "output": 6, + "cache_read": 0.4, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "meta-llama/llama-3.3-70b-instruct", - "name": "Llama 3.3 70b Instruct", - "display_name": "Llama 3.3 70b Instruct", + "id": "gryphe/mythomax-l2-13b", + "name": "Mythomax L2 13B", + "display_name": "Mythomax L2 13B", "modalities": { "input": [ "text" @@ -22487,27 +23231,28 @@ ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 4096, + "output": 3200 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-02-27", - "last_updated": "2025-02-27", + "open_weights": true, + "release_date": "2024-04-25", + "last_updated": "2024-04-25", "cost": { - "input": 0.05, - "output": 0.23 + "input": 0.09, + "output": 0.09 }, "type": "chat" }, { - "id": "anthracite-org/magnum-v2-72b", - "name": "Magnum V2 72B", - "display_name": "Magnum V2 72B", + "id": "zai-org/glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", "modalities": { "input": [ "text" @@ -22517,58 +23262,77 @@ ] }, "limit": { - "context": 16384, - "output": 8192 + "context": 204800, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", + "open_weights": true, + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 2.006, - "output": 2.992 + "input": 0.6, + "output": 2.2, + "cache_read": 0.11 }, "type": "chat" }, { - "id": "anthracite-org/magnum-v4-72b", - "name": "Magnum v4 72B", - "display_name": "Magnum v4 72B", + "id": "zai-org/glm-4.5v", + "name": "GLM 4.5V", + "display_name": "GLM 4.5V", "modalities": { "input": [ "text", - "pdf" + "video", + "image" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 8192 + "context": 65536, + "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": false, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-08-11", + "last_updated": "2025-08-11", "cost": { - "input": 2.006, - "output": 2.992 + "input": 0.6, + "output": 1.8, + "cache_read": 0.11 }, "type": "chat" }, { - "id": "Doctor-Shotgun/MS3.2-24B-Magnum-Diamond", - "name": "MS3.2 24B Magnum Diamond", - "display_name": "MS3.2 24B Magnum Diamond", + "id": "zai-org/glm-4.5", + "name": "GLM-4.5", + "display_name": "GLM-4.5", "modalities": { "input": [ "text" @@ -22578,27 +23342,41 @@ ] }, "limit": { - "context": 16384, - "output": 32768 + "context": 131072, + "output": 98304 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-11-24", - "last_updated": "2025-11-24", + "open_weights": true, + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 0.49299999999999994, - "output": 0.49299999999999994 + "input": 0.6, + "output": 2.2, + "cache_read": 0.11 }, "type": "chat" }, { - "id": "baidu/ernie-4.5-vl-28b-a3b", - "name": "ERNIE 4.5 VL 28B", - "display_name": "ERNIE 4.5 VL 28B", + "id": "zai-org/autoglm-phone-9b-multilingual", + "name": "AutoGLM-Phone-9B-Multilingual", + "display_name": "AutoGLM-Phone-9B-Multilingual", "modalities": { "input": [ "text", @@ -22609,27 +23387,28 @@ ] }, "limit": { - "context": 32768, - "output": 16384 + "context": 65536, + "output": 65536 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": true, - "open_weights": false, - "release_date": "2025-06-30", - "last_updated": "2025-06-30", + "open_weights": true, + "release_date": "2025-12-10", + "last_updated": "2025-12-10", "cost": { - "input": 0.13999999999999999, - "output": 0.5599999999999999 + "input": 0.035, + "output": 0.138 }, "type": "chat" }, { - "id": "nanogpt/coding-router:max", - "name": "Coding Router Max", - "display_name": "Coding Router Max", + "id": "zai-org/glm-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ "text" @@ -22639,29 +23418,41 @@ ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 204800, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, - "open_weights": false, - "release_date": "2026-05-12", - "last_updated": "2026-05-12", + "open_weights": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5 + "input": 1.4, + "output": 4.4, + "cache_read": 0.26 }, "type": "chat" }, { - "id": "nanogpt/coding-router:high", - "name": "Coding Router High", - "display_name": "Coding Router High", + "id": "zai-org/glm-4.6", + "name": "GLM 4.6", + "display_name": "GLM 4.6", "modalities": { "input": [ "text" @@ -22671,61 +23462,77 @@ ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 204800, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, - "open_weights": false, - "release_date": "2026-05-12", - "last_updated": "2026-05-12", + "open_weights": true, + "release_date": "2025-09-30", + "last_updated": "2025-09-30", "cost": { - "input": 1.1, + "input": 0.55, "output": 2.2, "cache_read": 0.11 }, "type": "chat" }, { - "id": "nanogpt/coding-router", - "name": "Coding Router", - "display_name": "Coding Router", + "id": "zai-org/glm-4.6v", + "name": "GLM 4.6V", + "display_name": "GLM 4.6V", "modalities": { "input": [ - "text" + "text", + "video", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2026-05-12", - "last_updated": "2026-05-12", + "attachment": true, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", "cost": { - "input": 1.1, - "output": 2.2, - "cache_read": 0.11 + "input": 0.3, + "output": 0.9, + "cache_read": 0.055 }, "type": "chat" }, { - "id": "nanogpt/coding-router:medium", - "name": "Coding Router Medium", - "display_name": "Coding Router Medium", + "id": "zai-org/glm-4.5-air", + "name": "GLM 4.5 Air", + "display_name": "GLM 4.5 Air", "modalities": { "input": [ "text" @@ -22735,29 +23542,30 @@ ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 98304 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2026-05-12", - "last_updated": "2026-05-12", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-10-13", + "last_updated": "2025-10-13", "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.028 + "input": 0.13, + "output": 0.85 }, "type": "chat" }, { - "id": "nanogpt/coding-router:low", - "name": "Coding Router Low", - "display_name": "Coding Router Low", + "id": "zai-org/glm-4.7-flash", + "name": "GLM-4.7-Flash", + "display_name": "GLM-4.7-Flash", "modalities": { "input": [ "text" @@ -22767,29 +23575,36 @@ ] }, "limit": { - "context": 1000000, + "context": 200000, "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": false, - "open_weights": false, - "release_date": "2026-05-12", - "last_updated": "2026-05-12", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.028 + "input": 0.07, + "output": 0.4, + "cache_read": 0.01 }, "type": "chat" }, { - "id": "abacusai/Dracarys-72B-Instruct", - "name": "Llama 3.1 70B Dracarys 2", - "display_name": "Llama 3.1 70B Dracarys 2", + "id": "zai-org/glm-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ "text" @@ -22799,27 +23614,41 @@ ] }, "limit": { - "context": 16384, - "output": 8192 + "context": 202800, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-02", - "last_updated": "2025-08-02", + "open_weights": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-12", "cost": { - "input": 0.49299999999999994, - "output": 0.49299999999999994 + "input": 1, + "output": 3.2, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "x-ai/grok-4.20-multi-agent", - "name": "Grok 4.20 Multi-Agent", - "display_name": "Grok 4.20 Multi-Agent", + "id": "paddlepaddle/paddleocr-vl", + "name": "PaddleOCR-VL", + "display_name": "PaddleOCR-VL", "modalities": { "input": [ "text", @@ -22830,173 +23659,183 @@ ] }, "limit": { - "context": 2000000, - "output": 131072 + "context": 16384, + "output": 16384 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, - "open_weights": false, - "release_date": "2026-03-31", - "last_updated": "2026-03-31", + "open_weights": true, + "release_date": "2025-10-22", + "last_updated": "2025-10-22", "cost": { - "input": 2, - "output": 6 + "input": 0.02, + "output": 0.02 }, "type": "chat" }, { - "id": "x-ai/grok-build-0.1", - "name": "Grok Build 0.1", - "display_name": "Grok Build 0.1", + "id": "qwen/qwen3-vl-235b-a22b-thinking", + "name": "Qwen3 VL 235B A22B Thinking", + "display_name": "Qwen3 VL 235B A22B Thinking", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 131072, + "output": 32768 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, - "open_weights": false, - "release_date": "2026-05-20", - "last_updated": "2026-05-20", + "open_weights": true, + "release_date": "2025-09-24", + "last_updated": "2025-09-24", "cost": { - "input": 1, - "output": 2, - "cache_read": 0.2 + "input": 0.98, + "output": 3.95 }, "type": "chat" }, { - "id": "x-ai/grok-4.20", - "name": "Grok 4.20", - "display_name": "Grok 4.20", + "id": "qwen/qwen3-vl-30b-a3b-thinking", + "name": "qwen/qwen3-vl-30b-a3b-thinking", + "display_name": "qwen/qwen3-vl-30b-a3b-thinking", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 131072 + "context": 131072, + "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, - "attachment": true, - "open_weights": false, - "release_date": "2026-03-31", - "last_updated": "2026-03-31", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "release_date": "2025-10-11", + "last_updated": "2025-10-11", "cost": { - "input": 2, - "output": 6 + "input": 0.2, + "output": 1 }, "type": "chat" }, { - "id": "x-ai/grok-latest", - "name": "Grok Latest", - "display_name": "Grok Latest", + "id": "qwen/qwen3-235b-a22b-instruct-2507", + "name": "Qwen3 235B A22B Instruct 2507", + "display_name": "Qwen3 235B A22B Instruct 2507", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 1000000 + "context": 131072, + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-05-03", - "last_updated": "2026-05-03", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-22", + "last_updated": "2025-07-22", "cost": { - "input": 1.25, - "output": 2.5, - "cache_read": 0.2 + "input": 0.09, + "output": 0.58 }, "type": "chat" }, { - "id": "x-ai/grok-4.3", - "name": "Grok 4.3", - "display_name": "Grok 4.3", + "id": "qwen/qwen3-coder-30b-a3b-instruct", + "name": "Qwen3 Coder 30b A3B Instruct", + "display_name": "Qwen3 Coder 30b A3B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 1000000 + "context": 160000, + "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-04-30", + "attachment": false, + "open_weights": true, + "release_date": "2025-10-09", + "last_updated": "2025-10-09", "cost": { - "input": 1.25, - "output": 2.5, - "cache_read": 0.2 + "input": 0.07, + "output": 0.27 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.1", - "name": "DeepSeek V3.1", - "display_name": "DeepSeek V3.1", + "id": "qwen/qwen3-8b-fp8", + "name": "Qwen3 8B", + "display_name": "Qwen3 8B", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ "text" @@ -23004,26 +23843,28 @@ }, "limit": { "context": 128000, - "output": 65536 + "output": 20000 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", + "attachment": false, + "open_weights": true, + "release_date": "2025-04-29", + "last_updated": "2025-04-29", "cost": { - "input": 0.2, - "output": 0.7 + "input": 0.035, + "output": 0.138 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.1:thinking", - "name": "DeepSeek V3.1 Thinking", - "display_name": "DeepSeek V3.1 Thinking", + "id": "qwen/qwen3-next-80b-a3b-instruct", + "name": "Qwen3 Next 80B A3B Instruct", + "display_name": "Qwen3 Next 80B A3B Instruct", "modalities": { "input": [ "text" @@ -23033,57 +23874,109 @@ ] }, "limit": { - "context": 128000, - "output": 65536 + "context": 131072, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", + "open_weights": true, + "release_date": "2025-09-10", + "last_updated": "2025-09-10", "cost": { - "input": 0.2, - "output": 0.7 + "input": 0.15, + "output": 1.5 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.1-Terminus", - "name": "DeepSeek V3.1 Terminus", - "display_name": "DeepSeek V3.1 Terminus", + "id": "qwen/qwen3-vl-8b-instruct", + "name": "qwen/qwen3-vl-8b-instruct", + "display_name": "qwen/qwen3-vl-8b-instruct", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 65536 + "context": 131072, + "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2025-08-02", - "last_updated": "2025-08-02", + "attachment": true, + "open_weights": true, + "release_date": "2025-10-17", + "last_updated": "2025-10-17", + "cost": { + "input": 0.08, + "output": 0.5 + }, + "type": "chat" + }, + { + "id": "qwen/qwen3-omni-30b-a3b-thinking", + "name": "Qwen3 Omni 30B A3B Thinking", + "display_name": "Qwen3 Omni 30B A3B Thinking", + "modalities": { + "input": [ + "text", + "audio", + "video", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 65536, + "output": 16384 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "release_date": "2025-09-24", + "last_updated": "2025-09-24", "cost": { "input": 0.25, - "output": 0.7 + "output": 0.97, + "input_audio": 2.2, + "output_audio": 1.788 }, "type": "chat" }, { - "id": "deepseek-ai/deepseek-v3.2-exp-thinking", - "name": "DeepSeek V3.2 Exp Thinking", - "display_name": "DeepSeek V3.2 Exp Thinking", + "id": "qwen/qwen3.7-max", + "name": "Qwen3.7-Max", + "display_name": "Qwen3.7-Max", "modalities": { "input": [ "text" @@ -23093,28 +23986,36 @@ ] }, "limit": { - "context": 163840, + "context": 1000000, "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": false, "open_weights": false, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "release_date": "2026-05-21", + "last_updated": "2026-05-27", "cost": { - "input": 0.27999999999999997, - "output": 0.42000000000000004 + "input": 1.25, + "output": 3.75, + "cache_read": 0.125, + "cache_write": 1.5625 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.1-Terminus:thinking", - "name": "DeepSeek V3.1 Terminus (Thinking)", - "display_name": "DeepSeek V3.1 Terminus (Thinking)", + "id": "qwen/qwen3-max", + "name": "Qwen3 Max", + "display_name": "Qwen3 Max", "modalities": { "input": [ "text" @@ -23124,27 +24025,40 @@ ] }, "limit": { - "context": 128000, + "context": 262144, "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": false, - "release_date": "2025-09-22", - "last_updated": "2025-09-22", + "knowledge": "2025-04", + "release_date": "2025-09-24", + "last_updated": "2025-09-24", "cost": { - "input": 0.25, - "output": 0.7 + "input": 2.11, + "output": 8.45 }, "type": "chat" }, { - "id": "deepseek-ai/deepseek-v3.2-exp", - "name": "DeepSeek V3.2 Exp", - "display_name": "DeepSeek V3.2 Exp", + "id": "qwen/qwen2.5-7b-instruct", + "name": "Qwen2.5 7B Instruct", + "display_name": "Qwen2.5 7B Instruct", "modalities": { "input": [ "text" @@ -23154,27 +24068,28 @@ ] }, "limit": { - "context": 163840, - "output": 65536 + "context": 32000, + "output": 32000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "open_weights": true, + "release_date": "2025-04-16", + "last_updated": "2025-04-16", "cost": { - "input": 0.27999999999999997, - "output": 0.42000000000000004 + "input": 0.07, + "output": 0.07 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-R1-0528", - "name": "DeepSeek R1 0528", - "display_name": "DeepSeek R1 0528", + "id": "qwen/qwen3-next-80b-a3b-thinking", + "name": "Qwen3 Next 80B A3B Thinking", + "display_name": "Qwen3 Next 80B A3B Thinking", "modalities": { "input": [ "text" @@ -23184,10 +24099,11 @@ ] }, "limit": { - "context": 128000, - "output": 163840 + "context": 131072, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -23204,19 +24120,63 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2025-05-28", - "last_updated": "2025-05-28", + "open_weights": true, + "release_date": "2025-09-10", + "last_updated": "2025-09-10", "cost": { - "input": 0.4, - "output": 1.7 + "input": 0.15, + "output": 1.5 }, "type": "chat" }, { - "id": "Sao10K/L3.1-70B-Hanami-x1", - "name": "Llama 3.1 70B Hanami", - "display_name": "Llama 3.1 70B Hanami", + "id": "qwen/qwen3-235b-a22b-thinking-2507", + "name": "Qwen3 235B A22b Thinking 2507", + "display_name": "Qwen3 235B A22b Thinking 2507", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", + "cost": { + "input": 0.3, + "output": 3 + }, + "type": "chat" + }, + { + "id": "qwen/qwen-mt-plus", + "name": "Qwen MT Plus", + "display_name": "Qwen MT Plus", "modalities": { "input": [ "text" @@ -23227,26 +24187,27 @@ }, "limit": { "context": 16384, - "output": 16384 + "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "open_weights": true, + "release_date": "2025-09-03", + "last_updated": "2025-09-03", "cost": { - "input": 0.49299999999999994, - "output": 0.49299999999999994 + "input": 0.25, + "output": 0.75 }, "type": "chat" }, { - "id": "Sao10K/L3.3-70B-Euryale-v2.3", - "name": "Llama 3.3 70B Euryale", - "display_name": "Llama 3.3 70B Euryale", + "id": "qwen/qwen3-32b-fp8", + "name": "Qwen3 32B", + "display_name": "Qwen3 32B", "modalities": { "input": [ "text" @@ -23256,27 +24217,29 @@ ] }, "limit": { - "context": 20480, - "output": 16384 + "context": 40960, + "output": 20000 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "open_weights": true, + "release_date": "2025-04-29", + "last_updated": "2025-04-29", "cost": { - "input": 0.49299999999999994, - "output": 0.49299999999999994 + "input": 0.1, + "output": 0.45 }, "type": "chat" }, { - "id": "Sao10K/L3-8B-Stheno-v3.2", - "name": "Sao10K Stheno 8b", - "display_name": "Sao10K Stheno 8b", + "id": "qwen/qwen3-4b-fp8", + "name": "Qwen3 4B", + "display_name": "Qwen3 4B", "modalities": { "input": [ "text" @@ -23286,57 +24249,62 @@ ] }, "limit": { - "context": 16384, - "output": 8192 + "context": 128000, + "output": 20000 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2024-11-29", - "last_updated": "2024-11-29", + "open_weights": true, + "release_date": "2025-04-29", + "last_updated": "2025-04-29", "cost": { - "input": 0.2006, - "output": 0.2006 + "input": 0.03, + "output": 0.03 }, "type": "chat" }, { - "id": "Sao10K/L3.1-70B-Euryale-v2.2", - "name": "Llama 3.1 70B Euryale", - "display_name": "Llama 3.1 70B Euryale", + "id": "qwen/qwen2.5-vl-72b-instruct", + "name": "Qwen2.5 VL 72B Instruct", + "display_name": "Qwen2.5 VL 72B Instruct", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 20480, - "output": 16384 + "context": 32768, + "output": 32768 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "attachment": true, + "open_weights": true, + "release_date": "2025-03-25", + "last_updated": "2025-03-25", "cost": { - "input": 0.306, - "output": 0.357 + "input": 0.8, + "output": 0.8 }, "type": "chat" }, { - "id": "nvidia/Llama-3_3-Nemotron-Super-49B-v1_5", - "name": "Nvidia Nemotron Super 49B v1.5", - "display_name": "Nvidia Nemotron Super 49B v1.5", + "id": "qwen/qwen3-30b-a3b-fp8", + "name": "Qwen3 30B A3B", + "display_name": "Qwen3 30B A3B", "modalities": { "input": [ "text" @@ -23346,39 +24314,41 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 40960, + "output": 20000 }, "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-08", - "last_updated": "2025-08-08", + "open_weights": true, + "release_date": "2025-04-29", + "last_updated": "2025-04-29", "cost": { - "input": 0.05, - "output": 0.25 + "input": 0.09, + "output": 0.45 }, "type": "chat" }, { - "id": "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning", - "name": "Nvidia Nemotron 3 Nano Omni", - "display_name": "Nvidia Nemotron 3 Nano Omni", + "id": "qwen/qwen3.5-27b", + "name": "Qwen3.5-27B", + "display_name": "Qwen3.5-27B", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 256000, + "context": 262144, "output": 65536 }, "temperature": true, @@ -23387,20 +24357,31 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": true, - "open_weights": false, - "release_date": "2026-04-28", - "last_updated": "2026-04-28", + "open_weights": true, + "release_date": "2026-02-26", + "last_updated": "2026-02-26", "cost": { - "input": 0.105, - "output": 0.42 + "input": 0.3, + "output": 2.4 }, "type": "chat" }, { - "id": "nvidia/nemotron-3-nano-30b-a3b", - "name": "Nvidia Nemotron 3 Nano 30B", - "display_name": "Nvidia Nemotron 3 Nano 30B", + "id": "qwen/qwen-2.5-72b-instruct", + "name": "Qwen 2.5 72B Instruct", + "display_name": "Qwen 2.5 72B Instruct", "modalities": { "input": [ "text" @@ -23410,28 +24391,29 @@ ] }, "limit": { - "context": 256000, - "output": 262144 + "context": 32000, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-12-15", - "last_updated": "2025-12-15", + "open_weights": true, + "knowledge": "2024-04", + "release_date": "2024-10-15", + "last_updated": "2024-10-15", "cost": { - "input": 0.17, - "output": 0.68 + "input": 0.38, + "output": 0.4 }, "type": "chat" }, { - "id": "nvidia/Llama-3.3-Nemotron-Super-49B-v1", - "name": "Nvidia Nemotron Super 49B", - "display_name": "Nvidia Nemotron Super 49B", + "id": "qwen/qwen3-coder-next", + "name": "Qwen3 Coder Next", + "display_name": "Qwen3 Coder Next", "modalities": { "input": [ "text" @@ -23441,59 +24423,73 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 262144, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-08", - "last_updated": "2025-08-08", + "open_weights": true, + "release_date": "2026-02-03", + "last_updated": "2026-02-03", "cost": { - "input": 0.15, - "output": 0.15 + "input": 0.2, + "output": 1.5 }, "type": "chat" }, { - "id": "nvidia/nvidia-nemotron-nano-9b-v2", - "name": "Nvidia Nemotron Nano 9B v2", - "display_name": "Nvidia Nemotron Nano 9B v2", + "id": "qwen/qwen3.5-35b-a3b", + "name": "Qwen3.5-35B-A3B", + "display_name": "Qwen3.5-35B-A3B", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 262144, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2025-08-18", - "last_updated": "2025-08-18", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-02-26", + "last_updated": "2026-02-26", "cost": { - "input": 0.17, - "output": 0.68 + "input": 0.25, + "output": 2 }, "type": "chat" }, { - "id": "nvidia/Llama-3.1-Nemotron-70B-Instruct-HF", - "name": "Nvidia Nemotron 70b", - "display_name": "Nvidia Nemotron 70b", + "id": "qwen/qwen3-coder-480b-a35b-instruct", + "name": "Qwen3 Coder 480B A35B Instruct", + "display_name": "Qwen3 Coder 480B A35B Instruct", "modalities": { "input": [ "text" @@ -23503,31 +24499,34 @@ ] }, "limit": { - "context": 16384, - "output": 8192 + "context": 262144, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", "cost": { - "input": 0.357, - "output": 0.408 + "input": 0.3, + "output": 1.3 }, "type": "chat" }, { - "id": "nvidia/nemotron-3-super-120b-a12b", - "name": "Nvidia Nemotron 3 Super 120B", - "display_name": "Nvidia Nemotron 3 Super 120B", + "id": "qwen/qwen3.5-397b-a17b", + "name": "Qwen3.5-397B-A17B", + "display_name": "Qwen3.5-397B-A17B", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" @@ -23535,7 +24534,7 @@ }, "limit": { "context": 262144, - "output": 16384 + "output": 64000 }, "temperature": true, "tool_call": true, @@ -23543,55 +24542,107 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2026-03-01", - "last_updated": "2026-03-01", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-02-17", + "last_updated": "2026-02-17", "cost": { - "input": 0.05, - "output": 0.25 + "input": 0.6, + "output": 3.6 }, "type": "chat" }, { - "id": "nvidia/nemotron-3-super-120b-a12b:thinking", - "name": "Nvidia Nemotron 3 Super 120B Thinking", - "display_name": "Nvidia Nemotron 3 Super 120B Thinking", + "id": "qwen/qwen3-vl-30b-a3b-instruct", + "name": "qwen/qwen3-vl-30b-a3b-instruct", + "display_name": "qwen/qwen3-vl-30b-a3b-instruct", "modalities": { "input": [ - "text" + "text", + "video", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, + "context": 131072, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "release_date": "2025-10-11", + "last_updated": "2025-10-11", + "cost": { + "input": 0.2, + "output": 0.7 + }, + "type": "chat" + }, + { + "id": "qwen/qwen3-omni-30b-a3b-instruct", + "name": "Qwen3 Omni 30B A3B Instruct", + "display_name": "Qwen3 Omni 30B A3B Instruct", + "modalities": { + "input": [ + "text", + "video", + "audio", + "image" + ], + "output": [ + "text", + "audio" + ] + }, + "limit": { + "context": 65536, "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2026-03-01", - "last_updated": "2026-03-01", + "attachment": true, + "open_weights": true, + "knowledge": "2024-04", + "release_date": "2025-09-24", + "last_updated": "2025-09-24", "cost": { - "input": 0.05, - "output": 0.25 + "input": 0.25, + "output": 0.97, + "input_audio": 2.2, + "output_audio": 1.788 }, "type": "chat" }, { - "id": "arcee-ai/trinity-mini", - "name": "Trinity Mini", - "display_name": "Trinity Mini", + "id": "qwen/qwen3-vl-235b-a22b-instruct", + "name": "Qwen3 VL 235B A22B Instruct", + "display_name": "Qwen3 VL 235B A22B Instruct", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" @@ -23599,29 +24650,32 @@ }, "limit": { "context": 131072, - "output": 8192 + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "attachment": true, + "open_weights": true, + "release_date": "2025-09-24", + "last_updated": "2025-09-24", "cost": { - "input": 0.045000000000000005, - "output": 0.15 + "input": 0.3, + "output": 1.5 }, "type": "chat" }, { - "id": "arcee-ai/trinity-large-thinking", - "name": "Trinity Large Thinking", - "display_name": "Trinity Large Thinking", + "id": "qwen/qwen3.5-122b-a10b", + "name": "Qwen3.5-122B-A10B", + "display_name": "Qwen3.5-122B-A10B", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" @@ -23629,27 +24683,39 @@ }, "limit": { "context": 262144, - "output": 80000 + "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2026-04-01", - "last_updated": "2026-04-01", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-02-26", + "last_updated": "2026-02-26", "cost": { - "input": 0.25, - "output": 0.9 + "input": 0.4, + "output": 3.2 }, "type": "chat" }, { - "id": "Infermatic/MN-12B-Inferor-v0.0", - "name": "Mistral Nemo Inferor 12B", - "display_name": "Mistral Nemo Inferor 12B", + "id": "qwen/qwen3-235b-a22b-fp8", + "name": "Qwen3 235B A22B", + "display_name": "Qwen3 235B A22B", "modalities": { "input": [ "text" @@ -23659,27 +24725,29 @@ ] }, "limit": { - "context": 16384, - "output": 8192 + "context": 40960, + "output": 20000 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", + "open_weights": true, + "release_date": "2025-04-29", + "last_updated": "2025-04-29", "cost": { - "input": 0.25499999999999995, - "output": 0.49299999999999994 + "input": 0.2, + "output": 0.8 }, "type": "chat" }, { - "id": "meganova-ai/manta-mini-1.0", - "name": "Manta Mini 1.0", - "display_name": "Manta Mini 1.0", + "id": "deepseek/deepseek-r1-0528", + "name": "DeepSeek R1 0528", + "display_name": "DeepSeek R1 0528", "modalities": { "input": [ "text" @@ -23689,27 +24757,42 @@ ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 163840, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-12-20", - "last_updated": "2025-12-20", + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2025-05-28", + "last_updated": "2025-05-28", "cost": { - "input": 0.02, - "output": 0.16 + "input": 0.7, + "output": 2.5, + "cache_read": 0.35 }, "type": "chat" }, { - "id": "meganova-ai/manta-flash-1.0", - "name": "Manta Flash 1.0", - "display_name": "Manta Flash 1.0", + "id": "deepseek/deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ "text" @@ -23719,27 +24802,42 @@ ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 1048576, + "output": 393216 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-12-20", - "last_updated": "2025-12-20", + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.02, - "output": 0.16 + "input": 0.14, + "output": 0.28, + "cache_read": 0.028 }, "type": "chat" }, { - "id": "meganova-ai/manta-pro-1.0", - "name": "Manta Pro 1.0", - "display_name": "Manta Pro 1.0", + "id": "deepseek/deepseek-v3.1-terminus", + "name": "Deepseek V3.1 Terminus", + "display_name": "Deepseek V3.1 Terminus", "modalities": { "input": [ "text" @@ -23749,27 +24847,30 @@ ] }, "limit": { - "context": 32768, + "context": 131072, "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2025-12-20", - "last_updated": "2025-12-20", + "open_weights": true, + "release_date": "2025-09-22", + "last_updated": "2025-09-22", "cost": { - "input": 0.060000000000000005, - "output": 0.5 + "input": 0.27, + "output": 1, + "cache_read": 0.135 }, "type": "chat" }, { - "id": "cognitivecomputations/dolphin-2.9.2-qwen2-72b", - "name": "Dolphin 72b", - "display_name": "Dolphin 72b", + "id": "deepseek/deepseek-v3-0324", + "name": "DeepSeek V3 0324", + "display_name": "DeepSeek V3 0324", "modalities": { "input": [ "text" @@ -23779,58 +24880,62 @@ ] }, "limit": { - "context": 8192, - "output": 4096 + "context": 163840, + "output": 163840 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-02-27", - "last_updated": "2025-02-27", + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2025-03-25", + "last_updated": "2025-03-25", "cost": { - "input": 0.306, - "output": 0.306 + "input": 0.27, + "output": 1.12, + "cache_read": 0.135 }, "type": "chat" }, { - "id": "microsoft/wizardlm-2-8x22b", - "name": "WizardLM-2 8x22B", - "display_name": "WizardLM-2 8x22B", + "id": "deepseek/deepseek-ocr", + "name": "DeepSeek-OCR", + "display_name": "DeepSeek-OCR", "modalities": { "input": [ "text", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 65536, + "context": 8192, "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": true, - "open_weights": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", + "open_weights": true, + "release_date": "2025-10-24", + "last_updated": "2025-10-24", "cost": { - "input": 0.49299999999999994, - "output": 0.49299999999999994 + "input": 0.03, + "output": 0.03 }, "type": "chat" }, { - "id": "EVA-UNIT-01/EVA-Qwen2.5-72B-v0.2", - "name": "EVA-Qwen2.5-72B-v0.2", - "display_name": "EVA-Qwen2.5-72B-v0.2", + "id": "deepseek/deepseek-r1-distill-llama-70b", + "name": "DeepSeek R1 Distill LLama 70B", + "display_name": "DeepSeek R1 Distill LLama 70B", "modalities": { "input": [ "text" @@ -23840,27 +24945,34 @@ ] }, "limit": { - "context": 16384, + "context": 8192, "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "open_weights": true, + "release_date": "2025-01-27", + "last_updated": "2025-01-27", "cost": { - "input": 0.7989999999999999, - "output": 0.7989999999999999 + "input": 0.8, + "output": 0.8 }, "type": "chat" }, { - "id": "EVA-UNIT-01/EVA-Qwen2.5-32B-v0.2", - "name": "EVA-Qwen2.5-32B-v0.2", - "display_name": "EVA-Qwen2.5-32B-v0.2", + "id": "deepseek/deepseek-r1-turbo", + "name": "DeepSeek R1 (Turbo)\t", + "display_name": "DeepSeek R1 (Turbo)\t", "modalities": { "input": [ "text" @@ -23870,27 +24982,29 @@ ] }, "limit": { - "context": 16384, - "output": 8192 + "context": 64000, + "output": 16000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", + "open_weights": true, + "release_date": "2025-03-05", + "last_updated": "2025-03-05", "cost": { - "input": 0.7989999999999999, - "output": 0.7989999999999999 + "input": 0.7, + "output": 2.5 }, "type": "chat" }, { - "id": "EVA-UNIT-01/EVA-LLaMA-3.33-70B-v0.0", - "name": "EVA Llama 3.33 70B", - "display_name": "EVA Llama 3.33 70B", + "id": "deepseek/deepseek-prover-v2-671b", + "name": "Deepseek Prover V2 671B", + "display_name": "Deepseek Prover V2 671B", "modalities": { "input": [ "text" @@ -23900,27 +25014,28 @@ ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 160000, + "output": 160000 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", + "open_weights": true, + "release_date": "2025-04-30", + "last_updated": "2025-04-30", "cost": { - "input": 2.006, - "output": 2.006 - }, + "input": 0.7, + "output": 2.5 + }, "type": "chat" }, { - "id": "EVA-UNIT-01/EVA-LLaMA-3.33-70B-v0.1", - "name": "EVA-LLaMA-3.33-70B-v0.1", - "display_name": "EVA-LLaMA-3.33-70B-v0.1", + "id": "deepseek/deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ "text" @@ -23930,27 +25045,42 @@ ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 1048576, + "output": 393216 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 2.006, - "output": 2.006 + "input": 1.69, + "output": 3.38, + "cache_read": 0.13 }, "type": "chat" }, { - "id": "stepfun-ai/step-3.5-flash", - "name": "Step 3.5 Flash", - "display_name": "Step 3.5 Flash", + "id": "deepseek/deepseek-v3.2-exp", + "name": "Deepseek V3.2 Exp", + "display_name": "Deepseek V3.2 Exp", "modalities": { "input": [ "text" @@ -23960,59 +25090,60 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 163840, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2026-02-02", - "last_updated": "2026-02-02", + "open_weights": true, + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0.2, - "output": 0.5 + "input": 0.27, + "output": 0.41 }, "type": "chat" }, { - "id": "stepfun-ai/step-3.5-flash-2603", - "name": "Step 3.5 Flash 2603", - "display_name": "Step 3.5 Flash 2603", + "id": "deepseek/deepseek-ocr-2", + "name": "deepseek/deepseek-ocr-2", + "display_name": "deepseek/deepseek-ocr-2", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 8192, + "output": 8192 }, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2026-04-14", - "last_updated": "2026-04-14", + "attachment": true, + "open_weights": true, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 0.1, - "output": 0.3 + "input": 0.03, + "output": 0.03 }, "type": "chat" }, { - "id": "LLM360/K2-Think", - "name": "K2-Think", - "display_name": "K2-Think", + "id": "deepseek/deepseek-r1-distill-qwen-14b", + "name": "DeepSeek R1 Distill Qwen 14B", + "display_name": "DeepSeek R1 Distill Qwen 14B", "modalities": { "input": [ "text" @@ -24022,27 +25153,28 @@ ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 32768, + "output": 16384 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", + "open_weights": true, + "release_date": "2025-01-20", + "last_updated": "2025-01-20", "cost": { - "input": 0.17, - "output": 0.68 + "input": 0.15, + "output": 0.15 }, "type": "chat" }, { - "id": "bytedance-seed/seed-2.0-lite", - "name": "ByteDance Seed 2.0 Lite", - "display_name": "ByteDance Seed 2.0 Lite", + "id": "deepseek/deepseek-v3.1", + "name": "DeepSeek V3.1", + "display_name": "DeepSeek V3.1", "modalities": { "input": [ "text" @@ -24052,27 +25184,30 @@ ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 131072, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2026-03-10", - "last_updated": "2026-03-10", + "open_weights": true, + "release_date": "2025-08-21", + "last_updated": "2025-08-21", "cost": { - "input": 0.25, - "output": 2 + "input": 0.27, + "output": 1, + "cache_read": 0.135 }, "type": "chat" }, { - "id": "TEE/gemma4-31b:thinking", - "name": "Gemma 4 31B Thinking TEE", - "display_name": "Gemma 4 31B Thinking TEE", + "id": "deepseek/deepseek-r1-0528-qwen3-8b", + "name": "DeepSeek R1 0528 Qwen3 8B", + "display_name": "DeepSeek R1 0528 Qwen3 8B", "modalities": { "input": [ "text" @@ -24082,28 +25217,29 @@ ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 128000, + "output": 32000 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": true, "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2026-05-02", - "last_updated": "2026-05-02", + "open_weights": true, + "release_date": "2025-05-29", + "last_updated": "2025-05-29", "cost": { - "input": 0.45, - "output": 1 + "input": 0.06, + "output": 0.09 }, "type": "chat" }, { - "id": "TEE/qwen3-30b-a3b-instruct-2507", - "name": "Qwen3 30B A3B Instruct 2507 TEE", - "display_name": "Qwen3 30B A3B Instruct 2507 TEE", + "id": "deepseek/deepseek-r1-distill-qwen-32b", + "name": "DeepSeek R1 Distill Qwen 32B", + "display_name": "DeepSeek R1 Distill Qwen 32B", "modalities": { "input": [ "text" @@ -24113,27 +25249,28 @@ ] }, "limit": { - "context": 262000, - "output": 32768 + "context": 64000, + "output": 32000 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-07-29", - "last_updated": "2025-07-29", + "open_weights": true, + "release_date": "2025-01-20", + "last_updated": "2025-01-20", "cost": { - "input": 0.15, - "output": 0.44999999999999996 + "input": 0.3, + "output": 0.3 }, "type": "chat" }, { - "id": "TEE/qwen3.5-122b-a10b", - "name": "Qwen3.5 122B A10B TEE", - "display_name": "Qwen3.5 122B A10B TEE", + "id": "deepseek/deepseek-v3-turbo", + "name": "DeepSeek V3 (Turbo)\t", + "display_name": "DeepSeek V3 (Turbo)\t", "modalities": { "input": [ "text" @@ -24143,70 +25280,72 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 64000, + "output": 16000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-05-26", - "last_updated": "2026-05-26", + "open_weights": true, + "release_date": "2025-03-05", + "last_updated": "2025-03-05", "cost": { - "input": 0.46, - "output": 3.68 + "input": 0.4, + "output": 1.3 }, "type": "chat" }, { - "id": "TEE/qwen2.5-vl-72b-instruct", - "name": "Qwen2.5 VL 72B TEE", - "display_name": "Qwen2.5 VL 72B TEE", + "id": "deepseek/deepseek-v3.2", + "name": "Deepseek V3.2", + "display_name": "Deepseek V3.2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 65536, - "output": 8192 + "context": 163840, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-02-01", - "last_updated": "2025-02-01", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "cost": { - "input": 0.7, - "output": 0.7 + "input": 0.269, + "output": 0.4, + "cache_read": 0.1345 }, "type": "chat" }, { - "id": "TEE/glm-5.1-thinking", - "name": "GLM 5.1 Thinking TEE", - "display_name": "GLM 5.1 Thinking TEE", + "id": "minimax/minimax-m2.7-highspeed", + "name": "MiniMax-M2.7-highspeed", + "display_name": "MiniMax-M2.7-highspeed", "modalities": { "input": [ "text" @@ -24216,42 +25355,55 @@ ] }, "limit": { - "context": 202752, - "output": 65535 + "context": 204800, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, - "open_weights": false, - "release_date": "2026-04-20", - "last_updated": "2026-04-20", + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-05-27", "cost": { - "input": 1.5, - "output": 5.25, - "cache_read": 0.3 + "input": 0.6, + "output": 2.4, + "cache_read": 0.06, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "TEE/qwen3.6-35b-a3b-uncensored", - "name": "Qwen3.6 35B A3B Uncensored TEE", - "display_name": "Qwen3.6 35B A3B Uncensored TEE", + "id": "minimax/minimax-m2.5", + "name": "MiniMax M2.5", + "display_name": "MiniMax M2.5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 204800, + "output": 131100 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -24268,20 +25420,21 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-05-23", - "last_updated": "2026-05-23", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { "input": 0.3, - "output": 1.5 + "output": 1.2, + "cache_read": 0.03 }, "type": "chat" }, { - "id": "TEE/gemma-4-31b-it", - "name": "Gemma 4 31B IT TEE", - "display_name": "Gemma 4 31B IT TEE", + "id": "minimax/minimax-m2.1", + "name": "Minimax M2.1", + "display_name": "Minimax M2.1", "modalities": { "input": [ "text" @@ -24291,28 +25444,40 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 204800, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2026-05-26", - "last_updated": "2026-05-26", + "open_weights": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "cost": { - "input": 0.15, - "output": 0.46 + "input": 0.3, + "output": 1.2, + "cache_read": 0.03 }, "type": "chat" }, { - "id": "TEE/deepseek-v3.2", - "name": "DeepSeek V3.2 TEE", - "display_name": "DeepSeek V3.2 TEE", + "id": "minimax/minimax-m2", + "name": "MiniMax-M2", + "display_name": "MiniMax-M2", "modalities": { "input": [ "text" @@ -24322,69 +25487,85 @@ ] }, "limit": { - "context": 164000, - "output": 65536 + "context": 204800, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": false, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "open_weights": true, + "release_date": "2025-10-27", + "last_updated": "2025-10-27", "cost": { - "input": 0.5, - "output": 1 + "input": 0.3, + "output": 1.2, + "cache_read": 0.03 }, "type": "chat" }, { - "id": "TEE/kimi-k2.6", - "name": "Kimi K2.6 TEE", - "display_name": "Kimi K2.6 TEE", + "id": "minimax/minimax-m2.7", + "name": "MiniMax M2.7", + "display_name": "MiniMax M2.7", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 204800, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "attachment": false, + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 1.5, - "output": 5.25, - "cache_read": 0.375 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "TEE/glm-4.7", - "name": "GLM 4.7 TEE", - "display_name": "GLM 4.7 TEE", + "id": "minimax/minimax-m2.5-highspeed", + "name": "MiniMax M2.5 Highspeed", + "display_name": "MiniMax M2.5 Highspeed", "modalities": { "input": [ "text" @@ -24394,12 +25575,14 @@ ] }, "limit": { - "context": 131000, - "output": 65535 + "context": 204800, + "output": 131100 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -24414,18 +25597,19 @@ }, "attachment": false, "open_weights": false, - "release_date": "2026-01-29", - "last_updated": "2026-01-29", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.85, - "output": 3.3 + "input": 0.6, + "output": 2.4, + "cache_read": 0.03 }, "type": "chat" }, { - "id": "TEE/gpt-oss-120b", - "name": "GPT-OSS 120B TEE", - "display_name": "GPT-OSS 120B TEE", + "id": "kwaipilot/kat-coder-pro", + "name": "Kat Coder Pro", + "display_name": "Kat Coder Pro", "modalities": { "input": [ "text" @@ -24435,32 +25619,29 @@ ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 256000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "open_weights": true, + "release_date": "2026-01-05", + "last_updated": "2026-01-05", "cost": { - "input": 2, - "output": 2 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "TEE/gpt-oss-20b", - "name": "GPT-OSS 20B TEE", - "display_name": "GPT-OSS 20B TEE", + "id": "nousresearch/hermes-2-pro-llama-3-8b", + "name": "Hermes 2 Pro Llama 3 8B", + "display_name": "Hermes 2 Pro Llama 3 8B", "modalities": { "input": [ "text" @@ -24470,284 +25651,354 @@ ] }, "limit": { - "context": 131072, + "context": 8192, "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "open_weights": true, + "release_date": "2024-06-27", + "last_updated": "2024-06-27", "cost": { - "input": 0.2, - "output": 0.8 + "input": 0.14, + "output": 0.14 }, "type": "chat" - }, + } + ] + }, + "xai": { + "id": "xai", + "name": "xai", + "display_name": "xai", + "doc": "https://docs.x.ai/docs/models", + "models": [ { - "id": "TEE/gemma-3-27b-it", - "name": "Gemma 3 27B TEE", - "display_name": "Gemma 3 27B TEE", + "id": "grok-4.20-multi-agent-0309", + "name": "Grok 4.20 Multi-Agent", + "display_name": "Grok 4.20 Multi-Agent", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1000000, + "output": 30000 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-03-10", - "last_updated": "2025-03-10", + "release_date": "2026-03-09", + "last_updated": "2026-03-09", "cost": { - "input": 0.2, - "output": 0.8 + "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 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 5, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "TEE/deepseek-v4-pro:thinking", - "name": "DeepSeek V4 Pro Thinking TEE", - "display_name": "DeepSeek V4 Pro Thinking TEE", + "id": "grok-4.20-0309-non-reasoning", + "name": "Grok 4.20 (Non-Reasoning)", + "display_name": "Grok 4.20 (Non-Reasoning)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 800000, - "output": 65536 + "context": 1000000, + "output": 30000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-04-29", - "last_updated": "2026-04-29", + "release_date": "2026-03-09", + "last_updated": "2026-03-09", "cost": { - "input": 1.5, - "output": 5.25, - "cache_read": 0.15 + "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 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 5, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "TEE/glm-4.7-flash", - "name": "GLM 4.7 Flash TEE", - "display_name": "GLM 4.7 Flash TEE", + "id": "grok-4.3", + "name": "Grok 4.3", + "display_name": "Grok 4.3", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 203000, - "output": 65535 + "context": 1000000, + "output": 30000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { "supported": true } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-01-19", - "last_updated": "2026-01-19", + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { - "input": 0.15, - "output": 0.5 + "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 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 5, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "TEE/kimi-k2.5-thinking", - "name": "Kimi K2.5 Thinking TEE", - "display_name": "Kimi K2.5 Thinking TEE", + "id": "grok-imagine-image-quality", + "name": "Grok Imagine Image Quality", + "display_name": "Grok Imagine Image Quality", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ - "text" + "image", + "pdf" ] }, "limit": { - "context": 128000, - "output": 65535 + "context": 8000, + "output": 8192 }, + "temperature": false, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-01-29", - "last_updated": "2026-01-29", - "cost": { - "input": 0.3, - "output": 1.9 - }, + "release_date": "2026-04-03", + "last_updated": "2026-04-03", "type": "chat" }, { - "id": "TEE/llama3-3-70b", - "name": "Llama 3.3 70B", - "display_name": "Llama 3.3 70B", + "id": "grok-imagine-video", + "name": "Grok Imagine Video", + "display_name": "Grok Imagine Video", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "pdf" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 1024, + "output": 8192 }, + "temperature": false, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-07-03", - "last_updated": "2025-07-03", - "cost": { - "input": 2, - "output": 2 - }, + "release_date": "2026-01-28", + "last_updated": "2026-01-28", "type": "chat" }, { - "id": "TEE/glm-5", - "name": "GLM 5 TEE", - "display_name": "GLM 5 TEE", + "id": "grok-4.20-0309-reasoning", + "name": "Grok 4.20 (Reasoning)", + "display_name": "Grok 4.20 (Reasoning)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 203000, - "output": 65535 + "context": 1000000, + "output": 30000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "release_date": "2026-03-09", + "last_updated": "2026-03-09", "cost": { - "input": 1.2, - "output": 3.5 + "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 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 5, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "TEE/qwen3.5-397b-a17b", - "name": "Qwen3.5 397B A17B TEE", - "display_name": "Qwen3.5 397B A17B TEE", + "id": "grok-imagine-image", + "name": "Grok Imagine Image", + "display_name": "Grok Imagine Image", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ - "text" + "image", + "pdf" ] }, "limit": { - "context": 258048, - "output": 65536 + "context": 8000, + "output": 8192 }, + "temperature": false, "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-02-28", - "last_updated": "2026-02-28", - "cost": { - "input": 0.6, - "output": 3.6 - }, + "release_date": "2026-01-28", + "last_updated": "2026-01-28", "type": "chat" }, { - "id": "TEE/minimax-m2.5", - "name": "MiniMax M2.5 TEE", - "display_name": "MiniMax M2.5 TEE", + "id": "grok-build-0.1", + "name": "Grok Build 0.1", + "display_name": "Grok Build 0.1", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 196608, - "output": 131072 + "context": 256000, + "output": 256000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -24758,51 +26009,66 @@ "supported": true } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-04-20", - "last_updated": "2026-04-20", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 0.2, - "output": 1.38 + "input": 1, + "output": 2, + "cache_read": 0.2, + "tiers": [ + { + "input": 2, + "output": 4, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 4, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "TEE/gemma-4-26b-a4b-uncensored", - "name": "Gemma 4 26B A4B Uncensored TEE", - "display_name": "Gemma 4 26B A4B Uncensored TEE", + "id": "grok-3-mini-fast-beta", + "name": "Grok 3 Mini Fast Beta", + "display_name": "Grok 3 Mini Fast Beta", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 65536, - "output": 65536 + "context": 120000, + "output": 100000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true, + "effort": "low" }, - "attachment": true, - "open_weights": false, - "release_date": "2026-05-23", - "last_updated": "2026-05-23", - "cost": { - "input": 0.15, - "output": 0.7 + "search": { + "supported": false }, + "attachment": false, "type": "chat" }, { - "id": "TEE/deepseek-v4-pro", - "name": "DeepSeek V4 Pro TEE", - "display_name": "DeepSeek V4 Pro TEE", + "id": "grok-3-mini-beta", + "name": "Grok 3 Mini Beta", + "display_name": "Grok 3 Mini Beta", "modalities": { "input": [ "text" @@ -24812,40 +26078,26 @@ ] }, "limit": { - "context": 800000, - "output": 65536 + "context": 120000, + "output": 100000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": true, + "effort": "low" }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "search": { + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-04-25", - "last_updated": "2026-04-25", - "cost": { - "input": 1.5, - "output": 5.25, - "cache_read": 0.15 - }, "type": "chat" }, { - "id": "TEE/kimi-k2.5", - "name": "Kimi K2.5 TEE", - "display_name": "Kimi K2.5 TEE", + "id": "grok-3-fast-beta", + "name": "Grok 3 Fast Beta", + "display_name": "Grok 3 Fast Beta", "modalities": { "input": [ "text" @@ -24855,111 +26107,80 @@ ] }, "limit": { - "context": 128000, - "output": 65535 + "context": 120000, + "output": 100000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "search": { + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-01-29", - "last_updated": "2026-01-29", - "cost": { - "input": 0.3, - "output": 1.9 - }, "type": "chat" }, { - "id": "TEE/deepseek-v3.1", - "name": "DeepSeek V3.1 TEE", - "display_name": "DeepSeek V3.1 TEE", + "id": "grok-2-vision-1212", + "name": "Grok 2 Vision 1212", + "display_name": "Grok 2 Vision 1212", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 164000, - "output": 8192 + "context": 32000, + "output": 32000 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "cost": { - "input": 1, - "output": 2.5 + "search": { + "supported": false }, + "attachment": false, "type": "chat" }, { - "id": "TEE/qwen3.5-27b", - "name": "Qwen3.5 27B TEE", - "display_name": "Qwen3.5 27B TEE", + "id": "grok-2-image-1212", + "name": "Grok 2 Image 1212", + "display_name": "Grok 2 Image 1212", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 130000, + "output": 100000 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-03-13", - "last_updated": "2026-03-13", - "cost": { - "input": 0.3, - "output": 2.4 + "search": { + "supported": false }, + "attachment": false, "type": "chat" }, { - "id": "TEE/gemma4-31b", - "name": "Gemma 4 31B", - "display_name": "Gemma 4 31B", + "id": "grok-3-beta", + "name": "Grok 3 Beta", + "display_name": "Grok 3 Beta", "modalities": { "input": [ "text" @@ -24969,27 +26190,24 @@ ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 120000, + "output": 100000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2026-04-04", - "last_updated": "2026-04-04", - "cost": { - "input": 0.45, - "output": 1 + "search": { + "supported": false }, + "attachment": false, "type": "chat" }, { - "id": "TEE/glm-5.1", - "name": "GLM 5.1 TEE", - "display_name": "GLM 5.1 TEE", + "id": "grok-2-1212", + "name": "Grok 2 1212", + "display_name": "Grok 2 1212", "modalities": { "input": [ "text" @@ -24999,33 +26217,33 @@ ] }, "limit": { - "context": 202752, - "output": 65535 + "context": 120000, + "output": 100000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "search": { + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-04-20", - "last_updated": "2026-04-20", - "cost": { - "input": 1.5, - "output": 5.25, - "cache_read": 0.3 - }, "type": "chat" - }, + } + ] + }, + "privatemode-ai": { + "id": "privatemode-ai", + "name": "Privatemode AI", + "display_name": "Privatemode AI", + "api": "http://localhost:8080/v1", + "doc": "https://docs.privatemode.ai/api/overview", + "models": [ { - "id": "nex-agi/deepseek-v3.1-nex-n1", - "name": "DeepSeek V3.1 Nex N1", - "display_name": "DeepSeek V3.1 Nex N1", + "id": "qwen3-embedding-4b", + "name": "Qwen3-Embedding 4B", + "display_name": "Qwen3-Embedding 4B", "modalities": { "input": [ "text" @@ -25035,57 +26253,62 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 32000, + "output": 2560 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-12-10", - "last_updated": "2025-12-10", + "open_weights": true, + "knowledge": "2025-06", + "release_date": "2025-06-06", + "last_updated": "2025-06-06", "cost": { - "input": 0.27999999999999997, - "output": 0.42000000000000004 + "input": 0, + "output": 0 }, - "type": "chat" + "type": "embedding" }, { - "id": "tencent/Hunyuan-MT-7B", - "name": "Hunyuan MT 7B", - "display_name": "Hunyuan MT 7B", + "id": "gemma-3-27b", + "name": "Gemma 3 27B", + "display_name": "Gemma 3 27B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8192, + "context": 128000, "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2025-09-18", - "last_updated": "2025-09-18", + "attachment": true, + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-03-12", + "last_updated": "2025-03-12", "cost": { - "input": 10, - "output": 20 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "tencent/hy3-preview", - "name": "Tencent: Hy3 preview", - "display_name": "Tencent: Hy3 preview", + "id": "gpt-oss-120b", + "name": "gpt-oss-120b", + "display_name": "gpt-oss-120b", "modalities": { "input": [ "text" @@ -25095,12 +26318,14 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -25108,115 +26333,52 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2026-04-23", - "last_updated": "2026-04-23", - "cost": { - "input": 0.066, - "output": 0.26, - "cache_read": 0.029 - }, - "type": "chat" - }, - { - "id": "ibm-granite/granite-4.1-8b", - "name": "Granite 4.1 8B", - "display_name": "Granite 4.1 8B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 131072 - }, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2026-04-29", - "last_updated": "2026-04-29", + "open_weights": true, + "knowledge": "2025-08", + "release_date": "2025-08-04", + "last_updated": "2025-08-14", "cost": { - "input": 0.05, - "output": 0.1, - "cache_read": 0.05 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "nothingiisreal/L3.1-70B-Celeste-V0.1-BF16", - "name": "Llama 3.1 70B Celeste v0.1", - "display_name": "Llama 3.1 70B Celeste v0.1", + "id": "whisper-large-v3", + "name": "Whisper large-v3", + "display_name": "Whisper large-v3", "modalities": { "input": [ - "text" + "audio" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 8192, + "output": 4096 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "cost": { - "input": 0.49299999999999994, - "output": 0.49299999999999994 - }, - "type": "chat" - }, - { - "id": "stepfun/step-3.7-flash:thinking", - "name": "Step 3.7 Flash Thinking", - "display_name": "Step 3.7 Flash Thinking", - "modalities": { - "input": [ - "text", - "image", - "video" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 256000, - "output": 256000 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, "attachment": true, - "open_weights": false, - "release_date": "2026-05-29", - "last_updated": "2026-05-29", + "open_weights": true, + "knowledge": "2023-09", + "release_date": "2023-09-01", + "last_updated": "2023-09-01", "cost": { - "input": 0.2, - "output": 1.15, - "cache_read": 0.04 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "aion-labs/aion-2.5", - "name": "AionLabs: Aion-2.5", - "display_name": "AionLabs: Aion-2.5", + "id": "qwen3-coder-30b-a3b", + "name": "Qwen3-Coder 30B-A3B", + "display_name": "Qwen3-Coder 30B-A3B", "modalities": { "input": [ "text" @@ -25226,28 +26388,38 @@ ] }, "limit": { - "context": 131072, + "context": 128000, "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-03-20", - "last_updated": "2026-03-20", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", "cost": { - "input": 1, - "output": 3, - "cache_read": 0.35 + "input": 0, + "output": 0 }, "type": "chat" - }, + } + ] + }, + "drun": { + "id": "drun", + "name": "D.Run (China)", + "display_name": "D.Run (China)", + "api": "https://chat.d.run/v1", + "doc": "https://www.d.run", + "models": [ { - "id": "aion-labs/aion-2.0", - "name": "AionLabs: Aion-2.0", - "display_name": "AionLabs: Aion-2.0", + "id": "public/deepseek-v3", + "name": "DeepSeek V3", + "display_name": "DeepSeek V3", "modalities": { "input": [ "text" @@ -25258,26 +26430,28 @@ }, "limit": { "context": 131072, - "output": 32768 + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-02-23", - "last_updated": "2026-02-23", + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2024-12-26", + "last_updated": "2024-12-26", "cost": { - "input": 0.8, - "output": 1.6 + "input": 0.28, + "output": 1.1 }, "type": "chat" }, { - "id": "aion-labs/aion-1.0", - "name": "Aion 1.0", - "display_name": "Aion 1.0", + "id": "public/deepseek-r1", + "name": "DeepSeek R1", + "display_name": "DeepSeek R1", "modalities": { "input": [ "text" @@ -25287,27 +26461,41 @@ ] }, "limit": { - "context": 65536, - "output": 8192 + "context": 131072, + "output": 32000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-02-01", - "last_updated": "2025-02-01", + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", "cost": { - "input": 3.995, - "output": 7.99 + "input": 0.55, + "output": 2.2 }, "type": "chat" }, { - "id": "aion-labs/aion-rp-llama-3.1-8b", - "name": "Llama 3.1 8b (uncensored)", - "display_name": "Llama 3.1 8b (uncensored)", + "id": "public/minimax-m25", + "name": "MiniMax M2.5", + "display_name": "MiniMax M2.5", "modalities": { "input": [ "text" @@ -25317,27 +26505,49 @@ ] }, "limit": { - "context": 32768, - "output": 16384 + "context": 204800, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": false, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "release_date": "2025-03-01", + "last_updated": "2025-03-01", "cost": { - "input": 0.2006, - "output": 0.2006 + "input": 0.29, + "output": 1.16 }, "type": "chat" - }, + } + ] + }, + "alibaba-token-plan-cn": { + "id": "alibaba-token-plan-cn", + "name": "Alibaba Token Plan (China)", + "display_name": "Alibaba Token Plan (China)", + "api": "https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1", + "doc": "https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview", + "models": [ { - "id": "aion-labs/aion-1.0-mini", - "name": "Aion 1.0 mini (DeepSeek)", - "display_name": "Aion 1.0 mini (DeepSeek)", + "id": "deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ "text" @@ -25347,57 +26557,83 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1000000, + "output": 384000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-02-20", - "last_updated": "2025-02-20", + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.7989999999999999, - "output": 1.394 + "input": 0, + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "amazon/nova-pro-v1", - "name": "Amazon Nova Pro 1.0", - "display_name": "Amazon Nova Pro 1.0", + "id": "qwen3.7-plus", + "name": "Qwen3.7 Plus", + "display_name": "Qwen3.7 Plus", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 300000, - "output": 32000 + "context": 1000000, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": false, - "release_date": "2024-12-03", - "last_updated": "2024-12-03", + "knowledge": "2025-04", + "release_date": "2026-06-02", + "last_updated": "2026-06-02", "cost": { - "input": 0.7989999999999999, - "output": 3.1959999999999997 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "amazon/nova-lite-v1", - "name": "Amazon Nova Lite 1.0", - "display_name": "Amazon Nova Lite 1.0", + "id": "qwen3.7-max", + "name": "Qwen3.7 Max", + "display_name": "Qwen3.7 Max", "modalities": { "input": [ "text" @@ -25407,27 +26643,36 @@ ] }, "limit": { - "context": 300000, - "output": 5120 + "context": 1000000, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": false, - "release_date": "2024-12-03", - "last_updated": "2024-12-03", + "release_date": "2026-05-21", + "last_updated": "2026-05-21", "cost": { - "input": 0.0595, - "output": 0.238 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "amazon/nova-micro-v1", - "name": "Amazon Nova Micro 1.0", - "display_name": "Amazon Nova Micro 1.0", + "id": "glm-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ "text" @@ -25437,27 +26682,42 @@ ] }, "limit": { - "context": 128000, - "output": 5120 + "context": 202752, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2024-12-03", - "last_updated": "2024-12-03", + "open_weights": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 0.0357, - "output": 0.1394 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "amazon/nova-2-lite-v1", - "name": "Amazon Nova 2 Lite", - "display_name": "Amazon Nova 2 Lite", + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ "text" @@ -25468,90 +26728,124 @@ }, "limit": { "context": 1000000, - "output": 65535 + "output": 384000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2024-12-03", - "last_updated": "2024-12-03", + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.5099999999999999, - "output": 4.25 + "input": 0, + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "inclusionai/ling-2.6-flash", - "name": "Ling 2.6 Flash", - "display_name": "Ling 2.6 Flash", + "id": "wan2.7-image-pro", + "name": "Wan2.7 Image Pro", + "display_name": "Wan2.7 Image Pro", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 8192, + "output": 8192 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "release_date": "2026-05-29", + "last_updated": "2026-05-29", "cost": { - "input": 0.08, - "output": 0.24 + "input": 0, + "output": 0 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "inclusionai/ling-2.6-1t", - "name": "Ling 2.6 1T", - "display_name": "Ling 2.6 1T", + "id": "qwen3.6-flash", + "name": "Qwen3.6 Flash", + "display_name": "Qwen3.6 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 1000000, + "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "release_date": "2026-04-27", + "last_updated": "2026-04-27", "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.06 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "inclusionai/ring-2.6-1t", - "name": "Ring 2.6 1T", - "display_name": "Ring 2.6 1T", + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" @@ -25559,180 +26853,228 @@ }, "limit": { "context": 262144, - "output": 65536 + "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2026-05-08", - "last_updated": "2026-05-08", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", "cost": { - "input": 1, - "output": 3 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "mlabonne/NeuralDaredevil-8B-abliterated", - "name": "Neural Daredevil 8B abliterated", - "display_name": "Neural Daredevil 8B abliterated", + "id": "qwen-image-2.0", + "name": "Qwen Image 2.0", + "display_name": "Qwen Image 2.0", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { "context": 8192, "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", "cost": { - "input": 0.44, - "output": 0.44 + "input": 0, + "output": 0 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "unsloth/gemma-3-27b-it", - "name": "Gemma 3 27B IT", - "display_name": "Gemma 3 27B IT", + "id": "MiniMax-M2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 96000 + "context": 196608, + "output": 24576 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-03-10", - "last_updated": "2025-03-10", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.2992, - "output": 0.2992 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "unsloth/gemma-3-12b-it", - "name": "Gemma 3 12B IT", - "display_name": "Gemma 3 12B IT", + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ "text", - "pdf" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 131072 + "context": 262144, + "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, - "open_weights": false, - "release_date": "2025-03-10", - "last_updated": "2025-03-10", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0.272, - "output": 0.272 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "unsloth/gemma-3-4b-it", - "name": "Gemma 3 4B IT", - "display_name": "Gemma 3 4B IT", + "id": "qwen-image-2.0-pro", + "name": "Qwen Image 2.0 Pro", + "display_name": "Qwen Image 2.0 Pro", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 128000, + "context": 8192, "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-03-10", - "last_updated": "2025-03-10", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", "cost": { - "input": 0.2006, - "output": 0.2006 + "input": 0, + "output": 0 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "featherless-ai/Qwerky-72B", - "name": "Qwerky 72B", - "display_name": "Qwerky 72B", + "id": "wan2.7-image", + "name": "Wan2.7 Image", + "display_name": "Wan2.7 Image", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 32000, + "context": 8192, "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-03-20", - "last_updated": "2025-03-20", + "release_date": "2026-05-29", + "last_updated": "2026-05-29", "cost": { - "input": 0.5, - "output": 0.5 + "input": 0, + "output": 0 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "shisa-ai/shisa-v2-llama3.3-70b", - "name": "Shisa V2 Llama 3.3 70B", - "display_name": "Shisa V2 Llama 3.3 70B", + "id": "glm-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ "text" @@ -25742,27 +27084,42 @@ ] }, "limit": { - "context": 128000, + "context": 202752, "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": false, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 0.5, - "output": 0.5 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "shisa-ai/shisa-v2.1-llama3.3-70b", - "name": "Shisa V2.1 Llama 3.3 70B", - "display_name": "Shisa V2.1 Llama 3.3 70B", + "id": "deepseek-v3.2", + "name": "DeepSeek V3.2", + "display_name": "DeepSeek V3.2", "modalities": { "input": [ "text" @@ -25772,58 +27129,92 @@ ] }, "limit": { - "context": 32768, - "output": 4096 + "context": 131072, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2025-12-03", + "last_updated": "2025-12-05", "cost": { - "input": 0.5, - "output": 0.5 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "undi95/remm-slerp-l2-13b", - "name": "ReMM SLERP 13B", - "display_name": "ReMM SLERP 13B", + "id": "qwen3.6-plus", + "name": "Qwen3.6 Plus", + "display_name": "Qwen3.6 Plus", "modalities": { "input": [ "text", - "pdf" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 6144, - "output": 4096 + "context": 1000000, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": false, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0.7989999999999999, - "output": 1.2069999999999999 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" - }, + } + ] + }, + "moonshot-ai": { + "id": "moonshot-ai", + "name": "Moonshot AI", + "display_name": "Moonshot AI", + "api": "https://api.moonshot.ai/v1", + "doc": "https://platform.moonshot.ai/docs/api/chat", + "models": [ { - "id": "VongolaChouko/Starcannon-Unleashed-12B-v1.0", - "name": "Mistral Nemo Starcannon 12b v1", - "display_name": "Mistral Nemo Starcannon 12b v1", + "id": "kimi-k2-0905-preview", + "name": "Kimi K2 0905", + "display_name": "Kimi K2 0905", "modalities": { "input": [ "text" @@ -25833,64 +27224,80 @@ ] }, "limit": { - "context": 16384, - "output": 8192 + "context": 262144, + "output": 262144 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", + "open_weights": true, + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", "cost": { - "input": 0.49299999999999994, - "output": 0.49299999999999994 + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "google/gemini-pro-latest", - "name": "Gemini Pro Latest", - "display_name": "Gemini Pro Latest", + "id": "kimi-k2-thinking-turbo", + "name": "Kimi K2 Thinking Turbo", + "display_name": "Kimi K2 Thinking Turbo", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 262144, + "output": 262144 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2026-03-29", - "last_updated": "2026-03-29", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2 + "input": 1.15, + "output": 8, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "google/gemma-4-26b-a4b-it:thinking", - "name": "Gemma 4 26B A4B Thinking", - "display_name": "Gemma 4 26B A4B Thinking", + "id": "kimi-k2.7-code", + "name": "Kimi K2.7 Code", + "display_name": "Kimi K2.7 Code", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" @@ -25898,27 +27305,43 @@ }, "limit": { "context": 262144, - "output": 131072 + "output": 262144 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "fixed", + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": true, - "open_weights": false, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0.13, - "output": 0.4 + "input": 0.95, + "output": 4, + "cache_read": 0.16 }, "type": "chat" }, { - "id": "google/gemini-flash-1.5", - "name": "Gemini 1.5 Flash", - "display_name": "Gemini 1.5 Flash", + "id": "kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "display_name": "Kimi K2 Thinking", "modalities": { "input": [ "text" @@ -25928,106 +27351,123 @@ ] }, "limit": { - "context": 2000000, - "output": 8192 + "context": 262144, + "output": 262144 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2024-05-14", - "last_updated": "2024-05-14", + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", "cost": { - "input": 0.0748, - "output": 0.306 + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "google/gemma-4-31b-it", - "name": "Gemma 4 31B", - "display_name": "Gemma 4 31B", + "id": "kimi-k2-0711-preview", + "name": "Kimi K2 0711", + "display_name": "Kimi K2 0711", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 131072, + "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "attachment": false, + "open_weights": true, + "knowledge": "2024-10", + "release_date": "2025-07-14", + "last_updated": "2025-07-14", "cost": { - "input": 0.1, - "output": 0.35 + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "google/gemini-flash-lite-latest", - "name": "Gemini Flash Lite Latest", - "display_name": "Gemini Flash Lite Latest", + "id": "kimi-k2-turbo-preview", + "name": "Kimi K2 Turbo", + "display_name": "Kimi K2 Turbo", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 262144, + "output": 262144 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-03-29", - "last_updated": "2026-03-29", + "attachment": false, + "open_weights": true, + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.025 + "input": 2.4, + "output": 10, + "cache_read": 0.6 }, "type": "chat" }, { - "id": "google/gemini-3-flash-preview", - "name": "Gemini 3 Flash (Preview)", - "display_name": "Gemini 3 Flash (Preview)", + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 262144, + "output": 262144 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -26036,49 +27476,45 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "attachment": false, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", "cost": { - "input": 0.5, - "output": 3 + "input": 0.6, + "output": 3, + "cache_read": 0.1 }, "type": "chat" }, { - "id": "google/gemini-3.1-pro-preview-high", - "name": "Gemini 3.1 Pro (Preview High)", - "display_name": "Gemini 3.1 Pro (Preview High)", + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 262144, + "output": 262144 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -26087,48 +27523,45 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, "attachment": true, - "open_weights": false, - "release_date": "2026-02-21", - "last_updated": "2026-02-21", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2 + "input": 0.95, + "output": 4, + "cache_read": 0.16 }, "type": "chat" }, { - "id": "google/gemini-3.1-pro-preview-customtools", - "name": "Gemini 3.1 Pro (Preview Custom Tools)", - "display_name": "Gemini 3.1 Pro (Preview Custom Tools)", + "id": "kimi-k2.7-code-highspeed", + "name": "Kimi K2.7 Code Highspeed", + "display_name": "Kimi K2.7 Code Highspeed", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 262144, + "output": 262144 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -26138,34 +27571,40 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], + "mode": "fixed", + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, "attachment": true, - "open_weights": false, - "release_date": "2026-02-27", - "last_updated": "2026-02-27", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2 + "input": 0.95, + "output": 4, + "cache_read": 0.16 }, "type": "chat" - }, + } + ] + }, + "fireworks-ai": { + "id": "fireworks-ai", + "name": "Fireworks AI", + "display_name": "Fireworks AI", + "api": "https://api.fireworks.ai/inference/v1/", + "doc": "https://fireworks.ai/docs/", + "models": [ { - "id": "google/gemma-4-31b-it:thinking", - "name": "Gemma 4 31B Thinking", - "display_name": "Gemma 4 31B Thinking", + "id": "accounts/fireworks/routers/kimi-k2p6-turbo", + "name": "Kimi K2.6 Turbo", + "display_name": "Kimi K2.6 Turbo", "modalities": { "input": [ "text", @@ -26176,28 +27615,41 @@ ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 262000, + "output": 262000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": true, - "open_weights": false, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "open_weights": true, + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { - "input": 0.1, - "output": 0.35 + "input": 2, + "output": 8, + "cache_read": 0.3 }, "type": "chat" }, { - "id": "google/gemini-flash-latest", - "name": "Gemini Flash Latest", - "display_name": "Gemini Flash Latest", + "id": "accounts/fireworks/routers/kimi-k2p7-code-fast", + "name": "Kimi K2.7 Code Fast", + "display_name": "Kimi K2.7 Code Fast", "modalities": { "input": [ "text", @@ -26208,43 +27660,56 @@ ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 262000, + "output": 262000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": true, - "open_weights": false, - "release_date": "2026-03-29", - "last_updated": "2026-03-29", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-06-12", + "last_updated": "2026-06-12", "cost": { - "input": 1.5, - "output": 9, - "cache_read": 0.15 + "input": 2, + "output": 8, + "cache_read": 0.38 }, "type": "chat" }, { - "id": "google/gemini-3.5-flash-thinking", - "name": "Gemini 3.5 Flash Thinking", - "display_name": "Gemini 3.5 Flash Thinking", + "id": "accounts/fireworks/routers/glm-5p1-fast", + "name": "GLM 5.1 Fast", + "display_name": "GLM 5.1 Fast", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 202800, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -26252,37 +27717,29 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-05-19", - "last_updated": "2026-05-19", + "attachment": false, + "open_weights": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-01", "cost": { - "input": 1.5, - "output": 9, - "cache_read": 0.15 + "input": 2.8, + "output": 8.8, + "cache_read": 0.52 }, "type": "chat" }, { - "id": "google/gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro (Preview)", - "display_name": "Gemini 3.1 Pro (Preview)", + "id": "accounts/fireworks/routers/kimi-k2p6-fast", + "name": "Kimi K2.6 Fast", + "display_name": "Kimi K2.6 Fast", "modalities": { "input": [ "text", @@ -26293,9 +27750,10 @@ ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 262000, + "output": 262000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -26304,49 +27762,42 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, "attachment": true, - "open_weights": false, - "release_date": "2026-02-19", - "last_updated": "2026-02-19", + "open_weights": true, + "release_date": "2026-04-17", + "last_updated": "2026-06-05", "cost": { "input": 2, - "output": 12, - "cache_read": 0.2 + "output": 8, + "cache_read": 0.3 }, "type": "chat" }, { - "id": "google/gemini-3.1-flash-lite", - "name": "Gemini 3.1 Flash Lite", - "display_name": "Gemini 3.1 Flash Lite", + "id": "accounts/fireworks/models/deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 1000000, + "output": 384000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -26354,70 +27805,89 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-03-03", - "last_updated": "2026-03-03", + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.025 + "input": 0.14, + "output": 0.28, + "cache_read": 0.03 }, "type": "chat" }, { - "id": "google/gemma-4-26b-a4b-it", - "name": "Gemma 4 26B A4B", - "display_name": "Gemma 4 26B A4B", + "id": "accounts/fireworks/models/deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 1000000, + "output": 384000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.13, - "output": 0.4 + "input": 1.74, + "output": 3.48, + "cache_read": 0.145 }, "type": "chat" }, { - "id": "google/gemini-3.5-flash", - "name": "Gemini 3.5 Flash", - "display_name": "Gemini 3.5 Flash", + "id": "accounts/fireworks/models/minimax-m2p7", + "name": "MiniMax-M2.7", + "display_name": "MiniMax-M2.7", "modalities": { "input": [ - "text", - "image", - "audio" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 196608, + "output": 196608 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -26426,51 +27896,43 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-05-19", - "last_updated": "2026-05-19", + "attachment": false, + "open_weights": true, + "release_date": "2026-04-12", + "last_updated": "2026-04-12", "cost": { - "input": 1.5, - "output": 9, - "cache_read": 0.15 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "google/gemini-3-flash-preview-thinking", - "name": "Gemini 3 Flash Thinking", - "display_name": "Gemini 3 Flash Thinking", + "id": "accounts/fireworks/models/minimax-m3", + "name": "MiniMax-M3", + "display_name": "MiniMax-M3", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 512000, + "output": 512000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -26478,36 +27940,29 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, "attachment": true, - "open_weights": false, - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "open_weights": true, + "release_date": "2026-06-12", + "last_updated": "2026-06-12", "cost": { - "input": 0.5, - "output": 3 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "google/gemini-3.1-pro-preview-low", - "name": "Gemini 3.1 Pro (Preview Low)", - "display_name": "Gemini 3.1 Pro (Preview Low)", + "id": "accounts/fireworks/models/kimi-k2p6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ "text", @@ -26518,9 +27973,10 @@ ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 262000, + "output": 262000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -26529,65 +27985,63 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, "attachment": true, - "open_weights": false, - "release_date": "2026-02-21", - "last_updated": "2026-02-21", + "open_weights": true, + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2 + "input": 0.95, + "output": 4, + "cache_read": 0.16 }, "type": "chat" }, { - "id": "huihui-ai/Qwen2.5-32B-Instruct-abliterated", - "name": "Qwen 2.5 32B Abliterated", - "display_name": "Qwen 2.5 32B Abliterated", + "id": "accounts/fireworks/models/qwen3p7-plus", + "name": "Qwen 3.7 Plus", + "display_name": "Qwen 3.7 Plus", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 8192 + "context": 262144, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-01-06", - "last_updated": "2025-01-06", + "release_date": "2026-06-12", + "last_updated": "2026-06-12", "cost": { - "input": 0.7, - "output": 0.7 + "input": 0.4, + "output": 1.6, + "cache_read": 0.08 }, "type": "chat" }, { - "id": "huihui-ai/Llama-3.3-70B-Instruct-abliterated", - "name": "Llama 3.3 70B Instruct abliterated", - "display_name": "Llama 3.3 70B Instruct abliterated", + "id": "accounts/fireworks/models/glm-5p1", + "name": "GLM 5.1", + "display_name": "GLM 5.1", "modalities": { "input": [ "text" @@ -26597,27 +28051,41 @@ ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 202800, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-08", - "last_updated": "2025-08-08", + "open_weights": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-01", "cost": { - "input": 0.7, - "output": 0.7 + "input": 1.4, + "output": 4.4, + "cache_read": 0.26 }, "type": "chat" }, { - "id": "huihui-ai/DeepSeek-R1-Distill-Llama-70B-abliterated", - "name": "DeepSeek R1 Llama 70B Abliterated", - "display_name": "DeepSeek R1 Llama 70B Abliterated", + "id": "accounts/fireworks/models/gpt-oss-120b", + "name": "GPT OSS 120B", + "display_name": "GPT OSS 120B", "modalities": { "input": [ "text" @@ -26627,28 +28095,35 @@ ] }, "limit": { - "context": 16384, - "output": 8192 + "context": 131072, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": false, - "open_weights": false, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", + "open_weights": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.7, - "output": 0.7 + "input": 0.15, + "output": 0.6, + "cache_read": 0.015 }, "type": "chat" }, { - "id": "huihui-ai/DeepSeek-R1-Distill-Qwen-32B-abliterated", - "name": "DeepSeek R1 Qwen Abliterated", - "display_name": "DeepSeek R1 Qwen Abliterated", + "id": "accounts/fireworks/models/gpt-oss-20b", + "name": "GPT OSS 20B", + "display_name": "GPT OSS 20B", "modalities": { "input": [ "text" @@ -26658,28 +28133,35 @@ ] }, "limit": { - "context": 16384, - "output": 8192 + "context": 131072, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": false, - "open_weights": false, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", + "open_weights": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 1.4, - "output": 1.4 + "input": 0.07, + "output": 0.3, + "cache_read": 0.035 }, "type": "chat" }, { - "id": "openai/gpt-4o-2024-08-06", - "name": "GPT-4o (2024-08-06)", - "display_name": "GPT-4o (2024-08-06)", + "id": "accounts/fireworks/models/kimi-k2p7-code", + "name": "Kimi K2.7 Code", + "display_name": "Kimi K2.7 Code", "modalities": { "input": [ "text", @@ -26690,41 +28172,65 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 262000, + "output": 262000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, - "open_weights": false, - "release_date": "2024-08-06", - "last_updated": "2024-08-06", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-06-12", + "last_updated": "2026-06-12", "cost": { - "input": 2.499, - "output": 9.996 + "input": 0.95, + "output": 4, + "cache_read": 0.19 }, "type": "chat" - }, + } + ] + }, + "vultr": { + "id": "vultr", + "name": "Vultr", + "display_name": "Vultr", + "api": "https://api.vultrinference.com/v1", + "doc": "https://api.vultrinference.com/", + "models": [ { - "id": "openai/gpt-5-pro", - "name": "GPT 5 Pro", - "display_name": "GPT 5 Pro", + "id": "moonshotai/Kimi-K2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -26732,85 +28238,94 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "fixed", - "effort": "high", - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, - "open_weights": false, - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 15, - "output": 120 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "openai/gpt-5-mini", - "name": "GPT 5 Mini", - "display_name": "GPT 5 Mini", + "id": "nvidia/Llama-3.1-Nemotron-Safety-Guard-8B-v3", + "name": "Llama 3.1 Nemotron Safety Guard", + "display_name": "Llama 3.1 Nemotron Safety Guard", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 8192, + "output": 4096 }, + "temperature": true, "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2025-10-28", + "last_updated": "2025-10-28", + "cost": { + "input": 0.01, + "output": 0.01 + }, + "type": "chat" + }, + { + "id": "nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16", + "name": "NVIDIA Nemotron 3 Nano Omni", + "display_name": "NVIDIA Nemotron 3 Nano Omni", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 131072 + }, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, - "open_weights": false, - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-28", + "last_updated": "2026-04-28", "cost": { - "input": 0.25, - "output": 2 + "input": 0.13, + "output": 0.38 }, "type": "chat" }, { - "id": "openai/o3-mini-high", - "name": "OpenAI o3-mini (High)", - "display_name": "OpenAI o3-mini (High)", + "id": "nvidia/DeepSeek-V3.2-NVFP4", + "name": "DeepSeek V3.2", + "display_name": "DeepSeek V3.2", "modalities": { "input": [ "text" @@ -26820,42 +28335,63 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 131072, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "attachment": false, + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "cost": { + "input": 0.55, + "output": 1.65 + }, + "type": "chat" + }, + { + "id": "nvidia/Nemotron-Cascade-2-30B-A3B", + "name": "NVIDIA Nemotron Cascade 2", + "display_name": "NVIDIA Nemotron Cascade 2", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2025-01-31", - "last_updated": "2025-01-31", + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "cost": { - "input": 0.64, - "output": 2.588 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "openai/o4-mini-high", - "name": "OpenAI o4-mini high", - "display_name": "OpenAI o4-mini high", + "id": "zai-org/GLM-5.1-FP8", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ "text" @@ -26866,8 +28402,9 @@ }, "limit": { "context": 200000, - "output": 100000 + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -26876,67 +28413,84 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": false, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "open_weights": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 1.1, - "output": 4.4 + "input": 0.85, + "output": 3.1 }, "type": "chat" }, { - "id": "openai/gpt-4o", - "name": "GPT-4o", - "display_name": "GPT-4o", + "id": "MiniMaxAI/MiniMax-M2.7", + "name": "MiniMax-M2.7", + "display_name": "MiniMax-M2.7", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 204800, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2024-05-13", - "last_updated": "2024-05-13", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 2.499, - "output": 9.996 + "input": 0.3, + "output": 1.2 }, "type": "chat" - }, + } + ] + }, + "302ai": { + "id": "302ai", + "name": "302.AI", + "display_name": "302.AI", + "api": "https://api.302.ai/v1", + "doc": "https://doc.302.ai", + "models": [ { - "id": "openai/gpt-5.2", - "name": "GPT 5.2", - "display_name": "GPT 5.2", + "id": "gpt-5.4-mini-2026-03-17", + "name": "gpt-5.4-mini-2026-03-17", + "display_name": "gpt-5.4-mini-2026-03-17", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -26946,6 +28500,7 @@ "context": 400000, "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -26975,94 +28530,86 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-01-01", - "last_updated": "2026-01-01", + "knowledge": "2025-08-31", + "release_date": "2026-03-19", + "last_updated": "2026-03-19", "cost": { - "input": 1.75, - "output": 14 + "input": 0.75, + "output": 4.5 }, "type": "chat" }, { - "id": "openai/gpt-5-codex", - "name": "GPT-5 Codex", - "display_name": "GPT-5 Codex", + "id": "chatgpt-4o-latest", + "name": "chatgpt-4o-latest", + "display_name": "chatgpt-4o-latest", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 32768 + "context": 128000, + "output": 16384 }, + "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-09-15", - "last_updated": "2025-09-15", + "knowledge": "2023-09", + "release_date": "2024-08-08", + "last_updated": "2024-08-08", "cost": { - "input": 9.996, - "output": 19.992 + "input": 5, + "output": 15 }, "type": "chat" }, { - "id": "openai/o3", - "name": "OpenAI o3", - "display_name": "OpenAI o3", + "id": "gpt-5.4-nano-2026-03-17", + "name": "gpt-5.4-nano-2026-03-17", + "display_name": "gpt-5.4-nano-2026-03-17", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 400000, + "output": 128000 }, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "effort", - "effort": "medium", + "effort": "none", "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ "low", "medium", "high" @@ -27070,119 +28617,104 @@ "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "knowledge": "2025-08-31", + "release_date": "2026-03-19", + "last_updated": "2026-03-19", "cost": { - "input": 2, - "output": 8 + "input": 0.2, + "output": 1.25 }, "type": "chat" }, { - "id": "openai/gpt-4o-2024-11-20", - "name": "GPT-4o (2024-11-20)", - "display_name": "GPT-4o (2024-11-20)", + "id": "kimi-k2-0905-preview", + "name": "kimi-k2-0905-preview", + "display_name": "kimi-k2-0905-preview", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 262144, + "output": 262144 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2024-11-20", - "last_updated": "2024-11-20", + "knowledge": "2025-06", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", "cost": { - "input": 2.5, - "output": 10 + "input": 0.632, + "output": 2.53 }, "type": "chat" }, { - "id": "openai/gpt-5", - "name": "GPT 5", - "display_name": "GPT 5", + "id": "grok-4.20-beta-0309-non-reasoning", + "name": "grok-4.20-beta-0309-non-reasoning", + "display_name": "grok-4.20-beta-0309-non-reasoning", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 2000000, + "output": 30000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, "attachment": true, "open_weights": false, - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "release_date": "2026-03-16", + "last_updated": "2026-03-16", "cost": { - "input": 1.25, - "output": 10 + "input": 2, + "output": 6 }, "type": "chat" }, { - "id": "openai/gpt-5.4-pro", - "name": "GPT 5.4 Pro", - "display_name": "GPT 5.4 Pro", + "id": "gemini-2.5-flash-nothink", + "name": "gemini-2.5-flash-nothink", + "display_name": "gemini-2.5-flash-nothink", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 922000, - "output": 128000 + "context": 1000000, + "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -27192,82 +28724,93 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "knowledge": "2025-01", + "release_date": "2025-06-24", + "last_updated": "2025-06-24", "cost": { - "input": 30, - "output": 180, - "cache_read": 3 + "input": 0.3, + "output": 2.5 }, "type": "chat" }, { - "id": "openai/gpt-4.1-mini", - "name": "GPT 4.1 Mini", - "display_name": "GPT 4.1 Mini", + "id": "qwen-plus", + "name": "Qwen-Plus", + "display_name": "Qwen-Plus", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, + "context": 1000000, "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": false, - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "knowledge": "2024-10", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 0.4, - "output": 1.6 + "input": 0.12, + "output": 1.2 }, "type": "chat" }, { - "id": "openai/gpt-5.2-pro", - "name": "GPT 5.2 Pro", - "display_name": "GPT 5.2 Pro", + "id": "glm-4.7", + "name": "glm-4.7", + "display_name": "glm-4.7", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 204800, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -27276,37 +28819,29 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-01-01", - "last_updated": "2026-01-01", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 21, - "output": 168 + "input": 0.286, + "output": 1.142 }, "type": "chat" }, { - "id": "openai/gpt-4o-mini-search-preview", - "name": "GPT-4o mini Search Preview", - "display_name": "GPT-4o mini Search Preview", + "id": "qwen3-235b-a22b-instruct-2507", + "name": "qwen3-235b-a22b-instruct-2507", + "display_name": "qwen3-235b-a22b-instruct-2507", "modalities": { "input": [ "text" @@ -27317,71 +28852,63 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "knowledge": "2025-04", + "release_date": "2025-07-30", + "last_updated": "2025-07-30", "cost": { - "input": 0.088, - "output": 0.35 + "input": 0.29, + "output": 1.143 }, "type": "chat" }, { - "id": "openai/o4-mini", - "name": "OpenAI o4-mini", - "display_name": "OpenAI o4-mini", + "id": "glm-4.5v", + "name": "GLM-4.5V", + "display_name": "GLM-4.5V", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 64000, + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": false, - "open_weights": false, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "attachment": true, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-08-12", + "last_updated": "2025-08-12", "cost": { - "input": 1.1, - "output": 4.4 + "input": 0.29, + "output": 0.86 }, "type": "chat" }, { - "id": "openai/gpt-5.4", - "name": "GPT 5.4", - "display_name": "GPT 5.4", + "id": "claude-opus-4-5", + "name": "claude-opus-4-5", + "display_name": "claude-opus-4-5", "modalities": { "input": [ "text", @@ -27393,9 +28920,10 @@ ] }, "limit": { - "context": 922000, - "output": 128000 + "context": 200000, + "output": 64000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -27405,51 +28933,58 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "effort", - "effort": "none", + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ "low", "medium", "high" ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "knowledge": "2025-03-31", + "release_date": "2025-11-25", + "last_updated": "2025-11-25", "cost": { - "input": 2.5, - "output": 15, - "cache_read": 0.25 + "input": 5, + "output": 25 }, "type": "chat" }, { - "id": "openai/o3-mini", - "name": "OpenAI o3-mini", - "display_name": "OpenAI o3-mini", + "id": "gemini-2.5-pro", + "name": "gemini-2.5-pro", + "display_name": "gemini-2.5-pro", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 1000000, + "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -27459,78 +28994,50 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, - "attachment": false, - "open_weights": false, - "release_date": "2025-01-31", - "last_updated": "2025-01-31", - "cost": { - "input": 1.1, - "output": 4.4 - }, - "type": "chat" - }, - { - "id": "openai/gpt-latest", - "name": "GPT Latest", - "display_name": "GPT Latest", - "modalities": { - "input": [ - "text", - "image", - "pdf" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 128000 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, "attachment": true, "open_weights": false, - "release_date": "2026-03-29", - "last_updated": "2026-03-29", + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5 + "input": 1.25, + "output": 10 }, "type": "chat" }, { - "id": "openai/gpt-5.5", - "name": "GPT 5.5", - "display_name": "GPT 5.5", + "id": "gpt-5", + "name": "gpt-5", + "display_name": "gpt-5", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 400000, "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -27543,10 +29050,10 @@ "mode": "effort", "effort": "medium", "effort_options": [ + "minimal", "low", "medium", - "high", - "xhigh" + "high" ], "verbosity": "medium", "verbosity_options": [ @@ -27559,19 +29066,19 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "knowledge": "2024-09-30", + "release_date": "2025-08-08", + "last_updated": "2025-08-08", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5 + "input": 1.25, + "output": 10 }, "type": "chat" }, { - "id": "openai/gpt-5.1", - "name": "GPT 5.1", - "display_name": "GPT 5.1", + "id": "claude-haiku-4-5-20251001", + "name": "claude-haiku-4-5-20251001", + "display_name": "claude-haiku-4-5-20251001", "modalities": { "input": [ "text", @@ -27583,9 +29090,10 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 64000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -27595,162 +29103,142 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, "attachment": true, "open_weights": false, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "knowledge": "2025-02-28", + "release_date": "2025-10-16", + "last_updated": "2025-10-16", "cost": { - "input": 1.25, - "output": 10 + "input": 1, + "output": 5 }, "type": "chat" }, { - "id": "openai/gpt-5-nano", - "name": "GPT 5 Nano", - "display_name": "GPT 5 Nano", + "id": "kimi-k2-thinking-turbo", + "name": "kimi-k2-thinking-turbo", + "display_name": "kimi-k2-thinking-turbo", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 262144 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2025-06", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", "cost": { - "input": 0.05, - "output": 0.4 + "input": 1.265, + "output": 9.119 }, "type": "chat" }, { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "display_name": "GPT OSS 120B", + "id": "claude-3-5-haiku-20241022", + "name": "claude-3-5-haiku-20241022", + "display_name": "claude-3-5-haiku-20241022", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 8192 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", "cost": { - "input": 0.05, - "output": 0.25 + "input": 0.8, + "output": 4 }, "type": "chat" }, { - "id": "openai/gpt-4o-mini", - "name": "GPT-4o mini", - "display_name": "GPT-4o mini", + "id": "glm-4.5", + "name": "GLM-4.5", + "display_name": "GLM-4.5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 98304 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-29", + "last_updated": "2025-07-29", "cost": { - "input": 0.1496, - "output": 0.595 + "input": 0.286, + "output": 1.142 }, "type": "chat" }, { - "id": "openai/gpt-5.1-codex-max", - "name": "GPT 5.1 Codex Max", - "display_name": "GPT 5.1 Codex Max", + "id": "gpt-5-pro", + "name": "gpt-5-pro", + "display_name": "gpt-5-pro", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -27758,25 +29246,20 @@ }, "limit": { "context": 400000, - "output": 128000 + "output": 272000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], + "default_enabled": true, + "mode": "fixed", + "effort": "high", "verbosity": "medium", "verbosity_options": [ "low", @@ -27788,18 +29271,19 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "knowledge": "2024-09-30", + "release_date": "2025-10-08", + "last_updated": "2025-10-08", "cost": { - "input": 2.5, - "output": 20 + "input": 15, + "output": 120 }, "type": "chat" }, { - "id": "openai/gpt-5.1-codex-mini", - "name": "GPT 5.1 Codex Mini", - "display_name": "GPT 5.1 Codex Mini", + "id": "grok-4.20-beta-0309-reasoning", + "name": "grok-4.20-beta-0309-reasoning", + "display_name": "grok-4.20-beta-0309-reasoning", "modalities": { "input": [ "text", @@ -27810,64 +29294,49 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 2000000, + "output": 30000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, "attachment": true, "open_weights": false, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "release_date": "2026-03-16", + "last_updated": "2026-03-16", "cost": { - "input": 0.25, - "output": 2 + "input": 2, + "output": 6 }, "type": "chat" }, { - "id": "openai/o1-pro", - "name": "OpenAI o1 Pro", - "display_name": "OpenAI o1 Pro", + "id": "gemini-2.5-flash", + "name": "gemini-2.5-flash", + "display_name": "gemini-2.5-flash", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 1000000, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -27876,30 +29345,37 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, "attachment": true, "open_weights": false, - "release_date": "2025-01-25", - "last_updated": "2025-01-25", + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 150, - "output": 600 + "input": 0.3, + "output": 2.5 }, "type": "chat" }, { - "id": "openai/gpt-chat-latest", - "name": "GPT Chat Latest", - "display_name": "GPT Chat Latest", + "id": "gpt-4o", + "name": "gpt-4o", + "display_name": "gpt-4o", "modalities": { "input": [ "text", @@ -27911,33 +29387,29 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-05-03", - "last_updated": "2026-05-03", + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-05-13", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "openai/o3-pro-2025-06-10", - "name": "OpenAI o3-pro (2025-06-10)", - "display_name": "OpenAI o3-pro (2025-06-10)", + "id": "MiniMax-M2.1", + "name": "MiniMax-M2.1", + "display_name": "MiniMax-M2.1", "modalities": { "input": [ "text" @@ -27947,111 +29419,123 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 1000000, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, "attachment": false, "open_weights": false, - "release_date": "2025-06-10", - "last_updated": "2025-06-10", + "release_date": "2025-12-19", + "last_updated": "2025-12-19", "cost": { - "input": 9.996, - "output": 19.992 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "openai/gpt-oss-20b", - "name": "GPT OSS 20B", - "display_name": "GPT OSS 20B", + "id": "gemini-2.5-flash-lite-preview-09-2025", + "name": "gemini-2.5-flash-lite-preview-09-2025", + "display_name": "gemini-2.5-flash-lite-preview-09-2025", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 1000000, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "default": -1, + "min": 512, + "max": 24576, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2025-01", + "release_date": "2025-09-26", + "last_updated": "2025-09-26", "cost": { - "input": 0.04, - "output": 0.15 + "input": 0.1, + "output": 0.4 }, "type": "chat" }, { - "id": "openai/gpt-4-turbo-preview", - "name": "GPT-4 Turbo Preview", - "display_name": "GPT-4 Turbo Preview", + "id": "doubao-seed-1-6-vision-250815", + "name": "doubao-seed-1-6-vision-250815", + "display_name": "doubao-seed-1-6-vision-250815", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 256000, + "output": 32000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2023-11-06", - "last_updated": "2024-01-01", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", "cost": { - "input": 9.996, - "output": 30.004999999999995 + "input": 0.114, + "output": 1.143 }, "type": "chat" }, { - "id": "openai/o3-deep-research", - "name": "OpenAI o3 Deep Research", - "display_name": "OpenAI o3 Deep Research", + "id": "claude-opus-4-1-20250805", + "name": "claude-opus-4-1-20250805", + "display_name": "claude-opus-4-1-20250805", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" @@ -28059,41 +29543,50 @@ }, "limit": { "context": 200000, - "output": 100000 + "output": 32000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 9.996, - "output": 19.992 + "input": 15, + "output": 75 }, "type": "chat" }, { - "id": "openai/o3-mini-low", - "name": "OpenAI o3-mini (Low)", - "display_name": "OpenAI o3-mini (Low)", + "id": "qwen3-max-2025-09-23", + "name": "qwen3-max-2025-09-23", + "display_name": "qwen3-max-2025-09-23", "modalities": { "input": [ "text" @@ -28103,144 +29596,118 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 258048, + "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-01-31", - "last_updated": "2025-01-31", + "knowledge": "2025-04", + "release_date": "2025-09-24", + "last_updated": "2025-09-24", "cost": { - "input": 9.996, - "output": 19.992 + "input": 0.86, + "output": 3.43 }, "type": "chat" }, { - "id": "openai/gpt-4.1", - "name": "GPT 4.1", - "display_name": "GPT 4.1", + "id": "glm-4.7-flashx", + "name": "glm-4.7-flashx", + "display_name": "glm-4.7-flashx", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 200000, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-09-10", - "last_updated": "2025-09-10", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2026-01-20", + "last_updated": "2026-01-20", "cost": { - "input": 2, - "output": 8 + "input": 0.0715, + "output": 0.429 }, "type": "chat" }, { - "id": "openai/gpt-5.4-nano", - "name": "GPT 5.4 Nano", - "display_name": "GPT 5.4 Nano", + "id": "glm-5.1", + "name": "glm-5.1", + "display_name": "glm-5.1", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "release_date": "2026-04-10", + "last_updated": "2026-04-10", "cost": { - "input": 0.2, - "output": 1.25, - "cache_read": 0.02 + "input": 0.86, + "output": 3.5 }, "type": "chat" }, { - "id": "openai/gpt-5.3-codex", - "name": "GPT 5.3 Codex", - "display_name": "GPT 5.3 Codex", + "id": "glm-4.6", + "name": "glm-4.6", + "display_name": "glm-4.6", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 204800, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -28248,40 +29715,24 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-02-24", - "last_updated": "2026-02-24", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.286, + "output": 1.142 }, "type": "chat" }, { - "id": "openai/o4-mini-deep-research", - "name": "OpenAI o4-mini Deep Research", - "display_name": "OpenAI o4-mini Deep Research", + "id": "kimi-k2-thinking", + "name": "kimi-k2-thinking", + "display_name": "kimi-k2-thinking", "modalities": { "input": [ "text" @@ -28291,10 +29742,11 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 262144, + "output": 262144 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -28302,61 +29754,85 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, "open_weights": false, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "knowledge": "2025-06", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", "cost": { - "input": 9.996, - "output": 19.992 + "input": 0.575, + "output": 2.3 }, "type": "chat" }, { - "id": "openai/gpt-3.5-turbo", - "name": "GPT-3.5 Turbo", - "display_name": "GPT-3.5 Turbo", + "id": "claude-sonnet-4-5", + "name": "claude-sonnet-4-5", + "display_name": "claude-sonnet-4-5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 16385, - "output": 4096 + "context": 200000, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2022-11-30", - "last_updated": "2024-01-01", + "knowledge": "2025-07-31", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", "cost": { - "input": 0.5, - "output": 1.5 + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "openai/gpt-5.1-2025-11-13", - "name": "GPT-5.1 (2025-11-13)", - "display_name": "GPT-5.1 (2025-11-13)", + "id": "glm-4.5-x", + "name": "glm-4.5-x", + "display_name": "glm-4.5-x", "modalities": { "input": [ "text" @@ -28366,237 +29842,243 @@ ] }, "limit": { - "context": 1000000, - "output": 32768 + "context": 128000, + "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "knowledge": "2025-04", + "release_date": "2025-07-29", + "last_updated": "2025-07-29", "cost": { - "input": 1.25, - "output": 10 + "input": 1.143, + "output": 2.29 }, "type": "chat" }, { - "id": "openai/gpt-5.2-codex", - "name": "GPT 5.2 Codex", - "display_name": "GPT 5.2 Codex", + "id": "deepseek-v3.2-thinking", + "name": "DeepSeek-V3.2-Thinking", + "display_name": "DeepSeek-V3.2-Thinking", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, + "context": 128000, "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-01-14", - "last_updated": "2026-01-14", + "knowledge": "2024-12", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "cost": { - "input": 1.75, - "output": 14 + "input": 0.29, + "output": 0.43 }, "type": "chat" }, { - "id": "openai/gpt-5.1-codex", - "name": "GPT 5.1 Codex", - "display_name": "GPT 5.1 Codex", + "id": "claude-sonnet-4-6-thinking", + "name": "claude-sonnet-4-6-thinking", + "display_name": "claude-sonnet-4-6-thinking", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1000000, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", + "default_enabled": true, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", "effort_options": [ - "none", "low", "medium", - "high" + "high", + "max" ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] } }, "attachment": true, "open_weights": false, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "knowledge": "2025-08", + "release_date": "2026-02-18", + "last_updated": "2026-03-13", "cost": { - "input": 1.25, - "output": 10 + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "openai/o1-preview", - "name": "OpenAI o1-preview", - "display_name": "OpenAI o1-preview", + "id": "claude-opus-4-7", + "name": "claude-opus-4-7", + "display_name": "claude-opus-4-7", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 1000000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "effort", - "effort": "medium", + "effort": "high", "effort_options": [ "low", "medium", - "high" + "high", + "xhigh", + "max" ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-09-12", - "last_updated": "2024-09-12", + "knowledge": "2026-01-31", + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { - "input": 14.993999999999998, - "output": 59.993 + "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 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5 + } }, "type": "chat" }, { - "id": "openai/gpt-oss-safeguard-20b", - "name": "GPT OSS Safeguard 20B", - "display_name": "GPT OSS Safeguard 20B", + "id": "grok-4-1-fast-non-reasoning", + "name": "grok-4-1-fast-non-reasoning", + "display_name": "grok-4-1-fast-non-reasoning", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 2000000, + "output": 30000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-10-29", - "last_updated": "2025-10-29", + "knowledge": "2025-06", + "release_date": "2025-11-20", + "last_updated": "2025-11-20", "cost": { - "input": 0.075, - "output": 0.3 + "input": 0.2, + "output": 0.5 }, "type": "chat" }, { - "id": "openai/gpt-5.4-mini", - "name": "GPT 5.4 Mini", - "display_name": "GPT 5.4 Mini", + "id": "gpt-5.4-nano", + "name": "gpt-5.4-nano", + "display_name": "gpt-5.4-nano", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -28606,6 +30088,7 @@ "context": 400000, "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -28635,19 +30118,19 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "knowledge": "2025-08-31", + "release_date": "2026-03-19", + "last_updated": "2026-03-19", "cost": { - "input": 0.75, - "output": 4.5, - "cache_read": 0.075 + "input": 0.2, + "output": 1.25 }, "type": "chat" }, { - "id": "openai/gpt-4-turbo", - "name": "GPT-4 Turbo", - "display_name": "GPT-4 Turbo", + "id": "claude-opus-4-1-20250805-thinking", + "name": "claude-opus-4-1-20250805-thinking", + "display_name": "claude-opus-4-1-20250805-thinking", "modalities": { "input": [ "text", @@ -28657,41 +30140,12 @@ "text" ] }, - "limit": { - "context": 128000, - "output": 4096 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "release_date": "2023-11-06", - "last_updated": "2024-01-01", - "cost": { - "input": 10, - "output": 30 - }, - "type": "chat" - }, - { - "id": "openai/o1", - "name": "OpenAI o1", - "display_name": "OpenAI o1", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, "limit": { "context": 200000, - "output": 100000 + "output": 32000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -28700,34 +30154,41 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-12-17", - "last_updated": "2024-12-17", + "knowledge": "2025-03", + "release_date": "2025-05-27", + "last_updated": "2025-05-27", "cost": { - "input": 14.993999999999998, - "output": 59.993 + "input": 15, + "output": 75 }, "type": "chat" }, { - "id": "openai/gpt-4o-search-preview", - "name": "GPT-4o Search Preview", - "display_name": "GPT-4o Search Preview", + "id": "glm-4.5-airx", + "name": "glm-4.5-airx", + "display_name": "glm-4.5-airx", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -28737,236 +30198,231 @@ "context": 128000, "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2024-05-13", - "last_updated": "2024-05-13", + "knowledge": "2025-04", + "release_date": "2025-07-29", + "last_updated": "2025-07-29", "cost": { - "input": 1.47, - "output": 5.88 + "input": 0.572, + "output": 1.714 }, "type": "chat" }, { - "id": "openai/gpt-4.1-nano", - "name": "GPT 4.1 Nano", - "display_name": "GPT 4.1 Nano", + "id": "grok-4.1", + "name": "grok-4.1", + "display_name": "grok-4.1", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 200000, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "knowledge": "2025-06", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", "cost": { - "input": 0.1, - "output": 0.4 + "input": 2, + "output": 10 }, "type": "chat" }, { - "id": "poolside/laguna-m.1", - "name": "Laguna M.1", - "display_name": "Laguna M.1", + "id": "gemini-2.5-flash-preview-09-2025", + "name": "gemini-2.5-flash-preview-09-2025", + "display_name": "gemini-2.5-flash-preview-09-2025", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 1000000, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2026-04-29", - "last_updated": "2026-04-29", - "cost": { - "input": 0.1, - "output": 0.3 - }, - "type": "chat" - }, - { - "id": "poolside/laguna-xs.2", - "name": "Laguna XS.2", - "display_name": "Laguna XS.2", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 32768 + "supported": true, + "default": true }, - "tool_call": false, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-04-29", - "last_updated": "2026-04-29", + "knowledge": "2025-01", + "release_date": "2025-09-26", + "last_updated": "2025-09-26", "cost": { - "input": 0.1, - "output": 0.3 + "input": 0.3, + "output": 2.5 }, "type": "chat" }, { - "id": "baseten/Kimi-K2-Instruct-FP4", - "name": "Kimi K2 0711 Instruct FP4", - "display_name": "Kimi K2 0711 Instruct FP4", + "id": "claude-opus-4-5-20251101", + "name": "claude-opus-4-5-20251101", + "display_name": "claude-opus-4-5-20251101", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 131072 + "context": 200000, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2025-07-11", - "last_updated": "2025-07-11", - "cost": { - "input": 0.1, - "output": 2 - }, - "type": "chat" - }, - { - "id": "failspy/Meta-Llama-3-70B-Instruct-abliterated-v3.5", - "name": "Llama 3 70B abliterated", - "display_name": "Llama 3 70B abliterated", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 8192, - "output": 8192 + "supported": true, + "default": false }, - "tool_call": false, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + ] + } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", + "knowledge": "2025-03-31", + "release_date": "2025-11-25", + "last_updated": "2025-11-25", "cost": { - "input": 0.7, - "output": 0.7 + "input": 5, + "output": 25 }, "type": "chat" }, { - "id": "NeverSleep/Lumimaid-v0.2-70B", - "name": "Lumimaid v0.2", - "display_name": "Lumimaid v0.2", + "id": "claude-opus-4-20250514", + "name": "claude-opus-4-20250514", + "display_name": "claude-opus-4-20250514", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 8192 + "context": 200000, + "output": 32000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", - "cost": { - "input": 1, - "output": 1.5 - }, - "type": "chat" - }, - { - "id": "inflatebot/MN-12B-Mag-Mell-R1", - "name": "Mag Mell R1", - "display_name": "Mag Mell R1", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 16384, - "output": 8192 + "supported": true, + "default": false }, - "tool_call": false, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0.49299999999999994, - "output": 0.49299999999999994 + "input": 15, + "output": 75 }, "type": "chat" }, { - "id": "minimax/minimax-m3", - "name": "MiniMax M3", - "display_name": "MiniMax M3", + "id": "gemini-3-pro-image-preview", + "name": "gemini-3-pro-image-preview", + "display_name": "gemini-3-pro-image-preview", "modalities": { "input": [ "text", @@ -28977,64 +30433,80 @@ ] }, "limit": { - "context": 512000, - "output": 80000 + "context": 32768, + "output": 64000 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-06-01", - "last_updated": "2026-06-01", + "knowledge": "2025-06", + "release_date": "2025-11-20", + "last_updated": "2025-11-20", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06 + "input": 2, + "output": 120 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "minimax/minimax-01", - "name": "MiniMax 01", - "display_name": "MiniMax 01", + "id": "gemini-2.5-flash-image", + "name": "gemini-2.5-flash-image", + "display_name": "gemini-2.5-flash-image", "modalities": { "input": [ "text", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000192, - "output": 16384 + "context": 32768, + "output": 32768 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-01-15", - "last_updated": "2025-01-15", + "knowledge": "2025-01", + "release_date": "2025-10-08", + "last_updated": "2025-10-08", "cost": { - "input": 0.1394, - "output": 1.1219999999999999 + "input": 0.3, + "output": 30 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "minimax/minimax-m2.1", - "name": "MiniMax M2.1", - "display_name": "MiniMax M2.1", + "id": "glm-for-coding", + "name": "glm-for-coding", + "display_name": "glm-for-coding", "modalities": { "input": [ "text" @@ -29047,61 +30519,82 @@ "context": 200000, "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, "attachment": false, "open_weights": false, - "release_date": "2025-12-19", - "last_updated": "2025-12-19", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", "cost": { - "input": 0.33, - "output": 1.32 + "input": 0.086, + "output": 0.343 }, "type": "chat" }, { - "id": "minimax/minimax-m2.7-turbo", - "name": "MiniMax M2.7 Turbo", - "display_name": "MiniMax M2.7 Turbo", + "id": "gpt-5.2", + "name": "gpt-5.2", + "display_name": "gpt-5.2", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 400000, + "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "knowledge": "2025-08-31", + "release_date": "2025-12-12", + "last_updated": "2025-12-12", "cost": { - "input": 0.6, - "output": 2.4 + "input": 1.75, + "output": 14 }, "type": "chat" }, { - "id": "minimax/minimax-m2.7", - "name": "MiniMax M2.7", - "display_name": "MiniMax M2.7", + "id": "qwen-flash", + "name": "Qwen-Flash", + "display_name": "Qwen-Flash", "modalities": { "input": [ "text" @@ -29111,13 +30604,13 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1000000, + "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -29132,63 +30625,33 @@ }, "attachment": false, "open_weights": false, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 0.3, - "output": 1.2 + "input": 0.022, + "output": 0.22 }, "type": "chat" }, { - "id": "minimax/minimax-m3:thinking", - "name": "MiniMax M3 Thinking", - "display_name": "MiniMax M3 Thinking", + "id": "claude-opus-4-6-thinking", + "name": "claude-opus-4-6-thinking", + "display_name": "claude-opus-4-6-thinking", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 512000, - "output": 80000 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": true, - "open_weights": false, - "release_date": "2026-06-01", - "last_updated": "2026-06-01", - "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06 - }, - "type": "chat" - }, - { - "id": "minimax/minimax-m2.5", - "name": "MiniMax M2.5", - "display_name": "MiniMax M2.5", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 204800, - "output": 131072 + "context": 1000000, + "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -29196,53 +30659,103 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "knowledge": "2025-05", + "release_date": "2026-02-06", + "last_updated": "2026-03-13", "cost": { - "input": 0.3, - "output": 1.2 + "input": 5, + "output": 25 }, "type": "chat" }, { - "id": "minimax/minimax-m2-her", - "name": "MiniMax M2-her", - "display_name": "MiniMax M2-her", + "id": "claude-sonnet-4-20250514", + "name": "claude-sonnet-4-20250514", + "display_name": "claude-sonnet-4-20250514", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 65532, - "output": 2048 + "context": 200000, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-01-24", - "last_updated": "2026-01-24", + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0.30200000000000005, - "output": 1.2069999999999999 + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "minimax/minimax-latest", - "name": "MiniMax Latest", - "display_name": "MiniMax Latest", + "id": "gpt-5.1-chat-latest", + "name": "gpt-5.1-chat-latest", + "display_name": "gpt-5.1-chat-latest", "modalities": { "input": [ "text", @@ -29253,9 +30766,10 @@ ] }, "limit": { - "context": 512000, - "output": 80000 + "context": 128000, + "output": 16384 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -29263,22 +30777,23 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-05-03", - "last_updated": "2026-05-03", + "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06 + "input": 1.25, + "output": 10 }, "type": "chat" }, { - "id": "allenai/olmo-3-32b-think", - "name": "Olmo 3 32B Think", - "display_name": "Olmo 3 32B Think", + "id": "gpt-5.2-chat-latest", + "name": "gpt-5.2-chat-latest", + "display_name": "gpt-5.2-chat-latest", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -29286,47 +30801,41 @@ }, "limit": { "context": 128000, - "output": 8192 + "output": 16384 }, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-11-01", - "last_updated": "2025-11-01", + "knowledge": "2025-08-31", + "release_date": "2025-12-12", + "last_updated": "2025-12-12", "cost": { - "input": 0.3, - "output": 0.44999999999999996 + "input": 1.75, + "output": 14 }, "type": "chat" - } - ] - }, - "alibaba-cn": { - "id": "alibaba-cn", - "name": "alibaba-cn", - "display_name": "alibaba-cn", - "api": "https://dashscope.aliyuncs.com/compatible-mode/v1", - "doc": "https://www.alibabacloud.com/help/en/model-studio/models", - "models": [ + }, { - "id": "MiniMax-M2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "grok-4-fast-reasoning", + "name": "grok-4-fast-reasoning", + "display_name": "grok-4-fast-reasoning", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 2000000, + "output": 30000 }, "temperature": true, "tool_call": true, @@ -29336,104 +30845,70 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "cost": { - "input": 0.3, - "output": 1.2 - }, - "type": "chat" - }, - { - "id": "qwen3-asr-flash", - "name": "Qwen3-ASR Flash", - "display_name": "Qwen3-ASR Flash", - "modalities": { - "input": [ - "audio" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 53248, - "output": 4096 - }, - "temperature": false, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-09-08", - "last_updated": "2025-09-08", + "knowledge": "2025-06", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", "cost": { - "input": 0.032, - "output": 0.032 + "input": 0.2, + "output": 0.5 }, "type": "chat" }, { - "id": "qwen-math-turbo", - "name": "Qwen Math Turbo", - "display_name": "Qwen Math Turbo", + "id": "gpt-4.1-nano", + "name": "gpt-4.1-nano", + "display_name": "gpt-4.1-nano", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 4096, - "output": 3072 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, "knowledge": "2024-04", - "release_date": "2024-09-19", - "last_updated": "2024-09-19", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.287, - "output": 0.861 + "input": 0.1, + "output": 0.4 }, "type": "chat" }, { - "id": "deepseek-r1-0528", - "name": "DeepSeek R1 0528", - "display_name": "DeepSeek R1 0528", + "id": "claude-sonnet-4-5-20250929-thinking", + "name": "claude-sonnet-4-5-20250929-thinking", + "display_name": "claude-sonnet-4-5-20250929-thinking", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -29444,28 +30919,39 @@ "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-05-28", - "last_updated": "2025-05-28", + "knowledge": "2025-03", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", "cost": { - "input": 0.574, - "output": 2.294 + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "qwen2-5-math-72b-instruct", - "name": "Qwen2.5-Math 72B Instruct", - "display_name": "Qwen2.5-Math 72B Instruct", + "id": "MiniMax-M2.7-highspeed", + "name": "MiniMax-M2.7-highspeed", + "display_name": "MiniMax-M2.7-highspeed", "modalities": { "input": [ "text" @@ -29475,29 +30961,39 @@ ] }, "limit": { - "context": 4096, - "output": 3072 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", + "open_weights": false, + "release_date": "2026-03-19", + "last_updated": "2026-03-19", "cost": { - "input": 0.574, - "output": 1.721 + "input": 0.6, + "output": 4.8 }, "type": "chat" }, { - "id": "qwen3-next-80b-a3b-instruct", - "name": "Qwen3 Next 80B A3B Instruct", - "display_name": "Qwen3 Next 80B A3B Instruct", + "id": "MiniMax-M2", + "name": "MiniMax-M2", + "display_name": "MiniMax-M2", "modalities": { "input": [ "text" @@ -29507,94 +31003,73 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09", - "last_updated": "2025-09", + "open_weights": false, + "release_date": "2025-10-26", + "last_updated": "2025-10-26", "cost": { - "input": 0.144, - "output": 0.574 + "input": 0.33, + "output": 1.32 }, "type": "chat" }, { - "id": "qwen2-5-vl-72b-instruct", - "name": "Qwen2.5-VL 72B Instruct", - "display_name": "Qwen2.5-VL 72B Instruct", + "id": "gemini-3.1-flash-image-preview", + "name": "gemini-3.1-flash-image-preview", + "display_name": "gemini-3.1-flash-image-preview", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ - "text" + "text", + "image" ] }, "limit": { "context": 131072, - "output": 8192 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", - "cost": { - "input": 2.294, - "output": 6.881 - }, - "type": "chat" - }, - { - "id": "qwen-deep-research", - "name": "Qwen Deep Research", - "display_name": "Qwen Deep Research", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-01", - "last_updated": "2024-01", + "knowledge": "2025-01", + "release_date": "2026-02-27", + "last_updated": "2026-02-27", "cost": { - "input": 7.742, - "output": 23.367 + "input": 0.5, + "output": 60 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "qwen3-32b", - "name": "Qwen3 32B", - "display_name": "Qwen3 32B", + "id": "qwen3-235b-a22b", + "name": "Qwen3-235B-A22B", + "display_name": "Qwen3-235B-A22B", "modalities": { "input": [ "text" @@ -29604,19 +31079,13 @@ ] }, "limit": { - "context": 131072, + "context": 128000, "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true, - "budget": { - "default": 38912, - "min": 0, - "max": 38912 - } + "supported": true }, "extra_capabilities": { "reasoning": { @@ -29630,64 +31099,66 @@ } }, "attachment": false, - "open_weights": true, + "open_weights": false, "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "release_date": "2025-04-29", + "last_updated": "2025-04-29", "cost": { - "input": 0.287, - "output": 1.147, - "reasoning": 2.868 + "input": 0.29, + "output": 2.86 }, "type": "chat" }, { - "id": "qwen3-coder-30b-a3b-instruct", - "name": "Qwen3-Coder 30B-A3B Instruct", - "display_name": "Qwen3-Coder 30B-A3B Instruct", + "id": "ministral-14b-2512", + "name": "ministral-14b-2512", + "display_name": "ministral-14b-2512", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "attachment": true, + "open_weights": false, + "knowledge": "2024-12", + "release_date": "2025-12-16", + "last_updated": "2025-12-16", "cost": { - "input": 0.216, - "output": 0.861 + "input": 0.33, + "output": 0.33 }, "type": "chat" }, { - "id": "kimi-k2-thinking", - "name": "Moonshot Kimi K2 Thinking", - "display_name": "Moonshot Kimi K2 Thinking", + "id": "glm-4.6v", + "name": "GLM-4.6V", + "display_name": "GLM-4.6V", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 128000, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -29695,176 +31166,162 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "cost": { - "input": 0.574, - "output": 2.294 - }, - "type": "chat" - }, - { - "id": "qwen2-5-math-7b-instruct", - "name": "Qwen2.5-Math 7B Instruct", - "display_name": "Qwen2.5-Math 7B Instruct", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 4096, - "output": 3072 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", + "knowledge": "2025-04", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", "cost": { - "input": 0.144, - "output": 0.287 + "input": 0.145, + "output": 0.43 }, "type": "chat" }, { - "id": "qwen-flash", - "name": "Qwen Flash", - "display_name": "Qwen Flash", + "id": "claude-haiku-4-5", + "name": "claude-haiku-4-5", + "display_name": "claude-haiku-4-5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 32768 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" - }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "knowledge": "2025-02-28", + "release_date": "2025-10-16", + "last_updated": "2025-10-16", "cost": { - "input": 0.022, - "output": 0.216 + "input": 1, + "output": 5 }, "type": "chat" }, { - "id": "qwen3.5-plus", - "name": "Qwen3.5 Plus", - "display_name": "Qwen3.5 Plus", + "id": "gpt-5.4", + "name": "gpt-5.4", + "display_name": "gpt-5.4", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0.573, - "output": 3.44, - "reasoning": 3.44 + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "cache_write": 0, + "tiers": [ + { + "input": 5, + "output": 22.5, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 5, + "output": 22.5 + } }, "type": "chat" }, { - "id": "deepseek-r1-distill-llama-8b", - "name": "DeepSeek R1 Distill Llama 8B", - "display_name": "DeepSeek R1 Distill Llama 8B", + "id": "doubao-seed-1-6-thinking-250715", + "name": "doubao-seed-1-6-thinking-250715", + "display_name": "doubao-seed-1-6-thinking-250715", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 16384 + "context": 256000, + "output": 16000 }, "temperature": true, "tool_call": true, @@ -29872,159 +31329,205 @@ "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "release_date": "2025-07-15", + "last_updated": "2025-07-15", "cost": { - "input": 0, - "output": 0 + "input": 0.121, + "output": 1.21 }, "type": "chat" }, { - "id": "qwen3-235b-a22b", - "name": "Qwen3 235B A22B", - "display_name": "Qwen3 235B A22B", + "id": "gpt-5.4-mini", + "name": "gpt-5.4-mini", + "display_name": "gpt-5.4-mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-19", + "last_updated": "2026-03-19", "cost": { - "input": 0.287, - "output": 1.147, - "reasoning": 2.868 + "input": 0.75, + "output": 4.5 }, "type": "chat" }, { - "id": "qwen3-max", - "name": "Qwen3 Max", - "display_name": "Qwen3 Max", + "id": "gpt-4.1", + "name": "gpt-4.1", + "display_name": "gpt-4.1", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "attachment": true, + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "cost": { + "input": 2, + "output": 8 }, - "attachment": false, + "type": "chat" + }, + { + "id": "doubao-seed-code-preview-251028", + "name": "doubao-seed-code-preview-251028", + "display_name": "doubao-seed-code-preview-251028", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 256000, + "output": 32000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", + "release_date": "2025-11-11", + "last_updated": "2025-11-11", "cost": { - "input": 0.861, - "output": 3.441 + "input": 0.17, + "output": 1.14 }, "type": "chat" }, { - "id": "kimi-k2.6", - "name": "Moonshot Kimi K2.6", - "display_name": "Moonshot Kimi K2.6", + "id": "claude-opus-4-6", + "name": "claude-opus-4-6", + "display_name": "claude-opus-4-6", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "open_weights": false, + "knowledge": "2025-05-31", + "release_date": "2026-02-06", + "last_updated": "2026-03-13", "cost": { - "input": 0.929, - "output": 3.858 + "input": 5, + "output": 25 }, "type": "chat" }, { - "id": "qwen2-5-72b-instruct", - "name": "Qwen2.5 72B Instruct", - "display_name": "Qwen2.5 72B Instruct", + "id": "qwen3-coder-480b-a35b-instruct", + "name": "qwen3-coder-480b-a35b-instruct", + "display_name": "qwen3-coder-480b-a35b-instruct", "modalities": { "input": [ "text" @@ -30034,8 +31537,8 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -30043,85 +31546,87 @@ "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", "cost": { - "input": 0.574, - "output": 1.721 + "input": 0.86, + "output": 3.43 }, "type": "chat" }, { - "id": "qwen3-14b", - "name": "Qwen3 14B", - "display_name": "Qwen3 14B", + "id": "claude-sonnet-4-5-20250929", + "name": "claude-sonnet-4-5-20250929", + "display_name": "claude-sonnet-4-5-20250929", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true, - "budget": { - "default": 38912, - "min": 0, - "max": 38912 - } + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "attachment": true, + "open_weights": false, + "knowledge": "2025-07-31", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", "cost": { - "input": 0.144, - "output": 0.574, - "reasoning": 1.434 + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "qwen3-omni-flash", - "name": "Qwen3-Omni Flash", - "display_name": "Qwen3-Omni Flash", + "id": "deepseek-reasoner", + "name": "Deepseek-Reasoner", + "display_name": "Deepseek-Reasoner", "modalities": { "input": [ - "text", - "image", - "audio", - "video" + "text" ], "output": [ - "text", - "audio" + "text" ] }, "limit": { - "context": 65536, - "output": 16384 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -30142,21 +31647,19 @@ }, "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", "cost": { - "input": 0.058, - "output": 0.23, - "input_audio": 3.584, - "output_audio": 7.168 + "input": 0.29, + "output": 0.43 }, "type": "chat" }, { - "id": "qwen3-vl-235b-a22b", - "name": "Qwen3-VL 235B-A22B", - "display_name": "Qwen3-VL 235B-A22B", + "id": "grok-4-1-fast-reasoning", + "name": "grok-4-1-fast-reasoning", + "display_name": "grok-4-1-fast-reasoning", "modalities": { "input": [ "text", @@ -30167,8 +31670,8 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 2000000, + "output": 30000 }, "temperature": true, "tool_call": true, @@ -30178,42 +31681,36 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "attachment": true, + "open_weights": false, + "knowledge": "2025-06", + "release_date": "2025-11-20", + "last_updated": "2025-11-20", "cost": { - "input": 0.286705, - "output": 1.14682, - "reasoning": 2.867051 + "input": 0.2, + "output": 0.5 }, "type": "chat" }, { - "id": "deepseek-r1", - "name": "DeepSeek R1", - "display_name": "DeepSeek R1", + "id": "gemini-3-pro-preview", + "name": "gemini-3-pro-preview", + "display_name": "gemini-3-pro-preview", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -30224,167 +31721,173 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "knowledge": "2025-06", + "release_date": "2025-11-19", + "last_updated": "2025-11-19", "cost": { - "input": 0.574, - "output": 2.294 + "input": 2, + "output": 12 }, "type": "chat" }, { - "id": "qwen3.5-flash", - "name": "Qwen3.5 Flash", - "display_name": "Qwen3.5 Flash", + "id": "gpt-5-thinking", + "name": "gpt-5-thinking", + "display_name": "gpt-5-thinking", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 - }, + "context": 400000, + "output": 128000 + }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-02-23", - "last_updated": "2026-02-23", + "knowledge": "2024-10", + "release_date": "2025-08-08", + "last_updated": "2025-08-08", "cost": { - "input": 0.172, - "output": 1.72, - "reasoning": 1.72 + "input": 1.25, + "output": 10 }, "type": "chat" }, { - "id": "deepseek-v3-1", - "name": "DeepSeek V3.1", - "display_name": "DeepSeek V3.1", + "id": "gpt-5-mini", + "name": "gpt-5-mini", + "display_name": "gpt-5-mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 65536 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "knowledge": "2024-05-30", + "release_date": "2025-08-08", + "last_updated": "2025-08-08", "cost": { - "input": 0.574, - "output": 1.721 + "input": 0.25, + "output": 2 }, "type": "chat" }, { - "id": "qwen3-8b", - "name": "Qwen3 8B", - "display_name": "Qwen3 8B", + "id": "gpt-4.1-mini", + "name": "gpt-4.1-mini", + "display_name": "gpt-4.1-mini", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true, - "budget": { - "default": 38912, - "min": 0, - "max": 38912 - } - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "attachment": true, + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.072, - "output": 0.287, - "reasoning": 0.717 + "input": 0.4, + "output": 1.6 }, "type": "chat" }, { - "id": "qwen3.7-max", - "name": "Qwen3.7 Max", - "display_name": "Qwen3.7 Max", + "id": "glm-5v-turbo", + "name": "GLM-5V-Turbo", + "display_name": "GLM-5V-Turbo", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 200000, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -30394,25 +31897,29 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-05-21", - "last_updated": "2026-05-21", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 2.5, - "output": 7.5, - "cache_read": 0.5, - "cache_write": 3.125 + "input": 0.72, + "output": 3.2 }, "type": "chat" }, { - "id": "qwen-vl-plus", - "name": "Qwen-VL Plus", - "display_name": "Qwen-VL Plus", + "id": "gpt-5.4-pro", + "name": "gpt-5.4-pro", + "display_name": "gpt-5.4-pro", "modalities": { "input": [ "text", @@ -30423,29 +31930,66 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-01-25", - "last_updated": "2025-08-15", + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0.115, - "output": 0.287 + "input": 30, + "output": 180, + "cache_read": 0, + "cache_write": 0, + "tiers": [ + { + "input": 60, + "output": 270, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 60, + "output": 270 + } }, "type": "chat" }, { - "id": "deepseek-r1-distill-llama-70b", - "name": "DeepSeek R1 Distill Llama 70B", - "display_name": "DeepSeek R1 Distill Llama 70B", + "id": "glm-4.5-air", + "name": "glm-4.5-air", + "display_name": "glm-4.5-air", "modalities": { "input": [ "text" @@ -30455,8 +31999,8 @@ ] }, "limit": { - "context": 32768, - "output": 16384 + "context": 131072, + "output": 98304 }, "temperature": true, "tool_call": true, @@ -30464,30 +32008,26 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, "attachment": false, - "open_weights": false, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-29", + "last_updated": "2025-07-29", "cost": { - "input": 0.287, - "output": 0.861 + "input": 0.1143, + "output": 0.286 }, "type": "chat" }, { - "id": "qwen3.6-plus", - "name": "Qwen3.6 Plus", - "display_name": "Qwen3.6 Plus", + "id": "claude-sonnet-4-6", + "name": "claude-sonnet-4-6", + "display_name": "claude-sonnet-4-6", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" @@ -30495,60 +32035,57 @@ }, "limit": { "context": 1000000, - "output": 65536 + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "knowledge": "2025-08-31", + "release_date": "2026-02-18", + "last_updated": "2026-03-13", "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 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.2, - "cache_write": 2.5 - } + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "qwen3-vl-plus", - "name": "Qwen3 VL Plus", - "display_name": "Qwen3 VL Plus", + "id": "grok-4-fast-non-reasoning", + "name": "grok-4-fast-non-reasoning", + "display_name": "grok-4-fast-non-reasoning", "modalities": { "input": [ "text", @@ -30559,79 +32096,82 @@ ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 2000000, + "output": 30000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": true, - "default": false, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", + "knowledge": "2025-06", "release_date": "2025-09-23", "last_updated": "2025-09-23", "cost": { - "input": 0.143353, - "output": 1.433525, - "reasoning": 4.300576 + "input": 0.2, + "output": 0.5 }, "type": "chat" }, { - "id": "tongyi-intent-detect-v3", - "name": "Tongyi Intent Detect V3", - "display_name": "Tongyi Intent Detect V3", + "id": "gemini-3-flash-preview", + "name": "gemini-3-flash-preview", + "display_name": "gemini-3-flash-preview", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 1024 + "context": 1000000, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-01", - "last_updated": "2024-01", + "knowledge": "2025-06", + "release_date": "2025-12-18", + "last_updated": "2025-12-18", "cost": { - "input": 0.058, - "output": 0.144 + "input": 0.5, + "output": 3 }, "type": "chat" }, { - "id": "qwen-max", - "name": "Qwen Max", - "display_name": "Qwen Max", + "id": "deepseek-chat", + "name": "Deepseek-Chat", + "display_name": "Deepseek-Chat", "modalities": { "input": [ "text" @@ -30641,7 +32181,7 @@ ] }, "limit": { - "context": 32768, + "context": 128000, "output": 8192 }, "temperature": true, @@ -30649,42 +32189,32 @@ "reasoning": { "supported": false }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" - }, "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-04-03", - "last_updated": "2025-01-25", + "knowledge": "2024-07", + "release_date": "2024-11-29", + "last_updated": "2024-11-29", "cost": { - "input": 0.345, - "output": 1.377 + "input": 0.29, + "output": 0.43 }, "type": "chat" }, { - "id": "qwen-omni-turbo", - "name": "Qwen-Omni Turbo", - "display_name": "Qwen-Omni Turbo", + "id": "MiniMax-M1", + "name": "MiniMax-M1", + "display_name": "MiniMax-M1", "modalities": { "input": [ - "text", - "image", - "audio", - "video" + "text" ], "output": [ - "text", - "audio" + "text" ] }, "limit": { - "context": 32768, - "output": 2048 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -30693,53 +32223,56 @@ }, "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-01-19", - "last_updated": "2025-03-26", + "release_date": "2025-06-16", + "last_updated": "2025-06-16", "cost": { - "input": 0.058, - "output": 0.23, - "input_audio": 3.584, - "output_audio": 7.168 + "input": 0.132, + "output": 1.254 }, "type": "chat" }, { - "id": "qwen3-coder-480b-a35b-instruct", - "name": "Qwen3-Coder 480B-A35B Instruct", - "display_name": "Qwen3-Coder 480B-A35B Instruct", + "id": "grok-4.20-multi-agent-beta-0309", + "name": "grok-4.20-multi-agent-beta-0309", + "display_name": "grok-4.20-multi-agent-beta-0309", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 2000000, + "output": 30000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-03-16", + "last_updated": "2026-03-16", "cost": { - "input": 0.861, - "output": 3.441 + "input": 2, + "output": 6 }, "type": "chat" }, { - "id": "qwen3-next-80b-a3b-thinking", - "name": "Qwen3 Next 80B A3B Thinking", - "display_name": "Qwen3 Next 80B A3B Thinking", + "id": "glm-5", + "name": "glm-5", + "display_name": "glm-5", "modalities": { "input": [ "text" @@ -30749,19 +32282,14 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 204800, + "output": 131072 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, - "default": true, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } + "default": true }, "extra_capabilities": { "reasoning": { @@ -30776,19 +32304,18 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09", - "last_updated": "2025-09", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.144, - "output": 1.434 + "input": 0.6, + "output": 2.6 }, "type": "chat" }, { - "id": "qwen3-coder-flash", - "name": "Qwen3 Coder Flash", - "display_name": "Qwen3 Coder Flash", + "id": "qwen-max-latest", + "name": "Qwen-Max-Latest", + "display_name": "Qwen-Max-Latest", "modalities": { "input": [ "text" @@ -30798,8 +32325,8 @@ ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -30808,69 +32335,68 @@ }, "attachment": false, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "knowledge": "2024-11", + "release_date": "2024-04-03", + "last_updated": "2025-01-25", "cost": { - "input": 0.144, - "output": 0.574 + "input": 0.343, + "output": 1.372 }, "type": "chat" }, { - "id": "moonshot-kimi-k2-instruct", - "name": "Moonshot Kimi K2 Instruct", - "display_name": "Moonshot Kimi K2 Instruct", + "id": "mistral-large-2512", + "name": "mistral-large-2512", + "display_name": "mistral-large-2512", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 128000, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "attachment": true, + "open_weights": false, + "knowledge": "2024-12", + "release_date": "2025-12-16", + "last_updated": "2025-12-16", "cost": { - "input": 0.574, - "output": 2.294 + "input": 1.1, + "output": 3.3 }, "type": "chat" }, { - "id": "qwen3.6-flash", - "name": "Qwen3.6 Flash", - "display_name": "Qwen3.6 Flash", + "id": "MiniMax-M2.7", + "name": "MiniMax-M2.7", + "display_name": "MiniMax-M2.7", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -30883,77 +32409,54 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-27", - "last_updated": "2026-04-27", + "release_date": "2026-03-19", + "last_updated": "2026-03-19", "cost": { - "input": 0.1875, - "output": 1.125, - "cache_write": 0.234375 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "qwen-turbo", - "name": "Qwen Turbo", - "display_name": "Qwen Turbo", + "id": "claude-3-5-haiku-latest", + "name": "claude-3-5-haiku-latest", + "display_name": "claude-3-5-haiku-latest", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 200000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false, - "budget": { - "default": 38912, - "min": 0, - "max": 38912 - } - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-11-01", - "last_updated": "2025-07-15", + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", "cost": { - "input": 0.044, - "output": 0.087, - "reasoning": 0.431 + "input": 0.8, + "output": 4 }, "type": "chat" }, { - "id": "qwq-plus", - "name": "QwQ Plus", - "display_name": "QwQ Plus", + "id": "qwen3-30b-a3b", + "name": "Qwen3-30B-A3B", + "display_name": "Qwen3-30B-A3B", "modalities": { "input": [ "text" @@ -30963,19 +32466,13 @@ ] }, "limit": { - "context": 131072, + "context": 128000, "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": true, - "default": true, - "budget": { - "default": 32768, - "min": 0, - "max": 32768 - } + "supported": true }, "extra_capabilities": { "reasoning": { @@ -30988,116 +32485,102 @@ ] } }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" - }, "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-03-05", - "last_updated": "2025-03-05", + "knowledge": "2025-04", + "release_date": "2025-04-29", + "last_updated": "2025-04-29", "cost": { - "input": 0.23, - "output": 0.574 + "input": 0.11, + "output": 1.08 }, "type": "chat" }, { - "id": "qwen3-vl-30b-a3b", - "name": "Qwen3-VL 30B-A3B", - "display_name": "Qwen3-VL 30B-A3B", + "id": "deepseek-v3.2", + "name": "deepseek-v3.2", + "display_name": "deepseek-v3.2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "open_weights": false, + "knowledge": "2024-12", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "cost": { - "input": 0.108, - "output": 0.431, - "reasoning": 1.076 + "input": 0.29, + "output": 0.43 }, "type": "chat" }, { - "id": "qwen-plus-character", - "name": "Qwen Plus Character", - "display_name": "Qwen Plus Character", + "id": "doubao-seed-1-8-251215", + "name": "doubao-seed-1-8-251215", + "display_name": "doubao-seed-1-8-251215", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 4096 + "context": 224000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-01", - "last_updated": "2024-01", + "release_date": "2025-12-18", + "last_updated": "2025-12-18", "cost": { - "input": 0.115, - "output": 0.287 + "input": 0.114, + "output": 0.286 }, "type": "chat" }, { - "id": "deepseek-r1-distill-qwen-1-5b", - "name": "DeepSeek R1 Distill Qwen 1.5B", - "display_name": "DeepSeek R1 Distill Qwen 1.5B", + "id": "claude-opus-4-5-20251101-thinking", + "name": "claude-opus-4-5-20251101-thinking", + "display_name": "claude-opus-4-5-20251101-thinking", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 16384 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -31105,33 +32588,94 @@ "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "knowledge": "2025-03", + "release_date": "2025-11-25", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 5, + "output": 25 }, "type": "chat" }, { - "id": "qwq-32b", - "name": "QwQ 32B", - "display_name": "QwQ 32B", + "id": "gemini-2.0-flash-lite", + "name": "gemini-2.0-flash-lite", + "display_name": "gemini-2.0-flash-lite", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, + "context": 2000000, "output": 8192 }, "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-11", + "release_date": "2025-06-16", + "last_updated": "2025-06-16", + "cost": { + "input": 0.075, + "output": 0.3 + }, + "type": "chat" + }, + { + "id": "glm-5-turbo", + "name": "glm-5-turbo", + "display_name": "glm-5-turbo", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 131072 + }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -31149,52 +32693,83 @@ } }, "attachment": false, - "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-12", - "last_updated": "2024-12", + "open_weights": false, + "release_date": "2026-03-16", + "last_updated": "2026-03-16", "cost": { - "input": 0.287, - "output": 0.861 + "input": 0.72, + "output": 3.2 }, "type": "chat" }, { - "id": "deepseek-r1-distill-qwen-14b", - "name": "DeepSeek R1 Distill Qwen 14B", - "display_name": "DeepSeek R1 Distill Qwen 14B", + "id": "gpt-5.1", + "name": "gpt-5.1", + "display_name": "gpt-5.1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 16384 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", "cost": { - "input": 0.144, - "output": 0.431 + "input": 1.25, + "output": 10 }, "type": "chat" - }, + } + ] + }, + "zhipuai": { + "id": "zhipuai", + "name": "Zhipu AI", + "display_name": "Zhipu AI", + "api": "https://open.bigmodel.cn/api/paas/v4", + "doc": "https://docs.z.ai/guides/overview/pricing", + "models": [ { - "id": "deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "glm-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ "text" @@ -31204,8 +32779,8 @@ ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 200000, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -31225,47 +32800,62 @@ } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "open_weights": false, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.0028 + "input": 6, + "output": 24, + "cache_read": 1.3, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen-vl-ocr", - "name": "Qwen Vl Ocr", - "display_name": "Qwen Vl Ocr", + "id": "glm-5v-turbo", + "name": "GLM-5V-Turbo", + "display_name": "GLM-5V-Turbo", "modalities": { "input": [ "text", - "image" + "image", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 34096, - "output": 4096 + "context": 200000, + "output": 131072 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-10-28", - "last_updated": "2025-04-13", + "release_date": "2026-04-01", + "last_updated": "2026-04-01", "cost": { - "input": 0.717, - "output": 0.717 + "input": 5, + "output": 22, + "cache_read": 1.2, + "cache_write": 0 }, "type": "chat" }, @@ -31282,8 +32872,8 @@ ] }, "limit": { - "context": 202752, - "output": 16384 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -31303,19 +32893,21 @@ } }, "attachment": false, - "open_weights": false, + "open_weights": true, "release_date": "2026-02-11", "last_updated": "2026-02-11", "cost": { - "input": 0.86, - "output": 3.15 + "input": 1, + "output": 3.2, + "cache_read": 0.2, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen-math-plus", - "name": "Qwen Math Plus", - "display_name": "Qwen Math Plus", + "id": "glm-4.5-flash", + "name": "GLM-4.5-Flash", + "display_name": "GLM-4.5-Flash", "modalities": { "input": [ "text" @@ -31325,66 +32917,72 @@ ] }, "limit": { - "context": 4096, - "output": 3072 + "context": 131072, + "output": 98304 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-08-16", - "last_updated": "2024-09-19", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 0.574, - "output": 1.721 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen2-5-omni-7b", - "name": "Qwen2.5-Omni 7B", - "display_name": "Qwen2.5-Omni 7B", + "id": "glm-4.7-flash", + "name": "GLM-4.7-Flash", + "display_name": "GLM-4.7-Flash", "modalities": { "input": [ - "text", - "image", - "audio", - "video" + "text" ], "output": [ - "text", - "audio" + "text" ] }, "limit": { - "context": 32768, - "output": 2048 + "context": 200000, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-12", - "last_updated": "2024-12", + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", "cost": { - "input": 0.087, - "output": 0.345, - "input_audio": 5.448 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "deepseek-v3", - "name": "DeepSeek V3", - "display_name": "DeepSeek V3", + "id": "glm-4.5-air", + "name": "GLM-4.5-Air", + "display_name": "GLM-4.5-Air", "modalities": { "input": [ "text" @@ -31394,60 +32992,67 @@ ] }, "limit": { - "context": 65536, - "output": 8192 + "context": 131072, + "output": 98304 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 0.287, - "output": 1.147 + "input": 0.2, + "output": 1.1, + "cache_read": 0.03, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen-mt-turbo", - "name": "Qwen Mt Turbo", - "display_name": "Qwen Mt Turbo", + "id": "glm-4.6v", + "name": "GLM-4.6V", + "display_name": "GLM-4.6V", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 8192 + "context": 128000, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-01", - "last_updated": "2025-01", + "attachment": true, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", "cost": { - "input": 0.101, - "output": 0.28 + "input": 0.3, + "output": 0.9 }, "type": "chat" }, { - "id": "qwen2-5-32b-instruct", - "name": "Qwen2.5 32B Instruct", - "display_name": "Qwen2.5 32B Instruct", + "id": "glm-4.6", + "name": "GLM-4.6", + "display_name": "GLM-4.6", "modalities": { "input": [ "text" @@ -31457,29 +33062,37 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", + "knowledge": "2025-04", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", "cost": { - "input": 0.287, - "output": 0.861 + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen2-5-coder-7b-instruct", - "name": "Qwen2.5-Coder 7B Instruct", - "display_name": "Qwen2.5-Coder 7B Instruct", + "id": "glm-4.7-flashx", + "name": "GLM-4.7-FlashX", + "display_name": "GLM-4.7-FlashX", "modalities": { "input": [ "text" @@ -31489,29 +33102,32 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 200000, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-11", - "last_updated": "2024-11", + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", "cost": { - "input": 0.144, - "output": 0.287 + "input": 0.07, + "output": 0.4, + "cache_read": 0.01, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen3.6-max-preview", - "name": "Qwen3.6 Max Preview", - "display_name": "Qwen3.6 Max Preview", + "id": "glm-4.5", + "name": "GLM-4.5", + "display_name": "GLM-4.5", "modalities": { "input": [ "text" @@ -31521,8 +33137,8 @@ ] }, "limit": { - "context": 245800, - "output": 65536 + "context": 131072, + "output": 98304 }, "temperature": true, "tool_call": true, @@ -31530,65 +33146,58 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, - "open_weights": false, - "release_date": "2026-04-20", - "last_updated": "2026-04-21", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 1.32, - "output": 7.9, - "cache_read": 0.132 + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen-vl-max", - "name": "Qwen-VL Max", - "display_name": "Qwen-VL Max", + "id": "glm-4.5v", + "name": "GLM-4.5V", + "display_name": "GLM-4.5V", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 64000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-04-08", - "last_updated": "2025-08-13", + "attachment": true, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-08-11", + "last_updated": "2025-08-11", "cost": { - "input": 0.23, - "output": 0.574 + "input": 0.6, + "output": 1.8 }, "type": "chat" }, { - "id": "qwen2-5-coder-32b-instruct", - "name": "Qwen2.5-Coder 32B Instruct", - "display_name": "Qwen2.5-Coder 32B Instruct", + "id": "glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", "modalities": { "input": [ "text" @@ -31598,42 +33207,63 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-11", - "last_updated": "2024-11", + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 0.287, - "output": 0.861 + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 }, "type": "chat" - }, + } + ] + }, + "cortecs": { + "id": "cortecs", + "name": "Cortecs", + "display_name": "Cortecs", + "api": "https://api.cortecs.ai/v1", + "doc": "https://api.cortecs.ai/v1/models", + "models": [ { - "id": "qwen3.5-397b-a17b", - "name": "Qwen3.5 397B-A17B", - "display_name": "Qwen3.5 397B-A17B", + "id": "deepseek-r1-0528", + "name": "DeepSeek R1 0528", + "display_name": "DeepSeek R1 0528", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 164000, + "output": 164000 }, "temperature": true, "tool_call": true, @@ -31654,20 +33284,19 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", + "knowledge": "2024-07", + "release_date": "2025-05-28", + "last_updated": "2025-05-28", "cost": { - "input": 0.43, - "output": 2.58, - "reasoning": 2.58 + "input": 0.585, + "output": 2.307 }, "type": "chat" }, { - "id": "deepseek-r1-distill-qwen-7b", - "name": "DeepSeek R1 Distill Qwen 7B", - "display_name": "DeepSeek R1 Distill Qwen 7B", + "id": "deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ "text" @@ -31677,8 +33306,8 @@ ] }, "limit": { - "context": 32768, - "output": 16384 + "context": 1048576, + "output": 384000 }, "temperature": true, "tool_call": true, @@ -31686,57 +33315,76 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, - "open_weights": false, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.072, - "output": 0.144 + "input": 0.133, + "output": 0.266, + "cache_read": 0.0028 }, "type": "chat" }, { - "id": "qwen3-omni-flash-realtime", - "name": "Qwen3-Omni Flash Realtime", - "display_name": "Qwen3-Omni Flash Realtime", + "id": "minimax-m2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ - "text", - "image", - "audio" + "text" ], "output": [ - "text", - "audio" + "text" ] }, "limit": { - "context": 65536, - "output": 16384 + "context": 196608, + "output": 196608 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", + "open_weights": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.23, - "output": 0.918, - "input_audio": 3.584, - "output_audio": 7.168 + "input": 0.32, + "output": 1.18 }, "type": "chat" }, { - "id": "qwen2-5-14b-instruct", - "name": "Qwen2.5 14B Instruct", - "display_name": "Qwen2.5 14B Instruct", + "id": "deepseek-v3-0324", + "name": "DeepSeek V3 0324", + "display_name": "DeepSeek V3 0324", "modalities": { "input": [ "text" @@ -31746,8 +33394,8 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -31756,23 +33404,24 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", + "knowledge": "2024-07", + "release_date": "2025-03-24", + "last_updated": "2025-03-24", "cost": { - "input": 0.144, - "output": 0.431 + "input": 0.551, + "output": 1.654 }, "type": "chat" }, { - "id": "qwen3.7-plus", - "name": "Qwen3.7 Plus", - "display_name": "Qwen3.7 Plus", + "id": "claude-opus4-7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" @@ -31780,7 +33429,42 @@ }, "limit": { "context": 1000000, - "output": 64000 + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "cost": { + "input": 5.6, + "output": 27.99, + "cache_read": 0.56, + "cache_write": 6.99 + }, + "type": "chat" + }, + { + "id": "glm-4.7", + "name": "GLM 4.7", + "display_name": "GLM 4.7", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 198000, + "output": 198000 }, "temperature": true, "tool_call": true, @@ -31790,38 +33474,30 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": false, + "open_weights": true, "knowledge": "2025-04", - "release_date": "2026-06-02", - "last_updated": "2026-06-02", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "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 - } - } - ] + "input": 0.45, + "output": 2.23 }, "type": "chat" }, { - "id": "deepseek-v3-2-exp", - "name": "DeepSeek V3.2 Exp", - "display_name": "DeepSeek V3.2 Exp", + "id": "qwen3-235b-a22b-instruct-2507", + "name": "Qwen3 235B A22B Instruct 2507", + "display_name": "Qwen3 235B A22B Instruct 2507", "modalities": { "input": [ "text" @@ -31831,28 +33507,30 @@ ] }, "limit": { - "context": 131072, - "output": 65536 + "context": 131000, + "output": 131000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", "cost": { - "input": 0.287, - "output": 0.431 + "input": 0.062, + "output": 0.408 }, "type": "chat" }, { - "id": "deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "qwen3-coder-30b-a3b-instruct", + "name": "Qwen3 Coder 30B A3B Instruct", + "display_name": "Qwen3 Coder 30B A3B Instruct", "modalities": { "input": [ "text" @@ -31862,8 +33540,8 @@ ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 262000, + "output": 262000 }, "temperature": true, "tool_call": true, @@ -31871,46 +33549,32 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "knowledge": "2025-04", + "release_date": "2025-07-31", + "last_updated": "2025-07-31", "cost": { - "input": 0.435, - "output": 0.87, - "cache_read": 0.003625 + "input": 0.053, + "output": 0.222 }, "type": "chat" }, { - "id": "kimi-k2.5", - "name": "Moonshot Kimi K2.5", - "display_name": "Moonshot Kimi K2.5", + "id": "minimax-m2.1", + "name": "MiniMax-M2.1", + "display_name": "MiniMax-M2.1", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 196000, + "output": 196000 }, "temperature": true, "tool_call": true, @@ -31931,120 +33595,152 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "cost": { - "input": 0.574, - "output": 2.411 + "input": 0.34, + "output": 1.34 }, "type": "chat" }, { - "id": "qwen-omni-turbo-realtime", - "name": "Qwen-Omni Turbo Realtime", - "display_name": "Qwen-Omni Turbo Realtime", + "id": "qwen3-32b", + "name": "Qwen3 32B", + "display_name": "Qwen3 32B", "modalities": { "input": [ - "text", - "image", - "audio" + "text" ], "output": [ - "text", - "audio" + "text" ] }, "limit": { - "context": 32768, - "output": 2048 + "context": 16384, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-05-08", - "last_updated": "2025-05-08", + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2025-04-29", + "last_updated": "2025-04-29", "cost": { - "input": 0.23, - "output": 0.918, - "input_audio": 3.584, - "output_audio": 7.168 + "input": 0.099, + "output": 0.33 }, "type": "chat" }, { - "id": "qwen-mt-plus", - "name": "Qwen Mt Plus", - "display_name": "Qwen Mt Plus", + "id": "claude-4-6-sonnet", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 8192 + "context": 1000000, + "output": 1000000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-01", - "last_updated": "2025-01", + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "cost": { - "input": 0.259, - "output": 0.775 + "input": 3.59, + "output": 17.92 }, "type": "chat" }, { - "id": "qwen-long", - "name": "Qwen Long", - "display_name": "Qwen Long", + "id": "claude-sonnet-4", + "name": "Claude Sonnet 4", + "display_name": "Claude Sonnet 4", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 8192 + "context": 200000, + "output": 64000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-01-25", - "last_updated": "2025-01-25", + "knowledge": "2025-03", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0.072, - "output": 0.287 + "input": 3.307, + "output": 16.536 }, "type": "chat" }, { - "id": "qvq-max", - "name": "QVQ Max", - "display_name": "QVQ Max", + "id": "gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "display_name": "Gemini 2.5 Pro", "modalities": { "input": [ "text", @@ -32055,8 +33751,8 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1048576, + "output": 65535 }, "temperature": true, "tool_call": true, @@ -32064,32 +33760,53 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-03-25", - "last_updated": "2025-03-25", + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-17", "cost": { - "input": 1.147, - "output": 4.588 + "input": 1.654, + "output": 11.024 }, "type": "chat" }, { - "id": "deepseek-r1-distill-qwen-32b", - "name": "DeepSeek R1 Distill Qwen 32B", - "display_name": "DeepSeek R1 Distill Qwen 32B", + "id": "claude-4-5-sonnet", + "name": "Claude 4.5 Sonnet", + "display_name": "Claude 4.5 Sonnet", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 16384 + "context": 200000, + "output": 200000 }, "temperature": true, "tool_call": true, @@ -32097,20 +33814,21 @@ "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0.287, - "output": 0.861 + "input": 3.259, + "output": 16.296 }, "type": "chat" }, { - "id": "qwen-doc-turbo", - "name": "Qwen Doc Turbo", - "display_name": "Qwen Doc Turbo", + "id": "mixtral-8x7B-instruct-v0.1", + "name": "Mixtral 8x7B Instruct v0.1", + "display_name": "Mixtral 8x7B Instruct v0.1", "modalities": { "input": [ "text" @@ -32120,29 +33838,30 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 32000, + "output": 32000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-01", - "last_updated": "2024-01", + "open_weights": true, + "knowledge": "2023-09", + "release_date": "2023-12-11", + "last_updated": "2023-12-11", "cost": { - "input": 0.087, - "output": 0.144 + "input": 0.438, + "output": 0.68 }, "type": "chat" }, { - "id": "glm-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "glm-4.5", + "name": "GLM 4.5", + "display_name": "GLM 4.5", "modalities": { "input": [ "text" @@ -32152,8 +33871,8 @@ ] }, "limit": { - "context": 202752, - "output": 128000 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -32174,31 +33893,30 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-04-14", - "last_updated": "2026-04-14", + "knowledge": "2025-04", + "release_date": "2025-07-29", + "last_updated": "2025-07-29", "cost": { - "input": 0.87, - "output": 3.48, - "cache_read": 0.17 + "input": 0.67, + "output": 2.46 }, "type": "chat" }, { - "id": "qwen2-5-vl-7b-instruct", - "name": "Qwen2.5-VL 7B Instruct", - "display_name": "Qwen2.5-VL 7B Instruct", + "id": "kimi-k2-instruct", + "name": "Kimi K2 Instruct", + "display_name": "Kimi K2 Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 131000, + "output": 131000 }, "temperature": true, "tool_call": true, @@ -32207,19 +33925,19 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", + "knowledge": "2024-07", + "release_date": "2025-07-11", + "last_updated": "2025-09-05", "cost": { - "input": 0.287, - "output": 0.717 + "input": 0.551, + "output": 2.646 }, "type": "chat" }, { - "id": "qwen-plus", - "name": "Qwen Plus", - "display_name": "Qwen Plus", + "id": "llama-3.3-70b-instruct", + "name": "Llama 3.3 70B Instruct", + "display_name": "Llama 3.3 70B Instruct", "modalities": { "input": [ "text" @@ -32229,64 +33947,78 @@ ] }, "limit": { - "context": 1000000, - "output": 32768 + "context": 131000, + "output": 131000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } + "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "attachment": false, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "cost": { + "input": 0.089, + "output": 0.275 }, - "search": { + "type": "chat" + }, + { + "id": "claude-opus4-8", + "name": "Claude Opus 4.8", + "display_name": "Claude Opus 4.8", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-01-25", - "last_updated": "2025-09-11", + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "cost": { - "input": 0.115, - "output": 0.287, - "reasoning": 1.147 + "input": 5.64, + "output": 28.198, + "cache_read": 0.563, + "cache_write": 7.049 }, "type": "chat" }, { - "id": "qwen2-5-7b-instruct", - "name": "Qwen2.5 7B Instruct", - "display_name": "Qwen2.5 7B Instruct", + "id": "devstral-small-2512", + "name": "Devstral Small 2 2512", + "display_name": "Devstral Small 2 2512", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 262000, + "output": 262000 }, "temperature": true, "tool_call": true, @@ -32295,19 +34027,19 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", + "knowledge": "2025-12", + "release_date": "2025-12-09", + "last_updated": "2025-12-09", "cost": { - "input": 0.072, - "output": 0.144 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "MiniMax/MiniMax-M2.7", - "name": "MiniMax-M2.7", - "display_name": "MiniMax-M2.7", + "id": "glm-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ "text" @@ -32339,20 +34071,19 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "release_date": "2026-04-14", + "last_updated": "2026-04-14", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06, - "cache_write": 0.375 + "input": 1.31, + "output": 4.1, + "cache_read": 0.24 }, "type": "chat" }, { - "id": "qwen3-coder-plus", - "name": "Qwen3 Coder Plus", - "display_name": "Qwen3 Coder Plus", + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ "text" @@ -32362,29 +34093,42 @@ ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 1048576, + "output": 384000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 1, - "output": 5 + "input": 1.553, + "output": 3.106, + "cache_read": 0.003625 }, "type": "chat" }, { - "id": "siliconflow/deepseek-r1-0528", - "name": "siliconflow/deepseek-r1-0528", - "display_name": "siliconflow/deepseek-r1-0528", + "id": "qwen3-next-80b-a3b-thinking", + "name": "Qwen3 Next 80B A3B Thinking", + "display_name": "Qwen3 Next 80B A3B Thinking", "modalities": { "input": [ "text" @@ -32394,8 +34138,8 @@ ] }, "limit": { - "context": 163840, - "output": 32768 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -32415,19 +34159,20 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2025-05-28", - "last_updated": "2025-11-25", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-09-11", + "last_updated": "2025-09-11", "cost": { - "input": 0.5, - "output": 2.18 + "input": 0.164, + "output": 1.311 }, "type": "chat" }, { - "id": "siliconflow/deepseek-v3-0324", - "name": "siliconflow/deepseek-v3-0324", - "display_name": "siliconflow/deepseek-v3-0324", + "id": "kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "display_name": "Kimi K2 Thinking", "modalities": { "input": [ "text" @@ -32437,28 +34182,41 @@ ] }, "limit": { - "context": 163840, - "output": 163840 + "context": 262000, + "output": 262000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2024-12-26", - "last_updated": "2025-11-25", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "knowledge": "2025-12", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", "cost": { - "input": 0.25, - "output": 1 + "input": 0.656, + "output": 2.731 }, "type": "chat" }, { - "id": "siliconflow/deepseek-v3.2", - "name": "siliconflow/deepseek-v3.2", - "display_name": "siliconflow/deepseek-v3.2", + "id": "minimax-m2", + "name": "MiniMax-M2", + "display_name": "MiniMax-M2", "modalities": { "input": [ "text" @@ -32468,8 +34226,8 @@ ] }, "limit": { - "context": 163840, - "output": 65536 + "context": 400000, + "output": 400000 }, "temperature": true, "tool_call": true, @@ -32479,23 +34237,30 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": false, - "release_date": "2025-12-03", - "last_updated": "2025-12-03", + "open_weights": true, + "knowledge": "2024-11", + "release_date": "2025-10-27", + "last_updated": "2025-10-27", "cost": { - "input": 0.27, - "output": 0.42 + "input": 0.39, + "output": 1.57 }, "type": "chat" }, { - "id": "siliconflow/deepseek-v3.1-terminus", - "name": "siliconflow/deepseek-v3.1-terminus", - "display_name": "siliconflow/deepseek-v3.1-terminus", + "id": "minimax-m2.7", + "name": "MiniMax-m2.7", + "display_name": "MiniMax-m2.7", "modalities": { "input": [ "text" @@ -32505,8 +34270,8 @@ ] }, "limit": { - "context": 163840, - "output": 65536 + "context": 202752, + "output": 196072 }, "temperature": true, "tool_call": true, @@ -32514,20 +34279,31 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, - "open_weights": false, - "release_date": "2025-09-29", - "last_updated": "2025-11-25", + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.27, - "output": 1 + "input": 0.47, + "output": 1.4 }, "type": "chat" }, { - "id": "kimi/kimi-k2.5", - "name": "kimi/kimi-k2.5", - "display_name": "kimi/kimi-k2.5", + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ "text", @@ -32539,10 +34315,10 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 256000, + "output": 256000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -32565,16 +34341,15 @@ "release_date": "2026-01-27", "last_updated": "2026-01-27", "cost": { - "input": 0.6, - "output": 3, - "cache_read": 0.1 + "input": 0.55, + "output": 2.76 }, "type": "chat" }, { - "id": "qwen3-coder-plus-2025-09-23", - "name": "Qwen3 Coder Plus 2025 09 23", - "display_name": "Qwen3 Coder Plus 2025 09 23", + "id": "gpt-oss-120b", + "name": "GPT Oss 120b", + "display_name": "GPT Oss 120b", "modalities": { "input": [ "text" @@ -32584,21 +34359,34 @@ ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, + "open_weights": true, + "knowledge": "2024-01", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "cost": { + "input": 0, + "output": 0 + }, "type": "chat" }, { - "id": "qwen3-coder-plus-2025-07-22", - "name": "Qwen3 Coder Plus 2025 07 22", - "display_name": "Qwen3 Coder Plus 2025 07 22", + "id": "qwen-2.5-72b-instruct", + "name": "Qwen2.5 72B Instruct", + "display_name": "Qwen2.5 72B Instruct", "modalities": { "input": [ "text" @@ -32608,8 +34396,8 @@ ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 33000, + "output": 33000 }, "temperature": true, "tool_call": true, @@ -32617,161 +34405,185 @@ "supported": false }, "attachment": false, - "type": "chat" - }, - { - "id": "qwen-vl-ocr-latest", - "name": "Qwen Vl Ocr Latest", - "display_name": "Qwen Vl Ocr Latest", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 34096, - "output": 4096 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false + "open_weights": true, + "knowledge": "2024-06", + "release_date": "2024-09-19", + "last_updated": "2024-09-19", + "cost": { + "input": 0.062, + "output": 0.231 }, - "attachment": false, "type": "chat" }, { - "id": "qvq-max-2025-05-15", - "name": "Qvq Max 2025 05 15", - "display_name": "Qvq Max 2025 05 15", + "id": "hermes-4-70b", + "name": "Hermes 4 70B", + "display_name": "Hermes 4 70B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 128000, + "output": 128000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 16384, - "min": 0, - "max": 16384 - } + "default": true }, "attachment": false, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "cost": { + "input": 0.116, + "output": 0.358 + }, "type": "chat" }, { - "id": "qwen-turbo-latest", - "name": "Qwen Turbo Latest", - "display_name": "Qwen Turbo Latest", + "id": "claude-haiku-4-5", + "name": "Claude Haiku 4.5", + "display_name": "Claude Haiku 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 200000, + "output": 200000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 38912, - "min": 0, - "max": 38912 - } + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" + "attachment": true, + "open_weights": false, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "cost": { + "input": 1.09, + "output": 5.43 }, - "attachment": false, "type": "chat" }, { - "id": "qwen-turbo-2024-09-19", - "name": "Qwen Turbo 2024 09 19", - "display_name": "Qwen Turbo 2024 09 19", + "id": "gpt-5.4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "cost": { + "input": 3, + "output": 16.13, + "cache_read": 0.25 }, - "attachment": false, "type": "chat" }, { - "id": "qwen-flash-2025-07-28", - "name": "Qwen Flash 2025 07 28", - "display_name": "Qwen Flash 2025 07 28", + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 32768 + "context": 256000, + "output": 256000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } + "default": true }, "extra_capabilities": { "reasoning": { @@ -32784,77 +34596,66 @@ ] } }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" - }, "attachment": false, + "open_weights": true, + "release_date": "2026-04-17", + "last_updated": "2026-04-17", + "cost": { + "input": 0.81, + "output": 3.54, + "cache_read": 0.2 + }, "type": "chat" }, { - "id": "qwen-plus-latest", - "name": "Qwen Plus Latest", - "display_name": "Qwen Plus Latest", + "id": "gpt-4.1", + "name": "GPT 4.1", + "display_name": "GPT 4.1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 1047576, "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" + "supported": false }, "attachment": false, + "open_weights": false, + "knowledge": "2024-06", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "cost": { + "input": 2.354, + "output": 9.417 + }, "type": "chat" }, { - "id": "qwen-plus-2024-09-19", - "name": "Qwen Plus 2024 09 19", - "display_name": "Qwen Plus 2024 09 19", + "id": "nova-pro-v1", + "name": "Nova Pro 1.0", + "display_name": "Nova Pro 1.0", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 300000, + "output": 5000 }, "temperature": true, "tool_call": true, @@ -32862,12 +34663,20 @@ "supported": false }, "attachment": false, + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", + "cost": { + "input": 1.016, + "output": 4.061 + }, "type": "chat" }, { - "id": "qwen-plus-2025-07-14", - "name": "Qwen Plus 2025 07 14", - "display_name": "Qwen Plus 2025 07 14", + "id": "qwen3-coder-next", + "name": "Qwen3 Coder Next 80B", + "display_name": "Qwen3 Coder Next 80B", "modalities": { "input": [ "text" @@ -32877,91 +34686,65 @@ ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 256000, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 38912, - "min": 0, - "max": 38912 - } - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" + "default": true }, "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2026-02-04", + "last_updated": "2026-02-04", + "cost": { + "input": 0.158, + "output": 0.84 + }, "type": "chat" }, { - "id": "qwen-plus-2025-09-11", - "name": "Qwen Plus 2025 09 11", - "display_name": "Qwen Plus 2025 09 11", + "id": "claude-opus4-5", + "name": "Claude Opus 4.5", + "display_name": "Claude Opus 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 32768 + "context": 200000, + "output": 200000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "default": true }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", + "cost": { + "input": 5.98, + "output": 29.89 }, - "attachment": false, "type": "chat" }, { - "id": "qwen-max-latest", - "name": "Qwen Max Latest", - "display_name": "Qwen Max Latest", + "id": "qwen3-coder-480b-a35b-instruct", + "name": "Qwen3 Coder 480B A35B Instruct", + "display_name": "Qwen3 Coder 480B A35B Instruct", "modalities": { "input": [ "text" @@ -32971,27 +34754,29 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 262000, + "output": 262000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" - }, "attachment": false, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", + "cost": { + "input": 0.441, + "output": 1.984 + }, "type": "chat" }, { - "id": "qwen-max-2024-09-19", - "name": "Qwen Max 2024 09 19", - "display_name": "Qwen Max 2024 09 19", + "id": "devstral-2512", + "name": "Devstral 2 2512", + "display_name": "Devstral 2 2512", "modalities": { "input": [ "text" @@ -33001,27 +34786,29 @@ ] }, "limit": { - "context": 32768, - "output": 8192 + "context": 262000, + "output": 262000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" - }, "attachment": false, + "open_weights": true, + "knowledge": "2025-12", + "release_date": "2025-12-09", + "last_updated": "2025-12-09", + "cost": { + "input": 0, + "output": 0 + }, "type": "chat" }, { - "id": "qwen-max-2024-04-28", - "name": "Qwen Max 2024 04 28", - "display_name": "Qwen Max 2024 04 28", + "id": "qwen3.5-397b-a17b", + "name": "Qwen3.5 397B A17B", + "display_name": "Qwen3.5 397B A17B", "modalities": { "input": [ "text" @@ -33031,21 +34818,41 @@ ] }, "limit": { - "context": 8000, - "output": 2000 + "context": 250000, + "output": 250000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, + "open_weights": true, + "knowledge": "2026-01", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", + "cost": { + "input": 0.6, + "output": 3.6 + }, "type": "chat" }, { - "id": "qwen-max-2024-04-03", - "name": "Qwen Max 2024 04 03", - "display_name": "Qwen Max 2024 04 03", + "id": "glm-4.5-air", + "name": "GLM 4.5 Air", + "display_name": "GLM 4.5 Air", "modalities": { "input": [ "text" @@ -33055,21 +34862,30 @@ ] }, "limit": { - "context": 8000, - "output": 2000 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-08-01", + "last_updated": "2025-08-01", + "cost": { + "input": 0.22, + "output": 1.34 + }, "type": "chat" }, { - "id": "qwen-max-2025-01-25", - "name": "Qwen Max 2025 01 25", - "display_name": "Qwen Max 2025 01 25", + "id": "glm-4.7-flash", + "name": "GLM-4.7-Flash", + "display_name": "GLM-4.7-Flash", "modalities": { "input": [ "text" @@ -33079,27 +34895,41 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 203000, + "output": 203000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false - }, - "search": { "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-08-08", + "last_updated": "2025-08-08", + "cost": { + "input": 0.09, + "output": 0.53 + }, "type": "chat" }, { - "id": "qwen3-max-2025-09-23", - "name": "Qwen3 Max 20250923", - "display_name": "Qwen3 Max 20250923", + "id": "intellect-3", + "name": "INTELLECT 3", + "display_name": "INTELLECT 3", "modalities": { "input": [ "text" @@ -33109,27 +34939,30 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false - }, - "search": { "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" + "default": true + }, + "attachment": true, + "open_weights": true, + "knowledge": "2025-11", + "release_date": "2025-11-26", + "last_updated": "2025-11-26", + "cost": { + "input": 0.219, + "output": 1.202 }, - "attachment": false, "type": "chat" }, { - "id": "qwen3-max-preview", - "name": "Qwen3 Max Preview", - "display_name": "Qwen3 Max Preview", + "id": "llama-3.1-405b-instruct", + "name": "Llama 3.1 405B Instruct", + "display_name": "Llama 3.1 405B Instruct", "modalities": { "input": [ "text" @@ -33139,38 +34972,29 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" + "supported": false }, "attachment": false, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "cost": { + "input": 0, + "output": 0 + }, "type": "chat" }, { - "id": "qwen3-235b-a22b-thinking-2507", - "name": "Qwen3 235B A22B Thinking 2507", - "display_name": "Qwen3 235B A22B Thinking 2507", + "id": "glm-5", + "name": "GLM 5", + "display_name": "GLM 5", "modalities": { "input": [ "text" @@ -33180,19 +35004,14 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 202752, + "output": 202752 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, - "default": true, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } + "default": true }, "extra_capabilities": { "reasoning": { @@ -33206,36 +35025,53 @@ } }, "attachment": false, + "open_weights": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "cost": { + "input": 1.08, + "output": 3.44 + }, "type": "chat" }, { - "id": "qwen3-235b-a22b-instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "display_name": "Qwen3 235B A22B Instruct 2507", + "id": "mistral-large-2512", + "name": "Mistral Large 3 2512", + "display_name": "Mistral Large 3 2512", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 256000, + "output": 256000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, + "open_weights": true, + "knowledge": "2025-12", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "cost": { + "input": 0.5, + "output": 1.5, + "cache_read": 0.05 + }, "type": "chat" }, { - "id": "qwen3-30b-a3b-instruct-2507", - "name": "Qwen3 30B A3B Instruct 2507", - "display_name": "Qwen3 30B A3B Instruct 2507", + "id": "deepseek-v3.2", + "name": "DeepSeek V3.2", + "display_name": "DeepSeek V3.2", "modalities": { "input": [ "text" @@ -33245,21 +35081,35 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 163840, + "output": 163840 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "cost": { + "input": 0.266, + "output": 0.444 + }, "type": "chat" }, { - "id": "qwen3-30b-a3b-thinking-2507", - "name": "Qwen3 30B A3B Thinking 2507", - "display_name": "Qwen3 30B A3B Thinking 2507", + "id": "codestral-2508", + "name": "Codestral 2508", + "display_name": "Codestral 2508", "modalities": { "input": [ "text" @@ -33269,38 +35119,30 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 256000, + "output": 256000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": true, - "default": true, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, + "open_weights": true, + "knowledge": "2025-03", + "release_date": "2025-07-30", + "last_updated": "2025-07-30", + "cost": { + "input": 0.3, + "output": 0.9, + "cache_read": 0.03 + }, "type": "chat" }, { - "id": "qwen3-30b-a3b", - "name": "Qwen3 30B A3B", - "display_name": "Qwen3 30B A3B", + "id": "qwen3.5-122b-a10b", + "name": "Qwen3.5 122B A10B", + "display_name": "Qwen3.5 122B A10B", "modalities": { "input": [ "text" @@ -33310,19 +35152,14 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } + "default": true }, "extra_capabilities": { "reasoning": { @@ -33336,12 +35173,20 @@ } }, "attachment": false, + "open_weights": true, + "knowledge": "2026-01", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", + "cost": { + "input": 0.444, + "output": 3.106 + }, "type": "chat" }, { - "id": "qwen3-4b", - "name": "Qwen3 4B", - "display_name": "Qwen3 4B", + "id": "nemotron-3-super-120b-a12b", + "name": "Nemotron 3 Super 120B A12B", + "display_name": "Nemotron 3 Super 120B A12B", "modalities": { "input": [ "text" @@ -33351,79 +35196,74 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true, - "budget": { - "default": 38912, - "min": 0, - "max": 38912 - } - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "default": true }, "attachment": false, + "open_weights": true, + "knowledge": "2025-12", + "release_date": "2026-03-11", + "last_updated": "2026-03-11", + "cost": { + "input": 0.266, + "output": 0.799 + }, "type": "chat" }, { - "id": "qwen3-1.7b", - "name": "Qwen3 1.7B", - "display_name": "Qwen3 1.7B", + "id": "claude-opus4-6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 8192 + "context": 1000000, + "output": 1000000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true, - "budget": { - "default": 30720, - "min": 0, - "max": 30720 - } + "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "attachment": true, + "open_weights": false, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", + "cost": { + "input": 5.98, + "output": 29.89 }, - "attachment": false, "type": "chat" - }, + } + ] + }, + "nebius": { + "id": "nebius", + "name": "Nebius Token Factory", + "display_name": "Nebius Token Factory", + "api": "https://api.tokenfactory.nebius.com/v1", + "doc": "https://docs.tokenfactory.nebius.com/", + "models": [ { - "id": "qwen3-0.6b", - "name": "Qwen3 0.6B", - "display_name": "Qwen3 0.6B", + "id": "meta-llama/Llama-3.3-70B-Instruct", + "name": "Llama-3.3-70B-Instruct", + "display_name": "Llama-3.3-70B-Instruct", "modalities": { "input": [ "text" @@ -33433,38 +35273,31 @@ ] }, "limit": { - "context": 32768, + "context": 128000, "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true, - "budget": { - "default": 30720, - "min": 0, - "max": 30720 - } - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, + "open_weights": true, + "knowledge": "2025-08", + "release_date": "2025-12-05", + "last_updated": "2026-02-04", + "cost": { + "input": 0.13, + "output": 0.4, + "cache_read": 0.013, + "cache_write": 0.16 + }, "type": "chat" }, { - "id": "qwen3-vl-plus-2025-09-23", - "name": "Qwen3 VL Plus 2025 09 23", - "display_name": "Qwen3 VL Plus 2025 09 23", + "id": "moonshotai/Kimi-K2.5-fast", + "name": "Kimi-K2.5-fast", + "display_name": "Kimi-K2.5-fast", "modalities": { "input": [ "text", @@ -33475,19 +35308,14 @@ ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 256000, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } + "default": true }, "extra_capabilities": { "reasoning": { @@ -33500,35 +35328,41 @@ ] } }, - "attachment": false, + "attachment": true, + "open_weights": true, + "knowledge": "2025-06", + "release_date": "2025-12-15", + "last_updated": "2026-02-04", + "cost": { + "input": 0.5, + "output": 2.5, + "cache_read": 0.05, + "cache_write": 0.625 + }, "type": "chat" }, { - "id": "qwq-plus-latest", - "name": "QwQ Plus Latest", - "display_name": "QwQ Plus Latest", + "id": "moonshotai/Kimi-K2.5", + "name": "Kimi-K2.5", + "display_name": "Kimi-K2.5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, + "context": 256000, "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, - "default": true, - "budget": { - "default": 32768, - "min": 0, - "max": 32768 - } + "default": true }, "extra_capabilities": { "reasoning": { @@ -33541,25 +35375,24 @@ ] } }, - "search": { - "supported": false + "attachment": true, + "open_weights": true, + "knowledge": "2025-06", + "release_date": "2025-12-15", + "last_updated": "2026-02-04", + "cost": { + "input": 0.5, + "output": 2.5, + "reasoning": 2.5, + "cache_read": 0.05, + "cache_write": 0.625 }, - "attachment": false, "type": "chat" - } - ] - }, - "digitalocean": { - "id": "digitalocean", - "name": "DigitalOcean", - "display_name": "DigitalOcean", - "api": "https://inference.do-ai.run/v1", - "doc": "https://docs.digitalocean.com/products/gradient-ai-platform/details/models/", - "models": [ + }, { - "id": "openai-gpt-5.2", - "name": "GPT-5.2", - "display_name": "GPT-5.2", + "id": "google/gemma-3-27b-it", + "name": "Gemma-3-27b-it", + "display_name": "Gemma-3-27b-it", "modalities": { "input": [ "text", @@ -33570,31 +35403,31 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 110000, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "open_weights": true, + "knowledge": "2025-10", + "release_date": "2026-01-20", + "last_updated": "2026-02-04", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.1, + "output": 0.3, + "cache_read": 0.01, + "cache_write": 0.125 }, "type": "chat" }, { - "id": "deepseek-3.2", - "name": "DeepSeek V3.2", - "display_name": "DeepSeek V3.2", + "id": "Qwen/Qwen3-Next-80B-A3B-Thinking-fast", + "name": "Qwen3-Next-80B-A3B-Thinking-fast", + "display_name": "Qwen3-Next-80B-A3B-Thinking-fast", "modalities": { "input": [ "text" @@ -33604,8 +35437,8 @@ ] }, "limit": { - "context": 128000, - "output": 64000 + "context": 8000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -33626,126 +35459,67 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-12-02", - "last_updated": "2026-04-30", + "knowledge": "2025-07", + "release_date": "2025-07-25", + "last_updated": "2026-05-07", "cost": { - "input": 0.5, - "output": 1.6 + "input": 0.15, + "output": 1.2, + "cache_read": 0.015, + "cache_write": 0.1875 }, "type": "chat" }, { - "id": "openai-gpt-image-2", - "name": "GPT Image 2", - "display_name": "GPT Image 2", + "id": "Qwen/Qwen2.5-VL-72B-Instruct", + "name": "Qwen2.5-VL-72B-Instruct", + "display_name": "Qwen2.5-VL-72B-Instruct", "modalities": { "input": [ "text", "image" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, + "context": 128000, "output": 8192 }, - "temperature": false, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "release_date": "2025-04-24", - "last_updated": "2025-04-24", - "type": "chat" - }, - { - "id": "openai-gpt-4.1", - "name": "GPT-4.1", - "display_name": "GPT-4.1", - "modalities": { - "input": [ - "text", - "image", - "pdf" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1047576, - "output": 32768 - }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 - }, - "type": "chat" - }, - { - "id": "nvidia-nemotron-3-super-120b", - "name": "Nemotron-3-Super-120B", - "display_name": "Nemotron-3-Super-120B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 256000, - "output": 32768 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, "open_weights": true, - "knowledge": "2026-02", - "release_date": "2026-03-11", - "last_updated": "2026-04-16", + "knowledge": "2024-12", + "release_date": "2025-01-20", + "last_updated": "2026-02-04", "cost": { - "input": 0.3, - "output": 0.65 + "input": 0.25, + "output": 0.75, + "cache_read": 0.025, + "cache_write": 0.31 }, "type": "chat" }, { - "id": "wan2-2-t2v-a14b", - "name": "Wan2.2-T2V-A14B", - "display_name": "Wan2.2-T2V-A14B", + "id": "Qwen/Qwen3-Embedding-8B", + "name": "Qwen3-Embedding-8B", + "display_name": "Qwen3-Embedding-8B", "modalities": { "input": [ "text" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 100, - "output": 1 + "context": 32768, + "output": 8192 }, "temperature": false, "tool_call": false, @@ -33754,32 +35528,30 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-07-28", - "last_updated": "2026-04-30", + "knowledge": "2025-10", + "release_date": "2026-01-10", + "last_updated": "2026-02-04", "cost": { - "input": 0.6, + "input": 0.01, "output": 0 }, - "type": "chat" + "type": "embedding" }, { - "id": "nemotron-3-nano-omni", - "name": "Nemotron Nano 3 Omni", - "display_name": "Nemotron Nano 3 Omni", + "id": "Qwen/Qwen3.5-397B-A17B", + "name": "Qwen3.5-397B-A17B", + "display_name": "Qwen3.5-397B-A17B", "modalities": { "input": [ - "text", - "image", - "video", - "audio" + "text" ], "output": [ "text" ] }, "limit": { - "context": 65536, - "output": 65536 + "context": 262144, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -33787,67 +35559,45 @@ "supported": true, "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": true, - "release_date": "2026-04-28", - "last_updated": "2026-04-30", + "knowledge": "2025-07", + "release_date": "2025-07-15", + "last_updated": "2026-05-07", "cost": { - "input": 0.5, - "output": 0.9 + "input": 0.6, + "output": 3.6, + "cache_read": 0.06, + "cache_write": 0.75 }, "type": "chat" }, { - "id": "openai-gpt-5.4-pro", - "name": "GPT-5.4 pro", - "display_name": "GPT-5.4 pro", + "id": "Qwen/Qwen3.5-397B-A17B-fast", + "name": "Qwen3.5-397B-A17B-fast", + "display_name": "Qwen3.5-397B-A17B-fast", "modalities": { "input": [ - "text", - "image" - ], - "output": [ "text" - ] - }, - "limit": { - "context": 400000, - "output": 128000 - }, - "temperature": false, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "cost": { - "input": 30, - "output": 180 - }, - "type": "chat" - }, - { - "id": "anthropic-claude-4.1-opus", - "name": "Claude Opus 4.1", - "display_name": "Claude Opus 4.1", - "modalities": { - "input": [ - "text", - "image", - "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 8000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -33855,218 +35605,238 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-07", + "release_date": "2025-07-15", + "last_updated": "2026-05-07", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.6, + "output": 3.6, + "cache_read": 0.06, + "cache_write": 0.75 }, "type": "chat" }, { - "id": "llama-4-maverick", - "name": "Llama 4 Maverick 17B 128E Instruct", - "display_name": "Llama 4 Maverick 17B 128E Instruct", + "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", + "name": "Qwen3-30B-A3B-Instruct-2507", + "display_name": "Qwen3-30B-A3B-Instruct-2507", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 16384 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2026-04-30", + "knowledge": "2025-12", + "release_date": "2026-01-28", + "last_updated": "2026-02-04", "cost": { - "input": 0.25, - "output": 0.87 + "input": 0.1, + "output": 0.3, + "cache_read": 0.01, + "cache_write": 0.125 }, "type": "chat" }, { - "id": "openai-gpt-5.4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "Qwen/Qwen3-Next-80B-A3B-Thinking", + "name": "Qwen3-Next-80B-A3B-Thinking", + "display_name": "Qwen3-Next-80B-A3B-Thinking", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 128000, + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-12", + "release_date": "2026-01-28", + "last_updated": "2026-02-04", "cost": { - "input": 2.5, - "output": 15, - "cache_read": 0.25 + "input": 0.15, + "output": 1.2, + "reasoning": 1.2, + "cache_read": 0.015, + "cache_write": 0.18 }, "type": "chat" }, { - "id": "openai-gpt-5.4-mini", - "name": "GPT-5.4 mini", - "display_name": "GPT-5.4 mini", + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "name": "Qwen3 235B A22B Instruct 2507", + "display_name": "Qwen3 235B A22B Instruct 2507", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "knowledge": "2025-07", + "release_date": "2025-07-25", + "last_updated": "2025-10-04", "cost": { - "input": 0.75, - "output": 4.5, - "cache_read": 0.075 + "input": 0.2, + "output": 0.6 }, "type": "chat" }, { - "id": "anthropic-claude-4.5-sonnet", - "name": "Claude Sonnet 4.5", - "display_name": "Claude Sonnet 4.5", + "id": "Qwen/Qwen3-32B", + "name": "Qwen3-32B", + "display_name": "Qwen3-32B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75, - "tiers": [ - { - "input": 6, - "output": 22.5, - "cache_read": 0.3, - "cache_write": 3.75, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 6, - "output": 22.5, - "cache_read": 0.3, - "cache_write": 3.75 + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-12", + "release_date": "2026-01-28", + "last_updated": "2026-02-04", + "cost": { + "input": 0.1, + "output": 0.3, + "cache_read": 0.01, + "cache_write": 0.125 + }, "type": "chat" }, { - "id": "openai-o3", - "name": "o3", - "display_name": "o3", + "id": "Qwen/Qwen3-235B-A22B-Thinking-2507-fast", + "name": "Qwen3-235B-A22B-Thinking-2507-fast", + "display_name": "Qwen3-235B-A22B-Thinking-2507-fast", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 8000, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-07", + "release_date": "2025-07-25", + "last_updated": "2026-05-07", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0.5, + "output": 2, + "cache_read": 0.05, + "cache_write": 0.625 }, "type": "chat" }, { - "id": "mistral-3-14B", - "name": "Ministral 3 14B Instruct", - "display_name": "Ministral 3 14B Instruct", + "id": "openai/gpt-oss-120b-fast", + "name": "gpt-oss-120b-fast", + "display_name": "gpt-oss-120b-fast", "modalities": { "input": [ "text" @@ -34076,28 +35846,32 @@ ] }, "limit": { - "context": 262144, - "output": 128000 + "context": 8000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "release_date": "2025-12-15", - "last_updated": "2026-04-30", + "knowledge": "2025-06", + "release_date": "2025-06-10", + "last_updated": "2026-05-07", "cost": { - "input": 0.2, - "output": 0.2 + "input": 0.1, + "output": 0.5, + "cache_read": 0.01, + "cache_write": 0.125 }, "type": "chat" }, { - "id": "mistral-7b-instruct-v0.3", - "name": "Mistral 7B Instruct v0.3", - "display_name": "Mistral 7B Instruct v0.3", + "id": "openai/gpt-oss-120b", + "name": "gpt-oss-120b", + "display_name": "gpt-oss-120b", "modalities": { "input": [ "text" @@ -34107,24 +35881,44 @@ ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2024-05-22", - "last_updated": "2024-05-22", + "knowledge": "2025-09", + "release_date": "2026-01-10", + "last_updated": "2026-02-04", + "cost": { + "input": 0.15, + "output": 0.6, + "reasoning": 0.6, + "cache_read": 0.015, + "cache_write": 0.18 + }, "type": "chat" }, { - "id": "openai-gpt-oss-120b", - "name": "gpt-oss-120b", - "display_name": "gpt-oss-120b", + "id": "NousResearch/Hermes-4-405B", + "name": "Hermes-4-405B", + "display_name": "Hermes-4-405B", "modalities": { "input": [ "text" @@ -34134,8 +35928,8 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -34156,83 +35950,69 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-06", - "release_date": "2025-08-05", - "last_updated": "2026-04-16", + "knowledge": "2025-11", + "release_date": "2026-01-30", + "last_updated": "2026-02-04", "cost": { - "input": 0.1, - "output": 0.7 + "input": 1, + "output": 3, + "reasoning": 3, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "anthropic-claude-opus-4.5", - "name": "Claude Opus 4.5", - "display_name": "Claude Opus 4.5", + "id": "NousResearch/Hermes-4-70B", + "name": "Hermes-4-70B", + "display_name": "Hermes-4-70B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", + "attachment": false, + "open_weights": true, + "knowledge": "2025-11", + "release_date": "2026-01-30", + "last_updated": "2026-02-04", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.13, + "output": 0.4, + "reasoning": 0.4, + "cache_read": 0.013, + "cache_write": 0.16 }, "type": "chat" }, { - "id": "multi-qa-mpnet-base-dot-v1", - "name": "Multi-QA-mpnet-base-dot-v1", - "display_name": "Multi-QA-mpnet-base-dot-v1", + "id": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B", + "name": "Nemotron-3-Nano-30B-A3B", + "display_name": "Nemotron-3-Nano-30B-A3B", "modalities": { "input": [ "text" @@ -34242,63 +36022,66 @@ ] }, "limit": { - "context": 512, - "output": 768 + "context": 32000, + "output": 4096 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2021-08-30", - "last_updated": "2026-04-16", + "knowledge": "2025-05", + "release_date": "2025-08-10", + "last_updated": "2026-02-04", "cost": { - "input": 0.009, - "output": 0 + "input": 0.06, + "output": 0.24, + "cache_read": 0.006, + "cache_write": 0.075 }, "type": "chat" }, { - "id": "openai-gpt-4o-mini", - "name": "GPT-4o mini", - "display_name": "GPT-4o mini", + "id": "nvidia/Nemotron-3-Nano-Omni", + "name": "Nemotron-3-Nano-Omni", + "display_name": "Nemotron-3-Nano-Omni", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 65536, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "attachment": false, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2025-01-20", + "last_updated": "2026-05-07", "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.075 + "input": 0.06, + "output": 0.24, + "cache_read": 0.006, + "cache_write": 0.075 }, "type": "chat" }, { - "id": "llama3-8b-instruct", - "name": "Llama 3.1 Instruct (8B)", - "display_name": "Llama 3.1 Instruct (8B)", + "id": "nvidia/Llama-3_1-Nemotron-Ultra-253B-v1", + "name": "Llama-3.1-Nemotron-Ultra-253B-v1", + "display_name": "Llama-3.1-Nemotron-Ultra-253B-v1", "modalities": { "input": [ "text" @@ -34308,8 +36091,8 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -34318,19 +36101,21 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "knowledge": "2024-12", + "release_date": "2025-01-15", + "last_updated": "2026-02-04", "cost": { - "input": 0.198, - "output": 0.198 + "input": 0.6, + "output": 1.8, + "cache_read": 0.06, + "cache_write": 0.75 }, "type": "chat" }, { - "id": "all-mini-lm-l6-v2", - "name": "All-MiniLM-L6-v2", - "display_name": "All-MiniLM-L6-v2", + "id": "nvidia/nemotron-3-super-120b-a12b", + "name": "Nemotron-3-Super-120B-A12B", + "display_name": "Nemotron-3-Super-120B-A12B", "modalities": { "input": [ "text" @@ -34340,32 +36125,33 @@ ] }, "limit": { - "context": 256, - "output": 384 + "context": 256000, + "output": 32768 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "release_date": "2021-08-30", - "last_updated": "2026-04-16", + "knowledge": "2026-02", + "release_date": "2026-03-11", + "last_updated": "2026-03-12", "cost": { - "input": 0.009, - "output": 0 + "input": 0.3, + "output": 0.9 }, "type": "chat" }, { - "id": "anthropic-claude-3.7-sonnet", - "name": "Claude 3.7 Sonnet", - "display_name": "Claude 3.7 Sonnet", + "id": "zai-org/GLM-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -34373,82 +36159,42 @@ }, "limit": { "context": 200000, - "output": 64000 + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": false, - "summaries": false, - "visibility": "full", + "interleaved": true, + "summaries": true, + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Anthropic uses thinking budget tokens" ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-11", - "release_date": "2025-02-24", - "last_updated": "2025-02-24", + "knowledge": "2026-01", + "release_date": "2026-03-01", + "last_updated": "2026-03-10", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 1, + "output": 3.2, + "cache_read": 0.1, + "cache_write": 1 }, "type": "chat" }, { - "id": "bge-m3", - "name": "BGE M3", - "display_name": "BGE M3", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 8192, - "output": 1024 - }, - "temperature": false, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2024-01-30", - "last_updated": "2026-04-30", - "cost": { - "input": 0.02, - "output": 0 - }, - "type": "embedding" - }, - { - "id": "nemotron-3-nano-30b", - "name": "Nemotron 3 Nano 30B A3B", - "display_name": "Nemotron 3 Nano 30B A3B", + "id": "deepseek-ai/DeepSeek-V3.2-fast", + "name": "DeepSeek-V3.2-fast", + "display_name": "DeepSeek-V3.2-fast", "modalities": { "input": [ "text" @@ -34458,8 +36204,8 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 8000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -34469,19 +36215,24 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "knowledge": "2025-01", + "release_date": "2025-01-27", + "last_updated": "2026-05-07", + "cost": { + "input": 0.4, + "output": 2, + "cache_read": 0.04, + "cache_write": 0.5 + }, "type": "chat" }, { - "id": "anthropic-claude-sonnet-4", - "name": "Claude Sonnet 4", - "display_name": "Claude Sonnet 4", + "id": "deepseek-ai/DeepSeek-V4-Pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" @@ -34489,151 +36240,139 @@ }, "limit": { "context": 1000000, - "output": 64000 + "output": 384000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75, - "tiers": [ - { - "input": 6, - "output": 22.5, - "cache_read": 0.3, - "cache_write": 3.75, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 6, - "output": 22.5, - "cache_read": 0.3, - "cache_write": 3.75 - } + "input": 1.75, + "output": 3.5, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "openai-gpt-5.2-pro", - "name": "GPT-5.2 pro", - "display_name": "GPT-5.2 pro", + "id": "deepseek-ai/DeepSeek-V3.2", + "name": "DeepSeek-V3.2", + "display_name": "DeepSeek-V3.2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 163000, + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-11", + "release_date": "2026-01-20", + "last_updated": "2026-02-04", "cost": { - "input": 21, - "output": 168 + "input": 0.3, + "output": 0.45, + "reasoning": 0.45, + "cache_read": 0.03, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "openai-gpt-5", - "name": "GPT-5", - "display_name": "GPT-5", + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 196608, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2025-01-20", + "last_updated": "2026-05-07", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.3, + "output": 1.2, + "cache_read": 0.03, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "anthropic-claude-4.5-haiku", - "name": "Claude Haiku 4.5", - "display_name": "Claude Haiku 4.5", + "id": "MiniMaxAI/MiniMax-M2.5-fast", + "name": "MiniMax-M2.5-fast", + "display_name": "MiniMax-M2.5-fast", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 8000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -34641,68 +36380,79 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "attachment": false, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2025-01-20", + "last_updated": "2026-05-07", "cost": { - "input": 1, - "output": 5, - "cache_read": 1, - "cache_write": 1.25 + "input": 0.3, + "output": 1.2, + "cache_read": 0.03, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "stable-diffusion-3.5-large", - "name": "Stable Diffusion 3.5 Large", - "display_name": "Stable Diffusion 3.5 Large", + "id": "PrimeIntellect/INTELLECT-3", + "name": "INTELLECT-3", + "display_name": "INTELLECT-3", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 256, - "output": 1 + "context": 128000, + "output": 8192 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2024-10-22", - "last_updated": "2026-04-30", + "knowledge": "2025-10", + "release_date": "2026-01-25", + "last_updated": "2026-02-04", "cost": { - "input": 0.08, - "output": 0 + "input": 0.2, + "output": 1.1, + "cache_read": 0.02, + "cache_write": 0.25 }, "type": "chat" - }, + } + ] + }, + "auriko": { + "id": "auriko", + "name": "Auriko", + "display_name": "Auriko", + "api": "https://api.auriko.ai/v1", + "doc": "https://docs.auriko.ai", + "models": [ { - "id": "kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1000000, + "output": 384000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -34719,32 +36469,37 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.95, - "output": 4 + "input": 0.14, + "output": 0.28, + "cache_read": 0.0028 }, "type": "chat" }, { - "id": "openai-gpt-oss-20b", - "name": "gpt-oss-20b", - "display_name": "gpt-oss-20b", + "id": "gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "display_name": "Gemini 2.5 Pro", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -34752,152 +36507,171 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-06", - "release_date": "2025-08-05", - "last_updated": "2026-04-16", - "cost": { - "input": 0.05, - "output": 0.45 - }, - "type": "chat" - }, - { - "id": "ministral-3-8b-instruct-2512", - "name": "Ministral 3 8B", - "display_name": "Ministral 3 8B", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 262144 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": true, - "release_date": "2025-12-15", - "last_updated": "2025-12-15", - "type": "chat" - }, - { - "id": "openai-gpt-image-1.5", - "name": "GPT Image 1.5", - "display_name": "GPT Image 1.5", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "image" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "temperature": false, - "tool_call": false, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2025-11-25", - "last_updated": "2025-11-25", + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 5, + "input": 1.25, "output": 10, - "cache_read": 1 + "cache_read": 0.125, + "tiers": [ + { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } }, "type": "chat" }, { - "id": "anthropic-claude-3-opus", - "name": "Claude 3 Opus", - "display_name": "Claude 3 Opus", + "id": "grok-4.3", + "name": "Grok 4.3", + "display_name": "Grok 4.3", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 4096 + "context": 1000000, + "output": 30000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": true, "open_weights": false, - "knowledge": "2023-08", - "release_date": "2024-02-29", - "last_updated": "2024-02-29", + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "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 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 5, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "openai-gpt-5.4-nano", - "name": "GPT-5.4 nano", - "display_name": "GPT-5.4 nano", + "id": "gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "display_name": "Gemini 2.5 Flash", "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1048576, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 0.2, - "output": 1.25, - "cache_read": 0.02 + "input": 0.3, + "output": 2.5, + "cache_read": 0.03 }, "type": "chat" }, { - "id": "deepseek-r1-distill-llama-70b", - "name": "DeepSeek R1 Distill Llama 70B", - "display_name": "DeepSeek R1 Distill Llama 70B", + "id": "glm-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ "text" @@ -34907,8 +36681,8 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 200000, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -34918,23 +36692,30 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, "open_weights": true, - "release_date": "2025-01-30", - "last_updated": "2025-01-30", + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 0.99, - "output": 0.99 + "input": 1.4, + "output": 4.4, + "cache_read": 0.26 }, "type": "chat" }, { - "id": "llama3.3-70b-instruct", - "name": "Llama 3.3 Instruct 70B", - "display_name": "Llama 3.3 Instruct 70B", + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ "text" @@ -34944,61 +36725,40 @@ ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 1000000, + "output": 384000 }, "temperature": true, "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "cost": { - "input": 0.65, - "output": 0.65 - }, - "type": "chat" - }, - { - "id": "openai-o3-mini", - "name": "o3-mini", - "display_name": "o3-mini", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 200000, - "output": 100000 - }, - "temperature": false, - "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2024-12-20", - "last_updated": "2025-01-29", + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.55 + "input": 0.435, + "output": 0.87, + "cache_read": 0.003625 }, "type": "chat" }, { - "id": "anthropic-claude-opus-4.7", + "id": "claude-opus-4-7", "name": "Claude Opus 4.7", "display_name": "Claude Opus 4.7", "modalities": { @@ -35061,9 +36821,9 @@ "type": "chat" }, { - "id": "bge-reranker-v2-m3", - "name": "BGE Reranker v2 M3", - "display_name": "BGE Reranker v2 M3", + "id": "minimax-m2-7-highspeed", + "name": "MiniMax-M2.7-highspeed", + "display_name": "MiniMax-M2.7-highspeed", "modalities": { "input": [ "text" @@ -35073,127 +36833,216 @@ ] }, "limit": { - "context": 8192, - "output": 1 + "context": 204800, + "output": 131072 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "release_date": "2024-03-12", - "last_updated": "2026-04-30", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.01, - "output": 0 + "input": 0.6, + "output": 2.4, + "cache_write": 0.375 }, - "type": "rerank" + "type": "chat" }, { - "id": "openai-gpt-5-mini", - "name": "GPT-5 mini", - "display_name": "GPT-5 mini", + "id": "minimax-m2-7", + "name": "MiniMax-M2.7", + "display_name": "MiniMax-M2.7", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "cost": { + "input": 0.3, + "output": 1.2, + "cache_write": 0.375 + }, + "type": "chat" + }, + { + "id": "qwen-3.6-plus", + "name": "Qwen3.6 Plus", + "display_name": "Qwen3.6 Plus", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1000000, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 0.5, + "output": 3, + "cache_read": 0.1, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.2, + "cache_write": 2.5, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.2, + "cache_write": 2.5 + } }, "type": "chat" }, { - "id": "gemma-4-31B-it", - "name": "Gemma 4 31B", - "display_name": "Gemma 4 31B", + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 8192 + "context": 262144, + "output": 262144 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": true, - "release_date": "2026-04-22", - "last_updated": "2026-04-30", + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", "cost": { - "input": 0.18, - "output": 0.5 + "input": 0.5, + "output": 2.8 }, "type": "chat" }, { - "id": "qwen-2.5-14b-instruct", - "name": "Qwen 2.5 14B Instruct", - "display_name": "Qwen 2.5 14B Instruct", + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": true, - "knowledge": "2024-09", - "release_date": "2024-09-19", - "last_updated": "2024-09-19", + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + }, "type": "chat" }, { - "id": "openai-gpt-4o", - "name": "GPT-4o", - "display_name": "GPT-4o", + "id": "gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "display_name": "Gemini 3.1 Pro Preview", "modalities": { "input": [ "text", "image", + "video", + "audio", "pdf" ], "output": [ @@ -35201,28 +37050,62 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } }, "attachment": true, "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-08-06", + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "anthropic-claude-opus-4.6", + "id": "claude-opus-4-6", "name": "Claude Opus 4.6", "display_name": "Claude Opus 4.6", "modalities": { @@ -35282,100 +37165,122 @@ "input": 5, "output": 25, "cache_read": 0.5, - "cache_write": 6.25, - "tiers": [ - { - "input": 10, - "output": 37.5, - "cache_read": 0.5, - "cache_write": 6.25, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 10, - "output": 37.5, - "cache_read": 0.5, - "cache_write": 6.25 - } + "cache_write": 6.25 }, "type": "chat" }, { - "id": "qwen3-coder-flash", - "name": "Qwen3 Coder Flash", - "display_name": "Qwen3 Coder Flash", + "id": "claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2026-04-30", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "cost": { - "input": 0.45, - "output": 1.7 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" - }, + } + ] + }, + "stepfun-ai": { + "id": "stepfun-ai", + "name": "StepFun AI", + "display_name": "StepFun AI", + "api": "https://api.stepfun.ai/step_plan/v1", + "doc": "https://platform.stepfun.ai/docs/en/step-plan/integrations/open-code", + "models": [ { - "id": "openai-o1", - "name": "o1", - "display_name": "o1", + "id": "step-3.5-flash", + "name": "Step 3.5 Flash", + "display_name": "Step 3.5 Flash", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 256000, + "output": 256000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-12-05", - "last_updated": "2024-12-05", + "attachment": false, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-01-29", + "last_updated": "2026-02-13", "cost": { - "input": 15, - "output": 60, - "cache_read": 7.5 + "input": 0.096, + "output": 0.288, + "cache_read": 0.019 }, "type": "chat" }, { - "id": "anthropic-claude-3.5-haiku", - "name": "Claude 3.5 Haiku", - "display_name": "Claude 3.5 Haiku", + "id": "step-3.5-flash-2603", + "name": "Step 3.5 Flash 2603", + "display_name": "Step 3.5 Flash 2603", "modalities": { "input": [ "text" @@ -35385,31 +37290,40 @@ ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 256000, + "output": 256000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "knowledge": "2024-07", - "release_date": "2024-11-05", - "last_updated": "2024-11-05", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0.8, - "output": 4, - "cache_read": 0.08, - "cache_write": 1 + "input": 0.1, + "output": 0.3, + "cache_read": 0.02 }, "type": "chat" - }, + } + ] + }, + "vivgrid": { + "id": "vivgrid", + "name": "Vivgrid", + "display_name": "Vivgrid", + "api": "https://api.vivgrid.com/v1", + "doc": "https://docs.vivgrid.com/models", + "models": [ { - "id": "e5-large-v2", - "name": "E5 Large v2", - "display_name": "E5 Large v2", + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ "text" @@ -35419,28 +37333,42 @@ ] }, "limit": { - "context": 512, - "output": 1024 + "context": 1000000, + "output": 384000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2023-05-19", - "last_updated": "2026-04-30", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.02, - "output": 0 + "input": 0.435, + "output": 0.87, + "cache_read": 0.003625 }, "type": "chat" }, { - "id": "anthropic-claude-4.6-sonnet", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "gpt-5.4-nano", + "name": "GPT-5.4 Nano", + "display_name": "GPT-5.4 Nano", "modalities": { "input": [ "text", @@ -35452,50 +37380,53 @@ ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, "open_weights": false, "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75, - "tiers": [ - { - "input": 6, - "output": 22.5, - "cache_read": 0.3, - "cache_write": 3.75, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 6, - "output": 22.5, - "cache_read": 0.3, - "cache_write": 3.75 - } + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "openai-gpt-5-nano", - "name": "GPT-5 nano", - "display_name": "GPT-5 nano", + "id": "gpt-5.1-codex", + "name": "GPT-5.1 Codex", + "display_name": "GPT-5.1 Codex", "modalities": { "input": [ "text", @@ -35513,67 +37444,112 @@ "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": false, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0.05, - "output": 0.4, - "cache_read": 0.005 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "qwen3-embedding-0.6b", - "name": "Qwen3 Embedding 0.6B", - "display_name": "Qwen3 Embedding 0.6B", + "id": "gpt-5.1-codex-max", + "name": "GPT-5.1 Codex Max", + "display_name": "GPT-5.1 Codex Max", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8000, - "output": 1024 + "context": 400000, + "output": 128000 }, "temperature": false, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": false, - "open_weights": true, - "release_date": "2025-06-03", - "last_updated": "2026-04-16", + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0.04, - "output": 0 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, - "type": "embedding" + "type": "chat" }, { - "id": "openai-gpt-5.5", - "name": "GPT-5.5", - "display_name": "GPT-5.5", + "id": "gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "display_name": "GPT-5.3 Codex", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 400000, "output": 128000 }, "temperature": false, @@ -35582,119 +37558,174 @@ "supported": true, "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": false, "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-23", - "last_updated": "2026-04-30", + "knowledge": "2025-08-31", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5, - "tiers": [ - { - "input": 10, - "output": 45, - "cache_read": 1, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 10, - "output": 45, - "cache_read": 1 - } + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "glm-5", - "name": "GLM 5", - "display_name": "GLM 5", + "id": "gpt-5.4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 202752, + "context": 400000, "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-04-16", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 1, - "output": 3.2 + "input": 2.5, + "output": 15, + "cache_read": 0.25 }, "type": "chat" }, { - "id": "deepseek-v3", - "name": "DeepSeek V3", - "display_name": "DeepSeek V3", + "id": "gpt-5.4-mini", + "name": "GPT-5.4 Mini", + "display_name": "GPT-5.4 Mini", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 131072 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "cost": { + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2024-12-26", - "last_updated": "2025-03-24", "type": "chat" }, { - "id": "arcee-trinity-large-thinking", - "name": "Trinity Large Thinking", - "display_name": "Trinity Large Thinking", + "id": "gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "display_name": "Gemini 3.1 Pro Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 128000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -35702,21 +37733,55 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2026-04-02", - "last_updated": "2026-04-16", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", "cost": { - "input": 0.25, - "output": 0.9, - "cache_read": 0.06 + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "anthropic-claude-3.5-sonnet", - "name": "Claude 3.5 Sonnet", - "display_name": "Claude 3.5 Sonnet", + "id": "gpt-5-mini", + "name": "GPT-5 Mini", + "display_name": "GPT-5 Mini", "modalities": { "input": [ "text", @@ -35727,35 +37792,55 @@ ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 272000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-06-20", - "last_updated": "2024-10-22", + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.25, + "output": 2, + "cache_read": 0.03 }, "type": "chat" }, { - "id": "nemotron-nano-12b-v2-vl", - "name": "Nemotron Nano 12B v2 VL", - "display_name": "Nemotron Nano 12B v2 VL", + "id": "deepseek-v3.2", + "name": "DeepSeek-V3.2", + "display_name": "DeepSeek-V3.2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -35763,7 +37848,7 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 128000 }, "temperature": true, "tool_call": true, @@ -35771,52 +37856,70 @@ "supported": true, "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, "open_weights": true, - "knowledge": "2024-10", + "knowledge": "2024-07", "release_date": "2025-12-01", - "last_updated": "2026-04-30", + "last_updated": "2025-12-01", "cost": { - "input": 0.2, - "output": 0.6 + "input": 0.28, + "output": 0.42 }, "type": "chat" }, { - "id": "gte-large-en-v1.5", - "name": "GTE Large (v1.5)", - "display_name": "GTE Large (v1.5)", + "id": "gemini-3.1-flash-lite-preview", + "name": "Gemini 3.1 Flash Lite Preview", + "display_name": "Gemini 3.1 Flash Lite Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 1024 + "context": 1048576, + "output": 65536 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-03-27", - "last_updated": "2026-04-16", + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", "cost": { - "input": 0.09, - "output": 0 + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "cache_write": 1 }, "type": "chat" }, { - "id": "anthropic-claude-opus-4.8", - "name": "Claude Opus 4.8", - "display_name": "Claude Opus 4.8", + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "display_name": "GPT-5.2 Codex", "modalities": { "input": [ "text", @@ -35827,70 +37930,67 @@ ] }, "limit": { - "context": 1000000, + "context": 400000, "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", - "effort": "high", + "effort": "medium", "effort_options": [ "low", "medium", "high", - "xhigh", - "max" + "xhigh" ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] + "visibility": "hidden" } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-05-28", - "last_updated": "2026-05-29", + "knowledge": "2025-08-31", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "qwen3.5-397b-a17b", - "name": "Qwen 3.5 397B A17B", - "display_name": "Qwen 3.5 397B A17B", + "id": "gpt-5.5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 81920 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -35899,28 +37999,64 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-15", - "last_updated": "2026-04-30", + "attachment": true, + "open_weights": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 0.55, - "output": 3.5 + "input": 5, + "output": 30, + "cache_read": 0.5, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + } }, "type": "chat" - }, + } + ] + }, + "mistral": { + "id": "mistral", + "name": "Mistral", + "display_name": "Mistral", + "doc": "https://docs.mistral.ai/getting-started/models/", + "models": [ { - "id": "minimax-m2.5", - "name": "MiniMax M2.5", - "display_name": "MiniMax M2.5", + "id": "codestral-latest", + "name": "Codestral (latest)", + "display_name": "Codestral (latest)", "modalities": { "input": [ "text" @@ -35930,93 +38066,62 @@ ] }, "limit": { - "context": 204800, - "output": 128000 + "context": 256000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-08", - "release_date": "2026-02-12", - "last_updated": "2026-04-16", + "knowledge": "2024-10", + "release_date": "2024-05-29", + "last_updated": "2025-01-04", "cost": { "input": 0.3, - "output": 1.2 + "output": 0.9 }, "type": "chat" }, { - "id": "anthropic-claude-haiku-4.5", - "name": "Claude Haiku 4.5", - "display_name": "Claude Haiku 4.5", + "id": "mistral-large-latest", + "name": "Mistral Large (latest)", + "display_name": "Mistral Large (latest)", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "open_weights": true, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2025-12-02", "cost": { - "input": 1, - "output": 5, - "cache_read": 1, - "cache_write": 1.25 + "input": 0.5, + "output": 1.5 }, "type": "chat" }, { - "id": "deepseek-4-flash", - "name": "Deepseek V4 Flash", - "display_name": "Deepseek V4 Flash", + "id": "open-mistral-7b", + "name": "Mistral 7B", + "display_name": "Mistral 7B", "modalities": { "input": [ "text" @@ -36026,8 +38131,8 @@ ] }, "limit": { - "context": 262144, - "output": 8192 + "context": 8000, + "output": 8000 }, "temperature": true, "tool_call": true, @@ -36035,15 +38140,20 @@ "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-05-27", - "last_updated": "2026-05-29", + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2023-09-27", + "last_updated": "2023-09-27", + "cost": { + "input": 0.25, + "output": 0.25 + }, "type": "chat" }, { - "id": "mistral-nemo-instruct-2407", - "name": "Mistral Nemo Instruct", - "display_name": "Mistral Nemo Instruct", + "id": "devstral-small-2507", + "name": "Devstral Small", + "display_name": "Devstral Small", "modalities": { "input": [ "text" @@ -36054,7 +38164,7 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 128000 }, "temperature": true, "tool_call": true, @@ -36063,18 +38173,19 @@ }, "attachment": false, "open_weights": true, - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "knowledge": "2025-05", + "release_date": "2025-07-10", + "last_updated": "2025-07-10", "cost": { - "input": 0.3, + "input": 0.1, "output": 0.3 }, "type": "chat" }, { - "id": "deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "ministral-3b-latest", + "name": "Ministral 3B (latest)", + "display_name": "Ministral 3B (latest)", "modalities": { "input": [ "text" @@ -36084,129 +38195,105 @@ ] }, "limit": { - "context": 1048576, - "output": 393216 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "knowledge": "2024-10", + "release_date": "2024-10-01", + "last_updated": "2024-10-04", "cost": { - "input": 1.74, - "output": 3.48 + "input": 0.04, + "output": 0.04 }, "type": "chat" }, { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "pixtral-large-latest", + "name": "Pixtral Large (latest)", + "display_name": "Pixtral Large (latest)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 128000, + "output": 128000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01", - "last_updated": "2026-04-16", + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2024-11-04", "cost": { - "input": 0.5, - "output": 2.7 + "input": 2, + "output": 6 }, "type": "chat" }, { - "id": "openai-gpt-image-1", - "name": "GPT Image 1", - "display_name": "GPT Image 1", + "id": "mistral-nemo", + "name": "Mistral Nemo", + "display_name": "Mistral Nemo", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 128000, + "output": 128000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2025-04-24", - "last_updated": "2025-04-24", + "attachment": false, + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2024-07-01", + "last_updated": "2024-07-01", "cost": { - "input": 5, - "output": 40, - "cache_read": 1.25 + "input": 0.15, + "output": 0.15 }, "type": "chat" }, { - "id": "qwen3-tts-voicedesign", - "name": "Qwen3 TTS VoiceDesign", - "display_name": "Qwen3 TTS VoiceDesign", + "id": "mistral-embed", + "name": "Mistral Embed", + "display_name": "Mistral Embed", "modalities": { "input": [ "text" ], "output": [ - "audio" + "text" ] }, "limit": { - "context": 32768, - "output": 1 + "context": 8000, + "output": 3072 }, "temperature": false, "tool_call": false, @@ -36214,293 +38301,281 @@ "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2026-04-21", - "last_updated": "2026-04-30", + "open_weights": false, + "release_date": "2023-12-11", + "last_updated": "2023-12-11", + "cost": { + "input": 0.1, + "output": 0 + }, "type": "chat" }, { - "id": "alibaba-qwen3-32b", - "name": "Qwen3-32B", - "display_name": "Qwen3-32B", + "id": "mistral-small-2506", + "name": "Mistral Small 3.2", + "display_name": "Mistral Small 3.2", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131000, - "output": 40960 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-04-30", - "last_updated": "2026-04-16", + "knowledge": "2025-03", + "release_date": "2025-06-20", + "last_updated": "2025-06-20", "cost": { - "input": 0.25, - "output": 0.55 + "input": 0.1, + "output": 0.3 }, "type": "chat" }, { - "id": "openai-gpt-5.1-codex-max", - "name": "GPT-5.1 Codex Max", - "display_name": "GPT-5.1 Codex Max", + "id": "ministral-8b-latest", + "name": "Ministral 8B (latest)", + "display_name": "Ministral 8B (latest)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, + "context": 128000, "output": 128000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "attachment": false, + "open_weights": true, + "knowledge": "2024-10", + "release_date": "2024-10-01", + "last_updated": "2024-10-04", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "anthropic-claude-opus-4", - "name": "Claude Opus 4", - "display_name": "Claude Opus 4", + "id": "open-mixtral-8x22b", + "name": "Mixtral 8x22B", + "display_name": "Mixtral 8x22B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 64000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "attachment": false, + "open_weights": true, + "knowledge": "2024-04", + "release_date": "2024-04-17", + "last_updated": "2024-04-17", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 2, + "output": 6 }, "type": "chat" }, { - "id": "openai-gpt-5.3-codex", - "name": "GPT-5.3 Codex", - "display_name": "GPT-5.3 Codex", + "id": "mistral-medium-latest", + "name": "Mistral Medium (latest)", + "display_name": "Mistral Medium (latest)", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 262144 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "knowledge": "2025-05", + "release_date": "2025-08-12", + "last_updated": "2025-08-12", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.4, + "output": 2 }, "type": "chat" }, { - "id": "fal-ai/fast-sdxl", - "name": "Fast SDXL", - "display_name": "Fast SDXL", + "id": "devstral-small-2505", + "name": "Devstral Small 2505", + "display_name": "Devstral Small 2505", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 128000, + "output": 128000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2023-07-26", - "last_updated": "2026-04-16", + "knowledge": "2025-05", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", + "cost": { + "input": 0.1, + "output": 0.3 + }, "type": "chat" }, { - "id": "fal-ai/elevenlabs/tts/multilingual-v2", - "name": "ElevenLabs Multilingual TTS v2", - "display_name": "ElevenLabs Multilingual TTS v2", + "id": "magistral-small", + "name": "Magistral Small", + "display_name": "Magistral Small", "modalities": { "input": [ "text" ], "output": [ - "audio" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 128000, + "output": 128000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2023-08-22", - "last_updated": "2026-04-16", + "open_weights": true, + "knowledge": "2025-06", + "release_date": "2025-03-17", + "last_updated": "2025-03-17", + "cost": { + "input": 0.5, + "output": 1.5 + }, "type": "chat" }, { - "id": "fal-ai/stable-audio-25/text-to-audio", - "name": "Stable Audio 2.5 (Text-to-Audio)", - "display_name": "Stable Audio 2.5 (Text-to-Audio)", + "id": "mistral-medium-2604", + "name": "Mistral Medium 3.5", + "display_name": "Mistral Medium 3.5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "audio" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 262144, + "output": 262144 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-04-29", + "last_updated": "2026-04-29", + "cost": { + "input": 1.5, + "output": 7.5 }, - "attachment": false, - "open_weights": false, - "release_date": "2025-10-08", - "last_updated": "2026-04-16", "type": "chat" }, { - "id": "fal-ai/flux/schnell", - "name": "FLUX.1 [schnell]", - "display_name": "FLUX.1 [schnell]", + "id": "mistral-small-latest", + "name": "Mistral Small (latest)", + "display_name": "Mistral Small (latest)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 256000, + "output": 256000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2024-08-01", - "last_updated": "2026-04-16", + "knowledge": "2025-06", + "release_date": "2026-03-16", + "last_updated": "2026-03-16", + "cost": { + "input": 0.15, + "output": 0.6 + }, "type": "chat" - } - ] - }, - "submodel": { - "id": "submodel", - "name": "submodel", - "display_name": "submodel", - "api": "https://llm.submodel.ai/v1", - "doc": "https://submodel.gitbook.io", - "models": [ + }, { - "id": "zai-org/GLM-4.5-FP8", - "name": "GLM 4.5 FP8", - "display_name": "GLM 4.5 FP8", + "id": "open-mixtral-8x7b", + "name": "Mixtral 8x7B", + "display_name": "Mixtral 8x7B", "modalities": { "input": [ "text" @@ -36510,29 +38585,29 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 32000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "knowledge": "2024-01", + "release_date": "2023-12-11", + "last_updated": "2023-12-11", "cost": { - "input": 0.2, - "output": 0.8 + "input": 0.7, + "output": 0.7 }, "type": "chat" }, { - "id": "zai-org/GLM-4.5-Air", - "name": "GLM 4.5 Air", - "display_name": "GLM 4.5 Air", + "id": "devstral-latest", + "name": "Devstral 2", + "display_name": "Devstral 2", "modalities": { "input": [ "text" @@ -36542,8 +38617,8 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -36552,29 +38627,31 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "knowledge": "2025-12", + "release_date": "2025-12-09", + "last_updated": "2025-12-09", "cost": { - "input": 0.1, - "output": 0.5 + "input": 0.4, + "output": 2 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.1", - "name": "DeepSeek V3.1", - "display_name": "DeepSeek V3.1", + "id": "mistral-small-2603", + "name": "Mistral Small 4", + "display_name": "Mistral Small 4", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 75000, - "output": 163840 + "context": 256000, + "output": 256000 }, "temperature": true, "tool_call": true, @@ -36582,51 +38659,54 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", + "attachment": true, + "open_weights": true, + "knowledge": "2025-06", + "release_date": "2026-03-16", + "last_updated": "2026-03-16", "cost": { - "input": 0.2, - "output": 0.8 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3-0324", - "name": "DeepSeek V3 0324", - "display_name": "DeepSeek V3 0324", + "id": "mistral-medium-2505", + "name": "Mistral Medium 3", + "display_name": "Mistral Medium 3", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 75000, - "output": 163840 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", + "knowledge": "2025-05", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", "cost": { - "input": 0.2, - "output": 0.8 + "input": 0.4, + "output": 2 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-R1-0528", - "name": "DeepSeek R1 0528", - "display_name": "DeepSeek R1 0528", + "id": "mistral-large-2411", + "name": "Mistral Large 2.1", + "display_name": "Mistral Large 2.1", "modalities": { "input": [ "text" @@ -36636,43 +38716,33 @@ ] }, "limit": { - "context": 75000, - "output": 163840 + "context": 131072, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", + "open_weights": true, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2024-11-04", "cost": { - "input": 0.5, - "output": 2.15 + "input": 2, + "output": 6 }, "type": "chat" }, { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen3 235B A22B Thinking 2507", - "display_name": "Qwen3 235B A22B Thinking 2507", + "id": "mistral-medium-2508", + "name": "Mistral Medium 3.1", + "display_name": "Mistral Medium 3.1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -36680,39 +38750,28 @@ }, "limit": { "context": 262144, - "output": 131072 + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", - "cost": { - "input": 0.2, - "output": 0.6 + "attachment": true, + "open_weights": false, + "knowledge": "2025-05", + "release_date": "2025-08-12", + "last_updated": "2025-08-12", + "cost": { + "input": 0.4, + "output": 2 }, "type": "chat" }, { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "display_name": "Qwen3 235B A22B Instruct 2507", + "id": "open-mistral-nemo", + "name": "Open Mistral Nemo", + "display_name": "Open Mistral Nemo", "modalities": { "input": [ "text" @@ -36722,8 +38781,8 @@ ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -36732,18 +38791,19 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", + "knowledge": "2024-07", + "release_date": "2024-07-01", + "last_updated": "2024-07-01", "cost": { - "input": 0.2, - "output": 0.3 + "input": 0.15, + "output": 0.15 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8", - "name": "Qwen3 Coder 480B A35B Instruct", - "display_name": "Qwen3 Coder 480B A35B Instruct", + "id": "magistral-medium-latest", + "name": "Magistral Medium (latest)", + "display_name": "Magistral Medium (latest)", "modalities": { "input": [ "text" @@ -36753,28 +38813,30 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", + "open_weights": true, + "knowledge": "2025-06", + "release_date": "2025-03-17", + "last_updated": "2025-03-20", "cost": { - "input": 0.2, - "output": 0.8 + "input": 2, + "output": 5 }, "type": "chat" }, { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "display_name": "GPT OSS 120B", + "id": "devstral-medium-latest", + "name": "Devstral 2 (latest)", + "display_name": "Devstral 2 (latest)", "modalities": { "input": [ "text" @@ -36784,43 +38846,29 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", + "knowledge": "2025-12", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", "cost": { - "input": 0.1, - "output": 0.5 + "input": 0.4, + "output": 2 }, "type": "chat" - } - ] - }, - "bailing": { - "id": "bailing", - "name": "Bailing", - "display_name": "Bailing", - "api": "https://api.tbox.cn/api/llm/v1/chat/completions", - "doc": "https://alipaytbox.yuque.com/sxs0ba/ling/intro", - "models": [ + }, { - "id": "Ring-1T", - "name": "Ring-1T", - "display_name": "Ring-1T", + "id": "devstral-2512", + "name": "Devstral 2", + "display_name": "Devstral 2", "modalities": { "input": [ "text" @@ -36830,46 +38878,41 @@ ] }, "limit": { - "context": 128000, - "output": 32000 + "context": 262144, + "output": 262144 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2024-06", - "release_date": "2025-10", - "last_updated": "2025-10", + "knowledge": "2025-12", + "release_date": "2025-12-09", + "last_updated": "2025-12-09", "cost": { - "input": 0.57, - "output": 2.29 + "input": 0.4, + "output": 2 }, "type": "chat" }, { - "id": "Ling-1T", - "name": "Ling-1T", - "display_name": "Ling-1T", + "id": "labs-devstral-small-2512", + "name": "Devstral Small 2", + "display_name": "Devstral Small 2", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32000 + "context": 256000, + "output": 256000 }, "temperature": true, "tool_call": true, @@ -36878,79 +38921,56 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-06", - "release_date": "2025-10", - "last_updated": "2025-10", + "knowledge": "2025-12", + "release_date": "2025-12-09", + "last_updated": "2025-12-09", "cost": { - "input": 0.57, - "output": 2.29 + "input": 0, + "output": 0 }, "type": "chat" - } - ] - }, - "kimi-for-coding": { - "id": "kimi-for-coding", - "name": "Kimi For Coding", - "display_name": "Kimi For Coding", - "api": "https://api.kimi.com/coding/v1", - "doc": "https://www.kimi.com/code/docs/en/third-party-tools/other-coding-agents.html", - "models": [ + }, { - "id": "kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "display_name": "Kimi K2 Thinking", + "id": "pixtral-12b", + "name": "Pixtral 12B", + "display_name": "Pixtral 12B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-07", - "release_date": "2025-11", - "last_updated": "2025-12", + "knowledge": "2024-09", + "release_date": "2024-09-01", + "last_updated": "2024-09-01", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.15, + "output": 0.15 }, "type": "chat" }, { - "id": "k2p5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "mistral-large-2512", + "name": "Mistral Large 3", + "display_name": "Mistral Large 3", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" @@ -36958,77 +38978,69 @@ }, "limit": { "context": 262144, - "output": 32768 + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01", - "last_updated": "2026-01", + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2025-12-02", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.5, + "output": 1.5 }, "type": "chat" }, { - "id": "k2p6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "devstral-medium-2507", + "name": "Devstral Medium", + "display_name": "Devstral Medium", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04", - "last_updated": "2026-04", + "knowledge": "2025-05", + "release_date": "2025-07-10", + "last_updated": "2025-07-10", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.4, + "output": 2 }, "type": "chat" } ] }, - "dinference": { - "id": "dinference", - "name": "DInference", - "display_name": "DInference", - "api": "https://api.dinference.com/v1", - "doc": "https://dinference.com", + "bailing": { + "id": "bailing", + "name": "Bailing", + "display_name": "Bailing", + "api": "https://api.tbox.cn/api/llm/v1/chat/completions", + "doc": "https://alipaytbox.yuque.com/sxs0ba/ling/intro", "models": [ { - "id": "glm-4.7", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "Ring-1T", + "name": "Ring-1T", + "display_name": "Ring-1T", "modalities": { "input": [ "text" @@ -37038,41 +39050,35 @@ ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 128000, + "output": 32000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "knowledge": "2024-06", + "release_date": "2025-10", + "last_updated": "2025-10", "cost": { - "input": 0.45, - "output": 1.65 + "input": 0.57, + "output": 2.29 }, "type": "chat" }, { - "id": "gpt-oss-120b", - "name": "GPT OSS 120B", - "display_name": "GPT OSS 120B", + "id": "Ling-1T", + "name": "Ling-1T", + "display_name": "Ling-1T", "modalities": { "input": [ "text" @@ -37082,44 +39088,50 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 128000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-08", - "last_updated": "2025-08", + "knowledge": "2024-06", + "release_date": "2025-10", + "last_updated": "2025-10", "cost": { - "input": 0.0675, - "output": 0.27 + "input": 0.57, + "output": 2.29 }, "type": "chat" - }, + } + ] + }, + "firepass": { + "id": "firepass", + "name": "Fireworks (Firepass)", + "display_name": "Fireworks (Firepass)", + "api": "https://api.fireworks.ai/inference/v1/", + "doc": "https://docs.fireworks.ai/firepass", + "models": [ { - "id": "glm-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "accounts/fireworks/routers/kimi-k2p6-turbo", + "name": "Kimi K2.6 Turbo", + "display_name": "Kimi K2.6 Turbo", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 262000, + "output": 262000 }, "temperature": true, "tool_call": true, @@ -37140,29 +39152,41 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { - "input": 0.75, - "output": 2.4 + "input": 0, + "output": 0, + "cache_read": 0 }, "type": "chat" - }, + } + ] + }, + "anyapi": { + "id": "anyapi", + "name": "AnyAPI", + "display_name": "AnyAPI", + "api": "https://api.anyapi.ai/v1", + "doc": "https://docs.anyapi.ai", + "models": [ { - "id": "minimax-m2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "xai/grok-4.3", + "name": "Grok 4.3", + "display_name": "Grok 4.3", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 1000000, + "output": 30000 }, "temperature": true, "tool_call": true, @@ -37175,31 +39199,31 @@ "supported": true } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "cost": { - "input": 0.22, - "output": 0.88 - }, + "attachment": true, + "open_weights": false, + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "type": "chat" }, { - "id": "glm-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "google/gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "display_name": "Gemini 2.5 Pro", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -37210,142 +39234,203 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", - "cost": { - "input": 1.25, - "output": 3.89 - }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "type": "chat" - } - ] - }, - "novita-ai": { - "id": "novita-ai", - "name": "NovitaAI", - "display_name": "NovitaAI", - "api": "https://api.novita.ai/openai", - "doc": "https://novita.ai/docs/guides/introduction", - "models": [ + }, { - "id": "kwaipilot/kat-coder-pro", - "name": "Kat Coder Pro", - "display_name": "Kat Coder Pro", + "id": "google/gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "display_name": "Gemini 2.5 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 128000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2026-01-05", - "last_updated": "2026-01-05", - "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06 + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "type": "chat" }, { - "id": "nousresearch/hermes-2-pro-llama-3-8b", - "name": "Hermes 2 Pro Llama 3 8B", - "display_name": "Hermes 2 Pro Llama 3 8B", + "id": "google/gemini-2.5-flash-lite", + "name": "Gemini 2.5 Flash-Lite", + "display_name": "Gemini 2.5 Flash-Lite", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 1048576, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2024-06-27", - "last_updated": "2024-06-27", - "cost": { - "input": 0.14, - "output": 0.14 + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "default": -1, + "min": 512, + "max": 24576, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "type": "chat" }, { - "id": "mistralai/mistral-nemo", - "name": "Mistral Nemo", - "display_name": "Mistral Nemo", + "id": "google/gemini-3-pro-preview", + "name": "Gemini 3 Pro Preview", + "display_name": "Gemini 3 Pro Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 60288, - "output": 16000 + "context": 1048576, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-07-30", - "last_updated": "2024-07-30", - "cost": { - "input": 0.04, - "output": 0.17 + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", "type": "chat" }, { - "id": "deepseek/deepseek-r1-0528", - "name": "DeepSeek R1 0528", - "display_name": "DeepSeek R1 0528", + "id": "google/gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "display_name": "Gemini 3 Flash Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 32768 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -37356,76 +39441,92 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "cost": { - "input": 0.7, - "output": 2.5, - "cache_read": 0.35 - }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", "type": "chat" }, { - "id": "deepseek/deepseek-v3-0324", - "name": "DeepSeek V3 0324", - "display_name": "DeepSeek V3 0324", + "id": "openai/o3", + "name": "o3", + "display_name": "o3", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 163840 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-03-25", - "last_updated": "2025-03-25", - "cost": { - "input": 0.27, - "output": 1.12, - "cache_read": 0.135 + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", "type": "chat" }, { - "id": "deepseek/deepseek-v3.2", - "name": "Deepseek V3.2", - "display_name": "Deepseek V3.2", + "id": "openai/gpt-5", + "name": "GPT-5", + "display_name": "GPT-5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 65536 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -37434,61 +39535,79 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "cost": { - "input": 0.269, - "output": 0.4, - "cache_read": 0.1345 - }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "type": "chat" }, { - "id": "deepseek/deepseek-r1-turbo", - "name": "DeepSeek R1 (Turbo)\t", - "display_name": "DeepSeek R1 (Turbo)\t", + "id": "openai/o4-mini", + "name": "o4-mini", + "display_name": "o4-mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 64000, - "output": 16000 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-03-05", - "last_updated": "2025-03-05", - "cost": { - "input": 0.7, - "output": 2.5 + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", "type": "chat" }, { - "id": "deepseek/deepseek-prover-v2-671b", - "name": "Deepseek Prover V2 671B", - "display_name": "Deepseek Prover V2 671B", + "id": "openai/o3-mini", + "name": "o3-mini", + "display_name": "o3-mini", "modalities": { "input": [ "text" @@ -37498,224 +39617,307 @@ ] }, "limit": { - "context": 160000, - "output": 160000 + "context": 200000, + "output": 100000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-04-30", - "last_updated": "2025-04-30", - "cost": { - "input": 0.7, - "output": 2.5 + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, + "attachment": false, + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2024-12-20", + "last_updated": "2025-01-29", "type": "chat" }, { - "id": "deepseek/deepseek-r1-distill-llama-70b", - "name": "DeepSeek R1 Distill LLama 70B", - "display_name": "DeepSeek R1 Distill LLama 70B", + "id": "openai/gpt-5.2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 400000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "release_date": "2025-01-27", - "last_updated": "2025-01-27", - "cost": { - "input": 0.8, - "output": 0.8 - }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "type": "chat" }, { - "id": "deepseek/deepseek-v3.1-terminus", - "name": "Deepseek V3.1 Terminus", - "display_name": "Deepseek V3.1 Terminus", + "id": "openai/gpt-5.4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-09-22", - "last_updated": "2025-09-22", - "cost": { - "input": 0.27, - "output": 1, - "cache_read": 0.135 + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "type": "chat" }, { - "id": "deepseek/deepseek-r1-0528-qwen3-8b", - "name": "DeepSeek R1 0528 Qwen3 8B", - "display_name": "DeepSeek R1 0528 Qwen3 8B", + "id": "openai/gpt-4.1", + "name": "GPT-4.1", + "display_name": "GPT-4.1", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32000 + "context": 1047576, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-05-29", - "last_updated": "2025-05-29", - "cost": { - "input": 0.06, - "output": 0.09 + "supported": false }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "type": "chat" }, { - "id": "deepseek/deepseek-v3-turbo", - "name": "DeepSeek V3 (Turbo)\t", - "display_name": "DeepSeek V3 (Turbo)\t", + "id": "openai/gpt-5-mini", + "name": "GPT-5 Mini", + "display_name": "GPT-5 Mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 64000, - "output": 16000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-03-05", - "last_updated": "2025-03-05", - "cost": { - "input": 0.4, - "output": 1.3 + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "type": "chat" }, { - "id": "deepseek/deepseek-ocr", - "name": "DeepSeek-OCR", - "display_name": "DeepSeek-OCR", + "id": "openai/gpt-4.1-mini", + "name": "GPT-4.1 mini", + "display_name": "GPT-4.1 mini", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 1047576, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, - "open_weights": true, - "release_date": "2025-10-24", - "last_updated": "2025-10-24", - "cost": { - "input": 0.03, - "output": 0.03 - }, - "type": "chat" + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "type": "chat" }, { - "id": "deepseek/deepseek-r1-distill-qwen-14b", - "name": "DeepSeek R1 Distill Qwen 14B", - "display_name": "DeepSeek R1 Distill Qwen 14B", + "id": "openai/gpt-5.1", + "name": "GPT-5.1", + "display_name": "GPT-5.1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 16384 + "context": 400000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "cost": { - "input": 0.15, - "output": 0.15 + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "type": "chat" }, { - "id": "deepseek/deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "mistralai/devstral-2512", + "name": "Devstral 2", + "display_name": "Devstral 2", "modalities": { "input": [ "text" @@ -37725,414 +39927,333 @@ ] }, "limit": { - "context": 1048576, - "output": 393216 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", - "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.028 - }, + "knowledge": "2025-12", + "release_date": "2025-12-09", + "last_updated": "2025-12-09", "type": "chat" }, { - "id": "deepseek/deepseek-v3.2-exp", - "name": "Deepseek V3.2 Exp", - "display_name": "Deepseek V3.2 Exp", + "id": "mistralai/mistral-large-2512", + "name": "Mistral Large 3", + "display_name": "Mistral Large 3", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 65536 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "cost": { - "input": 0.27, - "output": 0.41 - }, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2025-12-02", "type": "chat" }, { - "id": "deepseek/deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "anthropic/claude-sonnet-4-5", + "name": "Claude Sonnet 4.5 (latest)", + "display_name": "Claude Sonnet 4.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 393216 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", - "cost": { - "input": 1.69, - "output": 3.38, - "cache_read": 0.13 - }, - "type": "chat" - }, - { - "id": "deepseek/deepseek-ocr-2", - "name": "deepseek/deepseek-ocr-2", - "display_name": "deepseek/deepseek-ocr-2", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, "attachment": true, - "open_weights": true, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "cost": { - "input": 0.03, - "output": 0.03 - }, + "open_weights": false, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "type": "chat" }, { - "id": "deepseek/deepseek-v3.1", - "name": "DeepSeek V3.1", - "display_name": "DeepSeek V3.1", + "id": "anthropic/claude-opus-4-7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "cost": { - "input": 0.27, - "output": 1, - "cache_read": 0.135 - }, - "type": "chat" - }, - { - "id": "deepseek/deepseek-r1-distill-qwen-32b", - "name": "DeepSeek R1 Distill Qwen 32B", - "display_name": "DeepSeek R1 Distill Qwen 32B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 64000, - "output": 32000 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "cost": { - "input": 0.3, - "output": 0.3 + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] + } }, + "attachment": true, + "open_weights": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "type": "chat" }, { - "id": "xiaomimimo/mimo-v2-pro", - "name": "MiMo-V2-Pro", - "display_name": "MiMo-V2-Pro", + "id": "anthropic/claude-haiku-4-5", + "name": "Claude Haiku 4.5 (latest)", + "display_name": "Claude Haiku 4.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-05-27", - "cost": { - "input": 2, - "output": 6, - "cache_read": 0.4, - "tiers": [ - { - "input": 2, - "output": 6, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 256000 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.4 - } - }, - "type": "chat" - }, - { - "id": "xiaomimimo/mimo-v2-flash", - "name": "XiaomiMiMo/MiMo-V2-Flash", - "display_name": "XiaomiMiMo/MiMo-V2-Flash", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 32000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-12-19", - "last_updated": "2025-12-19", - "cost": { - "input": 0.1, - "output": 0.3, - "cache_read": 0.3 - }, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "type": "chat" }, { - "id": "xiaomimimo/mimo-v2.5-pro", - "name": "MiMo-V2.5-Pro", - "display_name": "MiMo-V2.5-Pro", + "id": "anthropic/claude-opus-4-6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-05-27", - "cost": { - "input": 2, - "output": 6, - "cache_read": 0.4, - "tiers": [ - { - "input": 2, - "output": 6, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 256000 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.4 - } - }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", "type": "chat" }, { - "id": "zai-org/glm-4.6", - "name": "GLM 4.6", - "display_name": "GLM 4.6", + "id": "anthropic/claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "cost": { - "input": 0.55, - "output": 2.2, - "cache_read": 0.11 - }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "type": "chat" }, { - "id": "zai-org/glm-4.7", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "cohere/command-r-plus-08-2024", + "name": "Command R+", + "display_name": "Command R+", "modalities": { "input": [ "text" @@ -38142,45 +40263,28 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 128000, + "output": 4000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11 - }, + "knowledge": "2024-06-01", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", "type": "chat" }, { - "id": "zai-org/glm-4.5v", - "name": "GLM 4.5V", - "display_name": "GLM 4.5V", + "id": "perplexity/sonar-reasoning-pro", + "name": "Sonar Reasoning Pro", + "display_name": "Sonar Reasoning Pro", "modalities": { "input": [ "text", - "video", "image" ], "output": [ @@ -38188,35 +40292,29 @@ ] }, "limit": { - "context": 65536, - "output": 16384 + "context": 128000, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "attachment": true, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-08-11", - "last_updated": "2025-08-11", - "cost": { - "input": 0.6, - "output": 1.8, - "cache_read": 0.11 - }, + "open_weights": false, + "knowledge": "2025-09-01", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", "type": "chat" }, { - "id": "zai-org/glm-4.6v", - "name": "GLM 4.6V", - "display_name": "GLM 4.6V", + "id": "perplexity/sonar-pro", + "name": "Sonar Pro", + "display_name": "Sonar Pro", "modalities": { "input": [ "text", - "video", "image" ], "output": [ @@ -38224,31 +40322,25 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 200000, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-08", - "last_updated": "2025-12-08", - "cost": { - "input": 0.3, - "output": 0.9, - "cache_read": 0.055 - }, + "open_weights": false, + "knowledge": "2025-09-01", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", "type": "chat" }, { - "id": "zai-org/glm-4.7-flash", - "name": "GLM-4.7-Flash", - "display_name": "GLM-4.7-Flash", + "id": "deepseek/deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ "text" @@ -38258,8 +40350,8 @@ ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 1000000, + "output": 384000 }, "temperature": true, "tool_call": true, @@ -38269,25 +40361,26 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "cost": { - "input": 0.07, - "output": 0.4, - "cache_read": 0.01 - }, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "type": "chat" }, { - "id": "zai-org/glm-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "deepseek/deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ "text" @@ -38297,8 +40390,8 @@ ] }, "limit": { - "context": 202800, - "output": 131072 + "context": 1000000, + "output": 384000 }, "temperature": true, "tool_call": true, @@ -38319,19 +40412,15 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-12", - "cost": { - "input": 1, - "output": 3.2, - "cache_read": 0.2 - }, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "type": "chat" }, { - "id": "zai-org/glm-4.5", - "name": "GLM-4.5", - "display_name": "GLM-4.5", + "id": "deepseek/deepseek-r1", + "name": "DeepSeek Reasoner", + "display_name": "DeepSeek Reasoner", "modalities": { "input": [ "text" @@ -38341,8 +40430,8 @@ ] }, "limit": { - "context": 131072, - "output": 98304 + "context": 1000000, + "output": 384000 }, "temperature": true, "tool_call": true, @@ -38361,64 +40450,68 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11 - }, + "knowledge": "2025-09", + "release_date": "2025-12-01", + "last_updated": "2026-02-28", "type": "chat" }, { - "id": "zai-org/autoglm-phone-9b-multilingual", - "name": "AutoGLM-Phone-9B-Multilingual", - "display_name": "AutoGLM-Phone-9B-Multilingual", + "id": "deepseek/deepseek-chat", + "name": "DeepSeek Chat", + "display_name": "DeepSeek Chat", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 65536, - "output": 65536 + "context": 1000000, + "output": 384000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, "open_weights": true, - "release_date": "2025-12-10", - "last_updated": "2025-12-10", - "cost": { - "input": 0.035, - "output": 0.138 - }, + "knowledge": "2025-09", + "release_date": "2025-12-01", + "last_updated": "2026-02-28", "type": "chat" - }, + } + ] + }, + "google": { + "id": "google", + "name": "google", + "display_name": "google", + "doc": "https://ai.google.dev/gemini-api/docs/models", + "models": [ { - "id": "zai-org/glm-4.5-air", - "name": "GLM 4.5 Air", - "display_name": "GLM 4.5 Air", + "id": "gemini-3.1-flash-lite", + "name": "Gemini 3.1 Flash Lite", + "display_name": "Gemini 3.1 Flash Lite", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 98304 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -38426,178 +40519,294 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-10-13", - "last_updated": "2025-10-13", + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-05-07", + "last_updated": "2026-05-07", "cost": { - "input": 0.13, - "output": 0.85 + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "input_audio": 0.5 }, "type": "chat" }, { - "id": "zai-org/glm-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "gemini-2.5-flash-preview-tts", + "name": "Gemini 2.5 Flash Preview TTS", + "display_name": "Gemini 2.5 Flash Preview TTS", "modalities": { "input": [ "text" ], + "output": [ + "audio" + ] + }, + "limit": { + "context": 8192, + "output": 16384 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-05-01", + "last_updated": "2025-05-01", + "cost": { + "input": 0.5, + "output": 10 + }, + "type": "chat" + }, + { + "id": "gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "display_name": "Gemini 2.5 Pro", + "modalities": { + "input": [ + "text", + "image" + ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": true, + "budget": { + "default": -1, + "min": 128, + "max": 32768 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "search": { + "supported": true, + "default": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", "cost": { - "input": 1.4, - "output": 4.4, - "cache_read": 0.26 + "input": 1.25, + "output": 10, + "cache_read": 0.125, + "tiers": [ + { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } }, "type": "chat" }, { - "id": "qwen/qwen3.5-122b-a10b", - "name": "Qwen3.5-122B-A10B", - "display_name": "Qwen3.5-122B-A10B", + "id": "gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "display_name": "Gemini 2.5 Flash", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, + "context": 1048576, "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": true, + "budget": { + "default": -1, + "min": 0, + "max": 24576 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, + "search": { + "supported": true, + "default": false + }, "attachment": true, - "open_weights": true, - "release_date": "2026-02-26", - "last_updated": "2026-02-26", + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", "cost": { - "input": 0.4, - "output": 3.2 + "input": 0.3, + "output": 2.5, + "cache_read": 0.03, + "input_audio": 1 }, "type": "chat" }, { - "id": "qwen/qwen3-next-80b-a3b-instruct", - "name": "Qwen3 Next 80B A3B Instruct", - "display_name": "Qwen3 Next 80B A3B Instruct", + "id": "gemini-3.5-flash", + "name": "Gemini 3.5 Flash", + "display_name": "Gemini 3.5 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-09-10", - "last_updated": "2025-09-10", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-05-19", + "last_updated": "2026-05-19", "cost": { - "input": 0.15, - "output": 1.5 + "input": 1.5, + "output": 9, + "cache_read": 0.15, + "input_audio": 1.5 }, "type": "chat" }, { - "id": "qwen/qwen2.5-vl-72b-instruct", - "name": "Qwen2.5 VL 72B Instruct", - "display_name": "Qwen2.5 VL 72B Instruct", + "id": "gemma-4-31b-it", + "name": "Gemma 4 31B IT", + "display_name": "Gemma 4 31B IT", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 32768, + "context": 262144, "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": true, - "release_date": "2025-03-25", - "last_updated": "2025-03-25", - "cost": { - "input": 0.8, - "output": 0.8 - }, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "type": "chat" }, { - "id": "qwen/qwen3-vl-30b-a3b-instruct", - "name": "qwen/qwen3-vl-30b-a3b-instruct", - "display_name": "qwen/qwen3-vl-30b-a3b-instruct", + "id": "gemini-2.0-flash", + "name": "Gemini 2.0 Flash", + "display_name": "Gemini 2.0 Flash", "modalities": { "input": [ "text", - "video", "image" ], "output": [ @@ -38605,60 +40814,65 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 1048576, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "search": { + "supported": true, + "default": false }, "attachment": true, - "open_weights": true, - "release_date": "2025-10-11", - "last_updated": "2025-10-11", + "open_weights": false, + "knowledge": "2024-06", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", "cost": { - "input": 0.2, - "output": 0.7 + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "qwen/qwen3-8b-fp8", - "name": "Qwen3 8B", - "display_name": "Qwen3 8B", + "id": "gemma-4-E4B-it", + "name": "Gemma 4 E4B IT", + "display_name": "Gemma 4 E4B IT", "modalities": { "input": [ - "text" + "text", + "image", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 20000 + "context": 131072, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "cost": { - "input": 0.035, - "output": 0.138 - }, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "type": "chat" }, { - "id": "qwen/qwen3-coder-30b-a3b-instruct", - "name": "Qwen3 Coder 30b A3B Instruct", - "display_name": "Qwen3 Coder 30b A3B Instruct", + "id": "gemini-embedding-001", + "name": "Gemini Embedding 001", + "display_name": "Gemini Embedding 001", "modalities": { "input": [ "text" @@ -38668,109 +40882,143 @@ ] }, "limit": { - "context": 160000, - "output": 32768 + "context": 2048, + "output": 1 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-10-09", - "last_updated": "2025-10-09", + "open_weights": false, + "knowledge": "2025-05", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", "cost": { - "input": 0.07, - "output": 0.27 + "input": 0.15, + "output": 0 }, - "type": "chat" + "type": "embedding" }, { - "id": "qwen/qwen3-vl-30b-a3b-thinking", - "name": "qwen/qwen3-vl-30b-a3b-thinking", - "display_name": "qwen/qwen3-vl-30b-a3b-thinking", + "id": "gemini-3.1-pro-preview-customtools", + "name": "Gemini 3.1 Pro Preview Custom Tools", + "display_name": "Gemini 3.1 Pro Preview Custom Tools", "modalities": { "input": [ "text", "image", - "video" + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, "attachment": true, - "open_weights": true, - "release_date": "2025-10-11", - "last_updated": "2025-10-11", + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", "cost": { - "input": 0.2, - "output": 1 + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "qwen/qwen3-235b-a22b-fp8", - "name": "Qwen3 235B A22B", - "display_name": "Qwen3 235B A22B", + "id": "gemini-flash-lite-latest", + "name": "Gemini Flash-Lite Latest", + "display_name": "Gemini Flash-Lite Latest", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 40960, - "output": 20000 + "context": 1048576, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-04-29", - "last_updated": "2025-04-29", + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", "cost": { - "input": 0.2, - "output": 0.8 + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "qwen/qwen3-vl-235b-a22b-instruct", - "name": "Qwen3 VL 235B A22B Instruct", - "display_name": "Qwen3 VL 235B A22B Instruct", + "id": "gemma-4-E2B-it", + "name": "Gemma 4 E2B IT", + "display_name": "Gemma 4 E2B IT", "modalities": { "input": [ "text", "image", - "video" + "audio" ], "output": [ "text" @@ -38778,38 +41026,37 @@ }, "limit": { "context": 131072, - "output": 32768 + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": true, - "release_date": "2025-09-24", - "last_updated": "2025-09-24", - "cost": { - "input": 0.3, - "output": 1.5 - }, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "type": "chat" }, { - "id": "qwen/qwen3-32b-fp8", - "name": "Qwen3 32B", - "display_name": "Qwen3 32B", + "id": "gemini-3-pro-image-preview", + "name": "Nano Banana Pro", + "display_name": "Nano Banana Pro", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 40960, - "output": 20000 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": false, @@ -38817,184 +41064,154 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "cost": { - "input": 0.1, - "output": 0.45 - }, - "type": "chat" - }, - { - "id": "qwen/qwen3-max", - "name": "Qwen3 Max", - "display_name": "Qwen3 Max", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 65536 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true - }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-09-24", - "last_updated": "2025-09-24", + "knowledge": "2025-01", + "release_date": "2025-11-20", + "last_updated": "2025-11-20", "cost": { - "input": 2.11, - "output": 8.45 + "input": 2, + "output": 120 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "qwen/qwen3-coder-next", - "name": "Qwen3 Coder Next", - "display_name": "Qwen3 Coder Next", + "id": "gemini-2.5-flash-image", + "name": "Gemini 2.5 Flash Image", + "display_name": "Gemini 2.5 Flash Image", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 32768, + "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2026-02-03", - "last_updated": "2026-02-03", + "open_weights": false, + "knowledge": "2025-06", + "release_date": "2025-08-26", + "last_updated": "2025-08-26", "cost": { - "input": 0.2, - "output": 1.5 + "input": 0.3, + "output": 30, + "cache_read": 0.075 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "qwen/qwen3-235b-a22b-thinking-2507", - "name": "Qwen3 235B A22b Thinking 2507", - "display_name": "Qwen3 235B A22b Thinking 2507", + "id": "gemini-2.5-flash-lite", + "name": "Gemini 2.5 Flash Lite", + "display_name": "Gemini 2.5 Flash Lite", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false, + "budget": { + "default": -1, + "min": 512, + "max": 24576 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "default": -1, + "min": 512, + "max": 24576, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "cost": { - "input": 0.3, - "output": 3 - }, - "type": "chat" - }, - { - "id": "qwen/qwen3-4b-fp8", - "name": "Qwen3 4B", - "display_name": "Qwen3 4B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 20000 - }, - "temperature": true, - "tool_call": false, - "reasoning": { + "search": { "supported": true, - "default": true + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-04-29", - "last_updated": "2025-04-29", + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 0.03, - "output": 0.03 + "input": 0.1, + "output": 0.4, + "cache_read": 0.01, + "input_audio": 0.3 }, "type": "chat" }, { - "id": "qwen/qwen3.7-max", - "name": "Qwen3.7-Max", - "display_name": "Qwen3.7-Max", + "id": "gemini-3.1-flash-image-preview", + "name": "Nano Banana 2", + "display_name": "Nano Banana 2", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 1000000, + "context": 65536, "output": 65536 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -39004,36 +41221,36 @@ "supported": true } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-05-21", - "last_updated": "2026-05-27", + "knowledge": "2025-01", + "release_date": "2026-02-26", + "last_updated": "2026-02-26", "cost": { - "input": 1.25, - "output": 3.75, - "cache_read": 0.125, - "cache_write": 1.5625 + "input": 0.5, + "output": 60 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "qwen/qwen3-omni-30b-a3b-thinking", - "name": "Qwen3 Omni 30B A3B Thinking", - "display_name": "Qwen3 Omni 30B A3B Thinking", + "id": "gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "display_name": "Gemini 3.1 Pro Preview", "modalities": { "input": [ "text", - "audio", + "image", "video", - "image" + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 65536, - "output": 16384 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -39044,106 +41261,167 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, "attachment": true, - "open_weights": true, - "release_date": "2025-09-24", - "last_updated": "2025-09-24", + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", "cost": { - "input": 0.25, - "output": 0.97, - "input_audio": 2.2, - "output_audio": 1.788 + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "qwen/qwen3-vl-8b-instruct", - "name": "qwen/qwen3-vl-8b-instruct", - "display_name": "qwen/qwen3-vl-8b-instruct", + "id": "gemma-4-26b-a4b-it", + "name": "Gemma 4 26B A4B IT", + "display_name": "Gemma 4 26B A4B IT", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, + "context": 262144, "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": true, - "release_date": "2025-10-17", - "last_updated": "2025-10-17", - "cost": { - "input": 0.08, - "output": 0.5 - }, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "type": "chat" }, { - "id": "qwen/qwen3-coder-480b-a35b-instruct", - "name": "Qwen3 Coder 480B A35B Instruct", - "display_name": "Qwen3 Coder 480B A35B Instruct", + "id": "gemini-3-pro-preview", + "name": "Gemini 3 Pro Preview", + "display_name": "Gemini 3 Pro Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, + "context": 1048576, "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", "cost": { - "input": 0.3, - "output": 1.3 + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "qwen/qwen3-next-80b-a3b-thinking", - "name": "Qwen3 Next 80B A3B Thinking", - "display_name": "Qwen3 Next 80B A3B Thinking", + "id": "gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "display_name": "Gemini 3 Flash Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -39154,44 +41432,53 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2025-09-10", - "last_updated": "2025-09-10", + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", "cost": { - "input": 0.15, - "output": 1.5 + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "input_audio": 1 }, "type": "chat" }, { - "id": "qwen/qwen3.5-35b-a3b", - "name": "Qwen3.5-35B-A3B", - "display_name": "Qwen3.5-35B-A3B", + "id": "gemini-2.5-pro-preview-tts", + "name": "Gemini 2.5 Pro Preview TTS", + "display_name": "Gemini 2.5 Pro Preview TTS", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ - "text" + "audio" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 8192, + "output": 16384 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -39199,261 +41486,303 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": true, - "open_weights": true, - "release_date": "2026-02-26", - "last_updated": "2026-02-26", + "attachment": false, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-05-01", + "last_updated": "2025-05-01", "cost": { - "input": 0.25, - "output": 2 + "input": 1, + "output": 20 }, "type": "chat" }, { - "id": "qwen/qwen2.5-7b-instruct", - "name": "Qwen2.5 7B Instruct", - "display_name": "Qwen2.5 7B Instruct", + "id": "gemini-flash-latest", + "name": "Gemini Flash Latest", + "display_name": "Gemini Flash Latest", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 32000, - "output": 32000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", "cost": { - "input": 0.07, - "output": 0.07 + "input": 0.3, + "output": 2.5, + "cache_read": 0.075, + "input_audio": 1 }, "type": "chat" }, { - "id": "qwen/qwen3-omni-30b-a3b-instruct", - "name": "Qwen3 Omni 30B A3B Instruct", - "display_name": "Qwen3 Omni 30B A3B Instruct", + "id": "gemini-3.1-flash-lite-preview", + "name": "Gemini 3.1 Flash Lite Preview", + "display_name": "Gemini 3.1 Flash Lite Preview", "modalities": { "input": [ "text", + "image", "video", "audio", - "image" + "pdf" ], "output": [ - "text", - "audio" + "text" ] }, "limit": { - "context": 65536, - "output": 16384 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": true, - "open_weights": true, - "knowledge": "2024-04", - "release_date": "2025-09-24", - "last_updated": "2025-09-24", + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", "cost": { "input": 0.25, - "output": 0.97, - "input_audio": 2.2, - "output_audio": 1.788 + "output": 1.5, + "cache_read": 0.025, + "input_audio": 0.5 }, "type": "chat" }, { - "id": "qwen/qwen3-235b-a22b-instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "display_name": "Qwen3 235B A22B Instruct 2507", + "id": "gemini-2.0-flash-lite", + "name": "Gemini 2.0 Flash Lite", + "display_name": "Gemini 2.0 Flash Lite", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 1048576, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-22", - "last_updated": "2025-07-22", + "search": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-06", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", "cost": { - "input": 0.09, - "output": 0.58 + "input": 0.075, + "output": 0.3 }, "type": "chat" }, { - "id": "qwen/qwen3.5-397b-a17b", - "name": "Qwen3.5-397B-A17B", - "display_name": "Qwen3.5-397B-A17B", + "id": "gemini-2.5-flash-preview-09-2025", + "name": "Gemini 2.5 Flash Preview 09 2025", + "display_name": "Gemini 2.5 Flash Preview 09 2025", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 64000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": true, + "budget": { + "default": -1, + "min": 0, + "max": 24576 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": true, - "open_weights": true, - "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "cost": { - "input": 0.6, - "output": 3.6 + "search": { + "supported": true, + "default": false }, + "attachment": true, "type": "chat" }, { - "id": "qwen/qwen3-30b-a3b-fp8", - "name": "Qwen3 30B A3B", - "display_name": "Qwen3 30B A3B", + "id": "gemini-2.5-flash-image-preview", + "name": "Gemini 2.5 Flash Image Preview", + "display_name": "Gemini 2.5 Flash Image Preview", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 40960, - "output": 20000 + "context": 32768, + "output": 32768 }, "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "cost": { - "input": 0.09, - "output": 0.45 - }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "qwen/qwen3.5-27b", - "name": "Qwen3.5-27B", - "display_name": "Qwen3.5-27B", + "id": "gemini-2.5-flash-lite-preview-09-2025", + "name": "Gemini 2.5 Flash Lite Preview 09 2025", + "display_name": "Gemini 2.5 Flash Lite Preview 09 2025", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, + "context": 1048576, "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false, + "budget": { + "default": -1, + "min": 512, + "max": 24576 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "default": -1, + "min": 512, + "max": 24576, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": true, - "open_weights": true, - "release_date": "2026-02-26", - "last_updated": "2026-02-26", - "cost": { - "input": 0.3, - "output": 2.4 + "search": { + "supported": true, + "default": false }, + "attachment": true, "type": "chat" }, { - "id": "qwen/qwen-mt-plus", - "name": "Qwen MT Plus", - "display_name": "Qwen MT Plus", + "id": "gemini-2.0-flash-preview-image-generation", + "name": "Gemini 2.0 Flash Preview Image Generation", + "display_name": "Gemini 2.0 Flash Preview Image Generation", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 16384, + "context": 32000, "output": 8192 }, "temperature": true, @@ -39461,36 +41790,39 @@ "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-09-03", - "last_updated": "2025-09-03", - "cost": { - "input": 0.25, - "output": 0.75 + "search": { + "supported": false }, + "attachment": true, "type": "chat" - }, + } + ] + }, + "opencode-go": { + "id": "opencode-go", + "name": "OpenCode Go", + "display_name": "OpenCode Go", + "api": "https://opencode.ai/zen/go/v1", + "doc": "https://opencode.ai/docs/zen", + "models": [ { - "id": "qwen/qwen3-vl-235b-a22b-thinking", - "name": "Qwen3 VL 235B A22B Thinking", - "display_name": "Qwen3 VL 235B A22B Thinking", + "id": "deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 1000000, + "output": 384000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -39506,20 +41838,22 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2025-09-24", - "last_updated": "2025-09-24", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.98, - "output": 3.95 + "input": 0.14, + "output": 0.28, + "cache_read": 0.0028 }, "type": "chat" }, { - "id": "qwen/qwen-2.5-72b-instruct", - "name": "Qwen 2.5 72B Instruct", - "display_name": "Qwen 2.5 72B Instruct", + "id": "minimax-m2.5", + "name": "MiniMax M2.5", + "display_name": "MiniMax M2.5", "modalities": { "input": [ "text" @@ -39529,40 +41863,49 @@ ] }, "limit": { - "context": 32000, - "output": 8192 + "context": 204800, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-10-15", - "last_updated": "2024-10-15", + "knowledge": "2025-01", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.38, - "output": 0.4 + "input": 0.3, + "output": 1.2, + "cache_read": 0.03 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "display_name": "Kimi K2 Thinking", + "id": "qwen3.7-plus", + "name": "Qwen3.7 Plus", + "display_name": "Qwen3.7 Plus", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -39572,29 +41915,43 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": false, - "open_weights": true, - "release_date": "2025-11-07", - "last_updated": "2025-11-07", + "attachment": true, + "open_weights": false, + "release_date": "2026-06-02", + "last_updated": "2026-06-02", "cost": { - "input": 0.6, - "output": 2.5 + "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 + } + } + ], + "context_over_200k": { + "input": 1.2, + "output": 4.8, + "cache_read": 0.12, + "cache_write": 1.5 + } }, "type": "chat" }, { - "id": "moonshotai/kimi-k2-instruct", - "name": "Kimi K2 Instruct", - "display_name": "Kimi K2 Instruct", + "id": "qwen3.7-max", + "name": "Qwen3.7 Max", + "display_name": "Qwen3.7 Max", "modalities": { "input": [ "text" @@ -39604,28 +41961,36 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": true, - "release_date": "2025-07-11", - "last_updated": "2025-07-11", + "open_weights": false, + "release_date": "2026-05-21", + "last_updated": "2026-05-21", "cost": { - "input": 0.57, - "output": 2.3 + "input": 2.5, + "output": 7.5, + "cache_read": 0.5, + "cache_write": 3.125 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "kimi-k2.7-code", + "name": "Kimi K2.7 Code", + "display_name": "Kimi K2.7 Code", "modalities": { "input": [ "text", @@ -39640,7 +42005,7 @@ "context": 262144, "output": 262144 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -39660,19 +42025,19 @@ "attachment": true, "open_weights": true, "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "release_date": "2026-06-12", + "last_updated": "2026-06-12", "cost": { "input": 0.95, "output": 4, - "cache_read": 0.16 + "cache_read": 0.19 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2-0905", - "name": "Kimi K2 0905", - "display_name": "Kimi K2 0905", + "id": "glm-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ "text" @@ -39682,42 +42047,53 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 202752, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", + "knowledge": "2025-04", + "release_date": "2026-04-07", + "last_updated": "2026-04-07", "cost": { - "input": 0.6, - "output": 2.5 + "input": 1.4, + "output": 4.4, + "cache_read": 0.26 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1000000, + "output": 384000 }, "temperature": true, "tool_call": true, @@ -39736,117 +42112,111 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.6, - "output": 3, - "cache_read": 0.1 + "input": 1.74, + "output": 3.48, + "cache_read": 0.0145 }, "type": "chat" }, { - "id": "meta-llama/llama-4-scout-17b-16e-instruct", - "name": "Llama 4 Scout Instruct", - "display_name": "Llama 4 Scout Instruct", + "id": "minimax-m3", + "name": "MiniMax M3 (3x usage)", + "display_name": "MiniMax M3 (3x usage)", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, + "context": 512000, "output": 131072 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, "open_weights": true, - "release_date": "2025-04-06", - "last_updated": "2025-04-06", + "knowledge": "2025-01", + "release_date": "2026-05-31", + "last_updated": "2026-05-31", "cost": { - "input": 0.18, - "output": 0.59 - }, - "type": "chat" - }, - { - "id": "meta-llama/llama-3.2-3b-instruct", - "name": "Llama 3.2 3B Instruct", - "display_name": "Llama 3.2 3B Instruct", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 32768, - "output": 32000 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2024-09-18", - "last_updated": "2024-09-18", - "cost": { - "input": 0.03, - "output": 0.05 + "input": 0.1, + "output": 0.4, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "meta-llama/llama-4-maverick-17b-128e-instruct-fp8", - "name": "Llama 4 Maverick Instruct", - "display_name": "Llama 4 Maverick Instruct", + "id": "qwen3.5-plus", + "name": "Qwen3.5 Plus", + "display_name": "Qwen3.5 Plus", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 8192 + "context": 262144, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, - "open_weights": true, - "release_date": "2025-04-06", - "last_updated": "2025-04-06", + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", "cost": { - "input": 0.27, - "output": 0.85 + "input": 0.2, + "output": 1.2, + "cache_read": 0.02, + "cache_write": 0.25 }, "type": "chat" }, { - "id": "meta-llama/llama-3-70b-instruct", - "name": "Llama3 70B Instruct", - "display_name": "Llama3 70B Instruct", + "id": "minimax-m2.7", + "name": "MiniMax M2.7", + "display_name": "MiniMax M2.7", "modalities": { "input": [ "text" @@ -39856,167 +42226,243 @@ ] }, "limit": { - "context": 8192, - "output": 8000 + "context": 204800, + "output": 131072 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2024-04-25", - "last_updated": "2024-04-25", + "knowledge": "2025-01", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.51, - "output": 0.74 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "meta-llama/llama-3-8b-instruct", - "name": "Llama 3 8B Instruct", - "display_name": "Llama 3 8B Instruct", + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 262144, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": true, - "release_date": "2024-04-25", - "last_updated": "2024-04-25", + "knowledge": "2024-10", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 0.04, - "output": 0.04 + "input": 0.6, + "output": 3, + "cache_read": 0.1 }, "type": "chat" }, { - "id": "meta-llama/llama-3.1-8b-instruct", - "name": "Llama 3.1 8B Instruct", - "display_name": "Llama 3.1 8B Instruct", + "id": "mimo-v2.5", + "name": "MiMo V2.5", + "display_name": "MiMo V2.5", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 1000000, + "output": 128000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": true, - "release_date": "2024-07-24", - "last_updated": "2024-07-24", + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 0.02, - "output": 0.05 + "input": 0.14, + "output": 0.28, + "cache_read": 0.0028 }, "type": "chat" }, { - "id": "meta-llama/llama-3.3-70b-instruct", - "name": "Llama 3.3 70B Instruct", - "display_name": "Llama 3.3 70B Instruct", + "id": "mimo-v2-omni", + "name": "MiMo V2 Omni", + "display_name": "MiMo V2 Omni", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 120000 + "context": 262144, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-12-07", - "last_updated": "2024-12-07", + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.135, - "output": 0.4 + "input": 0.4, + "output": 2, + "cache_read": 0.08 }, "type": "chat" }, { - "id": "baidu/ernie-4.5-vl-424b-a47b", - "name": "ERNIE 4.5 VL 424B A47B", - "display_name": "ERNIE 4.5 VL 424B A47B", + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 123000, - "output": 16000 + "context": 262144, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": true, "open_weights": true, - "release_date": "2025-06-30", - "last_updated": "2025-06-30", + "knowledge": "2024-10", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0.42, - "output": 1.25 + "input": 0.95, + "output": 4, + "cache_read": 0.16 }, "type": "chat" }, { - "id": "baidu/ernie-4.5-vl-28b-a3b", - "name": "ERNIE 4.5 VL 28B A3B", - "display_name": "ERNIE 4.5 VL 28B A3B", + "id": "mimo-v2-pro", + "name": "MiMo V2 Pro", + "display_name": "MiMo V2 Pro", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 30000, - "output": 8000 + "context": 1048576, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -40024,20 +42470,49 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": true, "open_weights": true, - "release_date": "2025-06-30", - "last_updated": "2025-06-30", + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 1.4, - "output": 5.6 + "input": 1, + "output": 3, + "cache_read": 0.2, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "baidu/ernie-4.5-300b-a47b-paddle", - "name": "ERNIE 4.5 300B A47B", - "display_name": "ERNIE 4.5 300B A47B", + "id": "mimo-v2.5-pro", + "name": "MiMo V2.5 Pro", + "display_name": "MiMo V2.5 Pro", "modalities": { "input": [ "text" @@ -40047,28 +42522,42 @@ ] }, "limit": { - "context": 123000, - "output": 12000 + "context": 1048576, + "output": 128000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": true, - "release_date": "2025-06-30", - "last_updated": "2025-06-30", + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 0.28, - "output": 1.1 + "input": 1.74, + "output": 3.48, + "cache_read": 0.0145 }, "type": "chat" }, { - "id": "baidu/ernie-4.5-21B-a3b", - "name": "ERNIE 4.5 21B A3B", - "display_name": "ERNIE 4.5 21B A3B", + "id": "glm-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ "text" @@ -40078,128 +42567,208 @@ ] }, "limit": { - "context": 120000, - "output": 8000 + "context": 202752, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "knowledge": "2025-03", - "release_date": "2025-06-30", - "last_updated": "2025-06-30", + "knowledge": "2025-04", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 0.07, - "output": 0.28 + "input": 1, + "output": 3.2, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "baidu/ernie-4.5-21B-a3b-thinking", - "name": "ERNIE-4.5-21B-A3B-Thinking", - "display_name": "ERNIE-4.5-21B-A3B-Thinking", + "id": "qwen3.6-plus", + "name": "Qwen3.6 Plus", + "display_name": "Qwen3.6 Plus", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, + "context": 1000000, "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-03", - "release_date": "2025-09-19", - "last_updated": "2025-09-19", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0.07, - "output": 0.28 + "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 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.2, + "cache_write": 2.5 + } }, "type": "chat" - }, + } + ] + }, + "digitalocean": { + "id": "digitalocean", + "name": "DigitalOcean", + "display_name": "DigitalOcean", + "api": "https://inference.do-ai.run/v1", + "doc": "https://docs.digitalocean.com/products/gradient-ai-platform/details/models/", + "models": [ { - "id": "baidu/ernie-4.5-vl-28b-a3b-thinking", - "name": "ERNIE-4.5-VL-28B-A3B-Thinking", - "display_name": "ERNIE-4.5-VL-28B-A3B-Thinking", + "id": "anthropic-claude-haiku-4.5", + "name": "Claude Haiku 4.5", + "display_name": "Claude Haiku 4.5", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 65536 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, "attachment": true, - "open_weights": true, - "release_date": "2025-11-26", - "last_updated": "2025-11-26", + "open_weights": false, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 0.39, - "output": 0.39 + "input": 1, + "output": 5, + "cache_read": 1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "minimaxai/minimax-m1-80k", - "name": "MiniMax M1", - "display_name": "MiniMax M1", + "id": "openai-gpt-image-1", + "name": "GPT Image 1", + "display_name": "GPT Image 1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 1000000, - "output": 40000 + "context": 8192, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-06-17", - "last_updated": "2025-06-17", + "attachment": true, + "open_weights": false, + "release_date": "2025-04-24", + "last_updated": "2025-04-24", "cost": { - "input": 0.55, - "output": 2.2 + "input": 5, + "output": 40, + "cache_read": 1.25 }, "type": "chat" }, { - "id": "gryphe/mythomax-l2-13b", - "name": "Mythomax L2 13B", - "display_name": "Mythomax L2 13B", + "id": "e5-large-v2", + "name": "E5 Large v2", + "display_name": "E5 Large v2", "modalities": { "input": [ "text" @@ -40209,28 +42778,28 @@ ] }, "limit": { - "context": 4096, - "output": 3200 + "context": 512, + "output": 1024 }, - "temperature": true, + "temperature": false, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2024-04-25", - "last_updated": "2024-04-25", + "release_date": "2023-05-19", + "last_updated": "2026-04-30", "cost": { - "input": 0.09, - "output": 0.09 + "input": 0.02, + "output": 0 }, "type": "chat" }, { - "id": "microsoft/wizardlm-2-8x22b", - "name": "Wizardlm 2 8x22B", - "display_name": "Wizardlm 2 8x22B", + "id": "bge-m3", + "name": "BGE M3", + "display_name": "BGE M3", "modalities": { "input": [ "text" @@ -40240,28 +42809,28 @@ ] }, "limit": { - "context": 65535, - "output": 8000 + "context": 8192, + "output": 1024 }, - "temperature": true, + "temperature": false, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2024-04-24", - "last_updated": "2024-04-24", + "release_date": "2024-01-30", + "last_updated": "2026-04-30", "cost": { - "input": 0.62, - "output": 0.62 + "input": 0.02, + "output": 0 }, - "type": "chat" + "type": "embedding" }, { - "id": "inclusionai/ling-2.6-flash", - "name": "Ling-2.6-flash", - "display_name": "Ling-2.6-flash", + "id": "mistral-3-14B", + "name": "Ministral 3 14B Instruct", + "display_name": "Ministral 3 14B Instruct", "modalities": { "input": [ "text" @@ -40272,7 +42841,7 @@ }, "limit": { "context": 262144, - "output": 32768 + "output": 128000 }, "temperature": true, "tool_call": true, @@ -40281,19 +42850,18 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "release_date": "2025-12-15", + "last_updated": "2026-04-30", "cost": { - "input": 0.1, - "output": 0.3, - "cache_read": 0.02 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "inclusionai/ling-2.6-1t", - "name": "Ling-2.6-1T", - "display_name": "Ling-2.6-1T", + "id": "nemotron-3-ultra-550b", + "name": "Nemotron 3 Ultra", + "display_name": "Nemotron 3 Ultra", "modalities": { "input": [ "text" @@ -40303,8 +42871,8 @@ ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -40312,19 +42880,15 @@ "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2026-04-23", - "last_updated": "2026-04-23", - "cost": { - "input": 0, - "output": 0 - }, + "open_weights": false, + "release_date": "2026-06-04", + "last_updated": "2026-06-12", "type": "chat" }, { - "id": "inclusionai/ring-2.6-1t", - "name": "Ring-2.6-1T", - "display_name": "Ring-2.6-1T", + "id": "minimax-m2.5", + "name": "MiniMax M2.5", + "display_name": "MiniMax M2.5", "modalities": { "input": [ "text" @@ -40334,8 +42898,8 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 204800, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -40343,21 +42907,26 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": false, - "open_weights": false, - "release_date": "2026-05-08", - "last_updated": "2026-05-27", + "open_weights": true, + "knowledge": "2025-08", + "release_date": "2026-02-12", + "last_updated": "2026-04-16", "cost": { "input": 0.3, - "output": 2.5, - "cache_read": 0.06 + "output": 1.2 }, "type": "chat" }, { - "id": "paddlepaddle/paddleocr-vl", - "name": "PaddleOCR-VL", - "display_name": "PaddleOCR-VL", + "id": "openai-gpt-5.4-nano", + "name": "GPT-5.4 nano", + "display_name": "GPT-5.4 nano", "modalities": { "input": [ "text", @@ -40368,28 +42937,31 @@ ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 400000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": true, - "release_date": "2025-10-22", - "last_updated": "2025-10-22", + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0.02, - "output": 0.02 + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "sao10K/l3-8b-lunaris", - "name": "Sao10k L3 8B Lunaris\t", - "display_name": "Sao10k L3 8B Lunaris\t", + "id": "deepseek-v3", + "name": "DeepSeek V3", + "display_name": "DeepSeek V3", "modalities": { "input": [ "text" @@ -40399,90 +42971,88 @@ ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 163840, + "output": 131072 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2024-11-28", - "last_updated": "2024-11-28", - "cost": { - "input": 0.05, - "output": 0.05 - }, + "knowledge": "2024-07", + "release_date": "2024-12-26", + "last_updated": "2025-03-24", "type": "chat" }, { - "id": "sao10K/L3-8B-stheno-v3.2", - "name": "L3 8B Stheno V3.2", - "display_name": "L3 8B Stheno V3.2", + "id": "openai-gpt-image-2", + "name": "GPT Image 2", + "display_name": "GPT Image 2", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "text" + "image" ] }, "limit": { "context": 8192, - "output": 32000 + "output": 8192 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2024-11-29", - "last_updated": "2024-11-29", - "cost": { - "input": 0.05, - "output": 0.05 - }, + "attachment": true, + "open_weights": false, + "release_date": "2025-04-24", + "last_updated": "2025-04-24", "type": "chat" }, { - "id": "sao10K/l3-70b-euryale-v2.1", - "name": "L3 70B Euryale V2.1\t", - "display_name": "L3 70B Euryale V2.1\t", + "id": "openai-gpt-5.2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-06-18", - "last_updated": "2024-06-18", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 1.48, - "output": 1.48 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "sao10K/l31-70b-euryale-v2.2", - "name": "L31 70B Euryale V2.2", - "display_name": "L31 70B Euryale V2.2", + "id": "deepseek-r1-distill-llama-70b", + "name": "DeepSeek R1 Distill Llama 70B", + "display_name": "DeepSeek R1 Distill Llama 70B", "modalities": { "input": [ "text" @@ -40492,61 +43062,65 @@ ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": true, - "release_date": "2024-09-19", - "last_updated": "2024-09-19", + "release_date": "2025-01-30", + "last_updated": "2025-01-30", "cost": { - "input": 1.48, - "output": 1.48 + "input": 0.99, + "output": 0.99 }, "type": "chat" }, { - "id": "google/gemma-4-31b-it", - "name": "Gemma 4 31B", - "display_name": "Gemma 4 31B", + "id": "qwen3-embedding-0.6b", + "name": "Qwen3 Embedding 0.6B", + "display_name": "Qwen3 Embedding 0.6B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 8000, + "output": 1024 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "release_date": "2025-06-03", + "last_updated": "2026-04-16", "cost": { - "input": 0.14, - "output": 0.4 + "input": 0.04, + "output": 0 }, - "type": "chat" + "type": "embedding" }, { - "id": "google/gemma-3-27b-it", - "name": "Gemma 3 27B", - "display_name": "Gemma 3 27B", + "id": "gemma-4-31B-it", + "name": "Gemma 4 31B", + "display_name": "Gemma 4 31B", "modalities": { "input": [ "text", @@ -40557,28 +43131,28 @@ ] }, "limit": { - "context": 98304, - "output": 16384 + "context": 256000, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, "open_weights": true, - "release_date": "2025-03-25", - "last_updated": "2025-03-25", + "release_date": "2026-04-22", + "last_updated": "2026-04-30", "cost": { - "input": 0.119, - "output": 0.2 + "input": 0.18, + "output": 0.5 }, "type": "chat" }, { - "id": "google/gemma-3-12b-it", - "name": "Gemma 3 12B", - "display_name": "Gemma 3 12B", + "id": "llama-4-maverick", + "name": "Llama 4 Maverick 17B 128E Instruct", + "display_name": "Llama 4 Maverick 17B 128E Instruct", "modalities": { "input": [ "text", @@ -40589,28 +43163,29 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1000000, + "output": 16384 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, "open_weights": true, - "release_date": "2025-03-13", - "last_updated": "2025-03-13", + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2026-04-30", "cost": { - "input": 0.05, - "output": 0.1 + "input": 0.25, + "output": 0.87 }, "type": "chat" }, { - "id": "google/gemma-4-26b-a4b-it", - "name": "Gemma 4 26B A4B", - "display_name": "Gemma 4 26B A4B", + "id": "anthropic-claude-3.7-sonnet", + "name": "Claude 3.7 Sonnet", + "display_name": "Claude 3.7 Sonnet", "modalities": { "input": [ "text", @@ -40621,105 +43196,150 @@ ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": false, + "summaries": false, + "visibility": "full", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic uses thinking budget tokens" + ] + } }, "attachment": true, - "open_weights": true, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "open_weights": false, + "knowledge": "2024-11", + "release_date": "2025-02-24", + "last_updated": "2025-02-24", "cost": { - "input": 0.13, - "output": 0.4 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "openai/gpt-oss-120b", - "name": "OpenAI GPT OSS 120B", - "display_name": "OpenAI GPT OSS 120B", + "id": "openai-gpt-4o-mini", + "name": "GPT-4o mini", + "display_name": "GPT-4o mini", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": true, - "open_weights": true, - "release_date": "2025-08-06", - "last_updated": "2025-08-06", + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", "cost": { - "input": 0.05, - "output": 0.25 + "input": 0.15, + "output": 0.6, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "openai/gpt-oss-20b", - "name": "OpenAI: GPT OSS 20B", - "display_name": "OpenAI: GPT OSS 20B", + "id": "anthropic-claude-opus-4.7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 1000000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] } }, "attachment": true, - "open_weights": true, - "release_date": "2025-08-06", - "last_updated": "2025-08-06", + "open_weights": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 0.04, - "output": 0.15 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "baichuan/baichuan-m2-32b", - "name": "baichuan-m2-32b", - "display_name": "baichuan-m2-32b", + "id": "deepseek-4-flash", + "name": "Deepseek V4 Flash", + "display_name": "Deepseek V4 Flash", "modalities": { "input": [ "text" @@ -40729,40 +43349,36 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 262144, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-08-13", - "last_updated": "2025-08-13", - "cost": { - "input": 0.07, - "output": 0.07 - }, + "open_weights": false, + "release_date": "2026-05-27", + "last_updated": "2026-05-29", "type": "chat" }, { - "id": "minimax/minimax-m2.7-highspeed", - "name": "MiniMax-M2.7-highspeed", - "display_name": "MiniMax-M2.7-highspeed", + "id": "anthropic-claude-4.5-haiku", + "name": "Claude Haiku 4.5", + "display_name": "Claude Haiku 4.5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -40770,175 +43386,195 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-05-27", + "attachment": true, + "open_weights": false, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 0.6, - "output": 2.4, - "cache_read": 0.06, - "cache_write": 0.375 + "input": 1, + "output": 5, + "cache_read": 1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "minimax/minimax-m2.1", - "name": "Minimax M2.1", - "display_name": "Minimax M2.1", + "id": "anthropic-claude-4.6-sonnet", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.03 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75, + "tiers": [ + { + "input": 6, + "output": 22.5, + "cache_read": 0.3, + "cache_write": 3.75, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.3, + "cache_write": 3.75 + } }, "type": "chat" }, { - "id": "minimax/minimax-m2.7", - "name": "MiniMax M2.7", - "display_name": "MiniMax M2.7", + "id": "anthropic-claude-sonnet-4", + "name": "Claude Sonnet 4", + "display_name": "Claude Sonnet 4", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75, + "tiers": [ + { + "input": 6, + "output": 22.5, + "cache_read": 0.3, + "cache_write": 3.75, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.3, + "cache_write": 3.75 + } }, "type": "chat" }, { - "id": "minimax/minimax-m2", - "name": "MiniMax-M2", - "display_name": "MiniMax-M2", + "id": "ministral-3-8b-instruct-2512", + "name": "Ministral 3 8B", + "display_name": "Ministral 3 8B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2025-10-27", - "last_updated": "2025-10-27", - "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.03 - }, + "release_date": "2025-12-15", + "last_updated": "2025-12-15", "type": "chat" }, { - "id": "minimax/minimax-m2.5", - "name": "MiniMax M2.5", - "display_name": "MiniMax M2.5", + "id": "anthropic-claude-4.5-sonnet", + "name": "Claude Sonnet 4.5", + "display_name": "Claude Sonnet 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131100 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -40946,155 +43582,124 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.03 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75, + "tiers": [ + { + "input": 6, + "output": 22.5, + "cache_read": 0.3, + "cache_write": 3.75, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.3, + "cache_write": 3.75 + } }, "type": "chat" }, { - "id": "minimax/minimax-m2.5-highspeed", - "name": "MiniMax M2.5 Highspeed", - "display_name": "MiniMax M2.5 Highspeed", + "id": "anthropic-claude-opus-4.6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131100 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "cost": { - "input": 0.6, - "output": 2.4, - "cache_read": 0.03 - }, - "type": "chat" - } - ] - }, - "kilo": { - "id": "kilo", - "name": "Kilo Gateway", - "display_name": "Kilo Gateway", - "api": "https://api.kilo.ai/api/gateway", - "doc": "https://kilo.ai", - "models": [ - { - "id": "kwaipilot/kat-coder-pro-v2", - "name": "Kwaipilot: KAT-Coder-Pro V2", - "display_name": "Kwaipilot: KAT-Coder-Pro V2", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 256000, - "output": 80000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-04-11", + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06 - }, - "type": "chat" - }, - { - "id": "z-ai/glm-4.6", - "name": "Z.ai: GLM 4.6", - "display_name": "Z.ai: GLM 4.6", - "modalities": { - "input": [ - "text" + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25, + "tiers": [ + { + "input": 10, + "output": 37.5, + "cache_read": 0.5, + "cache_write": 6.25, + "tier": { + "type": "context", + "size": 200000 + } + } ], - "output": [ - "text" - ] - }, - "limit": { - "context": 204800, - "output": 204800 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true + "context_over_200k": { + "input": 10, + "output": 37.5, + "cache_read": 0.5, + "cache_write": 6.25 } }, - "attachment": false, - "open_weights": true, - "release_date": "2025-09-30", - "last_updated": "2026-03-15", - "cost": { - "input": 0.39, - "output": 1.9, - "cache_read": 0.175 - }, "type": "chat" }, { - "id": "z-ai/glm-4.7", - "name": "Z.ai: GLM 4.7", - "display_name": "Z.ai: GLM 4.7", + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ "text" @@ -41104,8 +43709,8 @@ ] }, "limit": { - "context": 202752, - "output": 65535 + "context": 1048576, + "output": 393216 }, "temperature": true, "tool_call": true, @@ -41126,19 +43731,19 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-12-22", - "last_updated": "2026-03-15", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.38, - "output": 1.98, - "cache_read": 0.2 + "input": 1.74, + "output": 3.48 }, "type": "chat" }, { - "id": "z-ai/glm-4-32b", - "name": "Z.ai: GLM 4 32B ", - "display_name": "Z.ai: GLM 4 32B ", + "id": "openai-gpt-oss-20b", + "name": "gpt-oss-20b", + "display_name": "gpt-oss-20b", "modalities": { "input": [ "text" @@ -41148,147 +43753,196 @@ ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "release_date": "2025-07-25", - "last_updated": "2026-03-15", + "knowledge": "2024-06", + "release_date": "2025-08-05", + "last_updated": "2026-04-16", "cost": { - "input": 0.1, - "output": 0.1 + "input": 0.05, + "output": 0.45 }, "type": "chat" }, { - "id": "z-ai/glm-4.5v", - "name": "Z.ai: GLM 4.5V", - "display_name": "Z.ai: GLM 4.5V", + "id": "qwen-2.5-14b-instruct", + "name": "Qwen 2.5 14B Instruct", + "display_name": "Qwen 2.5 14B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 65536, - "output": 16384 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2025-08-11", - "last_updated": "2025-08-11", - "cost": { - "input": 0.6, - "output": 1.8, - "cache_read": 0.11 - }, + "knowledge": "2024-09", + "release_date": "2024-09-19", + "last_updated": "2024-09-19", "type": "chat" }, { - "id": "z-ai/glm-4.6v", - "name": "Z.ai: GLM 4.6V", - "display_name": "Z.ai: GLM 4.6V", + "id": "anthropic-claude-opus-4.8", + "name": "Claude Opus 4.8", + "display_name": "Claude Opus 4.8", "modalities": { "input": [ - "image", "text", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] + } }, "attachment": true, - "open_weights": true, - "release_date": "2025-09-30", - "last_updated": "2026-01-10", + "open_weights": false, + "release_date": "2026-05-28", + "last_updated": "2026-05-29", "cost": { - "input": 0.3, - "output": 0.9 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "z-ai/glm-4.7-flash", - "name": "Z.ai: GLM 4.7 Flash", - "display_name": "Z.ai: GLM 4.7 Flash", + "id": "anthropic-claude-opus-4.5", + "name": "Claude Opus 4.5", + "display_name": "Claude Opus 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 202752, - "output": 40551 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-01-19", - "last_updated": "2026-01-19", + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", "cost": { - "input": 0.06, - "output": 0.4, - "cache_read": 0.01 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "z-ai/glm-5v-turbo", - "name": "Z.ai: GLM 5V Turbo", - "display_name": "Z.ai: GLM 5V Turbo", + "id": "anthropic-claude-4.1-opus", + "name": "Claude Opus 4.1", + "display_name": "Claude Opus 4.1", "modalities": { "input": [ - "image", "text", - "video" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 202752, - "output": 131072 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, @@ -41297,20 +43951,22 @@ "default": true }, "attachment": true, - "open_weights": true, - "release_date": "2026-04-01", - "last_updated": "2026-04-11", + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 1.2, - "output": 4, - "cache_read": 0.24 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "z-ai/glm-5", - "name": "Z.ai: GLM 5", - "display_name": "Z.ai: GLM 5", + "id": "llama3-8b-instruct", + "name": "Llama 3.1 Instruct (8B)", + "display_name": "Llama 3.1 Instruct (8B)", "modalities": { "input": [ "text" @@ -41320,111 +43976,94 @@ ] }, "limit": { - "context": 202752, + "context": 131072, "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-03-15", + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 0.72, - "output": 2.3 + "input": 0.198, + "output": 0.198 }, "type": "chat" }, { - "id": "z-ai/glm-5-turbo", - "name": "Z.ai: GLM 5 Turbo", - "display_name": "Z.ai: GLM 5 Turbo", + "id": "stable-diffusion-3.5-large", + "name": "Stable Diffusion 3.5 Large", + "display_name": "Stable Diffusion 3.5 Large", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 202752, - "output": 131072 + "context": 256, + "output": 1 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2026-03-15", - "last_updated": "2026-04-11", + "release_date": "2024-10-22", + "last_updated": "2026-04-30", "cost": { - "input": 1.2, - "output": 4, - "cache_read": 0.24 + "input": 0.08, + "output": 0 }, "type": "chat" }, { - "id": "z-ai/glm-4.5", - "name": "Z.ai: GLM 4.5", - "display_name": "Z.ai: GLM 4.5", + "id": "openai-gpt-5.4-pro", + "name": "GPT-5.4 pro", + "display_name": "GPT-5.4 pro", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 98304 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-07-28", - "last_updated": "2026-03-15", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.175 + "input": 30, + "output": 180 }, "type": "chat" }, { - "id": "z-ai/glm-4.5-air", - "name": "Z.ai: GLM 4.5 Air", - "display_name": "Z.ai: GLM 4.5 Air", + "id": "all-mini-lm-l6-v2", + "name": "All-MiniLM-L6-v2", + "display_name": "All-MiniLM-L6-v2", "modalities": { "input": [ "text" @@ -41434,70 +44073,66 @@ ] }, "limit": { - "context": 131072, - "output": 98304 + "context": 256, + "output": 384 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "release_date": "2021-08-30", + "last_updated": "2026-04-16", "cost": { - "input": 0.13, - "output": 0.85, - "cache_read": 0.025 + "input": 0.009, + "output": 0 }, "type": "chat" }, { - "id": "z-ai/glm-5.1", - "name": "Z.ai: GLM 5.1", - "display_name": "Z.ai: GLM 5.1", + "id": "openai-gpt-image-1.5", + "name": "GPT Image 1.5", + "display_name": "GPT Image 1.5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 202752, - "output": 131072 + "context": 8192, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "attachment": true, + "open_weights": false, + "release_date": "2025-11-25", + "last_updated": "2025-11-25", "cost": { - "input": 1.26, - "output": 3.96 + "input": 5, + "output": 10, + "cache_read": 1 }, "type": "chat" }, { - "id": "upstage/solar-pro-3", - "name": "Upstage: Solar Pro 3", - "display_name": "Upstage: Solar Pro 3", + "id": "openai-gpt-4o", + "name": "GPT-4o", + "display_name": "GPT-4o", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" @@ -41505,60 +44140,87 @@ }, "limit": { "context": 128000, - "output": 32768 + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-01-27", - "last_updated": "2026-03-15", + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-08-06", "cost": { - "input": 0.15, - "output": 0.6 + "input": 2.5, + "output": 10, + "cache_read": 1.25 }, "type": "chat" }, { - "id": "prime-intellect/intellect-3", - "name": "Prime Intellect: INTELLECT-3", - "display_name": "Prime Intellect: INTELLECT-3", + "id": "anthropic-claude-opus-4", + "name": "Claude Opus 4", + "display_name": "Claude Opus 4", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-11-26", - "last_updated": "2026-02-04", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0.2, - "output": 1.1 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "alfredpros/codellama-7b-instruct-solidity", - "name": "AlfredPros: CodeLLaMa 7B Instruct Solidity", - "display_name": "AlfredPros: CodeLLaMa 7B Instruct Solidity", + "id": "bge-reranker-v2-m3", + "name": "BGE Reranker v2 M3", + "display_name": "BGE Reranker v2 M3", "modalities": { "input": [ "text" @@ -41568,61 +44230,63 @@ ] }, "limit": { - "context": 4096, - "output": 4096 + "context": 8192, + "output": 1 }, - "temperature": true, + "temperature": false, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-04-14", - "last_updated": "2026-03-15", + "release_date": "2024-03-12", + "last_updated": "2026-04-30", "cost": { - "input": 0.8, - "output": 1.2 + "input": 0.01, + "output": 0 }, - "type": "chat" + "type": "rerank" }, { - "id": "rekaai/reka-edge", - "name": "Reka Edge", - "display_name": "Reka Edge", + "id": "openai-gpt-5", + "name": "GPT-5", + "display_name": "GPT-5", "modalities": { "input": [ - "image", "text", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": true, - "release_date": "2026-03-20", - "last_updated": "2026-04-11", + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.1, - "output": 0.1 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "rekaai/reka-flash-3", - "name": "Reka Flash 3", - "display_name": "Reka Flash 3", + "id": "openai-o3-mini", + "name": "o3-mini", + "display_name": "o3-mini", "modalities": { "input": [ "text" @@ -41632,29 +44296,31 @@ ] }, "limit": { - "context": 65536, - "output": 65536 + "context": 200000, + "output": 100000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": false, - "open_weights": true, - "release_date": "2025-03-12", - "last_updated": "2026-04-11", + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2024-12-20", + "last_updated": "2025-01-29", "cost": { - "input": 0.1, - "output": 0.2 + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 }, "type": "chat" }, { - "id": "nousresearch/hermes-4-70b", - "name": "Nous: Hermes 4 70B", - "display_name": "Nous: Hermes 4 70B", + "id": "multi-qa-mpnet-base-dot-v1", + "name": "Multi-QA-mpnet-base-dot-v1", + "display_name": "Multi-QA-mpnet-base-dot-v1", "modalities": { "input": [ "text" @@ -41664,30 +44330,28 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 512, + "output": 768 }, - "temperature": true, + "temperature": false, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-08-25", - "last_updated": "2026-03-15", + "release_date": "2021-08-30", + "last_updated": "2026-04-16", "cost": { - "input": 0.13, - "output": 0.4, - "cache_read": 0.055 + "input": 0.009, + "output": 0 }, "type": "chat" }, { - "id": "nousresearch/hermes-3-llama-3.1-405b", - "name": "Nous: Hermes 3 405B Instruct", - "display_name": "Nous: Hermes 3 405B Instruct", + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ "text" @@ -41697,28 +44361,41 @@ ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 262144, + "output": 32768 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2024-08-16", - "last_updated": "2024-08-16", + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-04-16", "cost": { - "input": 1, - "output": 1 + "input": 0.5, + "output": 2.7 }, "type": "chat" }, { - "id": "nousresearch/hermes-3-llama-3.1-70b", - "name": "Nous: Hermes 3 70B Instruct", - "display_name": "Nous: Hermes 3 70B Instruct", + "id": "llama3.3-70b-instruct", + "name": "Llama 3.3 Instruct 70B", + "display_name": "Llama 3.3 Instruct 70B", "modalities": { "input": [ "text" @@ -41728,28 +44405,29 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 128000, + "output": 128000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2024-08-18", - "last_updated": "2026-03-15", + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 0.3, - "output": 0.3 + "input": 0.65, + "output": 0.65 }, "type": "chat" }, { - "id": "nousresearch/hermes-2-pro-llama-3-8b", - "name": "NousResearch: Hermes 2 Pro - Llama-3 8B", - "display_name": "NousResearch: Hermes 2 Pro - Llama-3 8B", + "id": "gte-large-en-v1.5", + "name": "GTE Large (v1.5)", + "display_name": "GTE Large (v1.5)", "modalities": { "input": [ "text" @@ -41760,90 +44438,114 @@ }, "limit": { "context": 8192, - "output": 8192 + "output": 1024 }, - "temperature": true, + "temperature": false, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2024-05-27", - "last_updated": "2024-06-27", + "release_date": "2024-03-27", + "last_updated": "2026-04-16", "cost": { - "input": 0.14, - "output": 0.14 + "input": 0.09, + "output": 0 }, "type": "chat" }, { - "id": "nousresearch/hermes-4-405b", - "name": "Nous: Hermes 4 405B", - "display_name": "Nous: Hermes 4 405B", + "id": "openai-gpt-5.4-mini", + "name": "GPT-5.4 mini", + "display_name": "GPT-5.4 mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 26215 + "context": 400000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-25", - "last_updated": "2025-08-25", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 1, - "output": 3 + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "mistralai/devstral-medium", - "name": "Mistral: Devstral Medium", - "display_name": "Mistral: Devstral Medium", + "id": "openai-gpt-5.5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 26215 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-07-10", - "last_updated": "2025-07-10", + "attachment": true, + "open_weights": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-30", "cost": { - "input": 0.4, - "output": 2 + "input": 5, + "output": 30, + "cache_read": 0.5, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + } }, "type": "chat" }, { - "id": "mistralai/mistral-small-24b-instruct-2501", - "name": "Mistral: Mistral Small 3", - "display_name": "Mistral: Mistral Small 3", + "id": "nemotron-3-nano-30b", + "name": "Nemotron 3 Nano 30B A3B", + "display_name": "Nemotron 3 Nano 30B A3B", "modalities": { "input": [ "text" @@ -41853,28 +44555,25 @@ ] }, "limit": { - "context": 32768, - "output": 16384 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "cost": { - "input": 0.05, - "output": 0.08 - }, + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "type": "chat" }, { - "id": "mistralai/mistral-large-2411", - "name": "Mistral Large 2411", - "display_name": "Mistral Large 2411", + "id": "openai-gpt-oss-120b", + "name": "gpt-oss-120b", + "display_name": "gpt-oss-120b", "modalities": { "input": [ "text" @@ -41885,156 +44584,162 @@ }, "limit": { "context": 131072, - "output": 26215 + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2024-07-24", - "last_updated": "2024-11-04", + "knowledge": "2024-06", + "release_date": "2025-08-05", + "last_updated": "2026-04-16", "cost": { - "input": 2, - "output": 6 + "input": 0.1, + "output": 0.7 }, "type": "chat" }, { - "id": "mistralai/mistral-7b-instruct-v0.1", - "name": "Mistral: Mistral 7B Instruct v0.1", - "display_name": "Mistral: Mistral 7B Instruct v0.1", + "id": "openai-gpt-5-nano", + "name": "GPT-5 nano", + "display_name": "GPT-5 nano", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 2824, - "output": 565 + "context": 400000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.11, - "output": 0.19 + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 }, "type": "chat" }, { - "id": "mistralai/mistral-medium-3.1", - "name": "Mistral: Mistral Medium 3.1", - "display_name": "Mistral: Mistral Medium 3.1", + "id": "wan2-2-t2v-a14b", + "name": "Wan2.2-T2V-A14B", + "display_name": "Wan2.2-T2V-A14B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 131072, - "output": 26215 + "context": 100, + "output": 1 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2025-08-12", - "last_updated": "2025-08-12", + "attachment": false, + "open_weights": true, + "release_date": "2025-07-28", + "last_updated": "2026-04-30", "cost": { - "input": 0.4, - "output": 2 + "input": 0.6, + "output": 0 }, "type": "chat" }, { - "id": "mistralai/ministral-14b-2512", - "name": "Mistral: Ministral 3 14B 2512", - "display_name": "Mistral: Ministral 3 14B 2512", + "id": "mistral-7b-instruct-v0.3", + "name": "Mistral 7B Instruct v0.3", + "display_name": "Mistral 7B Instruct v0.3", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 52429 + "context": 32768, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2025-12-16", - "last_updated": "2025-12-16", - "cost": { - "input": 0.2, - "output": 0.2 - }, + "attachment": false, + "open_weights": true, + "release_date": "2024-05-22", + "last_updated": "2024-05-22", "type": "chat" }, { - "id": "mistralai/mistral-large-2407", - "name": "Mistral Large 2407", - "display_name": "Mistral Large 2407", + "id": "qwen3-tts-voicedesign", + "name": "Qwen3 TTS VoiceDesign", + "display_name": "Qwen3 TTS VoiceDesign", "modalities": { "input": [ "text" ], "output": [ - "text" + "audio" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 32768, + "output": 1 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2024-11-19", - "last_updated": "2026-03-15", - "cost": { - "input": 2, - "output": 6 - }, + "release_date": "2026-04-21", + "last_updated": "2026-04-30", "type": "chat" }, { - "id": "mistralai/mistral-small-2603", - "name": "Mistral: Mistral Small 4", - "display_name": "Mistral: Mistral Small 4", + "id": "mistral-nemo-instruct-2407", + "name": "Mistral Nemo Instruct", + "display_name": "Mistral Nemo Instruct", "modalities": { "input": [ - "image", "text" ], "output": [ @@ -42042,34 +44747,32 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-03-16", - "last_updated": "2026-04-11", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.015 + "input": 0.3, + "output": 0.3 }, "type": "chat" }, { - "id": "mistralai/ministral-8b-2512", - "name": "Mistral: Ministral 3 8B 2512", - "display_name": "Mistral: Ministral 3 8B 2512", + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ - "image", - "text" + "text", + "image" ], "output": [ "text" @@ -42077,27 +44780,40 @@ }, "limit": { "context": 262144, - "output": 32768 + "output": 262144 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, "open_weights": true, - "release_date": "2025-12-02", - "last_updated": "2026-03-15", + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0.15, - "output": 0.15 + "input": 0.95, + "output": 4 }, "type": "chat" }, { - "id": "mistralai/mistral-large", - "name": "Mistral Large", - "display_name": "Mistral Large", + "id": "deepseek-3.2", + "name": "DeepSeek V3.2", + "display_name": "DeepSeek V3.2", "modalities": { "input": [ "text" @@ -42108,60 +44824,76 @@ }, "limit": { "context": 128000, - "output": 25600 + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2024-07-24", - "last_updated": "2025-12-02", + "knowledge": "2024-12", + "release_date": "2025-12-02", + "last_updated": "2026-04-30", "cost": { - "input": 2, - "output": 6 + "input": 0.5, + "output": 1.6 }, "type": "chat" }, { - "id": "mistralai/mistral-small-3.1-24b-instruct", - "name": "Mistral: Mistral Small 3.1 24B", - "display_name": "Mistral: Mistral Small 3.1 24B", + "id": "openai-o1", + "name": "o1", + "display_name": "o1", "modalities": { "input": [ + "text", "image", - "text" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 131072 + "context": 200000, + "output": 100000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": true, - "release_date": "2025-03-17", - "last_updated": "2026-03-15", + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2024-12-05", + "last_updated": "2024-12-05", "cost": { - "input": 0.35, - "output": 0.56, - "cache_read": 0.015 + "input": 15, + "output": 60, + "cache_read": 7.5 }, "type": "chat" }, { - "id": "mistralai/mistral-nemo", - "name": "Mistral: Mistral Nemo", - "display_name": "Mistral: Mistral Nemo", + "id": "qwen3.5-397b-a17b", + "name": "Qwen 3.5 397B A17B", + "display_name": "Qwen 3.5 397B A17B", "modalities": { "input": [ "text" @@ -42171,32 +44903,43 @@ ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 262144, + "output": 81920 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2024-07-01", - "last_updated": "2024-07-30", + "release_date": "2026-02-15", + "last_updated": "2026-04-30", "cost": { - "input": 0.02, - "output": 0.04 + "input": 0.55, + "output": 3.5 }, "type": "chat" }, { - "id": "mistralai/mistral-large-2512", - "name": "Mistral: Mistral Large 3 2512", - "display_name": "Mistral: Mistral Large 3 2512", + "id": "qwen3-coder-flash", + "name": "Qwen3 Coder Flash", + "display_name": "Qwen3 Coder Flash", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -42204,102 +44947,77 @@ }, "limit": { "context": 262144, - "output": 52429 + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2024-11-01", - "last_updated": "2025-12-16", + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2026-04-30", "cost": { - "input": 0.5, - "output": 1.5 + "input": 0.45, + "output": 1.7 }, "type": "chat" }, { - "id": "mistralai/ministral-3b-2512", - "name": "Mistral: Ministral 3 3B 2512", - "display_name": "Mistral: Ministral 3 3B 2512", + "id": "openai-gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "display_name": "GPT-5.3 Codex", "modalities": { "input": [ + "text", "image", - "text" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": true, - "release_date": "2025-12-02", - "last_updated": "2026-03-15", - "cost": { - "input": 0.1, - "output": 0.1 - }, - "type": "chat" - }, - { - "id": "mistralai/mistral-saba", - "name": "Mistral: Saba", - "display_name": "Mistral: Saba", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 32768, - "output": 32768 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-02-17", - "last_updated": "2026-03-15", + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 0.2, - "output": 0.6 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "mistralai/mistral-medium-3", - "name": "Mistral: Mistral Medium 3", - "display_name": "Mistral: Mistral Medium 3", + "id": "openai-gpt-4.1", + "name": "GPT-4.1", + "display_name": "GPT-4.1", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 26215 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -42308,30 +45026,31 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-05-07", - "last_updated": "2025-05-07", + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.4, - "output": 2 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "mistralai/voxtral-small-24b-2507", - "name": "Mistral: Voxtral Small 24B 2507", - "display_name": "Mistral: Voxtral Small 24B 2507", + "id": "anthropic-claude-3.5-haiku", + "name": "Claude 3.5 Haiku", + "display_name": "Claude 3.5 Haiku", "modalities": { "input": [ - "text", - "audio" + "text" ], "output": [ "text" ] }, "limit": { - "context": 32000, - "output": 6400 + "context": 200000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -42339,33 +45058,37 @@ "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-07-01", - "last_updated": "2025-07-01", + "open_weights": false, + "knowledge": "2024-07", + "release_date": "2024-11-05", + "last_updated": "2024-11-05", "cost": { - "input": 0.1, - "output": 0.3 + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 }, "type": "chat" }, { - "id": "mistralai/mistral-medium-3-5", - "name": "Mistral: Mistral Medium 3.5", - "display_name": "Mistral: Mistral Medium 3.5", + "id": "openai-gpt-5.4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ + "text", "image", - "text" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -42373,18 +45096,20 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-05-07", + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 1.5, - "output": 7.5 + "input": 2.5, + "output": 15, + "cache_read": 0.25 }, "type": "chat" }, { - "id": "mistralai/mixtral-8x22b-instruct", - "name": "Mistral: Mixtral 8x22B Instruct", - "display_name": "Mistral: Mixtral 8x22B Instruct", + "id": "arcee-trinity-large-thinking", + "name": "Trinity Large Thinking", + "display_name": "Trinity Large Thinking", "modalities": { "input": [ "text" @@ -42394,124 +45119,136 @@ ] }, "limit": { - "context": 65536, - "output": 13108 + "context": 256000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "release_date": "2024-04-17", - "last_updated": "2024-04-17", + "release_date": "2026-04-02", + "last_updated": "2026-04-16", "cost": { - "input": 2, - "output": 6 + "input": 0.25, + "output": 0.9, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "mistralai/devstral-small", - "name": "Mistral: Devstral Small 1.1", - "display_name": "Mistral: Devstral Small 1.1", + "id": "openai-o3", + "name": "o3", + "display_name": "o3", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 26215 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-05-07", - "last_updated": "2025-07-10", + "attachment": true, + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", "cost": { - "input": 0.1, - "output": 0.3 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "mistralai/devstral-2512", - "name": "Mistral: Devstral 2 2512", - "display_name": "Mistral: Devstral 2 2512", + "id": "anthropic-claude-3.5-sonnet", + "name": "Claude 3.5 Sonnet", + "display_name": "Claude 3.5 Sonnet", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 200000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-09-12", - "last_updated": "2026-03-15", + "attachment": true, + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2024-06-20", + "last_updated": "2024-10-22", "cost": { - "input": 0.4, - "output": 2, - "cache_read": 0.025 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "mistralai/mistral-small-3.2-24b-instruct", - "name": "Mistral: Mistral Small 3.2 24B", - "display_name": "Mistral: Mistral Small 3.2 24B", + "id": "openai-gpt-5-mini", + "name": "GPT-5 mini", + "display_name": "GPT-5 mini", "modalities": { "input": [ - "image", - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": true, - "release_date": "2025-06-20", - "last_updated": "2025-06-20", + "open_weights": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.06, - "output": 0.18, - "cache_read": 0.03 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "mistralai/codestral-2508", - "name": "Mistral: Codestral 2508", - "display_name": "Mistral: Codestral 2508", + "id": "nvidia-nemotron-3-super-120b", + "name": "Nemotron-3-Super-120B", + "display_name": "Nemotron-3-Super-120B", "modalities": { "input": [ "text" @@ -42522,30 +45259,31 @@ }, "limit": { "context": 256000, - "output": 51200 + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "release_date": "2025-08-01", - "last_updated": "2025-08-01", + "knowledge": "2026-02", + "release_date": "2026-03-11", + "last_updated": "2026-04-16", "cost": { "input": 0.3, - "output": 0.9 + "output": 0.65 }, "type": "chat" }, { - "id": "mistralai/pixtral-large-2411", - "name": "Mistral: Pixtral Large 2411", - "display_name": "Mistral: Pixtral Large 2411", + "id": "glm-5", + "name": "GLM 5", + "display_name": "GLM 5", "modalities": { "input": [ - "image", "text" ], "output": [ @@ -42553,152 +45291,198 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 202752, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": true, - "release_date": "2024-11-19", - "last_updated": "2026-03-15", + "release_date": "2026-02-11", + "last_updated": "2026-04-16", "cost": { - "input": 2, - "output": 6 + "input": 1, + "output": 3.2 }, "type": "chat" }, { - "id": "sao10k/l3.1-euryale-70b", - "name": "Sao10K: Llama 3.1 Euryale 70B v2.2", - "display_name": "Sao10K: Llama 3.1 Euryale 70B v2.2", + "id": "openai-gpt-5.2-pro", + "name": "GPT-5.2 pro", + "display_name": "GPT-5.2 pro", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-08-28", - "last_updated": "2026-03-15", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.85, - "output": 0.85 + "input": 21, + "output": 168 }, "type": "chat" }, { - "id": "sao10k/l3-lunaris-8b", - "name": "Sao10K: Llama 3 8B Lunaris", - "display_name": "Sao10K: Llama 3 8B Lunaris", + "id": "anthropic-claude-3-opus", + "name": "Claude 3 Opus", + "display_name": "Claude 3 Opus", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 200000, + "output": 4096 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2024-08-13", - "last_updated": "2026-03-15", + "attachment": true, + "open_weights": false, + "knowledge": "2023-08", + "release_date": "2024-02-29", + "last_updated": "2024-02-29", "cost": { - "input": 0.04, - "output": 0.05 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "sao10k/l3.3-euryale-70b", - "name": "Sao10K: Llama 3.3 Euryale 70B", - "display_name": "Sao10K: Llama 3.3 Euryale 70B", + "id": "anthropic-claude-fable-5", + "name": "Anthropic Claude Fable 5", + "display_name": "Anthropic Claude Fable 5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 1000000, + "output": 128000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-12-18", - "last_updated": "2026-03-15", - "cost": { - "input": 0.65, - "output": 0.75 + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Adaptive thinking is always on for Claude Fable 5 and Claude Mythos 5; thinking.type = \"disabled\" is rejected.", + "Manual budget_tokens requests return 400 on Claude Fable 5 and Claude Mythos 5.", + "thinking.display defaults to omitted; set display to summarized to receive readable thinking summaries." + ] + } }, + "attachment": true, + "open_weights": false, + "release_date": "2026-06-09", + "last_updated": "2026-06-12", "type": "chat" }, { - "id": "sao10k/l3-euryale-70b", - "name": "Sao10k: Llama 3 Euryale 70B v2.1", - "display_name": "Sao10k: Llama 3 Euryale 70B v2.1", + "id": "nemotron-3-nano-omni", + "name": "Nemotron Nano 3 Omni", + "display_name": "Nemotron Nano 3 Omni", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 65536, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2024-06-18", - "last_updated": "2026-03-15", + "release_date": "2026-04-28", + "last_updated": "2026-04-30", "cost": { - "input": 1.48, - "output": 1.48 + "input": 0.5, + "output": 0.9 }, "type": "chat" }, { - "id": "sao10k/l3.1-70b-hanami-x1", - "name": "Sao10K: Llama 3.1 70B Hanami x1", - "display_name": "Sao10K: Llama 3.1 70B Hanami x1", + "id": "alibaba-qwen3-32b", + "name": "Qwen3-32B", + "display_name": "Qwen3-32B", "modalities": { "input": [ "text" @@ -42708,39 +45492,41 @@ ] }, "limit": { - "context": 16000, - "output": 16000 + "context": 131000, + "output": 40960 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "release_date": "2025-01-08", - "last_updated": "2026-03-15", + "release_date": "2025-04-30", + "last_updated": "2026-04-16", "cost": { - "input": 3, - "output": 3 + "input": 0.25, + "output": 0.55 }, "type": "chat" }, { - "id": "deepseek/deepseek-r1-0528", - "name": "DeepSeek: R1 0528", - "display_name": "DeepSeek: R1 0528", + "id": "nemotron-nano-12b-v2-vl", + "name": "Nemotron Nano 12B v2 VL", + "display_name": "Nemotron Nano 12B v2 VL", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 65536 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -42748,178 +45534,172 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2025-05-28", - "last_updated": "2026-03-15", + "knowledge": "2024-10", + "release_date": "2025-12-01", + "last_updated": "2026-04-30", "cost": { - "input": 0.45, - "output": 2.15, - "cache_read": 0.2 + "input": 0.2, + "output": 0.6 }, "type": "chat" }, { - "id": "deepseek/deepseek-v3.2", - "name": "DeepSeek: DeepSeek V3.2", - "display_name": "DeepSeek: DeepSeek V3.2", + "id": "openai-gpt-5.1-codex-max", + "name": "GPT-5.1 Codex Max", + "display_name": "GPT-5.1 Codex Max", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 65536 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-12-01", - "last_updated": "2026-03-15", + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0.26, - "output": 0.38, + "input": 1.25, + "output": 10, "cache_read": 0.125 }, "type": "chat" }, { - "id": "deepseek/deepseek-r1", - "name": "DeepSeek: R1", - "display_name": "DeepSeek: R1", + "id": "fal-ai/fast-sdxl", + "name": "Fast SDXL", + "display_name": "Fast SDXL", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 64000, - "output": 16000 + "context": 8192, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "cost": { - "input": 0.7, - "output": 2.5 - }, + "release_date": "2023-07-26", + "last_updated": "2026-04-16", "type": "chat" }, { - "id": "deepseek/deepseek-chat-v3.1", - "name": "DeepSeek: DeepSeek V3.1", - "display_name": "DeepSeek: DeepSeek V3.1", + "id": "fal-ai/elevenlabs/tts/multilingual-v2", + "name": "ElevenLabs Multilingual TTS v2", + "display_name": "ElevenLabs Multilingual TTS v2", "modalities": { "input": [ "text" ], "output": [ - "text" + "audio" ] }, "limit": { - "context": 32768, - "output": 7168 + "context": 8192, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "cost": { - "input": 0.15, - "output": 0.75 - }, + "open_weights": false, + "release_date": "2023-08-22", + "last_updated": "2026-04-16", "type": "chat" }, { - "id": "deepseek/deepseek-chat-v3-0324", - "name": "DeepSeek: DeepSeek V3 0324", - "display_name": "DeepSeek: DeepSeek V3 0324", + "id": "fal-ai/flux/schnell", + "name": "FLUX.1 [schnell]", + "display_name": "FLUX.1 [schnell]", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 163840, - "output": 65536 + "context": 8192, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-03-24", - "last_updated": "2026-03-15", - "cost": { - "input": 0.2, - "output": 0.77, - "cache_read": 0.095 - }, + "release_date": "2024-08-01", + "last_updated": "2026-04-16", "type": "chat" }, { - "id": "deepseek/deepseek-r1-distill-llama-70b", - "name": "DeepSeek: R1 Distill Llama 70B", - "display_name": "DeepSeek: R1 Distill Llama 70B", + "id": "fal-ai/stable-audio-25/text-to-audio", + "name": "Stable Audio 2.5 (Text-to-Audio)", + "display_name": "Stable Audio 2.5 (Text-to-Audio)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "audio" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "temperature": false, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-10-08", + "last_updated": "2026-04-16", + "type": "chat" + } + ] + }, + "venice": { + "id": "venice", + "name": "Venice AI", + "display_name": "Venice AI", + "doc": "https://docs.venice.ai", + "models": [ + { + "id": "z-ai-glm-5-turbo", + "name": "GLM 5 Turbo", + "display_name": "GLM 5 Turbo", "modalities": { "input": [ "text" @@ -42929,67 +45709,79 @@ ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 200000, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, "attachment": false, "open_weights": true, - "release_date": "2025-01-23", - "last_updated": "2026-03-15", + "release_date": "2026-03-15", + "last_updated": "2026-06-11", "cost": { - "input": 0.7, - "output": 0.8, - "cache_read": 0.015 + "input": 1.2, + "output": 4, + "cache_read": 0.24 }, "type": "chat" }, { - "id": "deepseek/deepseek-chat", - "name": "DeepSeek: DeepSeek V3", - "display_name": "DeepSeek: DeepSeek V3", + "id": "grok-4-20-multi-agent", + "name": "Grok 4.20 Multi-Agent", + "display_name": "Grok 4.20 Multi-Agent", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 163840 + "context": 2000000, + "output": 128000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-12-01", - "last_updated": "2026-03-15", + "attachment": true, + "open_weights": false, + "release_date": "2026-03-12", + "last_updated": "2026-06-11", "cost": { - "input": 0.32, - "output": 0.89, - "cache_read": 0.15 + "input": 1.42, + "output": 2.83, + "cache_read": 0.23, + "tiers": [ + { + "input": 2.83, + "output": 5.67, + "cache_read": 0.45, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.83, + "output": 5.67, + "cache_read": 0.45 + } }, "type": "chat" }, { - "id": "deepseek/deepseek-v3.2-speciale", - "name": "DeepSeek: DeepSeek V3.2 Speciale", - "display_name": "DeepSeek: DeepSeek V3.2 Speciale", + "id": "deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ "text" @@ -42999,41 +45791,55 @@ ] }, "limit": { - "context": 163840, - "output": 163840 + "context": 1000000, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": true, - "release_date": "2025-12-01", - "last_updated": "2026-03-15", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-06-11", "cost": { - "input": 0.4, - "output": 1.2, - "cache_read": 0.135 + "input": 0.17, + "output": 0.35, + "cache_read": 0.028 }, "type": "chat" }, { - "id": "deepseek/deepseek-v3.1-terminus", - "name": "DeepSeek: DeepSeek V3.1 Terminus", - "display_name": "DeepSeek: DeepSeek V3.1 Terminus", + "id": "google-gemma-4-31b-it", + "name": "Google Gemma 4 31B Instruct", + "display_name": "Google Gemma 4 31B Instruct", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 32768 + "context": 256000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -43041,32 +45847,33 @@ "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2025-09-22", - "last_updated": "2025-09-22", + "release_date": "2026-04-03", + "last_updated": "2026-06-11", "cost": { - "input": 0.21, - "output": 0.79, - "cache_read": 0.13 + "input": 0.12, + "output": 0.36, + "cache_read": 0.09 }, "type": "chat" }, { - "id": "deepseek/deepseek-v4-flash", - "name": "DeepSeek: DeepSeek V4 Flash", - "display_name": "DeepSeek: DeepSeek V4 Flash", + "id": "kimi-k2-6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 384000 + "context": 256000, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -43085,21 +45892,52 @@ ] } }, + "attachment": true, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-20", + "last_updated": "2026-06-11", + "cost": { + "input": 0.85, + "output": 4.655, + "cache_read": 0.22 + }, + "type": "chat" + }, + { + "id": "qwen3-235b-a22b-instruct-2507", + "name": "Qwen 3 235B A22B Instruct 2507", + "display_name": "Qwen 3 235B A22B Instruct 2507", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, "attachment": false, - "open_weights": false, - "release_date": "2026-04-24", - "last_updated": "2026-05-01", + "open_weights": true, + "release_date": "2025-04-29", + "last_updated": "2026-06-11", "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.0028 + "input": 0.15, + "output": 0.75 }, "type": "chat" }, { - "id": "deepseek/deepseek-v3.2-exp", - "name": "DeepSeek: DeepSeek V3.2 Exp", - "display_name": "DeepSeek: DeepSeek V3.2 Exp", + "id": "nvidia-nemotron-cascade-2-30b-a3b", + "name": "Nemotron Cascade 2 30B A3B", + "display_name": "Nemotron Cascade 2 30B A3B", "modalities": { "input": [ "text" @@ -43109,8 +45947,8 @@ ] }, "limit": { - "context": 163840, - "output": 65536 + "context": 256000, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -43120,94 +45958,114 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-01-01", - "last_updated": "2025-09-29", + "release_date": "2026-03-24", + "last_updated": "2026-06-11", "cost": { - "input": 0.27, - "output": 0.41 + "input": 0.14, + "output": 0.8 }, "type": "chat" }, { - "id": "deepseek/deepseek-v4-pro", - "name": "DeepSeek: DeepSeek V4 Pro", - "display_name": "DeepSeek: DeepSeek V4 Pro", + "id": "claude-opus-4-7-fast", + "name": "Claude Opus 4.7 Fast", + "display_name": "Claude Opus 4.7 Fast", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 384000 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], "interleaved": true, "summaries": true, - "visibility": "summary", + "visibility": "omitted", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-04-24", - "last_updated": "2026-05-01", + "knowledge": "2026-01-31", + "release_date": "2026-05-14", + "last_updated": "2026-06-11", "cost": { - "input": 0.435, - "output": 0.87, - "cache_read": 0.003625 + "input": 36, + "output": 180, + "cache_read": 3.6, + "cache_write": 45 }, "type": "chat" }, { - "id": "deepseek/deepseek-r1-distill-qwen-32b", - "name": "DeepSeek: R1 Distill Qwen 32B", - "display_name": "DeepSeek: R1 Distill Qwen 32B", + "id": "openai-gpt-55-pro", + "name": "GPT-5.5 Pro", + "display_name": "GPT-5.5 Pro", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 1000000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-01-01", - "last_updated": "2025-11-25", + "attachment": true, + "open_weights": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-24", + "last_updated": "2026-06-11", "cost": { - "input": 0.29, - "output": 0.29 + "input": 37.5, + "output": 225 }, "type": "chat" }, { - "id": "inception/mercury-2", - "name": "Inception: Mercury 2", - "display_name": "Inception: Mercury 2", + "id": "llama-3.3-70b", + "name": "Llama 3.3 70B", + "display_name": "Llama 3.3 70B", "modalities": { "input": [ "text" @@ -43218,90 +46076,123 @@ }, "limit": { "context": 128000, - "output": 50000 + "output": 4096 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-02-24", - "last_updated": "2026-02-24", + "open_weights": true, + "release_date": "2025-04-06", + "last_updated": "2026-06-11", "cost": { - "input": 0.25, - "output": 0.75, - "cache_read": 0.025 + "input": 0.7, + "output": 2.8 }, "type": "chat" }, { - "id": "relace/relace-apply-3", - "name": "Relace: Relace Apply 3", - "display_name": "Relace: Relace Apply 3", + "id": "qwen3-5-397b-a17b", + "name": "Qwen 3.5 397B", + "display_name": "Qwen 3.5 397B", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 128000 + "context": 128000, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2025-09-26", - "last_updated": "2026-03-15", + "attachment": true, + "open_weights": true, + "release_date": "2026-02-16", + "last_updated": "2026-06-11", "cost": { - "input": 0.85, - "output": 1.25 + "input": 0.75, + "output": 4.5 }, "type": "chat" }, { - "id": "relace/relace-search", - "name": "Relace: Relace Search", - "display_name": "Relace: Relace Search", + "id": "claude-opus-4-5", + "name": "Claude Opus 4.5", + "display_name": "Claude Opus 4.5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 128000 + "context": 198000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-12-09", - "last_updated": "2026-03-15", + "knowledge": "2025-03-31", + "release_date": "2025-12-06", + "last_updated": "2026-06-11", "cost": { - "input": 1, - "output": 3 + "input": 6, + "output": 30, + "cache_read": 0.6, + "cache_write": 7.5 }, "type": "chat" }, { - "id": "thedrummer/rocinante-12b", - "name": "TheDrummer: Rocinante 12B", - "display_name": "TheDrummer: Rocinante 12B", + "id": "zai-org-glm-5", + "name": "GLM 5", + "display_name": "GLM 5", "modalities": { "input": [ "text" @@ -43311,121 +46202,162 @@ ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 198000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2024-09-30", - "last_updated": "2026-03-15", + "release_date": "2026-02-11", + "last_updated": "2026-06-11", "cost": { - "input": 0.17, - "output": 0.43 + "input": 1, + "output": 3.2, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "thedrummer/skyfall-36b-v2", - "name": "TheDrummer: Skyfall 36B V2", - "display_name": "TheDrummer: Skyfall 36B V2", + "id": "qwen3-5-35b-a3b", + "name": "Qwen 3.5 35B A3B", + "display_name": "Qwen 3.5 35B A3B", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 256000, + "output": 16384 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2025-03-11", - "last_updated": "2026-03-15", + "release_date": "2026-02-25", + "last_updated": "2026-06-11", "cost": { - "input": 0.55, - "output": 0.8 + "input": 0.3125, + "output": 1.25, + "cache_read": 0.15625 }, "type": "chat" }, { - "id": "thedrummer/unslopnemo-12b", - "name": "TheDrummer: UnslopNemo 12B", - "display_name": "TheDrummer: UnslopNemo 12B", + "id": "venice-uncensored-role-play", + "name": "Venice Role Play Uncensored", + "display_name": "Venice Role Play Uncensored", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 128000, + "output": 4096 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2024-11-09", - "last_updated": "2026-03-15", + "release_date": "2026-02-20", + "last_updated": "2026-06-11", "cost": { - "input": 0.4, - "output": 0.4 + "input": 0.5, + "output": 2 }, "type": "chat" }, { - "id": "thedrummer/cydonia-24b-v4.1", - "name": "TheDrummer: Cydonia 24B V4.1", - "display_name": "TheDrummer: Cydonia 24B V4.1", + "id": "qwen-3-6-plus", + "name": "Qwen 3.6 Plus Uncensored", + "display_name": "Qwen 3.6 Plus Uncensored", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 1000000, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-09-27", - "last_updated": "2026-03-15", + "attachment": true, + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2026-04-06", + "last_updated": "2026-06-11", "cost": { - "input": 0.3, - "output": 0.5 + "input": 0.625, + "output": 3.75, + "cache_read": 0.0625, + "cache_write": 0.78, + "tiers": [ + { + "input": 2.5, + "output": 7.5, + "cache_read": 0.0625, + "cache_write": 0.78, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 7.5, + "cache_read": 0.0625, + "cache_write": 0.78 + } }, "type": "chat" }, { - "id": "deepcogito/cogito-v2.1-671b", - "name": "Deep Cogito: Cogito v2.1 671B", - "display_name": "Deep Cogito: Cogito v2.1 671B", + "id": "zai-org-glm-4.6", + "name": "GLM 4.6", + "display_name": "GLM 4.6", "modalities": { "input": [ "text" @@ -43435,95 +46367,129 @@ ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 198000, + "output": 16384 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": true, - "release_date": "2025-11-14", - "last_updated": "2026-03-15", + "knowledge": "2025-04", + "release_date": "2024-04-01", + "last_updated": "2026-06-11", "cost": { - "input": 1.25, - "output": 1.25 + "input": 0.85, + "output": 2.75, + "cache_read": 0.3 }, "type": "chat" }, { - "id": "inflection/inflection-3-pi", - "name": "Inflection: Inflection 3 Pi", - "display_name": "Inflection: Inflection 3 Pi", + "id": "openai-gpt-4o-2024-11-20", + "name": "GPT-4o", + "display_name": "GPT-4o", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8000, - "output": 1024 + "context": 128000, + "output": 16384 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-10-11", - "last_updated": "2026-03-15", + "knowledge": "2023-09", + "release_date": "2026-02-28", + "last_updated": "2026-06-11", "cost": { - "input": 2.5, - "output": 10 + "input": 3.125, + "output": 12.5 }, "type": "chat" }, { - "id": "inflection/inflection-3-productivity", - "name": "Inflection: Inflection 3 Productivity", - "display_name": "Inflection: Inflection 3 Productivity", + "id": "grok-4-3", + "name": "Grok 4.3", + "display_name": "Grok 4.3", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8000, - "output": 1024 + "context": 1000000, + "output": 32000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-10-11", - "last_updated": "2026-03-15", + "release_date": "2026-04-18", + "last_updated": "2026-06-11", "cost": { - "input": 2.5, - "output": 10 + "input": 1.42, + "output": 2.83, + "cache_read": 0.23, + "tiers": [ + { + "input": 2.83, + "output": 5.67, + "cache_read": 0.45, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.83, + "output": 5.67, + "cache_read": 0.45 + } }, "type": "chat" }, { - "id": "perceptron/perceptron-mk1", - "name": "Perceptron: Perceptron Mk1", - "display_name": "Perceptron: Perceptron Mk1", + "id": "qwen-3-7-plus", + "name": "Qwen 3.7 Plus", + "display_name": "Qwen 3.7 Plus", "modalities": { "input": [ - "image", "text", + "image", "video" ], "output": [ @@ -43531,33 +46497,52 @@ ] }, "limit": { - "context": 32768, - "output": 8192 + "context": 1000000, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": true, "open_weights": false, - "release_date": "2026-05-12", - "last_updated": "2026-05-16", + "knowledge": "2025-04", + "release_date": "2026-06-02", + "last_updated": "2026-06-11", "cost": { - "input": 0.15, - "output": 1.5 + "input": 0.5, + "output": 2, + "cache_read": 0.05, + "cache_write": 0.625, + "tiers": [ + { + "input": 1.5, + "output": 6, + "cache_read": 0.15, + "cache_write": 1.875, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 1.5, + "output": 6, + "cache_read": 0.15, + "cache_write": 1.875 + } }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4", - "name": "Anthropic: Claude Sonnet 4", - "display_name": "Anthropic: Claude Sonnet 4", + "id": "minimax-m27", + "name": "MiniMax M2.7", + "display_name": "MiniMax M2.7", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -43565,55 +46550,77 @@ ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 198000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-06-11", + "cost": { + "input": 0.375, + "output": 1.5, + "cache_read": 0.06875 + }, + "type": "chat" + }, + { + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2025-05-22", - "last_updated": "2026-03-15", + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-06-11", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 1.73, + "output": 3.796, + "cache_read": 0.33 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4.6", - "name": "Anthropic: Claude Sonnet 4.6", - "display_name": "Anthropic: Claude Sonnet 4.6", + "id": "qwen3-235b-a22b-thinking-2507", + "name": "Qwen 3 235B A22B Thinking 2507", + "display_name": "Qwen 3 235B A22B Thinking 2507", "modalities": { "input": [ - "image", "text" ], "output": [ @@ -43621,70 +46628,50 @@ ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 128000, + "output": 16384 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-15", + "attachment": false, + "open_weights": true, + "release_date": "2025-04-29", + "last_updated": "2026-06-11", "cost": { - "input": 3, - "output": 15 + "input": 0.45, + "output": 3.5 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.5", - "name": "Anthropic: Claude Opus 4.5", - "display_name": "Anthropic: Claude Opus 4.5", + "id": "claude-sonnet-4-5", + "name": "Claude Sonnet 4.5", + "display_name": "Claude Sonnet 4.5", "modalities": { "input": [ - "image", - "pdf", - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, + "context": 198000, "output": 64000 }, "temperature": true, @@ -43697,17 +46684,11 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "mixed", + "mode": "budget", "budget": { "min": 1024, "unit": "tokens" }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], "interleaved": true, "summaries": true, "visibility": "summary", @@ -43715,32 +46696,66 @@ "thinking_blocks" ], "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, "open_weights": false, - "release_date": "2025-11-24", - "last_updated": "2026-03-15", + "knowledge": "2025-07-31", + "release_date": "2025-01-15", + "last_updated": "2026-06-11", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 3.75, + "output": 18.75, + "cache_read": 0.375, + "cache_write": 4.69 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.7", - "name": "Anthropic: Claude Opus 4.7", - "display_name": "Anthropic: Claude Opus 4.7", + "id": "openai-gpt-4o-mini-2024-07-18", + "name": "GPT-4o Mini", + "display_name": "GPT-4o Mini", "modalities": { "input": [ "text", - "image", - "pdf" + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2026-02-28", + "last_updated": "2026-06-11", + "cost": { + "input": 0.1875, + "output": 0.75, + "cache_read": 0.09375 + }, + "type": "chat" + }, + { + "id": "claude-opus-4-7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", + "modalities": { + "input": [ + "text", + "image" ], "output": [ "text" @@ -43784,20 +46799,21 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2026-01-31", "release_date": "2026-04-16", - "last_updated": "2026-05-01", + "last_updated": "2026-06-11", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 6, + "output": 30, + "cache_read": 0.6, + "cache_write": 7.5 }, "type": "chat" }, { - "id": "anthropic/claude-3.5-haiku", - "name": "Anthropic: Claude 3.5 Haiku", - "display_name": "Anthropic: Claude 3.5 Haiku", + "id": "openai-gpt-53-codex", + "name": "GPT-5.3 Codex", + "display_name": "GPT-5.3 Codex", "modalities": { "input": [ "text", @@ -43808,30 +46824,31 @@ ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "release_date": "2024-10-22", - "last_updated": "2024-10-22", + "knowledge": "2025-08-31", + "release_date": "2026-02-24", + "last_updated": "2026-06-11", "cost": { - "input": 0.8, - "output": 4, - "cache_read": 0.08, - "cache_write": 1 + "input": 2.19, + "output": 17.5, + "cache_read": 0.219 }, "type": "chat" }, { - "id": "anthropic/claude-3-haiku", - "name": "Anthropic: Claude 3 Haiku", - "display_name": "Anthropic: Claude 3 Haiku", + "id": "openai-gpt-54", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ "text", @@ -43842,99 +46859,106 @@ ] }, "limit": { - "context": 200000, - "output": 4096 + "context": 1000000, + "output": 131072 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "release_date": "2024-03-07", - "last_updated": "2024-03-07", + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-06-11", "cost": { - "input": 0.25, - "output": 1.25, - "cache_read": 0.03, - "cache_write": 0.3 + "input": 3.13, + "output": 18.8, + "cache_read": 0.313 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.6-fast", - "name": "Anthropic: Claude Opus 4.6 (Fast)", - "display_name": "Anthropic: Claude Opus 4.6 (Fast)", + "id": "google-gemma-3-27b-it", + "name": "Google Gemma 3 27B Instruct", + "display_name": "Google Gemma 3 27B Instruct", "modalities": { "input": [ - "image", + "text", + "image" + ], + "output": [ "text" + ] + }, + "limit": { + "context": 198000, + "output": 16384 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "release_date": "2025-11-04", + "last_updated": "2026-06-11", + "cost": { + "input": 0.12, + "output": 0.2 + }, + "type": "chat" + }, + { + "id": "minimax-m3", + "name": "MiniMax M3", + "display_name": "MiniMax M3", + "modalities": { + "input": [ + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 500000, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] + "supported": true } }, "attachment": true, - "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-04-07", - "last_updated": "2026-04-11", + "open_weights": true, + "release_date": "2026-06-01", + "last_updated": "2026-06-11", "cost": { - "input": 30, - "output": 150, - "cache_read": 3, - "cache_write": 37.5 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4.5", - "name": "Anthropic: Claude Sonnet 4.5", - "display_name": "Anthropic: Claude Sonnet 4.5", + "id": "claude-opus-4-8-fast", + "name": "Claude Opus 4.8 Fast", + "display_name": "Claude Opus 4.8 Fast", "modalities": { "input": [ - "image", - "pdf", - "text" + "text", + "image" ], "output": [ "text" @@ -43942,9 +46966,9 @@ }, "limit": { "context": 1000000, - "output": 64000 + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -43954,39 +46978,44 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], "interleaved": true, "summaries": true, - "visibility": "summary", + "visibility": "omitted", "continuation": [ "thinking_blocks" ], "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, "attachment": true, "open_weights": false, - "release_date": "2025-09-29", - "last_updated": "2026-03-15", + "release_date": "2026-05-28", + "last_updated": "2026-06-11", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 12, + "output": 60, + "cache_read": 1.2, + "cache_write": 15 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.6", - "name": "Anthropic: Claude Opus 4.6", - "display_name": "Anthropic: Claude Opus 4.6", + "id": "gemma-4-uncensored", + "name": "Gemma 4 Uncensored", + "display_name": "Gemma 4 Uncensored", "modalities": { "input": [ "text", @@ -43997,63 +47026,29 @@ ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 256000, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "open_weights": true, + "release_date": "2026-04-13", + "last_updated": "2026-06-11", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.1625, + "output": 0.5 }, "type": "chat" }, { - "id": "anthropic/claude-haiku-4.5", - "name": "Anthropic: Claude Haiku 4.5", - "display_name": "Anthropic: Claude Haiku 4.5", + "id": "qwen3-next-80b", + "name": "Qwen 3 Next 80b", + "display_name": "Qwen 3 Next 80b", "modalities": { "input": [ - "image", "text" ], "output": [ @@ -44061,57 +47056,65 @@ ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 256000, + "output": 16384 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-04-29", + "last_updated": "2026-06-11", + "cost": { + "input": 0.35, + "output": 1.9 + }, + "type": "chat" + }, + { + "id": "mistral-small-2603", + "name": "Mistral Small 4", + "display_name": "Mistral Small 4", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 256000, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "default": true }, "attachment": true, - "open_weights": false, - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "open_weights": true, + "knowledge": "2025-06", + "release_date": "2026-03-16", + "last_updated": "2026-06-11", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 0.1875, + "output": 0.75 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.7-fast", - "name": "Anthropic: Claude Opus 4.7 (Fast)", - "display_name": "Anthropic: Claude Opus 4.7 (Fast)", + "id": "claude-opus-4-8", + "name": "Claude Opus 4.8", + "display_name": "Claude Opus 4.8", "modalities": { "input": [ - "image", - "pdf", - "text" + "text", + "image" ], "output": [ "text" @@ -44155,24 +47158,22 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-05-12", - "last_updated": "2026-05-16", + "release_date": "2026-05-28", + "last_updated": "2026-06-11", "cost": { - "input": 30, - "output": 150, - "cache_read": 3, - "cache_write": 37.5 + "input": 6, + "output": 30, + "cache_read": 0.6, + "cache_write": 7.5 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.1", - "name": "Anthropic: Claude Opus 4.1", - "display_name": "Anthropic: Claude Opus 4.1", + "id": "zai-org-glm-4.7-flash", + "name": "GLM 4.7 Flash", + "display_name": "GLM 4.7 Flash", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -44180,126 +47181,77 @@ ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2026-03-15", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2026-01-29", + "last_updated": "2026-06-11", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.125, + "output": 0.5 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4", - "name": "Anthropic: Claude Opus 4", - "display_name": "Anthropic: Claude Opus 4", + "id": "google-gemma-4-26b-a4b-it", + "name": "Google Gemma 4 26B A4B Instruct", + "display_name": "Google Gemma 4 26B A4B Instruct", "modalities": { "input": [ + "text", "image", - "pdf", - "text" + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 256000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "default": true }, "attachment": true, - "open_weights": false, - "release_date": "2025-05-22", - "last_updated": "2026-03-15", + "open_weights": true, + "release_date": "2026-04-02", + "last_updated": "2026-06-11", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.1625, + "output": 0.5 }, "type": "chat" }, { - "id": "xiaomi/mimo-v2-omni", - "name": "Xiaomi: MiMo-V2-Omni", - "display_name": "Xiaomi: MiMo-V2-Omni", + "id": "grok-4-20", + "name": "Grok 4.20", + "display_name": "Grok 4.20", "modalities": { "input": [ "text", - "image", - "audio", - "video", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 2000000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -44307,20 +47259,35 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "release_date": "2026-03-12", + "last_updated": "2026-06-11", "cost": { - "input": 0.4, - "output": 2, - "cache_read": 0.08 + "input": 1.42, + "output": 2.83, + "cache_read": 0.23, + "tiers": [ + { + "input": 2.83, + "output": 5.67, + "cache_read": 0.45, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.83, + "output": 5.67, + "cache_read": 0.45 + } }, "type": "chat" }, { - "id": "xiaomi/mimo-v2-pro", - "name": "Xiaomi: MiMo-V2-Pro", - "display_name": "Xiaomi: MiMo-V2-Pro", + "id": "hermes-3-llama-3.1-405b", + "name": "Hermes 3 Llama 3.1 405b", + "display_name": "Hermes 3 Llama 3.1 405b", "modalities": { "input": [ "text" @@ -44330,67 +47297,75 @@ ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 128000, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-09-25", + "last_updated": "2026-06-11", + "cost": { + "input": 1.1, + "output": 3 + }, + "type": "chat" + }, + { + "id": "aion-labs-aion-2-0", + "name": "Aion 2.0", + "display_name": "Aion 2.0", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 32768 + }, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "attachment": false, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "release_date": "2026-03-24", + "last_updated": "2026-06-11", "cost": { "input": 1, - "output": 3, - "cache_read": 0.2, - "tiers": [ - { - "input": 2, - "output": 6, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 256000 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.4 - } + "output": 2, + "cache_read": 0.25 }, "type": "chat" }, { - "id": "xiaomi/mimo-v2.5", - "name": "Xiaomi: MiMo-V2.5", - "display_name": "Xiaomi: MiMo-V2.5", + "id": "qwen3-vl-235b-a22b", + "name": "Qwen3 VL 235B", + "display_name": "Qwen3 VL 235B", "modalities": { "input": [ "text", - "image", - "audio", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 256000, + "output": 16384 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -44405,46 +47380,31 @@ }, "attachment": true, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "release_date": "2026-01-16", + "last_updated": "2026-06-11", "cost": { - "input": 0.4, - "output": 2, - "cache_read": 0.08, - "tiers": [ - { - "input": 0.8, - "output": 4, - "cache_read": 0.16, - "tier": { - "type": "context", - "size": 256000 - } - } - ], - "context_over_200k": { - "input": 0.8, - "output": 4, - "cache_read": 0.16 - } + "input": 0.25, + "output": 1.5 }, "type": "chat" }, { - "id": "xiaomi/mimo-v2-flash", - "name": "Xiaomi: MiMo-V2-Flash", - "display_name": "Xiaomi: MiMo-V2-Flash", + "id": "xiaomi-mimo-v2-5", + "name": "MiMo-V2.5", + "display_name": "MiMo-V2.5", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262144, + "context": 1000000, "output": 65536 }, "temperature": true, @@ -44453,119 +47413,95 @@ "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2024-12-01", - "release_date": "2025-12-16", - "last_updated": "2026-02-04", + "knowledge": "2024-12", + "release_date": "2026-06-11", + "last_updated": "2026-06-11", "cost": { - "input": 0.09, - "output": 0.29, - "cache_read": 0.045 + "input": 0.175, + "output": 0.35, + "cache_read": 0.0625 }, "type": "chat" }, { - "id": "xiaomi/mimo-v2.5-pro", - "name": "Xiaomi: MiMo V2.5 Pro", - "display_name": "Xiaomi: MiMo V2.5 Pro", + "id": "venice-uncensored-1-2", + "name": "Venice Uncensored 1.2", + "display_name": "Venice Uncensored 1.2", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 128000, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "release_date": "2026-04-01", + "last_updated": "2026-06-11", "cost": { - "input": 1, - "output": 3, - "cache_read": 0.2, - "tiers": [ - { - "input": 2, - "output": 6, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 256000 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.4 - } + "input": 0.2, + "output": 0.9 }, "type": "chat" }, { - "id": "ai21/jamba-large-1.7", - "name": "AI21: Jamba Large 1.7", - "display_name": "AI21: Jamba Large 1.7", + "id": "gemini-3-5-flash", + "name": "Gemini 3.5 Flash", + "display_name": "Gemini 3.5 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 4096 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-08-09", - "last_updated": "2026-03-15", + "knowledge": "2025-01", + "release_date": "2026-05-22", + "last_updated": "2026-06-11", "cost": { - "input": 2, - "output": 8 + "input": 1.55, + "output": 9.45, + "cache_read": 0.155, + "cache_write": 0.086 }, "type": "chat" }, { - "id": "qwen/qwen3.5-plus-02-15", - "name": "Qwen: Qwen3.5 Plus 2026-02-15", - "display_name": "Qwen: Qwen3.5 Plus 2026-02-15", + "id": "claude-fable-5", + "name": "Claude Fable 5", + "display_name": "Claude Fable 5", "modalities": { "input": [ - "image", "text", - "video" + "image" ], "output": [ "text" @@ -44573,9 +47509,9 @@ }, "limit": { "context": 1000000, - "output": 65536 + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -44584,28 +47520,46 @@ "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], "interleaved": true, "summaries": true, - "visibility": "summary", + "visibility": "omitted", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Adaptive thinking is always on for Claude Fable 5 and Claude Mythos 5; thinking.type = \"disabled\" is rejected.", + "Manual budget_tokens requests return 400 on Claude Fable 5 and Claude Mythos 5.", + "thinking.display defaults to omitted; set display to summarized to receive readable thinking summaries." ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-02-15", - "last_updated": "2026-03-15", + "knowledge": "2026-01-31", + "release_date": "2026-06-10", + "last_updated": "2026-06-11", "cost": { - "input": 0.26, - "output": 1.56 + "input": 12, + "output": 60, + "cache_read": 1.2, + "cache_write": 15 }, "type": "chat" }, { - "id": "qwen/qwen-plus-2025-07-28", - "name": "Qwen: Qwen Plus 0728", - "display_name": "Qwen: Qwen Plus 0728", + "id": "openai-gpt-oss-120b", + "name": "OpenAI GPT OSS 120B", + "display_name": "OpenAI GPT OSS 120B", "modalities": { "input": [ "text" @@ -44615,39 +47569,28 @@ ] }, "limit": { - "context": 1000000, - "output": 32768 + "context": 128000, + "output": 16384 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "release_date": "2025-09-09", - "last_updated": "2026-03-15", + "release_date": "2025-11-06", + "last_updated": "2026-06-11", "cost": { - "input": 0.26, - "output": 0.78 + "input": 0.07, + "output": 0.3 }, "type": "chat" }, { - "id": "qwen/qwen3-30b-a3b-instruct-2507", - "name": "Qwen: Qwen3 30B A3B Instruct 2507", - "display_name": "Qwen: Qwen3 30B A3B Instruct 2507", + "id": "nvidia-nemotron-3-nano-30b-a3b", + "name": "NVIDIA Nemotron 3 Nano 30B", + "display_name": "NVIDIA Nemotron 3 Nano 30B", "modalities": { "input": [ "text" @@ -44657,8 +47600,8 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -44667,64 +47610,82 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-07-29", - "last_updated": "2026-03-15", + "release_date": "2026-01-27", + "last_updated": "2026-06-11", "cost": { - "input": 0.09, - "output": 0.3, - "cache_read": 0.04 + "input": 0.075, + "output": 0.3 }, "type": "chat" }, { - "id": "qwen/qwen3.5-122b-a10b", - "name": "Qwen: Qwen3.5-122B-A10B", - "display_name": "Qwen: Qwen3.5-122B-A10B", + "id": "claude-opus-4-6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", "modalities": { "input": [ - "image", "text", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, "attachment": true, - "open_weights": true, - "release_date": "2026-02-26", - "last_updated": "2026-03-15", + "open_weights": false, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-06-11", "cost": { - "input": 0.26, - "output": 2.08 + "input": 6, + "output": 30, + "cache_read": 0.6, + "cache_write": 7.5 }, "type": "chat" }, { - "id": "qwen/qwen3-next-80b-a3b-instruct", - "name": "Qwen: Qwen3 Next 80B A3B Instruct", - "display_name": "Qwen: Qwen3 Next 80B A3B Instruct", + "id": "mistral-small-3-2-24b-instruct", + "name": "Mistral Small 3.2 24B Instruct", + "display_name": "Mistral Small 3.2 24B Instruct", "modalities": { "input": [ "text" @@ -44734,104 +47695,121 @@ ] }, "limit": { - "context": 131072, - "output": 52429 + "context": 256000, + "output": 16384 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-09-11", - "last_updated": "2026-03-15", + "release_date": "2026-01-15", + "last_updated": "2026-06-11", "cost": { - "input": 0.09, - "output": 1.1 + "input": 0.09375, + "output": 0.25 }, "type": "chat" }, { - "id": "qwen/qwen2.5-vl-72b-instruct", - "name": "Qwen: Qwen2.5 VL 72B Instruct", - "display_name": "Qwen: Qwen2.5 VL 72B Instruct", + "id": "openai-gpt-54-pro", + "name": "GPT-5.4 Pro", + "display_name": "GPT-5.4 Pro", "modalities": { "input": [ - "image", - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 1000000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": true, - "release_date": "2025-02-01", - "last_updated": "2026-03-15", + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-06-11", "cost": { - "input": 0.8, - "output": 0.8, - "cache_read": 0.075 + "input": 37.5, + "output": 225, + "tiers": [ + { + "input": 75, + "output": 337.5, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 75, + "output": 337.5 + } }, "type": "chat" }, { - "id": "qwen/qwen3-vl-30b-a3b-instruct", - "name": "Qwen: Qwen3 VL 30B A3B Instruct", - "display_name": "Qwen: Qwen3 VL 30B A3B Instruct", + "id": "minimax-m3-preview", + "name": "MiniMax M3 Preview", + "display_name": "MiniMax M3 Preview", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 524288, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2025-10-05", - "last_updated": "2025-11-25", + "release_date": "2026-06-12", + "last_updated": "2026-06-13", "cost": { - "input": 0.13, - "output": 0.52 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "qwen/qwen3-32b", - "name": "Qwen: Qwen3 32B", - "display_name": "Qwen: Qwen3 32B", + "id": "gemini-3-1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "display_name": "Gemini 3.1 Pro Preview", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 40960, - "output": 40960 + "context": 1000000, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -44839,32 +47817,41 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2024-12-01", - "last_updated": "2026-02-04", + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-06-11", "cost": { - "input": 0.08, - "output": 0.24, - "cache_read": 0.04 + "input": 2.5, + "output": 15, + "cache_read": 0.5, + "cache_write": 0.5, + "tiers": [ + { + "input": 5, + "output": 22.5, + "cache_read": 0.5, + "cache_write": 0.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 5, + "output": 22.5, + "cache_read": 0.5, + "cache_write": 0.5 + } }, "type": "chat" }, { - "id": "qwen/qwen3-coder-30b-a3b-instruct", - "name": "Qwen: Qwen3 Coder 30B A3B Instruct", - "display_name": "Qwen: Qwen3 Coder 30B A3B Instruct", + "id": "qwen3-coder-480b-a35b-instruct-turbo", + "name": "Qwen 3 Coder 480B Turbo", + "display_name": "Qwen 3 Coder 480B Turbo", "modalities": { "input": [ "text" @@ -44874,40 +47861,41 @@ ] }, "limit": { - "context": 160000, - "output": 32768 + "context": 256000, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-07-31", - "last_updated": "2025-07-31", + "release_date": "2026-01-27", + "last_updated": "2026-06-11", "cost": { - "input": 0.07, - "output": 0.27 + "input": 0.35, + "output": 1.5, + "cache_read": 0.04 }, "type": "chat" }, { - "id": "qwen/qwen3-vl-30b-a3b-thinking", - "name": "Qwen: Qwen3 VL 30B A3B Thinking", - "display_name": "Qwen: Qwen3 VL 30B A3B Thinking", + "id": "qwen3-6-27b", + "name": "Qwen 3.6 27B", + "display_name": "Qwen 3.6 27B", "modalities": { "input": [ + "text", "image", - "text" + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 256000, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -44915,63 +47903,20 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": true, - "open_weights": true, - "release_date": "2025-10-11", - "last_updated": "2026-03-15", - "cost": { - "input": 0.13, - "output": 1.56 - }, - "type": "chat" - }, - { - "id": "qwen/qwen-2.5-coder-32b-instruct", - "name": "Qwen2.5 Coder 32B Instruct", - "display_name": "Qwen2.5 Coder 32B Instruct", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 32768, - "output": 8192 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2024-11-11", - "last_updated": "2026-03-15", + "open_weights": false, + "release_date": "2026-04-24", + "last_updated": "2026-06-11", "cost": { - "input": 0.2, - "output": 0.2, - "cache_read": 0.015 + "input": 0.325, + "output": 3.25 }, "type": "chat" }, { - "id": "qwen/qwen3-vl-235b-a22b-instruct", - "name": "Qwen: Qwen3 VL 235B A22B Instruct", - "display_name": "Qwen: Qwen3 VL 235B A22B Instruct", + "id": "openai-gpt-52-codex", + "name": "GPT-5.2 Codex", + "display_name": "GPT-5.2 Codex", "modalities": { "input": [ "text", @@ -44982,74 +47927,95 @@ ] }, "limit": { - "context": 262144, - "output": 52429 + "context": 256000, + "output": 65536 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": true, - "release_date": "2025-09-23", - "last_updated": "2026-01-10", + "open_weights": false, + "knowledge": "2025-08", + "release_date": "2025-01-15", + "last_updated": "2026-06-11", "cost": { - "input": 0.2, - "output": 0.88, - "cache_read": 0.11 + "input": 2.19, + "output": 17.5, + "cache_read": 0.219 }, "type": "chat" }, { - "id": "qwen/qwen3.6-27b", - "name": "Qwen: Qwen3.6 27B", - "display_name": "Qwen: Qwen3.6 27B", + "id": "claude-opus-4-6-fast", + "name": "Claude Opus 4.6 Fast", + "display_name": "Claude Opus 4.6 Fast", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 65536 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-04-27", - "last_updated": "2026-05-01", + "knowledge": "2025-05-31", + "release_date": "2026-04-08", + "last_updated": "2026-06-11", "cost": { - "input": 0.325, - "output": 3.25 + "input": 36, + "output": 180, + "cache_read": 3.6, + "cache_write": 45 }, "type": "chat" }, { - "id": "qwen/qwen3-235b-a22b", - "name": "Qwen: Qwen3 235B A22B", - "display_name": "Qwen: Qwen3 235B A22B", + "id": "qwen-3-7-max", + "name": "Qwen 3.7 Max", + "display_name": "Qwen 3.7 Max", "modalities": { "input": [ "text" @@ -45059,8 +48025,8 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -45068,152 +48034,138 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, - "open_weights": true, - "release_date": "2024-12-01", - "last_updated": "2026-03-15", + "open_weights": false, + "release_date": "2026-05-22", + "last_updated": "2026-06-11", "cost": { - "input": 0.455, - "output": 1.82, - "cache_read": 0.15 + "input": 2.7, + "output": 8.05, + "cache_read": 0.27, + "cache_write": 3.35 }, "type": "chat" }, { - "id": "qwen/qwen3.5-plus-20260420", - "name": "Qwen: Qwen3.5 Plus 2026-04-20", - "display_name": "Qwen: Qwen3.5 Plus 2026-04-20", + "id": "olafangensan-glm-4.7-flash-heretic", + "name": "GLM 4.7 Flash Heretic", + "display_name": "GLM 4.7 Flash Heretic", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 200000, + "output": 24000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-27", - "last_updated": "2026-05-01", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-04", + "last_updated": "2026-06-11", "cost": { - "input": 0.4, - "output": 2.4 + "input": 0.14, + "output": 0.8 }, "type": "chat" }, { - "id": "qwen/qwen3-max", - "name": "Qwen: Qwen3 Max", - "display_name": "Qwen: Qwen3 Max", + "id": "openai-gpt-54-mini", + "name": "GPT-5.4 Mini", + "display_name": "GPT-5.4 Mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-09-05", - "last_updated": "2026-03-15", + "knowledge": "2025-08-31", + "release_date": "2026-03-27", + "last_updated": "2026-06-11", "cost": { - "input": 1.2, - "output": 6, - "cache_read": 0.24 + "input": 0.9375, + "output": 5.625, + "cache_read": 0.09375 }, "type": "chat" }, { - "id": "qwen/qwen3-coder-plus", - "name": "Qwen: Qwen3 Coder Plus", - "display_name": "Qwen: Qwen3 Coder Plus", + "id": "grok-build-0-1", + "name": "Grok Build 0.1", + "display_name": "Grok Build 0.1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 256000, "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-07-01", - "last_updated": "2026-03-15", + "attachment": true, + "open_weights": false, + "release_date": "2026-05-21", + "last_updated": "2026-06-11", "cost": { - "input": 0.65, - "output": 3.25, - "cache_read": 0.2 + "input": 1, + "output": 2, + "cache_read": 0.2, + "tiers": [ + { + "input": 2, + "output": 4, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 4, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "qwen/qwen3-14b", - "name": "Qwen: Qwen3 14B", - "display_name": "Qwen: Qwen3 14B", + "id": "zai-org-glm-4.7", + "name": "GLM 4.7", + "display_name": "GLM 4.7", "modalities": { "input": [ "text" @@ -45223,8 +48175,8 @@ ] }, "limit": { - "context": 40960, - "output": 40960 + "context": 198000, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -45245,62 +48197,99 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-04", - "last_updated": "2026-03-15", + "knowledge": "2025-04", + "release_date": "2025-12-24", + "last_updated": "2026-06-11", "cost": { - "input": 0.06, - "output": 0.24, - "cache_read": 0.025 + "input": 0.55, + "output": 2.65, + "cache_read": 0.11 }, "type": "chat" }, { - "id": "qwen/qwen3-coder-next", - "name": "Qwen: Qwen3 Coder Next", - "display_name": "Qwen: Qwen3 Coder Next", + "id": "claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-02", - "last_updated": "2026-03-15", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-06-11", "cost": { - "input": 0.12, - "output": 0.75, - "cache_read": 0.035 + "input": 3.6, + "output": 18, + "cache_read": 0.36, + "cache_write": 4.5 }, "type": "chat" }, { - "id": "qwen/qwen3-235b-a22b-thinking-2507", - "name": "Qwen: Qwen3 235B A22B Thinking 2507", - "display_name": "Qwen: Qwen3 235B A22B Thinking 2507", + "id": "gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "display_name": "Gemini 3 Flash Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 256000, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -45311,6 +48300,15 @@ "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], "interleaved": true, "summaries": true, "visibility": "summary", @@ -45319,20 +48317,22 @@ ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2025-07-25", - "last_updated": "2026-03-15", + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-12-19", + "last_updated": "2026-06-11", "cost": { - "input": 0.11, - "output": 0.6 + "input": 0.7, + "output": 3.75, + "cache_read": 0.07 }, "type": "chat" }, { - "id": "qwen/qwen3-8b", - "name": "Qwen: Qwen3 8B", - "display_name": "Qwen: Qwen3 8B", + "id": "arcee-trinity-large-thinking", + "name": "Trinity Large Thinking", + "display_name": "Trinity Large Thinking", "modalities": { "input": [ "text" @@ -45342,10 +48342,9 @@ ] }, "limit": { - "context": 40960, - "output": 8192 + "context": 256000, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -45364,22 +48363,23 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-04", - "last_updated": "2026-03-15", + "release_date": "2026-04-02", + "last_updated": "2026-06-11", "cost": { - "input": 0.05, - "output": 0.4, - "cache_read": 0.05 + "input": 0.3125, + "output": 1.125, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "qwen/qwen3.7-max", - "name": "Qwen: Qwen3.7 Max", - "display_name": "Qwen: Qwen3.7 Max", + "id": "openai-gpt-55", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -45387,67 +48387,78 @@ }, "limit": { "context": 1000000, - "output": 65536 + "output": 131072 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-08-26", - "last_updated": "2026-05-27", + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-06-11", "cost": { - "input": 1.625, - "output": 4.875, - "cache_read": 0.1625, - "cache_write": 2.03125 + "input": 6.25, + "output": 37.5, + "cache_read": 0.625, + "tiers": [ + { + "input": 12.5, + "output": 56.25, + "cache_read": 1.25, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 12.5, + "output": 56.25, + "cache_read": 1.25 + } }, "type": "chat" }, { - "id": "qwen/qwen3-235b-a22b-2507", - "name": "Qwen: Qwen3 235B A22B Instruct 2507", - "display_name": "Qwen: Qwen3 235B A22B Instruct 2507", + "id": "qwen3-5-9b", + "name": "Qwen 3.5 9B", + "display_name": "Qwen 3.5 9B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 52429 + "context": 256000, + "output": 32768 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2025-04", - "last_updated": "2026-01", + "release_date": "2026-03-05", + "last_updated": "2026-06-11", "cost": { - "input": 0.071, - "output": 0.1 + "input": 0.1, + "output": 0.15 }, "type": "chat" }, { - "id": "qwen/qwen3-30b-a3b", - "name": "Qwen: Qwen3 30B A3B", - "display_name": "Qwen: Qwen3 30B A3B", + "id": "mercury-2", + "name": "Mercury 2", + "display_name": "Mercury 2", "modalities": { "input": [ "text" @@ -45457,44 +48468,31 @@ ] }, "limit": { - "context": 40960, - "output": 40960 + "context": 128000, + "output": 50000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, - "open_weights": true, - "release_date": "2025-04", - "last_updated": "2026-03-15", + "open_weights": false, + "release_date": "2026-02-20", + "last_updated": "2026-06-11", "cost": { - "input": 0.08, - "output": 0.28, - "cache_read": 0.03 + "input": 0.3125, + "output": 0.9375, + "cache_read": 0.03125 }, "type": "chat" }, { - "id": "qwen/qwen3.6-plus", - "name": "Qwen: Qwen3.6 Plus", - "display_name": "Qwen: Qwen3.6 Plus", + "id": "zai-org-glm-5-1", + "name": "GLM 5.1", + "display_name": "GLM 5.1", "modalities": { "input": [ - "image", "text" ], "output": [ @@ -45502,8 +48500,8 @@ ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 200000, + "output": 24000 }, "temperature": true, "tool_call": true, @@ -45522,27 +48520,25 @@ ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2025-08-26", - "last_updated": "2026-04-11", + "attachment": false, + "open_weights": true, + "release_date": "2026-04-07", + "last_updated": "2026-06-11", "cost": { - "input": 0.325, - "output": 1.95, - "cache_read": 0.0325, - "cache_write": 0.40625 + "input": 1.75, + "output": 5.5, + "cache_read": 0.325 }, "type": "chat" }, { - "id": "qwen/qwen3.5-9b", - "name": "Qwen: Qwen3.5-9B", - "display_name": "Qwen: Qwen3.5-9B", + "id": "kimi-k2-5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ - "image", "text", - "video" + "image" ], "output": [ "text" @@ -45550,9 +48546,9 @@ }, "limit": { "context": 256000, - "output": 32768 + "output": 65536 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -45570,64 +48566,66 @@ } }, "attachment": true, - "open_weights": true, - "release_date": "2026-03-10", - "last_updated": "2026-03-15", + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2026-01-27", + "last_updated": "2026-06-11", "cost": { - "input": 0.05, - "output": 0.15 + "input": 0.56, + "output": 3.5, + "cache_read": 0.22 }, "type": "chat" }, { - "id": "qwen/qwen3-vl-8b-instruct", - "name": "Qwen: Qwen3 VL 8B Instruct", - "display_name": "Qwen: Qwen3 VL 8B Instruct", + "id": "z-ai-glm-5v-turbo", + "name": "GLM 5V Turbo", + "display_name": "GLM 5V Turbo", "modalities": { "input": [ - "image", - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, + "context": 200000, "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": true, - "release_date": "2025-10-15", - "last_updated": "2025-11-25", + "open_weights": false, + "release_date": "2026-04-01", + "last_updated": "2026-06-11", "cost": { - "input": 0.08, - "output": 0.5 + "input": 1.5, + "output": 5, + "cache_read": 0.3 }, "type": "chat" }, { - "id": "qwen/qwen3.5-flash-02-23", - "name": "Qwen: Qwen3.5-Flash", - "display_name": "Qwen: Qwen3.5-Flash", + "id": "nvidia-nemotron-3-ultra-550b-a55b", + "name": "NVIDIA Nemotron 3 Ultra", + "display_name": "NVIDIA Nemotron 3 Ultra", "modalities": { "input": [ - "image", - "text", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 256000, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -45635,31 +48633,21 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-02-26", - "last_updated": "2026-03-15", + "release_date": "2026-06-04", + "last_updated": "2026-06-11", "cost": { - "input": 0.1, - "output": 0.4 + "input": 0.625, + "output": 3.125, + "cache_read": 0.1875 }, "type": "chat" }, { - "id": "qwen/qwen3-next-80b-a3b-thinking", - "name": "Qwen: Qwen3 Next 80B A3B Thinking", - "display_name": "Qwen: Qwen3 Next 80B A3B Thinking", + "id": "openai-gpt-52", + "name": "GPT-5.2", + "display_name": "GPT-5.2", "modalities": { "input": [ "text" @@ -45669,40 +48657,31 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 256000, + "output": 65536 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, - "open_weights": true, - "release_date": "2025-09-11", - "last_updated": "2026-03-15", + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-13", + "last_updated": "2026-06-11", "cost": { - "input": 0.0975, - "output": 0.78 + "input": 2.19, + "output": 17.5, + "cache_read": 0.219 }, "type": "chat" }, { - "id": "qwen/qwen3-coder-flash", - "name": "Qwen: Qwen3 Coder Flash", - "display_name": "Qwen: Qwen3 Coder Flash", + "id": "deepseek-v3.2", + "name": "DeepSeek V3.2", + "display_name": "DeepSeek V3.2", "modalities": { "input": [ "text" @@ -45712,42 +48691,45 @@ ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 160000, + "output": 32768 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-07-23", - "last_updated": "2026-03-15", + "open_weights": true, + "release_date": "2025-12-04", + "last_updated": "2026-06-11", "cost": { - "input": 0.195, - "output": 0.975, - "cache_read": 0.06 + "input": 0.33, + "output": 0.48, + "cache_read": 0.16 }, "type": "chat" }, { - "id": "qwen/qwen3.5-35b-a3b", - "name": "Qwen: Qwen3.5-35B-A3B", - "display_name": "Qwen: Qwen3.5-35B-A3B", + "id": "minimax-m25", + "name": "MiniMax M2.5", + "display_name": "MiniMax M2.5", "modalities": { "input": [ - "image", - "text", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 198000, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -45766,112 +48748,93 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-02-26", - "last_updated": "2026-03-15", + "release_date": "2026-02-12", + "last_updated": "2026-06-11", "cost": { - "input": 0.1625, - "output": 1.3 + "input": 0.34, + "output": 1.19, + "cache_read": 0.04 }, "type": "chat" }, { - "id": "qwen/qwen3.6-flash", - "name": "Qwen: Qwen3.6 Flash", - "display_name": "Qwen: Qwen3.6 Flash", + "id": "llama-3.2-3b", + "name": "Llama 3.2 3B", + "display_name": "Llama 3.2 3B", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 128000, + "output": 4096 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-27", - "last_updated": "2026-05-01", + "attachment": false, + "open_weights": true, + "release_date": "2024-10-03", + "last_updated": "2026-06-11", "cost": { - "input": 0.25, - "output": 1.5, - "cache_write": 0.3125 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "qwen/qwen3.6-35b-a3b", - "name": "Qwen: Qwen3.6 35B A3B", - "display_name": "Qwen: Qwen3.6 35B A3B", + "id": "tencent-hy3-preview", + "name": "Hy3 Preview", + "display_name": "Hy3 Preview", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 256000, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-27", - "last_updated": "2026-05-01", + "attachment": false, + "open_weights": true, + "release_date": "2026-06-08", + "last_updated": "2026-06-11", "cost": { - "input": 0.1612, - "output": 0.96525, - "cache_read": 0.1612 + "input": 0.063, + "output": 0.21, + "cache_read": 0.021 }, "type": "chat" - }, + } + ] + }, + "lmstudio": { + "id": "lmstudio", + "name": "LMStudio", + "display_name": "LMStudio", + "api": "http://127.0.0.1:1234/v1", + "doc": "https://lmstudio.ai/models", + "models": [ { - "id": "qwen/qwen3-30b-a3b-thinking-2507", - "name": "Qwen: Qwen3 30B A3B Thinking 2507", - "display_name": "Qwen: Qwen3 30B A3B Thinking 2507", + "id": "openai/gpt-oss-20b", + "name": "GPT OSS 20B", + "display_name": "GPT OSS 20B", "modalities": { "input": [ "text" @@ -45881,8 +48844,8 @@ ] }, "limit": { - "context": 32768, - "output": 6554 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -45892,29 +48855,23 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": true, - "release_date": "2025-07-29", - "last_updated": "2025-07-29", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.051, - "output": 0.34 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen/qwen-plus-2025-07-28:thinking", - "name": "Qwen: Qwen Plus 0728 (thinking)", - "display_name": "Qwen: Qwen Plus 0728 (thinking)", + "id": "qwen/qwen3-30b-a3b-2507", + "name": "Qwen3 30B A3B 2507", + "display_name": "Qwen3 30B A3B 2507", "modalities": { "input": [ "text" @@ -45924,29 +48881,29 @@ ] }, "limit": { - "context": 1000000, - "output": 32768 + "context": 262144, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-09-09", - "last_updated": "2026-03-15", + "knowledge": "2025-04", + "release_date": "2025-07-30", + "last_updated": "2025-07-30", "cost": { - "input": 0.26, - "output": 0.78 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen/qwen3-coder", - "name": "Qwen: Qwen3 Coder 480B A35B", - "display_name": "Qwen: Qwen3 Coder 480B A35B", + "id": "qwen/qwen3-coder-30b", + "name": "Qwen3 Coder 30B", + "display_name": "Qwen3 Coder 30B", "modalities": { "input": [ "text" @@ -45957,7 +48914,7 @@ }, "limit": { "context": 262144, - "output": 52429 + "output": 65536 }, "temperature": true, "tool_call": true, @@ -45966,19 +48923,28 @@ }, "attachment": false, "open_weights": true, + "knowledge": "2025-04", "release_date": "2025-07-23", "last_updated": "2025-07-23", "cost": { - "input": 0.22, - "output": 1, - "cache_read": 0.022 + "input": 0, + "output": 0 }, "type": "chat" - }, + } + ] + }, + "poolside": { + "id": "poolside", + "name": "Poolside", + "display_name": "Poolside", + "api": "https://inference.poolside.ai/v1", + "doc": "https://platform.poolside.ai", + "models": [ { - "id": "qwen/qwen3.6-max-preview", - "name": "Qwen: Qwen3.6 Max Preview", - "display_name": "Qwen: Qwen3.6 Max Preview", + "id": "poolside/laguna-xs.2", + "name": "Laguna XS.2", + "display_name": "Laguna XS.2", "modalities": { "input": [ "text" @@ -45988,8 +48954,8 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 131040, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -46009,33 +48975,32 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2026-04-27", - "last_updated": "2026-05-01", + "open_weights": true, + "release_date": "2026-04-28", + "last_updated": "2026-04-28", "cost": { - "input": 1.04, - "output": 6.24, - "cache_write": 1.3 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen/qwen3.5-397b-a17b", - "name": "Qwen: Qwen3.5 397B A17B", - "display_name": "Qwen: Qwen3.5 397B A17B", + "id": "poolside/laguna-m.1", + "name": "Laguna M.1", + "display_name": "Laguna M.1", "modalities": { "input": [ - "image", - "text", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 131040, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -46054,51 +49019,80 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-02-15", - "last_updated": "2026-03-15", + "release_date": "2026-04-28", + "last_updated": "2026-04-28", "cost": { - "input": 0.39, - "output": 2.34 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" - }, + } + ] + }, + "openai": { + "id": "openai", + "name": "OpenAI", + "display_name": "OpenAI", + "doc": "https://platform.openai.com/docs/models", + "models": [ { - "id": "qwen/qwen-2.5-7b-instruct", - "name": "Qwen: Qwen2.5 7B Instruct", - "display_name": "Qwen: Qwen2.5 7B Instruct", + "id": "o3", + "name": "o3", + "display_name": "o3", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 6554 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-09", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", "last_updated": "2025-04-16", "cost": { - "input": 0.04, - "output": 0.1 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "qwen/qwen3-max-thinking", - "name": "Qwen: Qwen3 Max Thinking", - "display_name": "Qwen: Qwen3 Max Thinking", + "id": "text-embedding-3-large", + "name": "text-embedding-3-large", + "display_name": "text-embedding-3-large", "modalities": { "input": [ "text" @@ -46108,55 +49102,43 @@ ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 8191, + "output": 3072 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-01-23", - "last_updated": "2026-03-15", + "knowledge": "2024-01", + "release_date": "2024-01-25", + "last_updated": "2024-01-25", "cost": { - "input": 0.78, - "output": 3.9 + "input": 0.13, + "output": 0 }, - "type": "chat" + "type": "embedding" }, { - "id": "qwen/qwen3.5-27b", - "name": "Qwen: Qwen3.5-27B", - "display_name": "Qwen: Qwen3.5-27B", + "id": "gpt-5.2-pro", + "name": "GPT-5.2 Pro", + "display_name": "GPT-5.2 Pro", "modalities": { "input": [ - "image", "text", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -46165,42 +49147,52 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, - "open_weights": true, - "release_date": "2026-02-26", - "last_updated": "2026-03-15", + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.195, - "output": 1.56 + "input": 21, + "output": 168 }, "type": "chat" }, { - "id": "qwen/qwen3-vl-8b-thinking", - "name": "Qwen: Qwen3 VL 8B Thinking", - "display_name": "Qwen: Qwen3 VL 8B Thinking", + "id": "gpt-5", + "name": "GPT-5", + "display_name": "GPT-5", "modalities": { "input": [ - "image", - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -46209,31 +49201,42 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2025-10-15", - "last_updated": "2025-11-25", + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.117, - "output": 1.365 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "qwen/qwen3-vl-235b-a22b-thinking", - "name": "Qwen: Qwen3 VL 235B A22B Thinking", - "display_name": "Qwen: Qwen3 VL 235B A22B Thinking", + "id": "gpt-3.5-turbo", + "name": "GPT-3.5-turbo", + "display_name": "GPT-3.5-turbo", "modalities": { "input": [ - "image", "text" ], "output": [ @@ -46241,50 +49244,91 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 16385, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2025-09-24", - "last_updated": "2026-03-15", + "attachment": false, + "open_weights": false, + "knowledge": "2021-09-01", + "release_date": "2023-03-01", + "last_updated": "2023-11-06", "cost": { - "input": 0.26, - "output": 2.6 + "input": 0.5, + "output": 1.5, + "cache_read": 0 }, "type": "chat" }, { - "id": "qwen/qwen-2.5-72b-instruct", - "name": "Qwen2.5 72B Instruct", - "display_name": "Qwen2.5 72B Instruct", + "id": "gpt-5-pro", + "name": "GPT-5 Pro", + "display_name": "GPT-5 Pro", "modalities": { "input": [ + "text", + "image" + ], + "output": [ "text" + ] + }, + "limit": { + "context": 400000, + "output": 272000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "fixed", + "effort": "high", + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-10-06", + "last_updated": "2025-10-06", + "cost": { + "input": 15, + "output": 120 + }, + "type": "chat" + }, + { + "id": "gpt-4o", + "name": "GPT-4o", + "display_name": "GPT-4o", + "modalities": { + "input": [ + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 32768, + "context": 128000, "output": 16384 }, "temperature": true, @@ -46292,32 +49336,33 @@ "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2024-09", - "last_updated": "2026-01-10", + "attachment": true, + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-08-06", "cost": { - "input": 0.12, - "output": 0.39 + "input": 2.5, + "output": 10, + "cache_read": 1.25 }, "type": "chat" }, { - "id": "qwen/qwen3-vl-32b-instruct", - "name": "Qwen: Qwen3 VL 32B Instruct", - "display_name": "Qwen: Qwen3 VL 32B Instruct", + "id": "gpt-4", + "name": "GPT-4", + "display_name": "GPT-4", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 8192, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -46326,126 +49371,149 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-10-21", - "last_updated": "2025-11-25", + "knowledge": "2023-11", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", "cost": { - "input": 0.104, - "output": 0.416 + "input": 30, + "output": 60 }, "type": "chat" }, { - "id": "qwen/qwen-plus", - "name": "Qwen: Qwen-Plus", - "display_name": "Qwen: Qwen-Plus", + "id": "o4-mini", + "name": "o4-mini", + "display_name": "o4-mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 32768 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-01-25", - "last_updated": "2025-09-11", + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", "cost": { - "input": 0.4, - "output": 1.2, - "cache_read": 0.08 + "input": 1.1, + "output": 4.4, + "cache_read": 0.275 }, "type": "chat" }, { - "id": "liquid/lfm-2-24b-a2b", - "name": "LiquidAI: LFM2-24B-A2B", - "display_name": "LiquidAI: LFM2-24B-A2B", + "id": "o3-pro", + "name": "o3-pro", + "display_name": "o3-pro", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 200000, + "output": 100000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-26", - "last_updated": "2026-03-15", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2025-06-10", + "last_updated": "2025-06-10", "cost": { - "input": 0.03, - "output": 0.12 + "input": 20, + "output": 80 }, "type": "chat" }, { - "id": "essentialai/rnj-1-instruct", - "name": "EssentialAI: Rnj 1 Instruct", - "display_name": "EssentialAI: Rnj 1 Instruct", + "id": "chatgpt-image-latest", + "name": "chatgpt-image-latest", + "display_name": "chatgpt-image-latest", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 32768, - "output": 6554 + "context": 8192, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-12-05", - "last_updated": "2026-03-15", - "cost": { - "input": 0.15, - "output": 0.15 - }, + "attachment": true, + "open_weights": false, + "release_date": "2025-12-16", + "last_updated": "2025-12-16", "type": "chat" }, { - "id": "cohere/command-r-plus-08-2024", - "name": "Cohere: Command R+ (08-2024)", - "display_name": "Cohere: Command R+ (08-2024)", + "id": "gpt-4o-2024-05-13", + "name": "GPT-4o (2024-05-13)", + "display_name": "GPT-4o (2024-05-13)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -46453,187 +49521,293 @@ }, "limit": { "context": 128000, - "output": 4000 + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2024-08-30", - "last_updated": "2024-08-30", + "attachment": true, + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-05-13", "cost": { - "input": 2.5, - "output": 10 + "input": 5, + "output": 15 }, "type": "chat" }, { - "id": "cohere/command-r-08-2024", - "name": "Cohere: Command R (08-2024)", - "display_name": "Cohere: Command R (08-2024)", + "id": "gpt-5.4-nano", + "name": "GPT-5.4 nano", + "display_name": "GPT-5.4 nano", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2024-08-30", - "last_updated": "2024-08-30", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "cohere/command-a", - "name": "Cohere: Command A", - "display_name": "Cohere: Command A", + "id": "gpt-5-chat-latest", + "name": "GPT-5 Chat (latest)", + "display_name": "GPT-5 Chat (latest)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 8192 + "context": 400000, + "output": 128000 }, "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-03-13", - "last_updated": "2025-03-13", + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 2.5, - "output": 10 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "cohere/command-r7b-12-2024", - "name": "Cohere: Command R7B (12-2024)", - "display_name": "Cohere: Command R7B (12-2024)", + "id": "gpt-5.1-codex", + "name": "GPT-5.1 Codex", + "display_name": "GPT-5.1 Codex", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2024-02-27", - "last_updated": "2024-02-27", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0.0375, - "output": 0.15 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "openrouter/free", - "name": "Free Models Router", - "display_name": "Free Models Router", + "id": "gpt-5.3-codex-spark", + "name": "GPT-5.3 Codex Spark", + "display_name": "GPT-5.3 Codex Spark", "modalities": { "input": [ + "text", "image", - "text" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32768 + "context": 128000, + "output": 32000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, "attachment": true, "open_weights": false, - "release_date": "2026-02-01", - "last_updated": "2026-03-15", + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 0, - "output": 0 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "openrouter/pareto-code", - "name": "Pareto Code Router", - "display_name": "Pareto Code Router", + "id": "gpt-5.1-codex-max", + "name": "GPT-5.1 Codex Max", + "display_name": "GPT-5.1 Codex Max", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 65536 + "context": 400000, + "output": 128000 }, "temperature": false, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-04-21", - "last_updated": "2026-05-01", + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0, - "output": 0 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "openrouter/bodybuilder", - "name": "Body Builder (beta)", - "display_name": "Body Builder (beta)", + "id": "gpt-5.3-chat-latest", + "name": "GPT-5.3 Chat (latest)", + "display_name": "GPT-5.3 Chat (latest)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -46641,95 +49815,95 @@ }, "limit": { "context": 128000, - "output": 32768 + "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-03-15", - "last_updated": "2026-03-15", + "knowledge": "2025-08-31", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", "cost": { - "input": 0, - "output": 0 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "openrouter/owl-alpha", - "name": "Owl Alpha", - "display_name": "Owl Alpha", + "id": "gpt-4o-2024-08-06", + "name": "GPT-4o (2024-08-06)", + "display_name": "GPT-4o (2024-08-06)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048756, - "output": 262144 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-04-28", - "last_updated": "2026-04-30", + "knowledge": "2023-09", + "release_date": "2024-08-06", + "last_updated": "2024-08-06", "cost": { - "input": 0, - "output": 0 + "input": 2.5, + "output": 10, + "cache_read": 1.25 }, "type": "chat" }, { - "id": "openrouter/auto", - "name": "Auto Router", - "display_name": "Auto Router", + "id": "text-embedding-ada-002", + "name": "text-embedding-ada-002", + "display_name": "text-embedding-ada-002", "modalities": { "input": [ - "audio", - "image", - "pdf", - "text", - "video" + "text" ], "output": [ - "image", "text" ] }, "limit": { - "context": 2000000, - "output": 32768 + "context": 8192, + "output": 1536 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-03-15", - "last_updated": "2026-03-15", + "knowledge": "2022-12", + "release_date": "2022-12-15", + "last_updated": "2022-12-15", "cost": { - "input": 0, + "input": 0.1, "output": 0 }, - "type": "chat" + "type": "embedding" }, { - "id": "moonshotai/kimi-k2-thinking", - "name": "MoonshotAI: Kimi K2 Thinking", - "display_name": "MoonshotAI: Kimi K2 Thinking", + "id": "o3-mini", + "name": "o3-mini", + "display_name": "o3-mini", "modalities": { "input": [ "text" @@ -46739,10 +49913,10 @@ ] }, "limit": { - "context": 131072, - "output": 65535 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -46751,29 +49925,33 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": false, - "open_weights": true, - "release_date": "2025-11-06", - "last_updated": "2026-03-15", + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2024-12-20", + "last_updated": "2025-01-29", "cost": { - "input": 0.47, - "output": 2, - "cache_read": 0.2 + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2.6", - "name": "MoonshotAI: Kimi K2.6", - "display_name": "MoonshotAI: Kimi K2.6", + "id": "gpt-5.2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", "modalities": { "input": [ "text", @@ -46784,67 +49962,110 @@ ] }, "limit": { - "context": 262144, - "output": 65535 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, - "open_weights": true, - "release_date": "2026-04-20", - "last_updated": "2026-05-12", + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.75, - "output": 3.5, - "cache_read": 0.375 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2-0905", - "name": "MoonshotAI: Kimi K2 0905", - "display_name": "MoonshotAI: Kimi K2 0905", + "id": "gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "display_name": "GPT-5.3 Codex", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 26215 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-09-05", - "last_updated": "2025-09-05", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 0.4, - "output": 2, - "cache_read": 0.15 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2", - "name": "MoonshotAI: Kimi K2 0711", - "display_name": "MoonshotAI: Kimi K2 0711", + "id": "text-embedding-3-small", + "name": "text-embedding-3-small", + "display_name": "text-embedding-3-small", "modalities": { "input": [ "text" @@ -46854,103 +50075,120 @@ ] }, "limit": { - "context": 131000, - "output": 26215 + "context": 8191, + "output": 1536 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-07-11", - "last_updated": "2026-03-15", + "open_weights": false, + "knowledge": "2024-01", + "release_date": "2024-01-25", + "last_updated": "2024-01-25", "cost": { - "input": 0.55, - "output": 2.2 + "input": 0.02, + "output": 0 }, - "type": "chat" + "type": "embedding" }, { - "id": "moonshotai/kimi-k2.5", - "name": "MoonshotAI: Kimi K2.5", - "display_name": "MoonshotAI: Kimi K2.5", + "id": "gpt-5.1-codex-mini", + "name": "GPT-5.1 Codex mini", + "display_name": "GPT-5.1 Codex mini", "modalities": { "input": [ - "image", - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65535 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, - "open_weights": true, - "release_date": "2026-01-27", - "last_updated": "2026-03-15", + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0.45, - "output": 2.2 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "meta-llama/llama-3.1-70b-instruct", - "name": "Meta: Llama 3.1 70B Instruct", - "display_name": "Meta: Llama 3.1 70B Instruct", + "id": "gpt-5.1-chat-latest", + "name": "GPT-5.1 Chat", + "display_name": "GPT-5.1 Chat", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 26215 + "context": 128000, + "output": 16384 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-07-16", - "last_updated": "2024-07-23", + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0.4, - "output": 0.4 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "meta-llama/llama-4-maverick", - "name": "Meta: Llama 4 Maverick", - "display_name": "Meta: Llama 4 Maverick", + "id": "gpt-5.2-chat-latest", + "name": "GPT-5.2 Chat", + "display_name": "GPT-5.2 Chat", "modalities": { "input": [ "text", @@ -46961,91 +50199,109 @@ ] }, "limit": { - "context": 1048576, + "context": 128000, "output": 16384 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": true, - "release_date": "2025-04-05", - "last_updated": "2025-12-24", + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.15, - "output": 0.6 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "meta-llama/llama-guard-4-12b", - "name": "Meta: Llama Guard 4 12B", - "display_name": "Meta: Llama Guard 4 12B", + "id": "o4-mini-deep-research", + "name": "o4-mini-deep-research", + "display_name": "o4-mini-deep-research", "modalities": { "input": [ - "image", - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 32768 + "context": 200000, + "output": 100000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, - "open_weights": true, - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2024-06-26", + "last_updated": "2024-06-26", "cost": { - "input": 0.18, - "output": 0.18 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "meta-llama/llama-3.2-3b-instruct", - "name": "Meta: Llama 3.2 3B Instruct", - "display_name": "Meta: Llama 3.2 3B Instruct", + "id": "gpt-image-1.5", + "name": "gpt-image-1.5", + "display_name": "gpt-image-1.5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 80000, - "output": 16384 + "context": 8192, + "output": 8192 }, - "temperature": true, + "temperature": false, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2024-09-18", - "last_updated": "2026-03-15", - "cost": { - "input": 0.051, - "output": 0.34 - }, - "type": "chat" + "attachment": true, + "open_weights": false, + "release_date": "2025-11-25", + "last_updated": "2025-11-25", + "type": "imageGeneration" }, { - "id": "meta-llama/llama-4-scout", - "name": "Meta: Llama 4 Scout", - "display_name": "Meta: Llama 4 Scout", + "id": "gpt-4.1-nano", + "name": "GPT-4.1 nano", + "display_name": "GPT-4.1 nano", "modalities": { "input": [ "text", @@ -47056,8 +50312,8 @@ ] }, "limit": { - "context": 327680, - "output": 16384 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -47065,19 +50321,21 @@ "supported": false }, "attachment": true, - "open_weights": true, - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.08, - "output": 0.3 + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "meta-llama/llama-3.2-11b-vision-instruct", - "name": "Meta: Llama 3.2 11B Vision Instruct", - "display_name": "Meta: Llama 3.2 11B Vision Instruct", + "id": "gpt-4o-2024-11-20", + "name": "GPT-4o (2024-11-20)", + "display_name": "GPT-4o (2024-11-20)", "modalities": { "input": [ "text", @@ -47088,376 +50346,524 @@ ] }, "limit": { - "context": 131072, + "context": 128000, "output": 16384 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, - "open_weights": true, - "release_date": "2024-09-25", - "last_updated": "2024-09-25", + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2024-11-20", + "last_updated": "2024-11-20", "cost": { - "input": 0.049, - "output": 0.049 + "input": 2.5, + "output": 10, + "cache_read": 1.25 }, "type": "chat" }, { - "id": "meta-llama/llama-3.2-1b-instruct", - "name": "Meta: Llama 3.2 1B Instruct", - "display_name": "Meta: Llama 3.2 1B Instruct", + "id": "o1", + "name": "o1", + "display_name": "o1", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 60000, - "output": 12000 + "context": 200000, + "output": 100000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-09-18", - "last_updated": "2026-01-27", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2024-12-05", + "last_updated": "2024-12-05", "cost": { - "input": 0.027, - "output": 0.2 + "input": 15, + "output": 60, + "cache_read": 7.5 }, "type": "chat" }, { - "id": "meta-llama/llama-3-70b-instruct", - "name": "Meta: Llama 3 70B Instruct", - "display_name": "Meta: Llama 3 70B Instruct", + "id": "o1-pro", + "name": "o1-pro", + "display_name": "o1-pro", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 8000 + "context": 200000, + "output": 100000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2025-03-19", + "last_updated": "2025-03-19", "cost": { - "input": 0.51, - "output": 0.74 + "input": 150, + "output": 600 }, "type": "chat" }, { - "id": "meta-llama/llama-3-8b-instruct", - "name": "Meta: Llama 3 8B Instruct", - "display_name": "Meta: Llama 3 8B Instruct", + "id": "gpt-5.4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 16384 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2024-04-25", - "last_updated": "2025-04-03", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0.03, - "output": 0.04 + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tiers": [ + { + "input": 5, + "output": 22.5, + "cache_read": 0.5, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 5, + "output": 22.5, + "cache_read": 0.5 + } }, "type": "chat" }, { - "id": "meta-llama/llama-3.1-8b-instruct", - "name": "Meta: Llama 3.1 8B Instruct", - "display_name": "Meta: Llama 3.1 8B Instruct", + "id": "gpt-5.4-mini", + "name": "GPT-5.4 mini", + "display_name": "GPT-5.4 mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2024-07-23", - "last_updated": "2025-12-23", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0.02, - "output": 0.05 + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "meta-llama/llama-3.3-70b-instruct", - "name": "Meta: Llama 3.3 70B Instruct", - "display_name": "Meta: Llama 3.3 70B Instruct", + "id": "gpt-4.1", + "name": "GPT-4.1", + "display_name": "GPT-4.1", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2024-08-01", - "last_updated": "2026-02-04", + "attachment": true, + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.1, - "output": 0.32 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "meta-llama/llama-guard-3-8b", - "name": "Llama Guard 3 8B", - "display_name": "Llama Guard 3 8B", + "id": "o3-deep-research", + "name": "o3-deep-research", + "display_name": "o3-deep-research", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 26215 + "context": 200000, + "output": 100000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-04-18", - "last_updated": "2026-02-04", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2024-06-26", + "last_updated": "2024-06-26", "cost": { - "input": 0.02, - "output": 0.06 + "input": 10, + "output": 40, + "cache_read": 2.5 }, "type": "chat" }, { - "id": "kilo-auto/balanced", - "name": "Kilo Auto Balanced", - "display_name": "Kilo Auto Balanced", + "id": "gpt-5-mini", + "name": "GPT-5 Mini", + "display_name": "GPT-5 Mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-03-15", - "last_updated": "2026-03-15", + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.6, - "output": 3 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "kilo-auto/frontier", - "name": "Kilo Auto Frontier", - "display_name": "Kilo Auto Frontier", + "id": "gpt-image-1", + "name": "gpt-image-1", + "display_name": "gpt-image-1", "modalities": { "input": [ - "image", - "text" + "text", + "image" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 8192, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-03-15", - "last_updated": "2026-03-15", - "cost": { - "input": 5, - "output": 25 - }, - "type": "chat" + "release_date": "2025-04-24", + "last_updated": "2025-04-24", + "type": "imageGeneration" }, { - "id": "kilo-auto/small", - "name": "Kilo Auto Small", - "display_name": "Kilo Auto Small", + "id": "gpt-4.1-mini", + "name": "GPT-4.1 mini", + "display_name": "GPT-4.1 mini", "modalities": { "input": [ + "text", "image", - "text" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-03-15", - "last_updated": "2026-03-15", + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.05, - "output": 0.4 + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 }, "type": "chat" }, { - "id": "kilo-auto/free", - "name": "Kilo Auto Free", - "display_name": "Kilo Auto Free", + "id": "gpt-4-turbo", + "name": "GPT-4 Turbo", + "display_name": "GPT-4 Turbo", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-03-15", - "last_updated": "2026-03-15", + "knowledge": "2023-12", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", "cost": { - "input": 0, - "output": 0 + "input": 10, + "output": 30 }, "type": "chat" }, { - "id": "perplexity/sonar", - "name": "Perplexity: Sonar", - "display_name": "Perplexity: Sonar", + "id": "gpt-image-1-mini", + "name": "gpt-image-1-mini", + "display_name": "gpt-image-1-mini", "modalities": { "input": [ "text", "image" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 127072, - "output": 25415 + "context": 8192, + "output": 8192 }, - "temperature": true, + "temperature": false, "tool_call": false, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2025-09-01", - "cost": { - "input": 1, - "output": 1 - }, - "type": "chat" + "release_date": "2025-09-26", + "last_updated": "2025-09-26", + "type": "imageGeneration" }, { - "id": "perplexity/sonar-pro", - "name": "Perplexity: Sonar Pro", - "display_name": "Perplexity: Sonar Pro", + "id": "gpt-5-nano", + "name": "GPT-5 Nano", + "display_name": "GPT-5 Nano", "modalities": { "input": [ "text", @@ -47468,28 +50874,52 @@ ] }, "limit": { - "context": 200000, - "output": 8000 + "context": 400000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2025-09-01", + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 3, - "output": 15 + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 }, "type": "chat" }, { - "id": "perplexity/sonar-reasoning-pro", - "name": "Perplexity: Sonar Reasoning Pro", - "display_name": "Perplexity: Sonar Reasoning Pro", + "id": "gpt-5.4-pro", + "name": "GPT-5.4 Pro", + "display_name": "GPT-5.4 Pro", "modalities": { "input": [ "text", @@ -47500,65 +50930,123 @@ ] }, "limit": { - "context": 128000, - "output": 25600 + "context": 1050000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, "attachment": true, "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2025-09-01", + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 2, - "output": 8 + "input": 30, + "output": 180, + "tiers": [ + { + "input": 60, + "output": 270, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 60, + "output": 270 + } }, "type": "chat" }, { - "id": "perplexity/sonar-pro-search", - "name": "Perplexity: Sonar Pro Search", - "display_name": "Perplexity: Sonar Pro Search", + "id": "gpt-5.5-pro", + "name": "GPT-5.5 Pro", + "display_name": "GPT-5.5 Pro", "modalities": { "input": [ + "text", "image", - "text" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 8000 + "context": 1050000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": true, "open_weights": false, - "release_date": "2025-10-31", - "last_updated": "2026-03-15", + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 3, - "output": 15 + "input": 30, + "output": 180, + "tiers": [ + { + "input": 60, + "output": 270, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 60, + "output": 270 + } }, "type": "chat" }, { - "id": "perplexity/sonar-deep-research", - "name": "Perplexity: Sonar Deep Research", - "display_name": "Perplexity: Sonar Deep Research", + "id": "gpt-4o-mini", + "name": "GPT-4o mini", + "display_name": "GPT-4o mini", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" @@ -47566,188 +51054,313 @@ }, "limit": { "context": 128000, - "output": 25600 + "output": 16384 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-01-27", - "last_updated": "2025-01-27", + "knowledge": "2023-09", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", "cost": { - "input": 2, - "output": 8 + "input": 0.15, + "output": 0.6, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "anthracite-org/magnum-v4-72b", - "name": "Magnum v4 72B", - "display_name": "Magnum v4 72B", + "id": "gpt-5-codex", + "name": "GPT-5-Codex", + "display_name": "GPT-5-Codex", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 2048 + "context": 400000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": false, - "open_weights": true, - "release_date": "2024-10-22", - "last_updated": "2026-03-15", + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", "cost": { - "input": 3, - "output": 5 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "mancer/weaver", - "name": "Mancer: Weaver (alpha)", - "display_name": "Mancer: Weaver (alpha)", + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "display_name": "GPT-5.2 Codex", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 8000, - "output": 2000 + "context": 400000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "release_date": "2023-08-02", - "last_updated": "2026-03-15", + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.75, - "output": 1 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "baidu/ernie-4.5-vl-424b-a47b", - "name": "Baidu: ERNIE 4.5 VL 424B A47B ", - "display_name": "Baidu: ERNIE 4.5 VL 424B A47B ", + "id": "gpt-5.1", + "name": "GPT-5.1", + "display_name": "GPT-5.1", "modalities": { "input": [ - "image", - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 123000, - "output": 16000 + "context": 400000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, - "open_weights": true, - "release_date": "2025-06-30", - "last_updated": "2026-01", + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0.42, - "output": 1.25 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "baidu/ernie-4.5-vl-28b-a3b", - "name": "Baidu: ERNIE 4.5 VL 28B A3B", - "display_name": "Baidu: ERNIE 4.5 VL 28B A3B", + "id": "gpt-5.5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 30000, - "output": 8000 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, "attachment": true, - "open_weights": true, - "release_date": "2025-06-30", - "last_updated": "2025-06-30", + "open_weights": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 0.14, - "output": 0.56 + "input": 5, + "output": 30, + "cache_read": 0.5, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + } }, "type": "chat" }, { - "id": "baidu/ernie-4.5-21b-a3b-thinking", - "name": "Baidu: ERNIE 4.5 21B A3B Thinking", - "display_name": "Baidu: ERNIE 4.5 21B A3B Thinking", + "id": "gpt-image-2", + "name": "gpt-image-2", + "display_name": "gpt-image-2", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 131072, - "output": 65536 + "context": 8192, + "output": 8192 }, - "temperature": true, + "temperature": false, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-09-19", - "last_updated": "2025-09-19", + "attachment": true, + "open_weights": false, + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0.07, - "output": 0.28 + "input": 5, + "output": 30, + "cache_read": 1.25 }, - "type": "chat" - }, + "type": "imageGeneration" + } + ] + }, + "berget": { + "id": "berget", + "name": "Berget.AI", + "display_name": "Berget.AI", + "api": "https://api.berget.ai/v1", + "doc": "https://api.berget.ai", + "models": [ { - "id": "baidu/cobuddy:free", - "name": "Baidu: CoBuddy (free)", - "display_name": "Baidu: CoBuddy (free)", + "id": "meta-llama/Llama-3.3-70B-Instruct", + "name": "Llama 3.3 70B Instruct", + "display_name": "Llama 3.3 70B Instruct", "modalities": { "input": [ "text" @@ -47757,93 +51370,113 @@ ] }, "limit": { - "context": 131072, - "output": 65536 + "context": 128000, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2026-05-06", - "last_updated": "2026-05-07", + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2025-04-27", + "last_updated": "2025-04-27", "cost": { - "input": 0, - "output": 0 + "input": 0.99, + "output": 0.99 }, "type": "chat" }, { - "id": "baidu/ernie-4.5-21b-a3b", - "name": "Baidu: ERNIE 4.5 21B A3B", - "display_name": "Baidu: ERNIE 4.5 21B A3B", + "id": "moonshotai/Kimi-K2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 120000, - "output": 8000 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": true, - "release_date": "2025-06-30", - "last_updated": "2025-06-30", + "knowledge": "2025-01", + "release_date": "2026-05-07", + "last_updated": "2026-05-07", "cost": { - "input": 0.07, - "output": 0.28 + "input": 0.83, + "output": 3.85, + "cache_read": 0.16 }, "type": "chat" }, { - "id": "baidu/qianfan-ocr-fast", - "name": "Baidu: Qianfan-OCR-Fast", - "display_name": "Baidu: Qianfan-OCR-Fast", + "id": "google/gemma-4-31B-it", + "name": "Gemma 4 31B Instruct", + "display_name": "Gemma 4 31B Instruct", "modalities": { "input": [ + "audio", "image", - "text" + "text", + "video" ], "output": [ "text" ] }, "limit": { - "context": 65536, - "output": 28672 + "context": 128000, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": true, - "open_weights": false, - "release_date": "2026-04-20", - "last_updated": "2026-05-16", + "open_weights": true, + "knowledge": "2025-12", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0.68, - "output": 2.81 + "input": 0.275, + "output": 0.55 }, "type": "chat" }, { - "id": "baidu/ernie-4.5-300b-a47b", - "name": "Baidu: ERNIE 4.5 300B A47B ", - "display_name": "Baidu: ERNIE 4.5 300B A47B ", + "id": "openai/gpt-oss-120b", + "name": "GPT-OSS-120B", + "display_name": "GPT-OSS-120B", "modalities": { "input": [ "text" @@ -47853,32 +51486,38 @@ ] }, "limit": { - "context": 123000, - "output": 12000 + "context": 128000, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": true, - "release_date": "2025-06-30", - "last_updated": "2026-01", + "knowledge": "2025-08", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.28, - "output": 1.1 + "input": 0.44, + "output": 0.99 }, "type": "chat" }, { - "id": "x-ai/grok-4.20-multi-agent", - "name": "xAI: Grok 4.20 Multi-Agent", - "display_name": "xAI: Grok 4.20 Multi-Agent", + "id": "mistralai/Mistral-Medium-3.5-128B", + "name": "Mistral Medium 3.5 128B", + "display_name": "Mistral Medium 3.5 128B", "modalities": { "input": [ "image", - "pdf", "text" ], "output": [ @@ -47886,33 +51525,32 @@ ] }, "limit": { - "context": 2000000, - "output": 2000000 + "context": 262144, + "output": 131072 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": true, - "open_weights": false, - "release_date": "2026-03-31", - "last_updated": "2026-04-11", + "open_weights": true, + "knowledge": "2026-04", + "release_date": "2026-04-29", + "last_updated": "2026-04-29", "cost": { - "input": 2, - "output": 6, - "cache_read": 0.2 + "input": 1.65, + "output": 5.5 }, "type": "chat" }, { - "id": "x-ai/grok-build-0.1", - "name": "xAI: Grok Build 0.1", - "display_name": "xAI: Grok Build 0.1", + "id": "mistralai/Mistral-Small-3.2-24B-Instruct-2506", + "name": "Mistral Small 3.2 24B Instruct 2506", + "display_name": "Mistral Small 3.2 24B Instruct 2506", "modalities": { "input": [ - "image", "text" ], "output": [ @@ -47920,8 +51558,8 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 32000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -47929,30 +51567,23 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": true, - "open_weights": false, - "release_date": "2026-05-20", - "last_updated": "2026-05-27", + "attachment": false, + "open_weights": true, + "knowledge": "2025-09", + "release_date": "2025-10-01", + "last_updated": "2025-10-01", "cost": { - "input": 1, - "output": 2, - "cache_read": 0.2 + "input": 0.33, + "output": 0.33 }, "type": "chat" }, { - "id": "x-ai/grok-4.20", - "name": "xAI: Grok 4.20", - "display_name": "xAI: Grok 4.20", + "id": "zai-org/GLM-4.7", + "name": "GLM 4.7", + "display_name": "GLM 4.7", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -47960,8 +51591,8 @@ ] }, "limit": { - "context": 2000000, - "output": 2000000 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -47969,74 +51600,142 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2026-03-31", - "last_updated": "2026-04-11", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-12", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", "cost": { - "input": 2, - "output": 6, - "cache_read": 0.2 + "input": 0.77, + "output": 2.75 }, "type": "chat" - }, + } + ] + }, + "snowflake-cortex": { + "id": "snowflake-cortex", + "name": "Snowflake Cortex", + "display_name": "Snowflake Cortex", + "api": "https://${SNOWFLAKE_ACCOUNT}.snowflakecomputing.com/api/v2/cortex/v1", + "doc": "https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-rest-api", + "models": [ { - "id": "x-ai/grok-4.3", - "name": "xAI: Grok 4.3", - "display_name": "xAI: Grok 4.3", + "id": "openai-gpt-5.1", + "name": "GPT-5.1", + "display_name": "GPT-5.1", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 400000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "type": "chat" + }, + { + "id": "snowflake-llama3.3-70b", + "name": "Llama-3.3-70B-Instruct", + "display_name": "Llama-3.3-70B-Instruct", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, "output": 4096 }, "temperature": true, "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "type": "chat" + }, + { + "id": "openai-gpt-5.2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 400000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, "attachment": true, "open_weights": false, - "release_date": "2026-05-01", - "last_updated": "2026-05-01", - "cost": { - "input": 1.25, - "output": 2.5, - "cache_read": 0.2 - }, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "type": "chat" }, { - "id": "stealth/claude-sonnet-4.6", - "name": "Stealth: Claude Sonnet 4.6 (20% off)", - "display_name": "Stealth: Claude Sonnet 4.6 (20% off)", + "id": "claude-sonnet-4-5", + "name": "Claude Sonnet 4.5 (latest)", + "display_name": "Claude Sonnet 4.5 (latest)", "modalities": { "input": [ + "text", "image", - "pdf", - "text" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 200000, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -48048,18 +51747,11 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "mixed", + "mode": "budget", "budget": { "min": 1024, "unit": "tokens" }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], "interleaved": true, "summaries": true, "visibility": "summary", @@ -48067,32 +51759,27 @@ "thinking_blocks" ], "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-02-17", - "last_updated": "2026-05-27", - "cost": { - "input": 2.4, - "output": 12, - "cache_read": 0.24, - "cache_write": 3 - }, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "type": "chat" }, { - "id": "stealth/claude-opus-4.7", - "name": "Stealth: Claude Opus 4.7 (20% off)", - "display_name": "Stealth: Claude Opus 4.7 (20% off)", + "id": "claude-opus-4-7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", "modalities": { "input": [ + "text", "image", - "pdf", - "text" + "pdf" ], "output": [ "text" @@ -48136,25 +51823,60 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2026-01-31", "release_date": "2026-04-16", - "last_updated": "2026-05-27", - "cost": { - "input": 4, - "output": 20, - "cache_read": 0.4, - "cache_write": 5 + "last_updated": "2026-04-16", + "type": "chat" + }, + { + "id": "deepseek-r1", + "name": "DeepSeek-R1", + "display_name": "DeepSeek-R1", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, + "attachment": false, + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-05-29", "type": "chat" }, { - "id": "stealth/claude-opus-4.6", - "name": "Stealth: Claude Opus 4.6 (20% off)", - "display_name": "Stealth: Claude Opus 4.6 (20% off)", + "id": "claude-opus-4-8", + "name": "Claude Opus 4.8", + "display_name": "Claude Opus 4.8", "modalities": { "input": [ + "text", "image", - "pdf", - "text" + "pdf" ], "output": [ "text" @@ -48164,7 +51886,7 @@ "context": 1000000, "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -48174,212 +51896,242 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, + "mode": "effort", "effort": "high", "effort_options": [ "low", "medium", "high", + "xhigh", "max" ], "interleaved": true, "summaries": true, - "visibility": "summary", + "visibility": "omitted", "continuation": [ "thinking_blocks" ], "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-02-05", - "last_updated": "2026-05-27", - "cost": { - "input": 4, - "output": 20, - "cache_read": 0.4, - "cache_write": 5 - }, + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "type": "chat" }, { - "id": "nvidia/nemotron-3-nano-30b-a3b", - "name": "NVIDIA: Nemotron 3 Nano 30B A3B", - "display_name": "NVIDIA: Nemotron 3 Nano 30B A3B", + "id": "openai-gpt-5", + "name": "GPT-5", + "display_name": "GPT-5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 52429 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-12", - "last_updated": "2026-02-04", - "cost": { - "input": 0.05, - "output": 0.2 - }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "type": "chat" }, { - "id": "nvidia/nemotron-nano-9b-v2", - "name": "NVIDIA: Nemotron Nano 9B V2", - "display_name": "NVIDIA: Nemotron Nano 9B V2", + "id": "openai-gpt-5.5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 26215 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-18", - "last_updated": "2025-08-18", - "cost": { - "input": 0.04, - "output": 0.16 - }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "type": "chat" }, { - "id": "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free", - "name": "NVIDIA: Nemotron 3 Nano Omni (free)", - "display_name": "NVIDIA: Nemotron 3 Nano Omni (free)", + "id": "claude-fable-5", + "name": "Claude Fable 5", + "display_name": "Claude Fable 5", "modalities": { "input": [ "text", - "audio", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 65536 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Adaptive thinking is always on for Claude Fable 5 and Claude Mythos 5; thinking.type = \"disabled\" is rejected.", + "Manual budget_tokens requests return 400 on Claude Fable 5 and Claude Mythos 5.", + "thinking.display defaults to omitted; set display to summarized to receive readable thinking summaries." + ] + } + }, "attachment": true, "open_weights": false, - "release_date": "2026-04-28", - "last_updated": "2026-05-01", - "cost": { - "input": 0, - "output": 0 - }, + "knowledge": "2026-01-31", + "release_date": "2026-06-09", + "last_updated": "2026-06-09", "type": "chat" }, { - "id": "nvidia/nemotron-3-super-120b-a12b:free", - "name": "NVIDIA: Nemotron 3 Super (free)", - "display_name": "NVIDIA: Nemotron 3 Super (free)", + "id": "openai-gpt-5-nano", + "name": "GPT-5 Nano", + "display_name": "GPT-5 Nano", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-12", - "last_updated": "2026-03-15", - "cost": { - "input": 0, - "output": 0 - }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "type": "chat" }, { - "id": "nvidia/llama-3.3-nemotron-super-49b-v1.5", - "name": "NVIDIA: Llama 3.3 Nemotron Super 49B V1.5", - "display_name": "NVIDIA: Llama 3.3 Nemotron Super 49B V1.5", + "id": "claude-haiku-4-5", + "name": "Claude Haiku 4.5 (latest)", + "display_name": "Claude Haiku 4.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 26215 + "context": 200000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, - "open_weights": false, - "release_date": "2025-03-16", - "last_updated": "2025-03-16", - "cost": { - "input": 0.1, - "output": 0.4 + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "type": "chat" }, { - "id": "nvidia/nemotron-3-super-120b-a12b", - "name": "NVIDIA: Nemotron 3 Super", - "display_name": "NVIDIA: Nemotron 3 Super", + "id": "mistral-large2", + "name": "Mistral Large (latest)", + "display_name": "Mistral Large (latest)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -48392,183 +52144,228 @@ "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2026-03-11", - "last_updated": "2026-04-11", - "cost": { - "input": 0.1, - "output": 0.5, - "cache_read": 0.1 - }, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2025-12-02", "type": "chat" }, { - "id": "switchpoint/router", - "name": "Switchpoint Router", - "display_name": "Switchpoint Router", + "id": "openai-gpt-4.1", + "name": "GPT-4.1", + "display_name": "GPT-4.1", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, + "context": 1047576, "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-07-12", - "last_updated": "2026-03-15", - "cost": { - "input": 0.85, - "output": 3.4 - }, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "type": "chat" }, { - "id": "arcee-ai/trinity-mini", - "name": "Arcee AI: Trinity Mini", - "display_name": "Arcee AI: Trinity Mini", + "id": "claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 1000000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-12", - "last_updated": "2026-01-28", - "cost": { - "input": 0.045, - "output": 0.15 + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "type": "chat" }, { - "id": "arcee-ai/trinity-large-thinking", - "name": "Arcee AI: Trinity Large Thinking", - "display_name": "Arcee AI: Trinity Large Thinking", + "id": "openai-gpt-5.4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2026-04-01", - "last_updated": "2026-04-11", - "cost": { - "input": 0.22, - "output": 0.85 - }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "type": "chat" }, { - "id": "arcee-ai/spotlight", - "name": "Arcee AI: Spotlight", - "display_name": "Arcee AI: Spotlight", + "id": "gemini-3.1-pro", + "name": "Gemini 3.1 Pro Preview", + "display_name": "Gemini 3.1 Pro Preview", "modalities": { "input": [ + "text", "image", - "text" + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 65537 + "context": 1048576, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": true, - "release_date": "2025-05-06", - "last_updated": "2026-03-15", - "cost": { - "input": 0.18, - "output": 0.18 + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", "type": "chat" }, { - "id": "arcee-ai/maestro-reasoning", - "name": "Arcee AI: Maestro Reasoning", - "display_name": "Arcee AI: Maestro Reasoning", + "id": "openai-gpt-5-mini", + "name": "GPT-5 Mini", + "display_name": "GPT-5 Mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32000 + "context": 272000, + "output": 8192 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-05-06", - "last_updated": "2026-03-15", - "cost": { - "input": 0.9, - "output": 3.3 + "supported": true, + "default": true }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "type": "chat" - }, + } + ] + }, + "github-models": { + "id": "github-models", + "name": "GitHub Models", + "display_name": "GitHub Models", + "api": "https://models.github.ai/inference", + "doc": "https://docs.github.com/en/github-models", + "models": [ { - "id": "arcee-ai/coder-large", - "name": "Arcee AI: Coder Large", - "display_name": "Arcee AI: Coder Large", + "id": "ai21-labs/ai21-jamba-1.5-mini", + "name": "AI21 Jamba 1.5 Mini", + "display_name": "AI21 Jamba 1.5 Mini", "modalities": { "input": [ "text" @@ -48578,28 +52375,30 @@ ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 256000, + "output": 4096 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": true, - "release_date": "2025-05-06", - "last_updated": "2026-03-15", + "open_weights": false, + "knowledge": "2024-03", + "release_date": "2024-08-29", + "last_updated": "2024-08-29", "cost": { - "input": 0.5, - "output": 0.8 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "arcee-ai/virtuoso-large", - "name": "Arcee AI: Virtuoso Large", - "display_name": "Arcee AI: Virtuoso Large", + "id": "ai21-labs/ai21-jamba-1.5-large", + "name": "AI21 Jamba 1.5 Large", + "display_name": "AI21 Jamba 1.5 Large", "modalities": { "input": [ "text" @@ -48609,28 +52408,30 @@ ] }, "limit": { - "context": 131072, - "output": 64000 + "context": 256000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": true, - "release_date": "2025-05-06", - "last_updated": "2026-03-15", + "open_weights": false, + "knowledge": "2024-03", + "release_date": "2024-08-29", + "last_updated": "2024-08-29", "cost": { - "input": 0.75, - "output": 1.2 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gryphe/mythomax-l2-13b", - "name": "MythoMax 13B", - "display_name": "MythoMax 13B", + "id": "core42/jais-30b-chat", + "name": "JAIS 30b Chat", + "display_name": "JAIS 30b Chat", "modalities": { "input": [ "text" @@ -48640,28 +52441,30 @@ ] }, "limit": { - "context": 4096, - "output": 4096 + "context": 8192, + "output": 2048 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "release_date": "2024-04-25", - "last_updated": "2024-04-25", + "knowledge": "2023-03", + "release_date": "2023-08-30", + "last_updated": "2023-08-30", "cost": { - "input": 0.06, - "output": 0.06 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "microsoft/phi-4", - "name": "Microsoft: Phi 4", - "display_name": "Microsoft: Phi 4", + "id": "xai/grok-3-mini", + "name": "Grok 3 Mini", + "display_name": "Grok 3 Mini", "modalities": { "input": [ "text" @@ -48671,28 +52474,30 @@ ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 128000, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": true, - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "open_weights": false, + "knowledge": "2024-10", + "release_date": "2024-12-09", + "last_updated": "2024-12-09", "cost": { - "input": 0.06, - "output": 0.14 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "microsoft/wizardlm-2-8x22b", - "name": "WizardLM-2 8x22B", - "display_name": "WizardLM-2 8x22B", + "id": "xai/grok-3", + "name": "Grok 3", + "display_name": "Grok 3", "modalities": { "input": [ "text" @@ -48702,28 +52507,30 @@ ] }, "limit": { - "context": 65535, - "output": 8000 + "context": 128000, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": true, - "release_date": "2024-04-24", - "last_updated": "2024-04-24", + "open_weights": false, + "knowledge": "2024-10", + "release_date": "2024-12-09", + "last_updated": "2024-12-09", "cost": { - "input": 0.62, - "output": 0.62 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "microsoft/phi-4-mini-instruct", - "name": "Microsoft: Phi 4 Mini Instruct", - "display_name": "Microsoft: Phi 4 Mini Instruct", + "id": "microsoft/phi-3.5-moe-instruct", + "name": "Phi-3.5-MoE instruct (128k)", + "display_name": "Phi-3.5-MoE instruct (128k)", "modalities": { "input": [ "text" @@ -48734,28 +52541,29 @@ }, "limit": { "context": 128000, - "output": 128000 + "output": 4096 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "release_date": "2025-10-17", - "last_updated": "2026-05-07", + "knowledge": "2023-10", + "release_date": "2024-08-20", + "last_updated": "2024-08-20", "cost": { - "input": 0.08, - "output": 0.35, - "cache_read": 0.08 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "writer/palmyra-x5", - "name": "Writer: Palmyra X5", - "display_name": "Writer: Palmyra X5", + "id": "microsoft/phi-3-small-128k-instruct", + "name": "Phi-3-small instruct (128k)", + "display_name": "Phi-3-small instruct (128k)", "modalities": { "input": [ "text" @@ -48765,41 +52573,41 @@ ] }, "limit": { - "context": 1040000, - "output": 8192 + "context": 128000, + "output": 4096 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2025-04-28", - "last_updated": "2025-04-28", + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", "cost": { - "input": 0.6, - "output": 6 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "bytedance-seed/seed-2.0-mini", - "name": "ByteDance Seed: Seed-2.0-Mini", - "display_name": "ByteDance Seed: Seed-2.0-Mini", + "id": "microsoft/phi-3.5-mini-instruct", + "name": "Phi-3.5-mini instruct (128k)", + "display_name": "Phi-3.5-mini instruct (128k)", "modalities": { "input": [ - "image", - "text", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -48807,33 +52615,32 @@ "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-02-27", - "last_updated": "2026-03-15", + "knowledge": "2023-10", + "release_date": "2024-08-20", + "last_updated": "2024-08-20", "cost": { - "input": 0.1, - "output": 0.4 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "bytedance-seed/seed-1.6-flash", - "name": "ByteDance Seed: Seed 1.6 Flash", - "display_name": "ByteDance Seed: Seed 1.6 Flash", + "id": "microsoft/phi-3-medium-128k-instruct", + "name": "Phi-3-medium instruct (128k)", + "display_name": "Phi-3-medium instruct (128k)", "modalities": { "input": [ - "image", - "text", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -48841,33 +52648,32 @@ "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2025-12-23", - "last_updated": "2026-03-15", + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", "cost": { - "input": 0.075, - "output": 0.3 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "bytedance-seed/seed-1.6", - "name": "ByteDance Seed: Seed 1.6", - "display_name": "ByteDance Seed: Seed 1.6", + "id": "microsoft/phi-3-small-8k-instruct", + "name": "Phi-3-small instruct (8k)", + "display_name": "Phi-3-small instruct (8k)", "modalities": { "input": [ - "image", - "text", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 8192, + "output": 2048 }, "temperature": true, "tool_call": true, @@ -48875,33 +52681,32 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-09", - "last_updated": "2025-09", + "attachment": false, + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", "cost": { - "input": 0.25, - "output": 2 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "bytedance-seed/seed-2.0-lite", - "name": "ByteDance Seed: Seed-2.0-Lite", - "display_name": "ByteDance Seed: Seed-2.0-Lite", + "id": "microsoft/phi-4-reasoning", + "name": "Phi-4-Reasoning", + "display_name": "Phi-4-Reasoning", "modalities": { "input": [ - "image", - "text", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -48909,20 +52714,21 @@ "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-03-10", - "last_updated": "2026-03-15", + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", "cost": { - "input": 0.25, - "output": 2 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "nex-agi/deepseek-v3.1-nex-n1", - "name": "Nex AGI: DeepSeek V3.1 Nex N1", - "display_name": "Nex AGI: DeepSeek V3.1 Nex N1", + "id": "microsoft/mai-ds-r1", + "name": "MAI-DS-R1", + "display_name": "MAI-DS-R1", "modalities": { "input": [ "text" @@ -48932,28 +52738,30 @@ ] }, "limit": { - "context": 131072, - "output": 163840 + "context": 65536, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2025-01-01", - "last_updated": "2025-11-25", + "knowledge": "2024-06", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", "cost": { - "input": 0.27, - "output": 1 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "tencent/hy3-preview", - "name": "Tencent: Hy3 Preview", - "display_name": "Tencent: Hy3 Preview", + "id": "microsoft/phi-4-mini-instruct", + "name": "Phi-4-mini-instruct", + "display_name": "Phi-4-mini-instruct", "modalities": { "input": [ "text" @@ -48963,8 +52771,8 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -48972,26 +52780,21 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, "attachment": false, - "open_weights": false, - "release_date": "2026-04-22", - "last_updated": "2026-05-16", + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", "cost": { - "input": 0.066, - "output": 0.26, - "cache_read": 0.029 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "tencent/hunyuan-a13b-instruct", - "name": "Tencent: Hunyuan A13B Instruct", - "display_name": "Tencent: Hunyuan A13B Instruct", + "id": "microsoft/phi-4", + "name": "Phi-4", + "display_name": "Phi-4", "modalities": { "input": [ "text" @@ -49001,61 +52804,64 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 16000, + "output": 4096 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2025-06-30", - "last_updated": "2025-11-25", + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", "cost": { - "input": 0.14, - "output": 0.57 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "ibm-granite/granite-4.1-8b", - "name": "IBM: Granite 4.1 8B", - "display_name": "IBM: Granite 4.1 8B", + "id": "microsoft/phi-3.5-vision-instruct", + "name": "Phi-3.5-vision instruct (128k)", + "display_name": "Phi-3.5-vision instruct (128k)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-05-01", + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-08-20", + "last_updated": "2024-08-20", "cost": { - "input": 0.05, - "output": 0.1, - "cache_read": 0.05 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "ibm-granite/granite-4.0-h-micro", - "name": "IBM: Granite 4.0 Micro", - "display_name": "IBM: Granite 4.0 Micro", + "id": "microsoft/phi-3-medium-4k-instruct", + "name": "Phi-3-medium instruct (4k)", + "display_name": "Phi-3-medium instruct (4k)", "modalities": { "input": [ "text" @@ -49065,39 +52871,43 @@ ] }, "limit": { - "context": 131000, - "output": 32768 + "context": 4096, + "output": 1024 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "release_date": "2025-10-20", - "last_updated": "2026-03-15", + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", "cost": { - "input": 0.017, - "output": 0.11 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "stepfun/step-3.5-flash", - "name": "StepFun: Step 3.5 Flash", - "display_name": "StepFun: Step 3.5 Flash", + "id": "microsoft/phi-4-multimodal-instruct", + "name": "Phi-4-multimodal-instruct", + "display_name": "Phi-4-multimodal-instruct", "modalities": { "input": [ - "text" + "text", + "image", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -49107,19 +52917,19 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-01-29", - "last_updated": "2026-01-29", + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", "cost": { - "input": 0.1, - "output": 0.3, - "cache_read": 0.02 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "aion-labs/aion-2.0", - "name": "AionLabs: Aion-2.0", - "display_name": "AionLabs: Aion-2.0", + "id": "microsoft/phi-4-mini-reasoning", + "name": "Phi-4-mini-reasoning", + "display_name": "Phi-4-mini-reasoning", "modalities": { "input": [ "text" @@ -49129,29 +52939,30 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 128000, + "output": 4096 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2026-02-24", - "last_updated": "2026-03-15", + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", "cost": { - "input": 0.8, - "output": 1.6 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "aion-labs/aion-1.0", - "name": "AionLabs: Aion-1.0", - "display_name": "AionLabs: Aion-1.0", + "id": "microsoft/phi-3-mini-128k-instruct", + "name": "Phi-3-mini instruct (128k)", + "display_name": "Phi-3-mini instruct (128k)", "modalities": { "input": [ "text" @@ -49161,29 +52972,30 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 128000, + "output": 4096 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2025-02-05", - "last_updated": "2026-03-15", + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", "cost": { - "input": 4, - "output": 8 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "aion-labs/aion-rp-llama-3.1-8b", - "name": "AionLabs: Aion-RP 1.0 (8B)", - "display_name": "AionLabs: Aion-RP 1.0 (8B)", + "id": "microsoft/phi-3-mini-4k-instruct", + "name": "Phi-3-mini instruct (4k)", + "display_name": "Phi-3-mini instruct (4k)", "modalities": { "input": [ "text" @@ -49193,28 +53005,78 @@ ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 4096, + "output": 1024 }, "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, + { + "id": "openai/o3", + "name": "OpenAI o3", + "display_name": "OpenAI o3", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 100000 + }, + "temperature": false, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": false, "open_weights": false, - "release_date": "2025-02-05", - "last_updated": "2026-03-15", + "knowledge": "2024-04", + "release_date": "2025-01-31", + "last_updated": "2025-01-31", "cost": { - "input": 0.8, - "output": 1.6 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "aion-labs/aion-1.0-mini", - "name": "AionLabs: Aion-1.0-Mini", - "display_name": "AionLabs: Aion-1.0-Mini", + "id": "openai/o1-mini", + "name": "OpenAI o1-mini", + "display_name": "OpenAI o1-mini", "modalities": { "input": [ "text" @@ -49224,41 +53086,57 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 128000, + "output": 65536 }, - "temperature": true, + "temperature": false, "tool_call": false, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, "attachment": false, "open_weights": false, - "release_date": "2025-02-05", - "last_updated": "2026-03-15", + "knowledge": "2023-10", + "release_date": "2024-09-12", + "last_updated": "2024-12-17", "cost": { - "input": 0.7, - "output": 1.4 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "amazon/nova-pro-v1", - "name": "Amazon: Nova Pro 1.0", - "display_name": "Amazon: Nova Pro 1.0", + "id": "openai/gpt-4o", + "name": "GPT-4o", + "display_name": "GPT-4o", "modalities": { "input": [ "text", - "image" + "image", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 300000, - "output": 5120 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -49267,50 +53145,67 @@ }, "attachment": true, "open_weights": false, - "release_date": "2024-12-03", - "last_updated": "2024-12-03", + "knowledge": "2023-10", + "release_date": "2024-05-13", + "last_updated": "2024-05-13", "cost": { - "input": 0.8, - "output": 3.2 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "amazon/nova-lite-v1", - "name": "Amazon: Nova Lite 1.0", - "display_name": "Amazon: Nova Lite 1.0", + "id": "openai/o4-mini", + "name": "OpenAI o4-mini", + "display_name": "OpenAI o4-mini", "modalities": { "input": [ - "image", - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 300000, - "output": 5120 + "context": 200000, + "output": 100000 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": false, "open_weights": false, - "release_date": "2024-12-06", - "last_updated": "2026-03-15", + "knowledge": "2024-04", + "release_date": "2025-01-31", + "last_updated": "2025-01-31", "cost": { - "input": 0.06, - "output": 0.24 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "amazon/nova-micro-v1", - "name": "Amazon: Nova Micro 1.0", - "display_name": "Amazon: Nova Micro 1.0", + "id": "openai/o1-preview", + "name": "OpenAI o1-preview", + "display_name": "OpenAI o1-preview", "modalities": { "input": [ "text" @@ -49321,30 +53216,45 @@ }, "limit": { "context": 128000, - "output": 5120 + "output": 32768 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": false, "open_weights": false, - "release_date": "2024-12-06", - "last_updated": "2026-03-15", + "knowledge": "2023-10", + "release_date": "2024-09-12", + "last_updated": "2024-09-12", "cost": { - "input": 0.035, - "output": 0.14 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "amazon/nova-premier-v1", - "name": "Amazon: Nova Premier 1.0", - "display_name": "Amazon: Nova Premier 1.0", + "id": "openai/o3-mini", + "name": "OpenAI o3-mini", + "display_name": "OpenAI o3-mini", "modalities": { "input": [ - "image", "text" ], "output": [ @@ -49352,222 +53262,259 @@ ] }, "limit": { - "context": 1000000, - "output": 32000 + "context": 200000, + "output": 100000 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": false, "open_weights": false, - "release_date": "2025-11-01", - "last_updated": "2026-03-15", + "knowledge": "2024-04", + "release_date": "2025-01-31", + "last_updated": "2025-01-31", "cost": { - "input": 2.5, - "output": 12.5 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "amazon/nova-2-lite-v1", - "name": "Amazon: Nova 2 Lite", - "display_name": "Amazon: Nova 2 Lite", + "id": "openai/gpt-4.1-nano", + "name": "GPT-4.1-nano", + "display_name": "GPT-4.1-nano", "modalities": { "input": [ - "image", - "pdf", "text", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65535 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2024-12-01", - "last_updated": "2026-03-15", + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.3, - "output": 2.5 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "inclusionai/ling-2.6-flash", - "name": "inclusionAI: Ling-2.6 Flash", - "display_name": "inclusionAI: Ling-2.6 Flash", + "id": "openai/o1", + "name": "OpenAI o1", + "display_name": "OpenAI o1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 200000, + "output": 100000 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": false, "open_weights": false, - "release_date": "2026-04-21", - "last_updated": "2026-05-01", + "knowledge": "2023-10", + "release_date": "2024-09-12", + "last_updated": "2024-12-17", "cost": { - "input": 0.08, - "output": 0.24, - "cache_read": 0.016 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "inclusionai/ling-2.6-1t", - "name": "inclusionAI: Ling-2.6-1T", - "display_name": "inclusionAI: Ling-2.6-1T", + "id": "openai/gpt-4.1", + "name": "GPT-4.1", + "display_name": "GPT-4.1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-04-23", - "last_updated": "2026-05-16", + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.06 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "inclusionai/ring-2.6-1t", - "name": "inclusionAI: Ring-2.6-1T", - "display_name": "inclusionAI: Ring-2.6-1T", + "id": "openai/gpt-4.1-mini", + "name": "GPT-4.1-mini", + "display_name": "GPT-4.1-mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-05-08", - "last_updated": "2026-05-16", + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.075, - "output": 0.625, - "cache_read": 0.015 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "morph/morph-v3-fast", - "name": "Morph: Morph V3 Fast", - "display_name": "Morph: Morph V3 Fast", + "id": "openai/gpt-4o-mini", + "name": "GPT-4o mini", + "display_name": "GPT-4o mini", "modalities": { "input": [ - "text" + "text", + "image", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 81920, - "output": 38000 + "context": 128000, + "output": 16384 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-08-15", - "last_updated": "2024-08-15", + "knowledge": "2023-10", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", "cost": { - "input": 0.8, - "output": 1.2 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "morph/morph-v3-large", - "name": "Morph: Morph V3 Large", - "display_name": "Morph: Morph V3 Large", + "id": "mistral-ai/mistral-small-2503", + "name": "Mistral Small 3.1", + "display_name": "Mistral Small 3.1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 128000, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2024-08-15", - "last_updated": "2024-08-15", + "knowledge": "2024-09", + "release_date": "2025-03-01", + "last_updated": "2025-03-01", "cost": { - "input": 0.9, - "output": 1.9 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "undi95/remm-slerp-l2-13b", - "name": "ReMM SLERP 13B", - "display_name": "ReMM SLERP 13B", + "id": "mistral-ai/mistral-nemo", + "name": "Mistral Nemo", + "display_name": "Mistral Nemo", "modalities": { "input": [ "text" @@ -49577,156 +53524,153 @@ ] }, "limit": { - "context": 6144, - "output": 4096 + "context": 128000, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "release_date": "2023-07-22", - "last_updated": "2026-03-15", + "knowledge": "2024-03", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", "cost": { - "input": 0.45, - "output": 0.65 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemini-2.0-flash-lite-001", - "name": "Google: Gemini 2.0 Flash Lite", - "display_name": "Google: Gemini 2.0 Flash Lite", + "id": "mistral-ai/mistral-medium-2505", + "name": "Mistral Medium 3 (25.05)", + "display_name": "Mistral Medium 3 (25.05)", "modalities": { "input": [ - "audio", - "image", - "pdf", "text", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 8192 + "context": 128000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2024-12-11", - "last_updated": "2026-03-15", + "knowledge": "2024-09", + "release_date": "2025-05-01", + "last_updated": "2025-05-01", "cost": { - "input": 0.075, - "output": 0.3 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemini-2.5-flash-image", - "name": "Google: Nano Banana (Gemini 2.5 Flash Image)", - "display_name": "Google: Nano Banana (Gemini 2.5 Flash Image)", + "id": "mistral-ai/mistral-large-2411", + "name": "Mistral Large 24.11", + "display_name": "Mistral Large 24.11", "modalities": { "input": [ - "image", "text" ], "output": [ - "image", "text" ] }, "limit": { - "context": 32768, + "context": 128000, "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-10-08", - "last_updated": "2026-03-15", + "knowledge": "2024-09", + "release_date": "2024-11-01", + "last_updated": "2024-11-01", "cost": { - "input": 0.3, - "output": 2.5 + "input": 0, + "output": 0 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "google/gemini-2.0-flash-001", - "name": "Google: Gemini 2.0 Flash", - "display_name": "Google: Gemini 2.0 Flash", + "id": "mistral-ai/ministral-3b", + "name": "Ministral 3B", + "display_name": "Ministral 3B", "modalities": { "input": [ - "audio", - "image", - "pdf", - "text", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, + "context": 128000, "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2024-12-11", - "last_updated": "2026-03-15", + "attachment": false, + "open_weights": true, + "knowledge": "2024-03", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.025, - "cache_write": 0.083333 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/lyria-3-clip-preview", - "name": "Google: Lyria 3 Clip Preview", - "display_name": "Google: Lyria 3 Clip Preview", + "id": "mistral-ai/codestral-2501", + "name": "Codestral 25.01", + "display_name": "Codestral 25.01", "modalities": { "input": [ - "image", "text" ], "output": [ - "audio", "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 32000, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-03-30", - "last_updated": "2026-04-11", + "knowledge": "2024-03", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { "input": 0, "output": 0 @@ -49734,14 +53678,11 @@ "type": "chat" }, { - "id": "google/gemini-2.5-pro-preview", - "name": "Google: Gemini 2.5 Pro Preview 06-05", - "display_name": "Google: Gemini 2.5 Pro Preview 06-05", + "id": "cohere/cohere-command-a", + "name": "Cohere Command A", + "display_name": "Cohere Command A", "modalities": { "input": [ - "audio", - "image", - "pdf", "text" ], "output": [ @@ -49749,8 +53690,8 @@ ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -49758,133 +53699,128 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-06-05", - "last_updated": "2026-03-15", + "knowledge": "2024-03", + "release_date": "2024-11-01", + "last_updated": "2024-11-01", "cost": { - "input": 1.25, - "output": 10, - "reasoning": 10, - "cache_read": 0.125, - "cache_write": 0.375 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemini-3.1-flash-lite-preview", - "name": "Google: Gemini 3.1 Flash Lite Preview", - "display_name": "Google: Gemini 3.1 Flash Lite Preview", + "id": "cohere/cohere-command-r-08-2024", + "name": "Cohere Command R 08-2024", + "display_name": "Cohere Command R 08-2024", "modalities": { "input": [ - "audio", - "image", - "pdf", - "text", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "attachment": false, + "open_weights": false, + "knowledge": "2024-03", + "release_date": "2024-08-01", + "last_updated": "2024-08-01", + "cost": { + "input": 0, + "output": 0 }, - "attachment": true, + "type": "chat" + }, + { + "id": "cohere/cohere-command-r-plus", + "name": "Cohere Command R+", + "display_name": "Cohere Command R+", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 4096 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, "open_weights": false, - "release_date": "2026-03-03", - "last_updated": "2026-03-15", + "knowledge": "2024-03", + "release_date": "2024-04-04", + "last_updated": "2024-08-01", "cost": { - "input": 0.25, - "output": 1.5, - "reasoning": 1.5 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemma-4-31b-it", - "name": "Google: Gemma 4 31B", - "display_name": "Google: Gemma 4 31B", + "id": "cohere/cohere-command-r-plus-08-2024", + "name": "Cohere Command R+ 08-2024", + "display_name": "Cohere Command R+ 08-2024", "modalities": { "input": [ - "image", - "text", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2026-04-02", - "last_updated": "2026-04-11", + "attachment": false, + "open_weights": false, + "knowledge": "2024-03", + "release_date": "2024-08-01", + "last_updated": "2024-08-01", "cost": { - "input": 0.14, - "output": 0.4 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemini-3-flash-preview", - "name": "Google: Gemini 3 Flash Preview", - "display_name": "Google: Gemini 3 Flash Preview", + "id": "cohere/cohere-command-r", + "name": "Cohere Command R", + "display_name": "Cohere Command R", "modalities": { "input": [ - "audio", - "image", - "pdf", - "text", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -49892,57 +53828,32 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-12-17", - "last_updated": "2026-03-15", + "knowledge": "2024-03", + "release_date": "2024-03-11", + "last_updated": "2024-08-01", "cost": { - "input": 0.5, - "output": 3, - "reasoning": 3, - "cache_read": 0.05, - "cache_write": 0.083333 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemini-3.1-pro-preview-customtools", - "name": "Google: Gemini 3.1 Pro Preview Custom Tools", - "display_name": "Google: Gemini 3.1 Pro Preview Custom Tools", + "id": "meta/meta-llama-3-8b-instruct", + "name": "Meta-Llama-3-8B-Instruct", + "display_name": "Meta-Llama-3-8B-Instruct", "modalities": { "input": [ - "audio", - "image", - "pdf", - "text", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 8192, + "output": 2048 }, "temperature": true, "tool_call": true, @@ -49950,53 +53861,34 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, - "open_weights": false, - "release_date": "2026-02-26", - "last_updated": "2026-03-15", + "attachment": false, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-04-18", + "last_updated": "2024-04-18", "cost": { - "input": 2, - "output": 12, - "reasoning": 12 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemini-2.5-pro-preview-05-06", - "name": "Google: Gemini 2.5 Pro Preview 05-06", - "display_name": "Google: Gemini 2.5 Pro Preview 05-06", + "id": "meta/llama-3.2-11b-vision-instruct", + "name": "Llama-3.2-11B-Vision-Instruct", + "display_name": "Llama-3.2-11B-Vision-Instruct", "modalities": { "input": [ - "audio", - "image", - "pdf", "text", - "video" + "image", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65535 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -50004,42 +53896,21 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, - "open_weights": false, - "release_date": "2025-05-06", - "last_updated": "2026-03-15", + "attachment": false, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", "cost": { - "input": 1.25, - "output": 10, - "reasoning": 10, - "cache_read": 0.125, - "cache_write": 0.375 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemma-3n-e4b-it", - "name": "Google: Gemma 3n 4B", - "display_name": "Google: Gemma 3n 4B", + "id": "meta/meta-llama-3.1-405b-instruct", + "name": "Meta-Llama-3.1-405B-Instruct", + "display_name": "Meta-Llama-3.1-405B-Instruct", "modalities": { "input": [ "text" @@ -50049,43 +53920,42 @@ ] }, "limit": { - "context": 32768, - "output": 6554 + "context": 128000, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "release_date": "2025-05-20", - "last_updated": "2025-05-20", + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 0.02, - "output": 0.04 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemini-2.5-pro", - "name": "Google: Gemini 2.5 Pro", - "display_name": "Google: Gemini 2.5 Pro", + "id": "meta/llama-4-scout-17b-16e-instruct", + "name": "Llama 4 Scout 17B 16E Instruct", + "display_name": "Llama 4 Scout 17B 16E Instruct", "modalities": { "input": [ - "audio", - "image", - "pdf", "text", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -50093,57 +53963,32 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, - "open_weights": false, - "release_date": "2025-03-20", - "last_updated": "2026-03-15", + "attachment": false, + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2025-01-31", + "last_updated": "2025-01-31", "cost": { - "input": 1.25, - "output": 10, - "reasoning": 10, - "cache_read": 0.125, - "cache_write": 0.375 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemini-3.1-pro-preview", - "name": "Google: Gemini 3.1 Pro Preview", - "display_name": "Google: Gemini 3.1 Pro Preview", + "id": "meta/llama-3.3-70b-instruct", + "name": "Llama-3.3-70B-Instruct", + "display_name": "Llama-3.3-70B-Instruct", "modalities": { "input": [ - "audio", - "image", - "pdf", - "text", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 128000, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -50151,41 +53996,23 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, - "open_weights": false, - "release_date": "2026-02-19", - "last_updated": "2026-03-15", + "attachment": false, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 2, - "output": 12, - "reasoning": 12 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemma-3-27b-it", - "name": "Google: Gemma 3 27B", - "display_name": "Google: Gemma 3 27B", + "id": "meta/meta-llama-3.1-70b-instruct", + "name": "Meta-Llama-3.1-70B-Instruct", + "display_name": "Meta-Llama-3.1-70B-Instruct", "modalities": { "input": [ - "image", "text" ], "output": [ @@ -50194,43 +54021,40 @@ }, "limit": { "context": 128000, - "output": 65536 + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2025-03-12", - "last_updated": "2026-03-15", + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 0.03, - "output": 0.11, - "cache_read": 0.02 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemini-3.1-flash-lite", - "name": "Google: Gemini 3.1 Flash Lite", - "display_name": "Google: Gemini 3.1 Flash Lite", + "id": "meta/meta-llama-3.1-8b-instruct", + "name": "Meta-Llama-3.1-8B-Instruct", + "display_name": "Meta-Llama-3.1-8B-Instruct", "modalities": { "input": [ - "audio", - "image", - "pdf", - "text", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 128000, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -50238,101 +54062,68 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": true, - "open_weights": false, - "release_date": "2026-05-07", - "last_updated": "2026-05-16", + "attachment": false, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 0.25, - "output": 1.5, - "reasoning": 1.5, - "cache_read": 0.025, - "cache_write": 0.08333 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemini-2.5-flash-lite", - "name": "Google: Gemini 2.5 Flash Lite", - "display_name": "Google: Gemini 2.5 Flash Lite", + "id": "meta/llama-3.2-90b-vision-instruct", + "name": "Llama-3.2-90B-Vision-Instruct", + "display_name": "Llama-3.2-90B-Vision-Instruct", "modalities": { "input": [ - "audio", - "image", - "pdf", "text", - "video" + "image", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65535 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "default": -1, - "min": 512, - "max": 24576, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-06-17", - "last_updated": "2026-03-15", + "attachment": false, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", "cost": { - "input": 0.1, - "output": 0.4, - "reasoning": 0.4, - "cache_read": 0.01, - "cache_write": 0.083333 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemini-2.5-flash", - "name": "Google: Gemini 2.5 Flash", - "display_name": "Google: Gemini 2.5 Flash", + "id": "meta/llama-4-maverick-17b-128e-instruct-fp8", + "name": "Llama 4 Maverick 17B 128E Instruct FP8", + "display_name": "Llama 4 Maverick 17B 128E Instruct FP8", "modalities": { "input": [ - "audio", - "image", - "pdf", "text", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65535 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -50340,89 +54131,32 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, - "open_weights": false, - "release_date": "2025-07-17", - "last_updated": "2026-03-15", - "cost": { - "input": 0.3, - "output": 2.5, - "reasoning": 2.5, - "cache_read": 0.03, - "cache_write": 0.083333 - }, - "type": "chat" - }, - { - "id": "google/gemma-3-12b-it", - "name": "Google: Gemma 3 12B", - "display_name": "Google: Gemma 3 12B", - "modalities": { - "input": [ - "image", - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 131072 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2025-03-13", - "last_updated": "2026-03-15", + "knowledge": "2024-12", + "release_date": "2025-01-31", + "last_updated": "2025-01-31", "cost": { - "input": 0.04, - "output": 0.13, - "cache_read": 0.015 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemma-4-26b-a4b-it", - "name": "Google: Gemma 4 26B A4B", - "display_name": "Google: Gemma 4 26B A4B", + "id": "meta/meta-llama-3-70b-instruct", + "name": "Meta-Llama-3-70B-Instruct", + "display_name": "Meta-Llama-3-70B-Instruct", "modalities": { "input": [ - "image", - "text", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 8192, + "output": 2048 }, "temperature": true, "tool_call": true, @@ -50430,81 +54164,67 @@ "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-04-03", - "last_updated": "2026-04-11", + "knowledge": "2023-12", + "release_date": "2024-04-18", + "last_updated": "2024-04-18", "cost": { - "input": 0.12, - "output": 0.4 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemini-2.5-flash-lite-preview-09-2025", - "name": "Google: Gemini 2.5 Flash Lite Preview 09-2025", - "display_name": "Google: Gemini 2.5 Flash Lite Preview 09-2025", + "id": "deepseek/deepseek-r1-0528", + "name": "DeepSeek-R1-0528", + "display_name": "DeepSeek-R1-0528", "modalities": { "input": [ - "audio", - "image", - "pdf", - "text", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 65536, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "default": -1, - "min": 512, - "max": 24576, - "auto": -1, - "unit": "tokens" - }, + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2025-09-25", - "last_updated": "2026-03-15", + "attachment": false, + "open_weights": true, + "knowledge": "2024-06", + "release_date": "2025-05-28", + "last_updated": "2025-05-28", "cost": { - "input": 0.1, - "output": 0.4, - "reasoning": 0.4, - "cache_read": 0.01, - "cache_write": 0.083333 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemma-3-4b-it", - "name": "Google: Gemma 3 4B", - "display_name": "Google: Gemma 3 4B", + "id": "deepseek/deepseek-v3-0324", + "name": "DeepSeek-V3-0324", + "display_name": "DeepSeek-V3-0324", "modalities": { "input": [ - "image", "text" ], "output": [ @@ -50512,43 +54232,41 @@ ] }, "limit": { - "context": 131072, - "output": 19200 + "context": 128000, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2025-03-13", - "last_updated": "2026-03-15", + "knowledge": "2024-06", + "release_date": "2025-03-24", + "last_updated": "2025-03-24", "cost": { - "input": 0.04, - "output": 0.08 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemini-3.5-flash", - "name": "Google: Gemini 3.5 Flash", - "display_name": "Google: Gemini 3.5 Flash", + "id": "deepseek/deepseek-r1", + "name": "DeepSeek-R1", + "display_name": "DeepSeek-R1", "modalities": { "input": [ - "audio", - "image", - "pdf", - "text", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 65536, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -50559,72 +54277,70 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-05-19", - "last_updated": "2026-05-27", + "attachment": false, + "open_weights": true, + "knowledge": "2024-06", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", "cost": { - "input": 1.5, - "output": 9, - "reasoning": 9, - "cache_read": 0.15, - "cache_write": 0.08333 + "input": 0, + "output": 0 }, "type": "chat" - }, + } + ] + }, + "neuralwatt": { + "id": "neuralwatt", + "name": "Neuralwatt", + "display_name": "Neuralwatt", + "api": "https://api.neuralwatt.com/v1", + "doc": "https://portal.neuralwatt.com/docs", + "models": [ { - "id": "google/lyria-3-pro-preview", - "name": "Google: Lyria 3 Pro Preview", - "display_name": "Google: Lyria 3 Pro Preview", + "id": "kimi-k2.5-fast", + "name": "Kimi K2.5 Fast", + "display_name": "Kimi K2.5 Fast", "modalities": { "input": [ - "image", - "text" + "text", + "image" ], "output": [ - "audio", "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 262128, + "output": 262128 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, - "open_weights": false, - "release_date": "2026-03-30", - "last_updated": "2026-04-11", + "open_weights": true, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 0, - "output": 0 + "input": 0.52, + "output": 2.59 }, "type": "chat" }, { - "id": "google/gemma-2-27b-it", - "name": "Google: Gemma 2 27B", - "display_name": "Google: Gemma 2 27B", + "id": "glm-5-fast", + "name": "GLM 5 Fast", + "display_name": "GLM 5 Fast", "modalities": { "input": [ "text" @@ -50634,132 +54350,113 @@ ] }, "limit": { - "context": 8192, - "output": 2048 + "context": 202736, + "output": 202736 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2024-06-24", - "last_updated": "2024-06-24", + "release_date": "2026-04-07", + "last_updated": "2026-04-07", "cost": { - "input": 0.65, - "output": 0.65 + "input": 1.1, + "output": 3.6 }, "type": "chat" }, { - "id": "google/gemini-3-pro-image-preview", - "name": "Google: Nano Banana Pro (Gemini 3 Pro Image Preview)", - "display_name": "Google: Nano Banana Pro (Gemini 3 Pro Image Preview)", + "id": "qwen3.5-397b-fast", + "name": "Qwen3.5 397B Fast", + "display_name": "Qwen3.5 397B Fast", "modalities": { "input": [ - "image", "text" ], "output": [ - "image", "text" ] }, "limit": { - "context": 65536, - "output": 32768 + "context": 262128, + "output": 262128 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2025-11-20", - "last_updated": "2026-03-15", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-01", + "last_updated": "2026-02-01", "cost": { - "input": 2, - "output": 12, - "reasoning": 12 + "input": 0.69, + "output": 4.14 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "google/gemini-3.1-flash-image-preview", - "name": "Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)", - "display_name": "Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)", + "id": "glm-5.1-fast", + "name": "GLM 5.1 Fast", + "display_name": "GLM 5.1 Fast", "modalities": { "input": [ - "image", "text" ], "output": [ - "image", "text" ] }, "limit": { - "context": 65536, - "output": 65536 + "context": 202736, + "output": 202736 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-02-26", - "last_updated": "2026-03-15", + "attachment": false, + "open_weights": true, + "release_date": "2026-04-07", + "last_updated": "2026-04-07", "cost": { - "input": 0.5, - "output": 3 + "input": 1.1, + "output": 3.6 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "openai/gpt-4o-2024-08-06", - "name": "OpenAI: GPT-4o (2024-08-06)", - "display_name": "OpenAI: GPT-4o (2024-08-06)", + "id": "kimi-k2.6-fast", + "name": "Kimi K2.6 Fast", + "display_name": "Kimi K2.6 Fast", "modalities": { "input": [ - "image", - "pdf", - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 262128, + "output": 262128 }, "temperature": true, "tool_call": true, @@ -50767,84 +54464,76 @@ "supported": false }, "attachment": true, - "open_weights": false, - "release_date": "2024-08-06", - "last_updated": "2026-03-15", + "open_weights": true, + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 + "input": 0.69, + "output": 3.22 }, "type": "chat" }, { - "id": "openai/gpt-5-pro", - "name": "OpenAI: GPT-5 Pro", - "display_name": "OpenAI: GPT-5 Pro", + "id": "qwen3.6-35b-fast", + "name": "Qwen3.6 35B Fast", + "display_name": "Qwen3.6 35B Fast", "modalities": { "input": [ - "image", - "pdf", - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131056, + "output": 131056 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "fixed", - "effort": "high", - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, - "open_weights": false, - "release_date": "2025-10-06", - "last_updated": "2026-03-15", + "open_weights": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-01", "cost": { - "input": 15, - "output": 120 + "input": 0.29, + "output": 1.15 }, "type": "chat" }, { - "id": "openai/gpt-5-mini", - "name": "OpenAI: GPT-5 Mini", - "display_name": "OpenAI: GPT-5 Mini", + "id": "moonshotai/Kimi-K2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ - "image", - "pdf", - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262128, + "output": 262128 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -50853,53 +54542,42 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, - "open_weights": false, - "release_date": "2025-08-07", - "last_updated": "2026-03-15", + "open_weights": true, + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 0.69, + "output": 3.22 }, "type": "chat" }, { - "id": "openai/o3-mini-high", - "name": "OpenAI: o3 Mini High", - "display_name": "OpenAI: o3 Mini High", + "id": "moonshotai/Kimi-K2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ - "pdf", - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 262128, + "output": 262128 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -50908,46 +54586,42 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, - "open_weights": false, - "release_date": "2025-01-31", - "last_updated": "2026-03-15", + "open_weights": true, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.55 + "input": 0.52, + "output": 2.59 }, "type": "chat" }, { - "id": "openai/o4-mini-high", - "name": "OpenAI: o4 Mini High", - "display_name": "OpenAI: o4 Mini High", + "id": "Qwen/Qwen3.6-35B-A3B", + "name": "Qwen3.6 35B A3B", + "display_name": "Qwen3.6 35B A3B", "modalities": { "input": [ - "image", - "pdf", - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 131056, + "output": 131056 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -50956,69 +54630,30 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, - "open_weights": false, - "release_date": "2025-04-17", - "last_updated": "2026-03-15", - "cost": { - "input": 1.1, - "output": 4.4 - }, - "type": "chat" - }, - { - "id": "openai/gpt-5-chat", - "name": "OpenAI: GPT-5 Chat", - "display_name": "OpenAI: GPT-5 Chat", - "modalities": { - "input": [ - "image", - "pdf", - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 16384 - }, - "temperature": false, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "release_date": "2025-08-07", - "last_updated": "2026-03-15", + "open_weights": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-01", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.29, + "output": 1.15 }, "type": "chat" }, { - "id": "openai/gpt-4o", - "name": "OpenAI: GPT-4o", - "display_name": "OpenAI: GPT-4o", + "id": "Qwen/Qwen3.5-397B-A17B-FP8", + "name": "Qwen3.5 397B A17B FP8", + "display_name": "Qwen3.5 397B A17B FP8", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -51026,33 +54661,42 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 262128, + "output": 262128 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2024-05-13", - "last_updated": "2026-03-15", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-02-01", + "last_updated": "2026-02-01", "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 + "input": 0.69, + "output": 4.14 }, "type": "chat" }, { - "id": "openai/gpt-5.2", - "name": "OpenAI: GPT-5.2", - "display_name": "OpenAI: GPT-5.2", + "id": "openai/gpt-oss-20b", + "name": "GPT OSS 20B", + "display_name": "GPT OSS 20B", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -51060,65 +54704,46 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 16368, + "output": 16368 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, - "attachment": true, - "open_weights": false, - "release_date": "2025-12-11", - "last_updated": "2026-03-15", + "attachment": false, + "open_weights": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.03, + "output": 0.16 }, "type": "chat" }, { - "id": "openai/gpt-4o-mini-2024-07-18", - "name": "OpenAI: GPT-4o-mini (2024-07-18)", - "display_name": "OpenAI: GPT-4o-mini (2024-07-18)", + "id": "mistralai/Devstral-Small-2-24B-Instruct-2512", + "name": "Devstral Small 2 24B Instruct 2512", + "display_name": "Devstral Small 2 24B Instruct 2512", "modalities": { "input": [ - "image", - "pdf", - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 262128, + "output": 262128 }, "temperature": true, "tool_call": true, @@ -51126,33 +54751,32 @@ "supported": false }, "attachment": true, - "open_weights": false, - "release_date": "2024-07-18", - "last_updated": "2026-03-15", + "open_weights": true, + "release_date": "2025-12-09", + "last_updated": "2025-12-09", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.12, + "output": 0.35 }, "type": "chat" }, { - "id": "openai/gpt-5-codex", - "name": "OpenAI: GPT-5 Codex", - "display_name": "OpenAI: GPT-5 Codex", + "id": "zai-org/GLM-5.1-FP8", + "name": "GLM 5.1 FP8", + "display_name": "GLM 5.1 FP8", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 202736, + "output": 202736 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -51161,43 +54785,30 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2025-09-15", - "last_updated": "2025-09-15", + "attachment": false, + "open_weights": true, + "release_date": "2026-04-07", + "last_updated": "2026-04-07", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 1.1, + "output": 3.6 }, "type": "chat" }, { - "id": "openai/o3", - "name": "OpenAI: o3", - "display_name": "OpenAI: o3", + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax M2.5", + "display_name": "MiniMax M2.5", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -51205,10 +54816,10 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 196592, + "output": 196592 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -51217,71 +54828,70 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2025-04-16", - "last_updated": "2026-03-15", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0.35, + "output": 1.38 }, "type": "chat" - }, + } + ] + }, + "siliconflow": { + "id": "siliconflow", + "name": "SiliconFlow", + "display_name": "SiliconFlow", + "api": "https://api.siliconflow.cn/v1", + "doc": "https://cloud.siliconflow.com/models", + "models": [ { - "id": "openai/gpt-5-image", - "name": "OpenAI: GPT-5 Image", - "display_name": "OpenAI: GPT-5 Image", + "id": "THUDM/GLM-Z1-9B-0414", + "name": "THUDM/GLM-Z1-9B-0414", + "display_name": "THUDM/GLM-Z1-9B-0414", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ - "image", "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-10-14", - "last_updated": "2026-03-15", + "release_date": "2025-04-18", + "last_updated": "2025-11-25", "cost": { - "input": 10, - "output": 10 + "input": 0.086, + "output": 0.086 }, "type": "chat" }, { - "id": "openai/gpt-4o-2024-11-20", - "name": "OpenAI: GPT-4o (2024-11-20)", - "display_name": "OpenAI: GPT-4o (2024-11-20)", + "id": "THUDM/GLM-4-9B-0414", + "name": "THUDM/GLM-4-9B-0414", + "display_name": "THUDM/GLM-4-9B-0414", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -51289,33 +54899,30 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2024-11-20", - "last_updated": "2026-03-15", + "release_date": "2025-04-18", + "last_updated": "2025-11-25", "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 + "input": 0.086, + "output": 0.086 }, "type": "chat" }, { - "id": "openai/gpt-5", - "name": "OpenAI: GPT-5", - "display_name": "OpenAI: GPT-5", + "id": "THUDM/GLM-4-32B-0414", + "name": "THUDM/GLM-4-32B-0414", + "display_name": "THUDM/GLM-4-32B-0414", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -51323,55 +54930,30 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-08-07", - "last_updated": "2026-03-15", + "release_date": "2025-04-18", + "last_updated": "2025-11-25", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.27, + "output": 0.27 }, "type": "chat" }, { - "id": "openai/gpt-5.4-pro", - "name": "OpenAI: GPT-5.4 Pro", - "display_name": "OpenAI: GPT-5.4 Pro", + "id": "THUDM/GLM-Z1-32B-0414", + "name": "THUDM/GLM-Z1-32B-0414", + "display_name": "THUDM/GLM-Z1-32B-0414", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -51379,52 +54961,30 @@ ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 131072, + "output": 8192 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-03-06", - "last_updated": "2026-03-15", + "release_date": "2025-04-18", + "last_updated": "2025-11-25", "cost": { - "input": 30, - "output": 180 + "input": 0.14, + "output": 0.57 }, "type": "chat" }, { - "id": "openai/gpt-4.1-mini", - "name": "OpenAI: GPT-4.1 Mini", - "display_name": "OpenAI: GPT-4.1 Mini", + "id": "moonshotai/Kimi-K2-Instruct-0905", + "name": "moonshotai/Kimi-K2-Instruct-0905", + "display_name": "moonshotai/Kimi-K2-Instruct-0905", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -51432,33 +54992,30 @@ ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-04-14", - "last_updated": "2026-03-15", + "release_date": "2025-09-08", + "last_updated": "2025-11-25", "cost": { "input": 0.4, - "output": 1.6, - "cache_read": 0.1 + "output": 2 }, "type": "chat" }, { - "id": "openai/gpt-5.2-pro", - "name": "OpenAI: GPT-5.2 Pro", - "display_name": "OpenAI: GPT-5.2 Pro", + "id": "moonshotai/Kimi-K2-Thinking", + "name": "moonshotai/Kimi-K2-Thinking", + "display_name": "moonshotai/Kimi-K2-Thinking", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -51466,10 +55023,10 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262000, + "output": 262000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -51478,41 +55035,30 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-12-11", - "last_updated": "2026-03-15", + "release_date": "2025-11-07", + "last_updated": "2025-11-25", "cost": { - "input": 21, - "output": 168 + "input": 0.55, + "output": 2.5 }, "type": "chat" }, { - "id": "openai/o3-pro", - "name": "OpenAI: o3 Pro", - "display_name": "OpenAI: o3 Pro", + "id": "baidu/ERNIE-4.5-300B-A47B", + "name": "baidu/ERNIE-4.5-300B-A47B", + "display_name": "baidu/ERNIE-4.5-300B-A47B", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -51520,43 +55066,28 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 131072, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-04-16", - "last_updated": "2026-03-15", + "release_date": "2025-07-02", + "last_updated": "2025-11-25", "cost": { - "input": 20, - "output": 80 + "input": 0.28, + "output": 1.1 }, "type": "chat" }, { - "id": "openai/gpt-4o-mini-search-preview", - "name": "OpenAI: GPT-4o-mini Search Preview", - "display_name": "OpenAI: GPT-4o-mini Search Preview", + "id": "ByteDance-Seed/Seed-OSS-36B-Instruct", + "name": "ByteDance-Seed/Seed-OSS-36B-Instruct", + "display_name": "ByteDance-Seed/Seed-OSS-36B-Instruct", "modalities": { "input": [ "text" @@ -51566,32 +55097,35 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 8192 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": false, - "release_date": "2025-01", - "last_updated": "2025-01", + "release_date": "2025-09-04", + "last_updated": "2025-11-25", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.21, + "output": 0.57 }, "type": "chat" }, { - "id": "openai/o4-mini", - "name": "OpenAI: o4 Mini", - "display_name": "OpenAI: o4 Mini", + "id": "stepfun-ai/Step-3.5-Flash", + "name": "stepfun-ai/Step-3.5-Flash", + "display_name": "stepfun-ai/Step-3.5-Flash", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -51599,48 +55133,31 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 262000, + "output": 262000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-04-16", - "last_updated": "2026-03-15", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.275 + "input": 0.1, + "output": 0.3 }, "type": "chat" }, { - "id": "openai/gpt-5.4", - "name": "OpenAI: GPT-5.4", - "display_name": "OpenAI: GPT-5.4", + "id": "inclusionAI/Ling-flash-2.0", + "name": "inclusionAI/Ling-flash-2.0", + "display_name": "inclusionAI/Ling-flash-2.0", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -51648,111 +55165,73 @@ ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 131072, + "output": 8192 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-03-06", - "last_updated": "2026-03-15", + "release_date": "2025-09-18", + "last_updated": "2025-11-25", "cost": { - "input": 2.5, - "output": 15 + "input": 0.14, + "output": 0.57 }, "type": "chat" }, { - "id": "openai/gpt-5.4-image-2", - "name": "OpenAI: GPT-5.4 Image 2", - "display_name": "OpenAI: GPT-5.4 Image 2", + "id": "Pro/moonshotai/Kimi-K2-Thinking", + "name": "Pro/moonshotai/Kimi-K2-Thinking", + "display_name": "Pro/moonshotai/Kimi-K2-Thinking", "modalities": { "input": [ - "image", - "text", - "pdf" + "text" ], "output": [ - "image", "text" ] }, "limit": { - "context": 272000, - "output": 128000 + "context": 262000, + "output": 262000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-21", - "last_updated": "2026-05-01", + "release_date": "2025-11-07", + "last_updated": "2025-11-25", "cost": { - "input": 8, - "output": 15, - "cache_read": 2 + "input": 0.55, + "output": 2.5 }, "type": "chat" }, { - "id": "openai/o3-mini", - "name": "OpenAI: o3 Mini", - "display_name": "OpenAI: o3 Mini", + "id": "Pro/moonshotai/Kimi-K2-Instruct-0905", + "name": "Pro/moonshotai/Kimi-K2-Instruct-0905", + "display_name": "Pro/moonshotai/Kimi-K2-Instruct-0905", "modalities": { "input": [ - "pdf", "text" ], "output": [ @@ -51760,59 +55239,42 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 131072, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2024-12-20", - "last_updated": "2026-03-15", + "release_date": "2025-09-08", + "last_updated": "2025-11-25", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.55 + "input": 0.4, + "output": 2 }, "type": "chat" }, { - "id": "openai/gpt-5.5", - "name": "OpenAI: GPT-5.5", - "display_name": "OpenAI: GPT-5.5", + "id": "Pro/moonshotai/Kimi-K2.6", + "name": "Pro/moonshotai/Kimi-K2.6", + "display_name": "Pro/moonshotai/Kimi-K2.6", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 262000, + "output": 262000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -51821,74 +55283,75 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-24", - "last_updated": "2026-05-01", + "attachment": false, + "open_weights": true, + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5 + "input": 0.95, + "output": 4, + "cache_read": 0.16 }, "type": "chat" }, { - "id": "openai/gpt-3.5-turbo-16k", - "name": "OpenAI: GPT-3.5 Turbo 16k", - "display_name": "OpenAI: GPT-3.5 Turbo 16k", + "id": "Pro/moonshotai/Kimi-K2.5", + "name": "Pro/moonshotai/Kimi-K2.5", + "display_name": "Pro/moonshotai/Kimi-K2.5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 16385, - "output": 4096 + "context": 262000, + "output": 262000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2023-08-28", - "last_updated": "2026-03-15", + "open_weights": true, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 3, - "output": 4 + "input": 0.45, + "output": 2.25 }, "type": "chat" }, { - "id": "openai/gpt-5.1", - "name": "OpenAI: GPT-5.1", - "display_name": "OpenAI: GPT-5.1", + "id": "Pro/zai-org/GLM-5", + "name": "Pro/zai-org/GLM-5", + "display_name": "Pro/zai-org/GLM-5", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -51896,55 +55359,42 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 205000, + "output": 205000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2025-11-13", - "last_updated": "2026-03-15", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 1, + "output": 3.2 }, "type": "chat" }, { - "id": "openai/gpt-5-nano", - "name": "OpenAI: GPT-5 Nano", - "display_name": "OpenAI: GPT-5 Nano", + "id": "Pro/zai-org/GLM-4.7", + "name": "Pro/zai-org/GLM-4.7", + "display_name": "Pro/zai-org/GLM-4.7", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -51952,10 +55402,10 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 205000, + "output": 205000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -51964,39 +55414,28 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-08-07", - "last_updated": "2026-03-15", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 0.05, - "output": 0.4, - "cache_read": 0.005 + "input": 0.6, + "output": 2.2 }, "type": "chat" }, { - "id": "openai/gpt-oss-120b", - "name": "OpenAI: gpt-oss-120b", - "display_name": "OpenAI: gpt-oss-120b", + "id": "Pro/zai-org/GLM-5.1", + "name": "Pro/zai-org/GLM-5.1", + "display_name": "Pro/zai-org/GLM-5.1", "modalities": { "input": [ "text" @@ -52006,8 +55445,8 @@ ] }, "limit": { - "context": 131072, - "output": 26215 + "context": 205000, + "output": 205000 }, "temperature": true, "tool_call": true, @@ -52017,27 +55456,32 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "release_date": "2026-04-08", + "last_updated": "2026-04-08", "cost": { - "input": 0.039, - "output": 0.19 + "input": 1.4, + "output": 4.4, + "cache_write": 0 }, "type": "chat" }, { - "id": "openai/gpt-4o-mini", - "name": "OpenAI: GPT-4o-mini", - "display_name": "OpenAI: GPT-4o-mini", + "id": "Pro/deepseek-ai/DeepSeek-R1", + "name": "Pro/deepseek-ai/DeepSeek-R1", + "display_name": "Pro/deepseek-ai/DeepSeek-R1", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -52045,87 +55489,74 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": false, - "release_date": "2024-07-18", - "last_updated": "2026-03-15", + "release_date": "2025-05-28", + "last_updated": "2025-11-25", "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.075 + "input": 0.5, + "output": 2.18 }, "type": "chat" }, { - "id": "openai/gpt-5.1-codex-max", - "name": "OpenAI: GPT-5.1-Codex-Max", - "display_name": "OpenAI: GPT-5.1-Codex-Max", + "id": "Pro/deepseek-ai/DeepSeek-V3.1-Terminus", + "name": "Pro/deepseek-ai/DeepSeek-V3.1-Terminus", + "display_name": "Pro/deepseek-ai/DeepSeek-V3.1-Terminus", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "release_date": "2025-09-29", + "last_updated": "2025-11-25", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.27, + "output": 1 }, "type": "chat" }, { - "id": "openai/gpt-5.1-codex-mini", - "name": "OpenAI: GPT-5.1-Codex-Mini", - "display_name": "OpenAI: GPT-5.1-Codex-Mini", + "id": "Pro/deepseek-ai/DeepSeek-V3.2", + "name": "Pro/deepseek-ai/DeepSeek-V3.2", + "display_name": "Pro/deepseek-ai/DeepSeek-V3.2", "modalities": { "input": [ - "image", "text" ], "output": [ @@ -52133,55 +55564,36 @@ ] }, "limit": { - "context": 400000, - "output": 100000 + "context": 164000, + "output": 164000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "release_date": "2025-12-03", + "last_updated": "2025-12-03", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 0.27, + "output": 0.42 }, "type": "chat" }, { - "id": "openai/o1-pro", - "name": "OpenAI: o1-pro", - "display_name": "OpenAI: o1-pro", + "id": "Pro/deepseek-ai/DeepSeek-V3", + "name": "Pro/deepseek-ai/DeepSeek-V3", + "display_name": "Pro/deepseek-ai/DeepSeek-V3", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -52189,47 +55601,30 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 131072, + "output": 8192 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-03-19", - "last_updated": "2026-03-15", + "release_date": "2024-12-26", + "last_updated": "2025-11-25", "cost": { - "input": 150, - "output": 600 + "input": 0.25, + "output": 1 }, "type": "chat" }, { - "id": "openai/gpt-chat-latest", - "name": "OpenAI: GPT Chat Latest", - "display_name": "OpenAI: GPT Chat Latest", + "id": "Pro/MiniMaxAI/MiniMax-M2.1", + "name": "Pro/MiniMaxAI/MiniMax-M2.1", + "display_name": "Pro/MiniMaxAI/MiniMax-M2.1", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -52237,35 +55632,33 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 197000, + "output": 131000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-05-05", - "last_updated": "2026-05-07", + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "openai/gpt-4-1106-preview", - "name": "OpenAI: GPT-4 Turbo (older v1106)", - "display_name": "OpenAI: GPT-4 Turbo (older v1106)", + "id": "Pro/MiniMaxAI/MiniMax-M2.5", + "name": "Pro/MiniMaxAI/MiniMax-M2.5", + "display_name": "Pro/MiniMaxAI/MiniMax-M2.5", "modalities": { "input": [ "text" @@ -52275,39 +55668,52 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 192000, + "output": 131000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": false, - "release_date": "2023-11-06", - "last_updated": "2026-03-15", + "release_date": "2026-02-13", + "last_updated": "2026-02-13", "cost": { - "input": 10, - "output": 30 + "input": 0.3, + "output": 1.22 }, "type": "chat" }, { - "id": "openai/gpt-oss-20b", - "name": "OpenAI: gpt-oss-20b", - "display_name": "OpenAI: gpt-oss-20b", + "id": "Qwen/Qwen3.6-35B-A3B", + "name": "Qwen/Qwen3.6-35B-A3B", + "display_name": "Qwen/Qwen3.6-35B-A3B", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 26215 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -52317,98 +55723,135 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2025-04", + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { - "input": 0.03, - "output": 0.14 + "input": 0.23, + "output": 1.86 }, "type": "chat" }, { - "id": "openai/gpt-4-0314", - "name": "OpenAI: GPT-4 (older v0314)", - "display_name": "OpenAI: GPT-4 (older v0314)", + "id": "Qwen/Qwen3.5-397B-A17B", + "name": "Qwen/Qwen3.5-397B-A17B", + "display_name": "Qwen/Qwen3.5-397B-A17B", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 8191, - "output": 4096 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2023-05-28", - "last_updated": "2026-03-15", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", "cost": { - "input": 30, - "output": 60 + "input": 0.29, + "output": 1.74 }, "type": "chat" }, { - "id": "openai/gpt-4-turbo-preview", - "name": "OpenAI: GPT-4 Turbo Preview", - "display_name": "OpenAI: GPT-4 Turbo Preview", + "id": "Qwen/Qwen3.5-122B-A10B", + "name": "Qwen/Qwen3.5-122B-A10B", + "display_name": "Qwen/Qwen3.5-122B-A10B", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2024-01-25", - "last_updated": "2026-03-15", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2026-02-26", + "last_updated": "2026-02-26", "cost": { - "input": 10, - "output": 30 + "input": 0.29, + "output": 2.32 }, "type": "chat" }, { - "id": "openai/o3-deep-research", - "name": "OpenAI: o3 Deep Research", - "display_name": "OpenAI: o3 Deep Research", + "id": "Qwen/Qwen3.5-27B", + "name": "Qwen/Qwen3.5-27B", + "display_name": "Qwen/Qwen3.5-27B", "modalities": { "input": [ + "text", "image", - "pdf", - "text" + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -52419,79 +55862,88 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2024-06-26", - "last_updated": "2026-03-15", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2026-02-25", + "last_updated": "2026-02-25", "cost": { - "input": 10, - "output": 40, - "cache_read": 2.5 + "input": 0.26, + "output": 2.09 }, "type": "chat" }, { - "id": "openai/gpt-audio", - "name": "OpenAI: GPT Audio", - "display_name": "OpenAI: GPT Audio", + "id": "Qwen/Qwen3.5-4B", + "name": "Qwen/Qwen3.5-4B", + "display_name": "Qwen/Qwen3.5-4B", "modalities": { "input": [ - "audio", - "text" + "text", + "image", + "video" ], "output": [ - "audio", "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 262144, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2026-01-20", - "last_updated": "2026-03-15", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", "cost": { - "input": 2.5, - "output": 10 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "openai/gpt-5-image-mini", - "name": "OpenAI: GPT-5 Image Mini", - "display_name": "OpenAI: GPT-5 Image Mini", + "id": "Qwen/Qwen3.5-9B", + "name": "Qwen/Qwen3.5-9B", + "display_name": "Qwen/Qwen3.5-9B", "modalities": { "input": [ + "text", "image", - "pdf", - "text" + "video" ], "output": [ - "image", "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -52499,249 +55951,195 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-10-16", - "last_updated": "2026-03-15", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", "cost": { - "input": 2.5, - "output": 2 + "input": 0.22, + "output": 1.74 }, "type": "chat" }, { - "id": "openai/gpt-4.1", - "name": "OpenAI: GPT-4.1", - "display_name": "OpenAI: GPT-4.1", + "id": "Qwen/Qwen3.5-35B-A3B", + "name": "Qwen/Qwen3.5-35B-A3B", + "display_name": "Qwen/Qwen3.5-35B-A3B", "modalities": { "input": [ + "text", "image", - "pdf", - "text" + "video" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-04-14", - "last_updated": "2026-03-15", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2026-02-25", + "last_updated": "2026-02-25", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0.23, + "output": 1.86 }, "type": "chat" }, { - "id": "openai/gpt-5.4-nano", - "name": "OpenAI: GPT-5.4 Nano", - "display_name": "OpenAI: GPT-5.4 Nano", + "id": "Qwen/Qwen3-VL-32B-Thinking", + "name": "Qwen/Qwen3-VL-32B-Thinking", + "display_name": "Qwen/Qwen3-VL-32B-Thinking", "modalities": { "input": [ - "image", - "pdf", - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262000, + "output": 262000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-03-17", - "last_updated": "2026-04-11", + "release_date": "2025-10-21", + "last_updated": "2025-11-25", "cost": { "input": 0.2, - "output": 1.25, - "cache_read": 0.02 + "output": 1.5 }, "type": "chat" }, { - "id": "openai/gpt-audio-mini", - "name": "OpenAI: GPT Audio Mini", - "display_name": "OpenAI: GPT Audio Mini", + "id": "Qwen/Qwen3-VL-30B-A3B-Instruct", + "name": "Qwen/Qwen3-VL-30B-A3B-Instruct", + "display_name": "Qwen/Qwen3-VL-30B-A3B-Instruct", "modalities": { "input": [ - "audio", "text" ], "output": [ - "audio", "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 8192 }, "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2026-01-20", - "last_updated": "2026-03-15", - "cost": { - "input": 0.6, - "output": 2.4 - }, - "type": "chat" - }, - { - "id": "openai/gpt-5.3-codex", - "name": "OpenAI: GPT-5.3-Codex", - "display_name": "OpenAI: GPT-5.3-Codex", - "modalities": { - "input": [ - "image", - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 400000, - "output": 128000 - }, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-02-25", - "last_updated": "2026-03-15", + "release_date": "2025-10-05", + "last_updated": "2025-11-25", "cost": { - "input": 1.75, - "output": 14 + "input": 0.29, + "output": 1 }, "type": "chat" }, { - "id": "openai/gpt-5.5-pro", - "name": "OpenAI: GPT-5.5 Pro", - "display_name": "OpenAI: GPT-5.5 Pro", + "id": "Qwen/Qwen3-Omni-30B-A3B-Instruct", + "name": "Qwen/Qwen3-Omni-30B-A3B-Instruct", + "display_name": "Qwen/Qwen3-Omni-30B-A3B-Instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 131072, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-04-24", - "last_updated": "2026-05-01", + "release_date": "2025-10-04", + "last_updated": "2025-11-25", "cost": { - "input": 30, - "output": 180 + "input": 0.1, + "output": 0.4 }, "type": "chat" }, { - "id": "openai/gpt-4o-audio-preview", - "name": "OpenAI: GPT-4o Audio", - "display_name": "OpenAI: GPT-4o Audio", + "id": "Qwen/Qwen2.5-72B-Instruct", + "name": "Qwen/Qwen2.5-72B-Instruct", + "display_name": "Qwen/Qwen2.5-72B-Instruct", "modalities": { "input": [ - "audio", "text" ], "output": [ - "audio", "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -52750,22 +56148,20 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-08-15", - "last_updated": "2026-03-15", + "release_date": "2024-09-18", + "last_updated": "2025-11-25", "cost": { - "input": 2.5, - "output": 10 + "input": 0.59, + "output": 0.59 }, "type": "chat" }, { - "id": "openai/o4-mini-deep-research", - "name": "OpenAI: o4 Mini Deep Research", - "display_name": "OpenAI: o4 Mini Deep Research", + "id": "Qwen/Qwen3-14B", + "name": "Qwen/Qwen3-14B", + "display_name": "Qwen/Qwen3-14B", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -52773,44 +56169,39 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2024-06-26", - "last_updated": "2026-03-15", + "release_date": "2025-04-30", + "last_updated": "2025-11-25", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0.07, + "output": 0.28 }, "type": "chat" }, { - "id": "openai/gpt-3.5-turbo", - "name": "OpenAI: GPT-3.5 Turbo", - "display_name": "OpenAI: GPT-3.5 Turbo", + "id": "Qwen/Qwen2.5-14B-Instruct", + "name": "Qwen/Qwen2.5-14B-Instruct", + "display_name": "Qwen/Qwen2.5-14B-Instruct", "modalities": { "input": [ "text" @@ -52820,8 +56211,8 @@ ] }, "limit": { - "context": 16385, - "output": 4096 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -52830,52 +56221,50 @@ }, "attachment": false, "open_weights": false, - "release_date": "2023-03-01", - "last_updated": "2023-11-06", + "release_date": "2024-09-18", + "last_updated": "2025-11-25", "cost": { - "input": 0.5, - "output": 1.5 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "openai/gpt-5.2-chat", - "name": "OpenAI: GPT-5.2 Chat", - "display_name": "OpenAI: GPT-5.2 Chat", + "id": "Qwen/Qwen3-VL-32B-Instruct", + "name": "Qwen/Qwen3-VL-32B-Instruct", + "display_name": "Qwen/Qwen3-VL-32B-Instruct", "modalities": { "input": [ - "image", - "pdf", - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 262000, + "output": 262000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-12-11", - "last_updated": "2026-03-15", + "release_date": "2025-10-21", + "last_updated": "2025-11-25", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.2, + "output": 0.6 }, "type": "chat" }, { - "id": "openai/gpt-3.5-turbo-instruct", - "name": "OpenAI: GPT-3.5 Turbo Instruct", - "display_name": "OpenAI: GPT-3.5 Turbo Instruct", + "id": "Qwen/Qwen3-32B", + "name": "Qwen/Qwen3-32B", + "display_name": "Qwen/Qwen3-32B", "modalities": { "input": [ "text" @@ -52885,142 +56274,114 @@ ] }, "limit": { - "context": 4095, - "output": 4096 + "context": 131072, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": false, - "release_date": "2023-03-01", - "last_updated": "2023-09-21", + "release_date": "2025-04-30", + "last_updated": "2025-11-25", "cost": { - "input": 1.5, - "output": 2 + "input": 0.14, + "output": 0.57 }, "type": "chat" }, { - "id": "openai/gpt-5.2-codex", - "name": "OpenAI: GPT-5.2-Codex", - "display_name": "OpenAI: GPT-5.2-Codex", + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "name": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "display_name": "Qwen/Qwen3-235B-A22B-Instruct-2507", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-01-14", - "last_updated": "2026-01-14", + "release_date": "2025-07-23", + "last_updated": "2025-11-25", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.09, + "output": 0.6 }, "type": "chat" }, { - "id": "openai/gpt-5.1-codex", - "name": "OpenAI: GPT-5.1-Codex", - "display_name": "OpenAI: GPT-5.1-Codex", + "id": "Qwen/Qwen3-8B", + "name": "Qwen/Qwen3-8B", + "display_name": "Qwen/Qwen3-8B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "release_date": "2025-04-30", + "last_updated": "2025-11-25", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.06, + "output": 0.06 }, "type": "chat" }, { - "id": "openai/gpt-4o-2024-05-13", - "name": "OpenAI: GPT-4o (2024-05-13)", - "display_name": "OpenAI: GPT-4o (2024-05-13)", + "id": "Qwen/Qwen2.5-Coder-32B-Instruct", + "name": "Qwen/Qwen2.5-Coder-32B-Instruct", + "display_name": "Qwen/Qwen2.5-Coder-32B-Instruct", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -53028,32 +56389,29 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2024-05-13", - "last_updated": "2026-03-15", + "release_date": "2024-11-11", + "last_updated": "2025-11-25", "cost": { - "input": 5, - "output": 15 - }, - "type": "chat" + "input": 0.18, + "output": 0.18 + } }, { - "id": "openai/gpt-5.1-chat", - "name": "OpenAI: GPT-5.1 Chat", - "display_name": "OpenAI: GPT-5.1 Chat", + "id": "Qwen/Qwen3-Next-80B-A3B-Thinking", + "name": "Qwen/Qwen3-Next-80B-A3B-Thinking", + "display_name": "Qwen/Qwen3-Next-80B-A3B-Thinking", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -53061,29 +56419,40 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": false, - "release_date": "2025-11-13", - "last_updated": "2026-03-15", + "release_date": "2025-09-25", + "last_updated": "2025-11-25", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.14, + "output": 0.57 }, "type": "chat" }, { - "id": "openai/gpt-oss-safeguard-20b", - "name": "OpenAI: gpt-oss-safeguard-20b", - "display_name": "OpenAI: gpt-oss-safeguard-20b", + "id": "Qwen/Qwen3-VL-235B-A22B-Thinking", + "name": "Qwen/Qwen3-VL-235B-A22B-Thinking", + "display_name": "Qwen/Qwen3-VL-235B-A22B-Thinking", "modalities": { "input": [ "text" @@ -53094,7 +56463,7 @@ }, "limit": { "context": 131072, - "output": 65536 + "output": 8192 }, "temperature": true, "tool_call": true, @@ -53102,21 +56471,31 @@ "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-10-29", - "last_updated": "2025-10-29", + "release_date": "2025-10-04", + "last_updated": "2025-11-25", "cost": { - "input": 0.075, - "output": 0.3, - "cache_read": 0.037 + "input": 0.45, + "output": 3.5 }, "type": "chat" }, { - "id": "openai/gpt-3.5-turbo-0613", - "name": "OpenAI: GPT-3.5 Turbo (older v0613)", - "display_name": "OpenAI: GPT-3.5 Turbo (older v0613)", + "id": "Qwen/Qwen3-Omni-30B-A3B-Captioner", + "name": "Qwen/Qwen3-Omni-30B-A3B-Captioner", + "display_name": "Qwen/Qwen3-Omni-30B-A3B-Captioner", "modalities": { "input": [ "text" @@ -53126,32 +56505,30 @@ ] }, "limit": { - "context": 4095, - "output": 4096 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2023-06-13", - "last_updated": "2023-06-13", + "release_date": "2025-10-04", + "last_updated": "2025-11-25", "cost": { - "input": 1, - "output": 2 + "input": 0.1, + "output": 0.4 }, "type": "chat" }, { - "id": "openai/gpt-5.4-mini", - "name": "OpenAI: GPT-5.4 Mini", - "display_name": "OpenAI: GPT-5.4 Mini", + "id": "Qwen/QwQ-32B", + "name": "Qwen/QwQ-32B", + "display_name": "Qwen/QwQ-32B", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -53159,52 +56536,39 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-03-17", - "last_updated": "2026-04-11", + "release_date": "2025-03-06", + "last_updated": "2025-11-25", "cost": { - "input": 0.75, - "output": 4.5, - "cache_read": 0.075 + "input": 0.15, + "output": 0.58 }, "type": "chat" }, { - "id": "openai/gpt-4-turbo", - "name": "OpenAI: GPT-4 Turbo", - "display_name": "OpenAI: GPT-4 Turbo", + "id": "Qwen/Qwen3-VL-8B-Instruct", + "name": "Qwen/Qwen3-VL-8B-Instruct", + "display_name": "Qwen/Qwen3-VL-8B-Instruct", "modalities": { "input": [ "text", @@ -53215,8 +56579,8 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 262000, + "output": 262000 }, "temperature": true, "tool_call": true, @@ -53225,33 +56589,32 @@ }, "attachment": true, "open_weights": false, - "release_date": "2023-09-13", - "last_updated": "2024-04-09", + "release_date": "2025-10-15", + "last_updated": "2025-11-25", "cost": { - "input": 10, - "output": 30 + "input": 0.18, + "output": 0.68 }, "type": "chat" }, { - "id": "openai/o1", - "name": "OpenAI: o1", - "display_name": "OpenAI: o1", + "id": "Qwen/Qwen3-VL-8B-Thinking", + "name": "Qwen/Qwen3-VL-8B-Thinking", + "display_name": "Qwen/Qwen3-VL-8B-Thinking", "modalities": { "input": [ - "image", - "pdf", - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 262000, + "output": 262000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -53260,32 +56623,28 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, "open_weights": false, - "release_date": "2024-12-05", - "last_updated": "2026-03-15", + "release_date": "2025-10-15", + "last_updated": "2025-11-25", "cost": { - "input": 15, - "output": 60, - "cache_read": 7.5 + "input": 0.18, + "output": 2 }, "type": "chat" }, { - "id": "openai/gpt-4", - "name": "OpenAI: GPT-4", - "display_name": "OpenAI: GPT-4", + "id": "Qwen/Qwen3-VL-30B-A3B-Thinking", + "name": "Qwen/Qwen3-VL-30B-A3B-Thinking", + "display_name": "Qwen/Qwen3-VL-30B-A3B-Thinking", "modalities": { "input": [ "text" @@ -53295,32 +56654,42 @@ ] }, "limit": { - "context": 8191, - "output": 4096 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2023-03-14", - "last_updated": "2024-04-09", + "release_date": "2025-10-11", + "last_updated": "2025-11-25", "cost": { - "input": 30, - "output": 60 + "input": 0.29, + "output": 1 }, "type": "chat" }, { - "id": "openai/gpt-5.3-chat", - "name": "OpenAI: GPT-5.3 Chat", - "display_name": "OpenAI: GPT-5.3 Chat", + "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", + "name": "Qwen/Qwen3-30B-A3B-Instruct-2507", + "display_name": "Qwen/Qwen3-30B-A3B-Instruct-2507", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -53328,27 +56697,28 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 8192 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-03-04", - "last_updated": "2026-03-15", + "release_date": "2025-07-30", + "last_updated": "2025-11-25", "cost": { - "input": 1.75, - "output": 14 + "input": 0.09, + "output": 0.3 }, "type": "chat" }, { - "id": "openai/gpt-4o-search-preview", - "name": "OpenAI: GPT-4o Search Preview", - "display_name": "OpenAI: GPT-4o Search Preview", + "id": "Qwen/Qwen3-Coder-30B-A3B-Instruct", + "name": "Qwen/Qwen3-Coder-30B-A3B-Instruct", + "display_name": "Qwen/Qwen3-Coder-30B-A3B-Instruct", "modalities": { "input": [ "text" @@ -53358,31 +56728,29 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-03-13", - "last_updated": "2026-03-15", + "release_date": "2025-08-01", + "last_updated": "2025-11-25", "cost": { - "input": 2.5, - "output": 10 - }, - "type": "chat" + "input": 0.07, + "output": 0.28 + } }, { - "id": "openai/gpt-4.1-nano", - "name": "OpenAI: GPT-4.1 Nano", - "display_name": "OpenAI: GPT-4.1 Nano", + "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "name": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "display_name": "Qwen/Qwen3-Coder-480B-A35B-Instruct", "modalities": { "input": [ - "image", - "pdf", "text" ], "output": [ @@ -53390,29 +56758,27 @@ ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-04-14", - "last_updated": "2026-03-15", + "release_date": "2025-07-31", + "last_updated": "2025-11-25", "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.025 - }, - "type": "chat" + "input": 0.25, + "output": 1 + } }, { - "id": "poolside/laguna-m.1:free", - "name": "Poolside: Laguna M.1 (free)", - "display_name": "Poolside: Laguna M.1 (free)", + "id": "Qwen/Qwen2.5-72B-Instruct-128K", + "name": "Qwen/Qwen2.5-72B-Instruct-128K", + "display_name": "Qwen/Qwen2.5-72B-Instruct-128K", "modalities": { "input": [ "text" @@ -53428,23 +56794,22 @@ "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-04-28", - "last_updated": "2026-05-01", + "release_date": "2024-09-18", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.59, + "output": 0.59 }, "type": "chat" }, { - "id": "poolside/laguna-xs.2:free", - "name": "Poolside: Laguna XS.2 (free)", - "display_name": "Poolside: Laguna XS.2 (free)", + "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", + "name": "Qwen/Qwen3-235B-A22B-Thinking-2507", + "display_name": "Qwen/Qwen3-235B-A22B-Thinking-2507", "modalities": { "input": [ "text" @@ -53463,23 +56828,33 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": false, - "release_date": "2026-04-28", - "last_updated": "2026-05-01", + "release_date": "2025-07-28", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.13, + "output": 0.6 }, "type": "chat" }, { - "id": "bytedance/ui-tars-1.5-7b", - "name": "ByteDance: UI-TARS 7B ", - "display_name": "ByteDance: UI-TARS 7B ", + "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "name": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "display_name": "Qwen/Qwen3-Next-80B-A3B-Instruct", "modalities": { "input": [ - "image", "text" ], "output": [ @@ -53487,28 +56862,28 @@ ] }, "limit": { - "context": 128000, - "output": 2048 + "context": 131072, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-07-23", - "last_updated": "2026-03-15", + "release_date": "2025-09-18", + "last_updated": "2025-11-25", "cost": { - "input": 0.1, - "output": 0.2 + "input": 0.14, + "output": 1.4 }, "type": "chat" }, { - "id": "minimax/minimax-m1", - "name": "MiniMax: MiniMax M1", - "display_name": "MiniMax: MiniMax M1", + "id": "Qwen/Qwen2.5-32B-Instruct", + "name": "Qwen/Qwen2.5-32B-Instruct", + "display_name": "Qwen/Qwen2.5-32B-Instruct", "modalities": { "input": [ "text" @@ -53518,61 +56893,59 @@ ] }, "limit": { - "context": 1000000, - "output": 40000 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-06-17", - "last_updated": "2025-06-17", + "open_weights": false, + "release_date": "2024-09-19", + "last_updated": "2025-11-25", "cost": { - "input": 0.4, - "output": 2.2 + "input": 0.18, + "output": 0.18 }, "type": "chat" }, { - "id": "minimax/minimax-01", - "name": "MiniMax: MiniMax-01", - "display_name": "MiniMax: MiniMax-01", + "id": "Qwen/Qwen3-VL-235B-A22B-Instruct", + "name": "Qwen/Qwen3-VL-235B-A22B-Instruct", + "display_name": "Qwen/Qwen3-VL-235B-A22B-Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000192, - "output": 1000192 + "context": 131072, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, - "open_weights": true, - "release_date": "2025-01-15", - "last_updated": "2025-01-15", + "open_weights": false, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", "cost": { - "input": 0.2, - "output": 1.1 + "input": 0.3, + "output": 1.5 }, "type": "chat" }, { - "id": "minimax/minimax-m2.1", - "name": "MiniMax: MiniMax M2.1", - "display_name": "MiniMax: MiniMax M2.1", + "id": "Qwen/Qwen2.5-7B-Instruct", + "name": "Qwen/Qwen2.5-7B-Instruct", + "display_name": "Qwen/Qwen2.5-7B-Instruct", "modalities": { "input": [ "text" @@ -53582,35 +56955,28 @@ ] }, "limit": { - "context": 196608, - "output": 39322 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "open_weights": false, + "release_date": "2024-09-18", + "last_updated": "2025-11-25", "cost": { - "input": 0.27, - "output": 0.95, - "cache_read": 0.03 + "input": 0.05, + "output": 0.05 }, "type": "chat" }, { - "id": "minimax/minimax-m2.7", - "name": "MiniMax: MiniMax M2.7", - "display_name": "MiniMax: MiniMax M2.7", + "id": "Qwen/Qwen3-30B-A3B-Thinking-2507", + "name": "Qwen/Qwen3-30B-A3B-Thinking-2507", + "display_name": "Qwen/Qwen3-30B-A3B-Thinking-2507", "modalities": { "input": [ "text" @@ -53620,8 +56986,8 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -53641,20 +57007,19 @@ } }, "attachment": false, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "open_weights": false, + "release_date": "2025-07-31", + "last_updated": "2025-11-25", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06 + "input": 0.09, + "output": 0.3 }, "type": "chat" }, { - "id": "minimax/minimax-m2", - "name": "MiniMax: MiniMax M2", - "display_name": "MiniMax: MiniMax M2", + "id": "Qwen/Qwen2.5-VL-32B-Instruct", + "name": "Qwen/Qwen2.5-VL-32B-Instruct", + "display_name": "Qwen/Qwen2.5-VL-32B-Instruct", "modalities": { "input": [ "text" @@ -53664,35 +57029,28 @@ ] }, "limit": { - "context": 196608, - "output": 196608 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-10-23", - "last_updated": "2026-03-15", + "attachment": true, + "open_weights": false, + "release_date": "2025-03-24", + "last_updated": "2025-11-25", "cost": { - "input": 0.255, - "output": 1, - "cache_read": 0.03 + "input": 0.27, + "output": 0.27 }, "type": "chat" }, { - "id": "minimax/minimax-m2.5", - "name": "MiniMax: MiniMax M2.5", - "display_name": "MiniMax: MiniMax M2.5", + "id": "Qwen/Qwen2.5-VL-72B-Instruct", + "name": "Qwen/Qwen2.5-VL-72B-Instruct", + "display_name": "Qwen/Qwen2.5-VL-72B-Instruct", "modalities": { "input": [ "text" @@ -53702,35 +57060,28 @@ ] }, "limit": { - "context": 196608, - "output": 196608 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-03-15", + "attachment": true, + "open_weights": false, + "release_date": "2025-01-28", + "last_updated": "2025-11-25", "cost": { - "input": 0.25, - "output": 1.2, - "cache_read": 0.029 + "input": 0.59, + "output": 0.59 }, "type": "chat" }, { - "id": "minimax/minimax-m2-her", - "name": "MiniMax: MiniMax M2-her", - "display_name": "MiniMax: MiniMax M2-her", + "id": "Qwen/Qwen3-Omni-30B-A3B-Thinking", + "name": "Qwen/Qwen3-Omni-30B-A3B-Thinking", + "display_name": "Qwen/Qwen3-Omni-30B-A3B-Thinking", "modalities": { "input": [ "text" @@ -53740,69 +57091,72 @@ ] }, "limit": { - "context": 65536, - "output": 2048 + "context": 131072, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2026-01-23", - "last_updated": "2026-03-15", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", "cost": { - "input": 0.3, - "output": 1.2 + "input": 0.1, + "output": 0.4 }, "type": "chat" }, { - "id": "allenai/olmo-3-32b-think", - "name": "AllenAI: Olmo 3 32B Think", - "display_name": "AllenAI: Olmo 3 32B Think", + "id": "PaddlePaddle/PaddleOCR-VL-1.5", + "name": "PaddlePaddle/PaddleOCR-VL-1.5", + "display_name": "PaddlePaddle/PaddleOCR-VL-1.5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 65536, - "output": 65536 + "context": 16384, + "output": 16384 }, "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2025-11-22", - "last_updated": "2026-03-15", + "release_date": "2026-01-29", + "last_updated": "2026-01-29", "cost": { - "input": 0.15, - "output": 0.5 + "input": 0, + "output": 0 }, "type": "chat" - } - ] - }, - "regolo-ai": { - "id": "regolo-ai", - "name": "Regolo AI", - "display_name": "Regolo AI", - "api": "https://api.regolo.ai/v1", - "doc": "https://docs.regolo.ai/", - "models": [ + }, { - "id": "mistral-small3.2", - "name": "Mistral Small 3.2", - "display_name": "Mistral Small 3.2", + "id": "tencent/Hunyuan-A13B-Instruct", + "name": "tencent/Hunyuan-A13B-Instruct", + "display_name": "tencent/Hunyuan-A13B-Instruct", "modalities": { "input": [ "text" @@ -53812,29 +57166,28 @@ ] }, "limit": { - "context": 120000, - "output": 120000 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-01-31", - "last_updated": "2025-01-31", + "release_date": "2025-06-30", + "last_updated": "2025-11-25", "cost": { - "input": 0.5, - "output": 2.2 + "input": 0.14, + "output": 0.57 }, "type": "chat" }, { - "id": "qwen3-reranker-4b", - "name": "Qwen3-Reranker-4B", - "display_name": "Qwen3-Reranker-4B", + "id": "tencent/Hunyuan-MT-7B", + "name": "tencent/Hunyuan-MT-7B", + "display_name": "tencent/Hunyuan-MT-7B", "modalities": { "input": [ "text" @@ -53844,105 +57197,59 @@ ] }, "limit": { - "context": 32768, + "context": 131072, "output": 8192 }, - "temperature": false, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-01", - "last_updated": "2026-02-01", - "cost": { - "input": 0.12, - "output": 0.12 - }, - "type": "rerank" - }, - { - "id": "qwen3.5-122b", - "name": "Qwen3.5-122B", - "display_name": "Qwen3.5-122B", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 16384 - }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2026-02-01", - "last_updated": "2026-02-01", + "attachment": false, + "open_weights": false, + "release_date": "2025-09-18", + "last_updated": "2025-11-25", "cost": { - "input": 0.9, - "output": 3.6 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "mistral-small-4-119b", - "name": "Mistral Small 4 119B", - "display_name": "Mistral Small 4 119B", + "id": "zai-org/GLM-4.5-Air", + "name": "zai-org/GLM-4.5-Air", + "display_name": "zai-org/GLM-4.5-Air", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 16384 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-03-15", - "last_updated": "2026-03-15", + "release_date": "2025-07-28", + "last_updated": "2025-11-25", "cost": { - "input": 0.75, - "output": 3 + "input": 0.14, + "output": 0.86 }, "type": "chat" }, { - "id": "gpt-oss-120b", - "name": "GPT-OSS-120B", - "display_name": "GPT-OSS-120B", + "id": "zai-org/GLM-4.5V", + "name": "zai-org/GLM-4.5V", + "display_name": "zai-org/GLM-4.5V", "modalities": { "input": [ "text" @@ -53952,45 +57259,40 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "release_date": "2025-08-13", + "last_updated": "2025-11-25", "cost": { - "input": 1, - "output": 4.2 + "input": 0.14, + "output": 0.86 }, "type": "chat" }, { - "id": "qwen3-coder-next", - "name": "Qwen3-Coder-Next", - "display_name": "Qwen3-Coder-Next", + "id": "zai-org/GLM-4.6V", + "name": "zai-org/GLM-4.6V", + "display_name": "zai-org/GLM-4.6V", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 131000, + "output": 131000 }, "temperature": true, "tool_call": true, @@ -53998,20 +57300,20 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-01", - "last_updated": "2026-03-01", + "attachment": true, + "open_weights": false, + "release_date": "2025-12-07", + "last_updated": "2025-12-07", "cost": { "input": 0.3, - "output": 1.2 + "output": 0.9 }, "type": "chat" }, { - "id": "gpt-oss-20b", - "name": "GPT-OSS-20B", - "display_name": "GPT-OSS-20B", + "id": "zai-org/GLM-4.6", + "name": "zai-org/GLM-4.6", + "display_name": "zai-org/GLM-4.6", "modalities": { "input": [ "text" @@ -54021,14 +57323,13 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -54036,31 +57337,30 @@ } }, "attachment": false, - "open_weights": true, - "release_date": "2026-03-01", - "last_updated": "2026-03-01", + "open_weights": false, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", "cost": { - "input": 0.4, - "output": 1.8 + "input": 0.5, + "output": 1.9 }, "type": "chat" }, { - "id": "qwen3.5-9b", - "name": "Qwen3.5-9B", - "display_name": "Qwen3.5-9B", + "id": "deepseek-ai/DeepSeek-V4-Pro", + "name": "deepseek-ai/DeepSeek-V4-Pro", + "display_name": "deepseek-ai/DeepSeek-V4-Pro", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 8192 + "context": 1049000, + "output": 393000 }, "temperature": true, "tool_call": true, @@ -54079,82 +57379,51 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-02-01", - "last_updated": "2026-02-01", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.15, - "output": 0.6 + "input": 1.74, + "output": 3.48, + "cache_read": 0.145 }, "type": "chat" }, { - "id": "qwen3-embedding-8b", - "name": "Qwen3-Embedding-8B", - "display_name": "Qwen3-Embedding-8B", + "id": "deepseek-ai/DeepSeek-OCR", + "name": "deepseek-ai/DeepSeek-OCR", + "display_name": "deepseek-ai/DeepSeek-OCR", "modalities": { "input": [ - "text" + "image" ], "output": [ "text" ] }, - "limit": { - "context": 32768, - "output": 8192 - }, - "temperature": false, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-01", - "last_updated": "2026-02-01", - "cost": { - "input": 0.1, - "output": 0.1 - }, - "type": "embedding" - }, - { - "id": "qwen-image", - "name": "Qwen-Image", - "display_name": "Qwen-Image", - "modalities": { - "input": [ - "text" - ], - "output": [ - "image" - ] - }, "limit": { "context": 8192, - "output": 4096 + "output": 8192 }, "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2026-03-01", - "last_updated": "2026-03-01", + "attachment": true, + "open_weights": true, + "release_date": "2025-10-20", + "last_updated": "2025-10-20", "cost": { - "input": 0.5, - "output": 2 - }, - "type": "imageGeneration" + "input": 0, + "output": 0 + } }, { - "id": "minimax-m2.5", - "name": "MiniMax 2.5", - "display_name": "MiniMax 2.5", + "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", + "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", + "display_name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", "modalities": { "input": [ "text" @@ -54164,8 +57433,8 @@ ] }, "limit": { - "context": 190000, - "output": 64000 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -54173,25 +57442,20 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, "attachment": false, "open_weights": false, - "release_date": "2026-03-10", - "last_updated": "2026-03-10", + "release_date": "2025-01-20", + "last_updated": "2025-11-25", "cost": { - "input": 0.8, - "output": 3.5 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "llama-3.1-8b-instruct", - "name": "Llama 3.1 8B Instruct", - "display_name": "Llama 3.1 8B Instruct", + "id": "deepseek-ai/DeepSeek-V3", + "name": "deepseek-ai/DeepSeek-V3", + "display_name": "deepseek-ai/DeepSeek-V3", "modalities": { "input": [ "text" @@ -54201,8 +57465,8 @@ ] }, "limit": { - "context": 120000, - "output": 120000 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -54211,18 +57475,18 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-04-07", - "last_updated": "2025-04-07", + "release_date": "2024-12-26", + "last_updated": "2025-11-25", "cost": { - "input": 0.05, - "output": 0.25 + "input": 0.25, + "output": 1 }, "type": "chat" }, { - "id": "llama-3.3-70b-instruct", - "name": "Llama 3.3 70B Instruct", - "display_name": "Llama 3.3 70B Instruct", + "id": "deepseek-ai/DeepSeek-V3.2", + "name": "deepseek-ai/DeepSeek-V3.2", + "display_name": "deepseek-ai/DeepSeek-V3.2", "modalities": { "input": [ "text" @@ -54232,127 +57496,76 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 164000, + "output": 164000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2025-04-28", - "last_updated": "2025-04-28", - "cost": { - "input": 0.6, - "output": 2.7 - }, - "type": "chat" - } - ] - }, - "google-vertex": { - "id": "google-vertex", - "name": "Vertex", - "display_name": "Vertex", - "doc": "https://cloud.google.com/vertex-ai/generative-ai/docs/models", - "models": [ - { - "id": "gemini-2.5-flash-tts", - "name": "Gemini 2.5 Flash TTS", - "display_name": "Gemini 2.5 Flash TTS", - "modalities": { - "input": [ - "text" - ], - "output": [ - "audio" - ] - }, - "limit": { - "context": 32768, - "output": 16384 + "supported": true, + "default": true }, - "temperature": false, - "tool_call": false, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-09-30", - "last_updated": "2025-12-10", + "release_date": "2025-12-03", + "last_updated": "2025-12-03", "cost": { - "input": 0.5, - "output": 10 + "input": 0.27, + "output": 0.42 }, "type": "chat" }, { - "id": "gemini-3.1-flash-lite-preview", - "name": "Gemini 3.1 Flash Lite Preview", - "display_name": "Gemini 3.1 Flash Lite Preview", + "id": "deepseek-ai/deepseek-vl2", + "name": "deepseek-ai/deepseek-vl2", + "display_name": "deepseek-ai/deepseek-vl2", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-03-03", - "last_updated": "2026-03-03", + "release_date": "2024-12-13", + "last_updated": "2025-11-25", "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.025, - "input_audio": 0.5 + "input": 0.15, + "output": 0.15 }, "type": "chat" }, { - "id": "gemini-flash-lite-latest", - "name": "Gemini Flash-Lite Latest", - "display_name": "Gemini Flash-Lite Latest", + "id": "deepseek-ai/DeepSeek-V3.1-Terminus", + "name": "deepseek-ai/DeepSeek-V3.1-Terminus", + "display_name": "deepseek-ai/DeepSeek-V3.1-Terminus", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -54360,37 +57573,31 @@ "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "release_date": "2025-09-29", + "last_updated": "2025-11-25", "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.025 + "input": 0.27, + "output": 1 }, "type": "chat" }, { - "id": "gemini-3-flash-preview", - "name": "Gemini 3 Flash Preview", - "display_name": "Gemini 3 Flash Preview", + "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", + "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", + "display_name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -54398,57 +57605,31 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "release_date": "2025-01-20", + "last_updated": "2025-11-25", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.05, - "input_audio": 1 + "input": 0.18, + "output": 0.18 }, "type": "chat" }, { - "id": "gemini-3.1-pro-preview-customtools", - "name": "Gemini 3.1 Pro Preview Custom Tools", - "display_name": "Gemini 3.1 Pro Preview Custom Tools", + "id": "deepseek-ai/DeepSeek-R1", + "name": "deepseek-ai/DeepSeek-R1", + "display_name": "deepseek-ai/DeepSeek-R1", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -54459,252 +57640,115 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", + "release_date": "2025-05-28", + "last_updated": "2025-11-25", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "tiers": [ - { - "input": 4, - "output": 18, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 4, - "output": 18, - "cache_read": 0.4 - } + "input": 0.5, + "output": 2.18 }, "type": "chat" }, { - "id": "gemini-flash-latest", - "name": "Gemini Flash Latest", - "display_name": "Gemini Flash Latest", + "id": "Kwaipilot/KAT-Dev", + "name": "Kwaipilot/KAT-Dev", + "display_name": "Kwaipilot/KAT-Dev", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "release_date": "2025-09-27", + "last_updated": "2026-01-16", "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.075, - "cache_write": 0.383 + "input": 0.2, + "output": 0.6 }, "type": "chat" }, { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "display_name": "Gemini 2.5 Pro", + "id": "deepseek-ai/DeepSeek-V3.2-Exp", + "name": "deepseek-ai/DeepSeek-V3.2-Exp", + "display_name": "deepseek-ai/DeepSeek-V3.2-Exp", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 131072, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", - "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 15, - "cache_read": 0.25 - } + "supported": false }, "type": "chat" }, { - "id": "gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "display_name": "Gemini 3.1 Pro Preview", + "id": "Pro/deepseek-ai/DeepSeek-V3.2-Exp", + "name": "Pro/deepseek-ai/DeepSeek-V3.2-Exp", + "display_name": "Pro/deepseek-ai/DeepSeek-V3.2-Exp", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 131072, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", - "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "tiers": [ - { - "input": 4, - "output": 18, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 4, - "output": 18, - "cache_read": 0.4 - } + "supported": false }, "type": "chat" }, { - "id": "gemini-3.1-flash-lite", - "name": "Gemini 3.1 Flash Lite", - "display_name": "Gemini 3.1 Flash Lite", + "id": "inclusionAI/Ring-1T", + "name": "inclusionAI/Ring-1T", + "display_name": "inclusionAI/Ring-1T", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 131072, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -54715,98 +57759,46 @@ "supported": true } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-05-07", - "last_updated": "2026-05-07", - "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.025, - "input_audio": 0.5 - }, "type": "chat" }, { - "id": "gemini-2.5-flash-lite", - "name": "Gemini 2.5 Flash-Lite", - "display_name": "Gemini 2.5 Flash-Lite", + "id": "inclusionAI/Ling-1T", + "name": "inclusionAI/Ling-1T", + "display_name": "inclusionAI/Ling-1T", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 131072, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "default": -1, - "min": 512, - "max": 24576, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.01, - "input_audio": 0.3 + "supported": false }, "type": "chat" }, { - "id": "gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "display_name": "Gemini 2.5 Flash", + "id": "inclusionAI/Ring-flash-2.0", + "name": "inclusionAI/Ring-flash-2.0", + "display_name": "inclusionAI/Ring-flash-2.0", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 131072, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -54814,228 +57806,125 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "supported": true } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.075, - "cache_write": 0.383 - }, "type": "chat" }, { - "id": "gemini-3.5-flash", - "name": "Gemini 3.5 Flash", - "display_name": "Gemini 3.5 Flash", + "id": "inclusionAI/Ling-mini-2.0", + "name": "inclusionAI/Ling-mini-2.0", + "display_name": "inclusionAI/Ling-mini-2.0", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 131072, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-05-19", - "last_updated": "2026-05-19", - "cost": { - "input": 1.5, - "output": 9, - "cache_read": 0.15, - "input_audio": 1.5 + "supported": false }, "type": "chat" }, { - "id": "gemini-embedding-001", - "name": "Gemini Embedding 001", - "display_name": "Gemini Embedding 001", + "id": "Qwen/Qwen-Image-Edit-2509", + "name": "Qwen/Qwen-Image-Edit-2509", + "display_name": "Qwen/Qwen-Image-Edit-2509", "modalities": { "input": [ + "image", "text" ], "output": [ - "text" + "image" ] }, - "limit": { - "context": 2048, - "output": 1 - }, - "temperature": false, "tool_call": false, "reasoning": { "supported": false - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-05", - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "cost": { - "input": 0.15, - "output": 0 - }, - "type": "embedding" + } }, { - "id": "gemini-2.5-pro-tts", - "name": "Gemini 2.5 Pro TTS", - "display_name": "Gemini 2.5 Pro TTS", + "id": "Qwen/Qwen-Image-Edit", + "name": "Qwen/Qwen-Image-Edit", + "display_name": "Qwen/Qwen-Image-Edit", "modalities": { "input": [ + "image", "text" ], "output": [ - "audio" + "image" ] }, - "limit": { - "context": 32768, - "output": 16384 - }, - "temperature": false, "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-09-30", - "last_updated": "2025-12-10", - "cost": { - "input": 1, - "output": 20 - }, - "type": "chat" + "supported": false + } }, { - "id": "zai-org/glm-4.7-maas", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "Qwen/Qwen-Image", + "name": "Qwen/Qwen-Image", + "display_name": "Qwen/Qwen-Image", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ - "text" + "image" ] }, - "limit": { - "context": 200000, - "output": 128000 - }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false + } + }, + { + "id": "Wan-AI/Wan2.2-I2V-A14B", + "name": "Wan-AI/Wan2.2-I2V-A14B", + "display_name": "Wan-AI/Wan2.2-I2V-A14B", + "modalities": { + "input": [ + "image", + "text" + ], + "output": [ + "video" + ] }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-01-06", - "last_updated": "2026-01-06", - "cost": { - "input": 0.6, - "output": 2.2 + "tool_call": false, + "reasoning": { + "supported": false + } + }, + { + "id": "Wan-AI/Wan2.2-T2V-A14B", + "name": "Wan-AI/Wan2.2-T2V-A14B", + "display_name": "Wan-AI/Wan2.2-T2V-A14B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "video" + ] }, - "type": "chat" + "tool_call": false, + "reasoning": { + "supported": false + } }, { - "id": "zai-org/glm-5-maas", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "zai-org/GLM-4.5", + "name": "zai-org/GLM-4.5", + "display_name": "zai-org/GLM-4.5", "modalities": { "input": [ "text" @@ -55045,41 +57934,19 @@ ] }, "limit": { - "context": 202752, - "output": 131072 + "context": 131072, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "cost": { - "input": 1, - "output": 3.2, - "cache_read": 0.1 + "supported": false }, "type": "chat" }, { - "id": "qwen/qwen3-235b-a22b-instruct-2507-maas", - "name": "Qwen3 235B A22B Instruct", - "display_name": "Qwen3 235B A22B Instruct", + "id": "stepfun-ai/step3", + "name": "stepfun-ai/step3", + "display_name": "stepfun-ai/step3", "modalities": { "input": [ "text" @@ -55089,173 +57956,104 @@ ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 131072, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-13", - "last_updated": "2025-08-13", - "cost": { - "input": 0.22, - "output": 0.88 + "supported": false }, "type": "chat" }, { - "id": "moonshotai/kimi-k2-thinking-maas", - "name": "Kimi K2 Thinking", - "display_name": "Kimi K2 Thinking", + "id": "TeleAI/TeleSpeechASR", + "name": "TeleAI/TeleSpeechASR", + "display_name": "TeleAI/TeleSpeechASR", "modalities": { "input": [ - "text" + "audio" ], "output": [ "text" ] }, - "limit": { - "context": 262144, - "output": 262144 - }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "cost": { - "input": 0.6, - "output": 2.5 - }, - "type": "chat" + "supported": false + } }, { - "id": "deepseek-ai/deepseek-v3.2-maas", - "name": "DeepSeek V3.2", - "display_name": "DeepSeek V3.2", + "id": "THUDM/GLM-4.1V-9B-Thinking", + "name": "THUDM/GLM-4.1V-9B-Thinking", + "display_name": "THUDM/GLM-4.1V-9B-Thinking", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 65536 + "context": 131072, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-12-17", - "last_updated": "2026-04-04", - "cost": { - "input": 0.56, - "output": 1.68, - "cache_read": 0.056 - }, "type": "chat" }, { - "id": "deepseek-ai/deepseek-v3.1-maas", - "name": "DeepSeek V3.1", - "display_name": "DeepSeek V3.1", + "id": "Pro/THUDM/GLM-4.1V-9B-Thinking", + "name": "Pro/THUDM/GLM-4.1V-9B-Thinking", + "display_name": "Pro/THUDM/GLM-4.1V-9B-Thinking", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 32768 + "context": 131072, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-28", - "last_updated": "2025-08-28", - "cost": { - "input": 0.6, - "output": 1.7 - }, "type": "chat" }, { - "id": "meta/llama-4-maverick-17b-128e-instruct-maas", - "name": "Llama 4 Maverick 17B 128E Instruct", - "display_name": "Llama 4 Maverick 17B 128E Instruct", + "id": "moonshotai/Kimi-Dev-72B", + "name": "moonshotai/Kimi-Dev-72B", + "display_name": "moonshotai/Kimi-Dev-72B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 524288, + "context": 131072, "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "cost": { - "input": 0.35, - "output": 1.15 - }, "type": "chat" }, { - "id": "meta/llama-3.3-70b-instruct-maas", - "name": "Llama 3.3 70B Instruct", - "display_name": "Llama 3.3 70B Instruct", + "id": "MiniMaxAI/MiniMax-M1-80k", + "name": "MiniMaxAI/MiniMax-M1-80k", + "display_name": "MiniMaxAI/MiniMax-M1-80k", "modalities": { "input": [ "text" @@ -55265,29 +58063,19 @@ ] }, "limit": { - "context": 128000, + "context": 131072, "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "cost": { - "input": 0.72, - "output": 0.72 - }, "type": "chat" }, { - "id": "openai/gpt-oss-120b-maas", - "name": "GPT OSS 120B", - "display_name": "GPT OSS 120B", + "id": "Tongyi-Zhiwen/QwenLong-L1-32B", + "name": "Tongyi-Zhiwen/QwenLong-L1-32B", + "display_name": "Tongyi-Zhiwen/QwenLong-L1-32B", "modalities": { "input": [ "text" @@ -55298,28 +58086,19 @@ }, "limit": { "context": 131072, - "output": 32768 + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "cost": { - "input": 0.09, - "output": 0.36 - }, "type": "chat" }, { - "id": "openai/gpt-oss-20b-maas", - "name": "GPT OSS 20B", - "display_name": "GPT OSS 20B", + "id": "deepseek-ai/DeepSeek-R1-0528-Qwen3-8B", + "name": "deepseek-ai/DeepSeek-R1-0528-Qwen3-8B", + "display_name": "deepseek-ai/DeepSeek-R1-0528-Qwen3-8B", "modalities": { "input": [ "text" @@ -55330,37 +58109,19 @@ }, "limit": { "context": 131072, - "output": 32768 + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "cost": { - "input": 0.07, - "output": 0.25 - }, "type": "chat" - } - ] - }, - "deepseek": { - "id": "deepseek", - "name": "DeepSeek", - "display_name": "DeepSeek", - "api": "https://api.deepseek.com", - "doc": "https://api-docs.deepseek.com/zh-cn/quick_start/pricing", - "models": [ + }, { - "id": "deepseek-reasoner", - "name": "DeepSeek Reasoner", - "display_name": "DeepSeek Reasoner", + "id": "Qwen/Qwen3-30B-A3B", + "name": "Qwen/Qwen3-30B-A3B", + "display_name": "Qwen/Qwen3-30B-A3B", "modalities": { "input": [ "text" @@ -55370,244 +58131,162 @@ ] }, "limit": { - "context": 1048576, - "output": 393216 + "context": 131072, + "output": 8192 }, - "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "high", - "max" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Compatibility alias for deepseek-v4-flash thinking mode." ] } }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-09", - "release_date": "2025-01-20", - "last_updated": "2026-04-24", - "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.028 - }, "type": "chat" }, { - "id": "deepseek-chat", - "name": "DeepSeek Chat", - "display_name": "DeepSeek Chat", + "id": "Qwen/Qwen3-Reranker-8B", + "name": "Qwen/Qwen3-Reranker-8B", + "display_name": "Qwen/Qwen3-Reranker-8B", "modalities": { "input": [ "text" ], "output": [ - "text" + "score" ] }, "limit": { - "context": 1048576, - "output": 393216 + "context": 8192, + "output": 2048 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-09", - "release_date": "2024-12-26", - "last_updated": "2026-04-24", - "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.028 - }, - "type": "chat" + "type": "rerank" }, { - "id": "deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "Qwen/Qwen3-Embedding-8B", + "name": "Qwen/Qwen3-Embedding-8B", + "display_name": "Qwen/Qwen3-Embedding-8B", "modalities": { "input": [ "text" ], "output": [ - "text" + "embedding" ] }, "limit": { - "context": 1048576, - "output": 393216 + "context": 8192, + "output": 2048 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Thinking mode is controlled through the thinking parameter; non-thinking mode disables reasoning." - ] - } - }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", - "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.028 + "supported": false }, - "type": "chat" + "type": "embedding" }, { - "id": "deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "Qwen/Qwen3-Reranker-4B", + "name": "Qwen/Qwen3-Reranker-4B", + "display_name": "Qwen/Qwen3-Reranker-4B", "modalities": { "input": [ "text" ], "output": [ - "text" + "score" ] }, "limit": { - "context": 1048576, - "output": 393216 + "context": 8192, + "output": 2048 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Thinking mode is controlled through the thinking parameter; non-thinking mode disables reasoning." - ] - } + "type": "rerank" + }, + { + "id": "Qwen/Qwen3-Embedding-4B", + "name": "Qwen/Qwen3-Embedding-4B", + "display_name": "Qwen/Qwen3-Embedding-4B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "embedding" + ] }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", - "cost": { - "input": 1.74, - "output": 3.48, - "cache_read": 0.145 + "limit": { + "context": 8192, + "output": 2048 }, - "type": "chat" - } - ] - }, - "orcarouter": { - "id": "orcarouter", - "name": "OrcaRouter", - "display_name": "OrcaRouter", - "api": "https://api.orcarouter.ai/v1", - "doc": "https://docs.orcarouter.ai", - "models": [ + "tool_call": false, + "reasoning": { + "supported": false + }, + "type": "embedding" + }, { - "id": "z-ai/glm-4.6", - "name": "GLM-4.6", - "display_name": "GLM-4.6", + "id": "Qwen/Qwen3-Reranker-0.6B", + "name": "Qwen/Qwen3-Reranker-0.6B", + "display_name": "Qwen/Qwen3-Reranker-0.6B", "modalities": { "input": [ "text" ], "output": [ - "text" + "score" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 8192, + "output": 2048 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "type": "rerank" + }, + { + "id": "Qwen/Qwen3-Embedding-0.6B", + "name": "Qwen/Qwen3-Embedding-0.6B", + "display_name": "Qwen/Qwen3-Embedding-0.6B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "embedding" + ] }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11, - "cache_write": 0 + "limit": { + "context": 8192, + "output": 2048 }, - "type": "chat" + "tool_call": false, + "reasoning": { + "supported": false + }, + "type": "embedding" }, { - "id": "z-ai/glm-4.7", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "ascend-tribe/pangu-pro-moe", + "name": "ascend-tribe/pangu-pro-moe", + "display_name": "ascend-tribe/pangu-pro-moe", "modalities": { "input": [ "text" @@ -55617,43 +58296,19 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 131072, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11, - "cache_write": 0 + "supported": false }, "type": "chat" }, { - "id": "z-ai/glm-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "Qwen/Qwen3-235B-A22B", + "name": "Qwen/Qwen3-235B-A22B", + "display_name": "Qwen/Qwen3-235B-A22B", "modalities": { "input": [ "text" @@ -55663,14 +58318,12 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 131072, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -55683,22 +58336,12 @@ ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "cost": { - "input": 1, - "output": 3.2, - "cache_read": 0.2, - "cache_write": 0 - }, "type": "chat" }, { - "id": "z-ai/glm-4.5", - "name": "GLM-4.5", - "display_name": "GLM-4.5", + "id": "Pro/Qwen/Qwen2.5-VL-7B-Instruct", + "name": "Pro/Qwen/Qwen2.5-VL-7B-Instruct", + "display_name": "Pro/Qwen/Qwen2.5-VL-7B-Instruct", "modalities": { "input": [ "text" @@ -55709,31 +58352,18 @@ }, "limit": { "context": 131072, - "output": 98304 + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11, - "cache_write": 0 + "supported": false }, "type": "chat" }, { - "id": "z-ai/glm-4.5-air", - "name": "GLM-4.5-Air", - "display_name": "GLM-4.5-Air", + "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", + "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", + "display_name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", "modalities": { "input": [ "text" @@ -55744,31 +58374,19 @@ }, "limit": { "context": 131072, - "output": 98304 + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "cost": { - "input": 0.2, - "output": 1.1, - "cache_read": 0.03, - "cache_write": 0 - }, "type": "chat" }, { - "id": "z-ai/glm-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "Qwen/QVQ-72B-Preview", + "name": "Qwen/QVQ-72B-Preview", + "display_name": "Qwen/QVQ-72B-Preview", "modalities": { "input": [ "text" @@ -55778,42 +58396,20 @@ ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 131072, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", - "cost": { - "input": 1.4, - "output": 4.4, - "cache_read": 0.26, - "cache_write": 0 - }, "type": "chat" }, { - "id": "deepseek/deepseek-reasoner", - "name": "DeepSeek Reasoner", - "display_name": "DeepSeek Reasoner", + "id": "deepseek-ai/DeepSeek-V2.5", + "name": "deepseek-ai/DeepSeek-V2.5", + "display_name": "deepseek-ai/DeepSeek-V2.5", "modalities": { "input": [ "text" @@ -55823,75 +58419,87 @@ ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 131072, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-09", - "release_date": "2025-12-01", - "last_updated": "2026-02-28", - "cost": { - "input": 0.435, - "output": 0.87, - "cache_read": 0.028 + "supported": false }, "type": "chat" }, { - "id": "deepseek/deepseek-chat", - "name": "DeepSeek Chat", - "display_name": "DeepSeek Chat", + "id": "fnlp/MOSS-TTSD-v0.5", + "name": "fnlp/MOSS-TTSD-v0.5", + "display_name": "fnlp/MOSS-TTSD-v0.5", "modalities": { "input": [ "text" ], "output": [ - "text" + "audio" ] }, - "limit": { - "context": 1000000, - "output": 384000 + "tool_call": false, + "reasoning": { + "supported": false + } + }, + { + "id": "FunAudioLLM/CosyVoice2-0.5B", + "name": "FunAudioLLM/CosyVoice2-0.5B", + "display_name": "FunAudioLLM/CosyVoice2-0.5B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "audio" + ] }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false + } + }, + { + "id": "FunAudioLLM/SenseVoiceSmall", + "name": "FunAudioLLM/SenseVoiceSmall", + "display_name": "FunAudioLLM/SenseVoiceSmall", + "modalities": { + "input": [ + "audio" + ], + "output": [ + "text" + ] }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-09", - "release_date": "2025-12-01", - "last_updated": "2026-02-28", - "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.028 + "tool_call": false, + "reasoning": { + "supported": false + } + }, + { + "id": "IndexTeam/IndexTTS-2", + "name": "IndexTeam/IndexTTS-2", + "display_name": "IndexTeam/IndexTTS-2", + "modalities": { + "input": [ + "text" + ], + "output": [ + "audio" + ] }, - "type": "chat" + "tool_call": false, + "reasoning": { + "supported": false + } }, { - "id": "deepseek/deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "BAAI/bge-m3", + "name": "BAAI/bge-m3", + "display_name": "BAAI/bge-m3", "modalities": { "input": [ "text" @@ -55901,147 +58509,4515 @@ ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 131072, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "type": "embedding" + }, + { + "id": "BAAI/bge-reranker-v2-m3", + "name": "BAAI/bge-reranker-v2-m3", + "display_name": "BAAI/bge-reranker-v2-m3", + "modalities": { + "input": [ + "text" + ], + "output": [ + "score" + ] }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", - "cost": { - "input": 0.19, - "output": 0.37, - "cache_read": 0.0028 + "limit": { + "context": 8192, + "output": 2048 }, - "type": "chat" + "tool_call": false, + "reasoning": { + "supported": false + }, + "type": "rerank" }, { - "id": "deepseek/deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "netease-youdao/bce-embedding-base_v1", + "name": "netease-youdao/bce-embedding-base_v1", + "display_name": "netease-youdao/bce-embedding-base_v1", "modalities": { "input": [ "text" ], "output": [ - "text" + "embedding" ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 8192, + "output": 2048 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "type": "embedding" + }, + { + "id": "netease-youdao/bce-reranker-base_v1", + "name": "netease-youdao/bce-reranker-base_v1", + "display_name": "netease-youdao/bce-reranker-base_v1", + "modalities": { + "input": [ + "text" + ], + "output": [ + "score" + ] }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", - "cost": { - "input": 0.56, - "output": 1.12, - "cache_read": 0.003625 + "limit": { + "context": 8192, + "output": 2048 }, - "type": "chat" + "tool_call": false, + "reasoning": { + "supported": false + } }, { - "id": "orcarouter/auto", - "name": "OrcaRouter Auto", - "display_name": "OrcaRouter Auto", + "id": "Kwai-Kolors/Kolors", + "name": "Kwai-Kolors/Kolors", + "display_name": "Kwai-Kolors/Kolors", "modalities": { "input": [ - "text", + "text" + ], + "output": [ "image" + ] + }, + "tool_call": false, + "reasoning": { + "supported": false + } + }, + { + "id": "Qwen/Qwen2-VL-72B-Instruct", + "name": "Qwen/Qwen2-VL-72B-Instruct", + "display_name": "Qwen/Qwen2-VL-72B-Instruct", + "modalities": { + "input": [ + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2025-01-01", - "last_updated": "2026-05-14", - "cost": { - "input": 0, - "output": 0 - }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4", - "name": "Claude Sonnet 4 (latest)", - "display_name": "Claude Sonnet 4 (latest)", + "id": "Qwen/Qwen2.5-Coder-7B-Instruct", + "name": "Qwen/Qwen2.5-Coder-7B-Instruct", + "display_name": "Qwen/Qwen2.5-Coder-7B-Instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 131072, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" + "supported": false + } + }, + { + "id": "internlm/internlm2_5-7b-chat", + "name": "internlm/internlm2_5-7b-chat", + "display_name": "internlm/internlm2_5-7b-chat", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "type": "chat" + }, + { + "id": "Qwen/Qwen2-7B-Instruct", + "name": "Qwen/Qwen2-7B-Instruct", + "display_name": "Qwen/Qwen2-7B-Instruct", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "type": "chat" + }, + { + "id": "THUDM/glm-4-9b-chat", + "name": "THUDM/glm-4-9b-chat", + "display_name": "THUDM/glm-4-9b-chat", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "type": "chat" + }, + { + "id": "BAAI/bge-large-en-v1.5", + "name": "BAAI/bge-large-en-v1.5", + "display_name": "BAAI/bge-large-en-v1.5", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "type": "embedding" + }, + { + "id": "BAAI/bge-large-zh-v1.5", + "name": "BAAI/bge-large-zh-v1.5", + "display_name": "BAAI/bge-large-zh-v1.5", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "type": "embedding" + }, + { + "id": "LoRA/Qwen/Qwen2.5-32B-Instruct", + "name": "LoRA/Qwen/Qwen2.5-32B-Instruct", + "display_name": "LoRA/Qwen/Qwen2.5-32B-Instruct", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "type": "chat" + }, + { + "id": "LoRA/Qwen/Qwen2.5-14B-Instruct", + "name": "LoRA/Qwen/Qwen2.5-14B-Instruct", + "display_name": "LoRA/Qwen/Qwen2.5-14B-Instruct", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "type": "chat" + }, + { + "id": "Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", + "name": "Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", + "display_name": "Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "type": "chat" + }, + { + "id": "Pro/Qwen/Qwen2.5-Coder-7B-Instruct", + "name": "Pro/Qwen/Qwen2.5-Coder-7B-Instruct", + "display_name": "Pro/Qwen/Qwen2.5-Coder-7B-Instruct", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": false + } + }, + { + "id": "Pro/BAAI/bge-m3", + "name": "Pro/BAAI/bge-m3", + "display_name": "Pro/BAAI/bge-m3", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "type": "embedding" + }, + { + "id": "Pro/Qwen/Qwen2.5-7B-Instruct", + "name": "Pro/Qwen/Qwen2.5-7B-Instruct", + "display_name": "Pro/Qwen/Qwen2.5-7B-Instruct", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "type": "chat" + }, + { + "id": "Pro/BAAI/bge-reranker-v2-m3", + "name": "Pro/BAAI/bge-reranker-v2-m3", + "display_name": "Pro/BAAI/bge-reranker-v2-m3", + "modalities": { + "input": [ + "text" + ], + "output": [ + "score" + ] + }, + "limit": { + "context": 8192, + "output": 2048 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "type": "rerank" + }, + { + "id": "LoRA/Qwen/Qwen2.5-72B-Instruct", + "name": "LoRA/Qwen/Qwen2.5-72B-Instruct", + "display_name": "LoRA/Qwen/Qwen2.5-72B-Instruct", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "type": "chat" + }, + { + "id": "Pro/Qwen/Qwen2-7B-Instruct", + "name": "Pro/Qwen/Qwen2-7B-Instruct", + "display_name": "Pro/Qwen/Qwen2-7B-Instruct", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "type": "chat" + }, + { + "id": "LoRA/Qwen/Qwen2.5-7B-Instruct", + "name": "LoRA/Qwen/Qwen2.5-7B-Instruct", + "display_name": "LoRA/Qwen/Qwen2.5-7B-Instruct", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "type": "chat" + }, + { + "id": "Pro/THUDM/glm-4-9b-chat", + "name": "Pro/THUDM/glm-4-9b-chat", + "display_name": "Pro/THUDM/glm-4-9b-chat", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "type": "chat" + }, + { + "id": "THUDM/GLM-Z1-Rumination-32B-0414", + "name": "THUDM/GLM-Z1-Rumination-32B-0414", + "display_name": "THUDM/GLM-Z1-Rumination-32B-0414", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "type": "chat" + }, + { + "id": "stabilityai/stable-diffusion-xl-base-1.0", + "name": "stabilityai/stable-diffusion-xl-base-1.0", + "display_name": "stabilityai/stable-diffusion-xl-base-1.0", + "modalities": { + "input": [ + "text" + ], + "output": [ + "image" + ] + }, + "tool_call": false, + "reasoning": { + "supported": false + } + }, + { + "id": "black-forest-labs/FLUX.1-schnell", + "name": "black-forest-labs/FLUX.1-schnell", + "display_name": "black-forest-labs/FLUX.1-schnell", + "modalities": { + "input": [ + "text" + ], + "output": [ + "image" + ] + }, + "tool_call": false, + "reasoning": { + "supported": false + } + }, + { + "id": "black-forest-labs/FLUX.1-dev", + "name": "black-forest-labs/FLUX.1-dev", + "display_name": "black-forest-labs/FLUX.1-dev", + "modalities": { + "input": [ + "text" + ], + "output": [ + "image" + ] + }, + "tool_call": false, + "reasoning": { + "supported": false + } + }, + { + "id": "Pro/black-forest-labs/FLUX.1-schnell", + "name": "Pro/black-forest-labs/FLUX.1-schnell", + "display_name": "Pro/black-forest-labs/FLUX.1-schnell", + "modalities": { + "input": [ + "text" + ], + "output": [ + "image" + ] + }, + "tool_call": false, + "reasoning": { + "supported": false + } + }, + { + "id": "stabilityai/stable-diffusion-3-5-large", + "name": "stabilityai/stable-diffusion-3-5-large", + "display_name": "stabilityai/stable-diffusion-3-5-large", + "modalities": { + "input": [ + "text" + ], + "output": [ + "image" + ] + }, + "tool_call": false, + "reasoning": { + "supported": false + } + }, + { + "id": "fishaudio/fish-speech-1.4", + "name": "fishaudio/fish-speech-1.4", + "display_name": "fishaudio/fish-speech-1.4", + "modalities": { + "input": [ + "text" + ], + "output": [ + "audio" + ] + }, + "tool_call": false, + "reasoning": { + "supported": false + } + }, + { + "id": "RVC-Boss/GPT-SoVITS", + "name": "RVC-Boss/GPT-SoVITS", + "display_name": "RVC-Boss/GPT-SoVITS", + "modalities": { + "input": [ + "text" + ], + "output": [ + "audio" + ] + }, + "tool_call": false, + "reasoning": { + "supported": false + } + }, + { + "id": "fishaudio/fish-speech-1.5", + "name": "fishaudio/fish-speech-1.5", + "display_name": "fishaudio/fish-speech-1.5", + "modalities": { + "input": [ + "text" + ], + "output": [ + "audio" + ] + }, + "tool_call": false, + "reasoning": { + "supported": false + } + }, + { + "id": "black-forest-labs/FLUX.1-pro", + "name": "black-forest-labs/FLUX.1-pro", + "display_name": "black-forest-labs/FLUX.1-pro", + "modalities": { + "input": [ + "text" + ], + "output": [ + "image" + ] + }, + "tool_call": false, + "reasoning": { + "supported": false + } + }, + { + "id": "LoRA/black-forest-labs/FLUX.1-dev", + "name": "LoRA/black-forest-labs/FLUX.1-dev", + "display_name": "LoRA/black-forest-labs/FLUX.1-dev", + "modalities": { + "input": [ + "text" + ], + "output": [ + "image" + ] + }, + "tool_call": false, + "reasoning": { + "supported": false + } + }, + { + "id": "SeedLLM/Seed-Rice-7B", + "name": "SeedLLM/Seed-Rice-7B", + "display_name": "SeedLLM/Seed-Rice-7B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "type": "chat" + } + ] + }, + "merge-gateway": { + "id": "merge-gateway", + "name": "Merge Gateway", + "display_name": "Merge Gateway", + "doc": "https://docs.merge.dev/merge-gateway", + "models": [ + { + "id": "xai/grok-4.3", + "name": "Grok 4.3", + "display_name": "Grok 4.3", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 30000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-04-17", + "last_updated": "2026-04-17", + "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 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 5, + "cache_read": 0.4 + } + }, + "type": "chat" + }, + { + "id": "xai/grok-4.20-0309-reasoning", + "name": "Grok 4.20 (Reasoning)", + "display_name": "Grok 4.20 (Reasoning)", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 30000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-03-09", + "last_updated": "2026-03-09", + "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 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 5, + "cache_read": 0.4 + } + }, + "type": "chat" + }, + { + "id": "mistral/codestral-latest", + "name": "Codestral (latest)", + "display_name": "Codestral (latest)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 256000, + "output": 4096 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2024-10", + "release_date": "2024-05-29", + "last_updated": "2025-01-04", + "cost": { + "input": 0.3, + "output": 0.9 + }, + "type": "chat" + }, + { + "id": "mistral/mistral-large-latest", + "name": "Mistral Large (latest)", + "display_name": "Mistral Large (latest)", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2025-12-02", + "cost": { + "input": 0.5, + "output": 1.5 + }, + "type": "chat" + }, + { + "id": "mistral/devstral-small-2507", + "name": "Devstral Small", + "display_name": "Devstral Small", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 128000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2025-07-10", + "last_updated": "2025-07-10", + "cost": { + "input": 0.1, + "output": 0.3 + }, + "type": "chat" + }, + { + "id": "mistral/pixtral-large-latest", + "name": "Pixtral Large (latest)", + "display_name": "Pixtral Large (latest)", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 128000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2024-11-04", + "cost": { + "input": 2, + "output": 6 + }, + "type": "chat" + }, + { + "id": "mistral/mistral-medium-latest", + "name": "Mistral Medium (latest)", + "display_name": "Mistral Medium (latest)", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-05", + "release_date": "2025-08-12", + "last_updated": "2025-08-12", + "cost": { + "input": 0.4, + "output": 2 + }, + "type": "chat" + }, + { + "id": "mistral/mistral-small-latest", + "name": "Mistral Small (latest)", + "display_name": "Mistral Small (latest)", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 256000, + "output": 256000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": true, + "knowledge": "2025-06", + "release_date": "2026-03-16", + "last_updated": "2026-03-16", + "cost": { + "input": 0.15, + "output": 0.6 + }, + "type": "chat" + }, + { + "id": "mistral/mistral-medium-2505", + "name": "Mistral Medium 3", + "display_name": "Mistral Medium 3", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-05", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", + "cost": { + "input": 0.4, + "output": 2 + }, + "type": "chat" + }, + { + "id": "mistral/mistral-large-2411", + "name": "Mistral Large 2.1", + "display_name": "Mistral Large 2.1", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 16384 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2024-11", + "release_date": "2024-11-18", + "last_updated": "2024-11-18", + "cost": { + "input": 2, + "output": 6 + }, + "type": "chat" + }, + { + "id": "mistral/magistral-medium-latest", + "name": "Magistral Medium (latest)", + "display_name": "Magistral Medium (latest)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": false, + "knowledge": "2025-06", + "release_date": "2025-03-17", + "last_updated": "2025-03-20", + "cost": { + "input": 2, + "output": 5 + }, + "type": "chat" + }, + { + "id": "mistral/devstral-medium-latest", + "name": "Devstral 2 (latest)", + "display_name": "Devstral 2 (latest)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-12", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "cost": { + "input": 0.4, + "output": 2 + }, + "type": "chat" + }, + { + "id": "mistral/devstral-2512", + "name": "Devstral 2", + "display_name": "Devstral 2", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-12", + "release_date": "2025-12-09", + "last_updated": "2025-12-09", + "cost": { + "input": 0.4, + "output": 2 + }, + "type": "chat" + }, + { + "id": "mistral/mistral-large-2512", + "name": "Mistral Large 3", + "display_name": "Mistral Large 3", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2025-12-02", + "cost": { + "input": 0.5, + "output": 1.5 + }, + "type": "chat" + }, + { + "id": "mistral/devstral-medium-2507", + "name": "Devstral Medium", + "display_name": "Devstral Medium", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 128000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "knowledge": "2025-05", + "release_date": "2025-07-10", + "last_updated": "2025-07-10", + "cost": { + "input": 0.4, + "output": 2 + }, + "type": "chat" + }, + { + "id": "google/gemini-3.1-flash-lite", + "name": "Gemini 3.1 Flash Lite", + "display_name": "Gemini 3.1 Flash Lite", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-05-07", + "last_updated": "2026-05-07", + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "input_audio": 0.5 + }, + "type": "chat" + }, + { + "id": "google/gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "display_name": "Gemini 2.5 Pro", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "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 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } + }, + "type": "chat" + }, + { + "id": "google/gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "display_name": "Gemini 2.5 Flash", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.03, + "input_audio": 1 + }, + "type": "chat" + }, + { + "id": "google/gemini-3.5-flash", + "name": "Gemini 3.5 Flash", + "display_name": "Gemini 3.5 Flash", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-05-19", + "last_updated": "2026-05-19", + "cost": { + "input": 1.5, + "output": 9, + "cache_read": 0.15, + "input_audio": 1.5 + }, + "type": "chat" + }, + { + "id": "google/gemma-4-31b-it", + "name": "Gemma 4 31B IT", + "display_name": "Gemma 4 31B IT", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "type": "chat" + }, + { + "id": "google/gemini-3.1-pro-preview-customtools", + "name": "Gemini 3.1 Pro Preview Custom Tools", + "display_name": "Gemini 3.1 Pro Preview Custom Tools", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } + }, + "type": "chat" + }, + { + "id": "google/gemini-flash-lite-latest", + "name": "Gemini Flash-Lite Latest", + "display_name": "Gemini Flash-Lite Latest", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + }, + "type": "chat" + }, + { + "id": "google/gemini-2.5-flash-lite", + "name": "Gemini 2.5 Flash-Lite", + "display_name": "Gemini 2.5 Flash-Lite", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "default": -1, + "min": 512, + "max": 24576, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.01, + "input_audio": 0.3 + }, + "type": "chat" + }, + { + "id": "google/gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "display_name": "Gemini 3.1 Pro Preview", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } + }, + "type": "chat" + }, + { + "id": "google/gemma-4-26b-a4b-it", + "name": "Gemma 4 26B A4B IT", + "display_name": "Gemma 4 26B A4B IT", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "type": "chat" + }, + { + "id": "google/gemini-3-pro-preview", + "name": "Gemini 3 Pro Preview", + "display_name": "Gemini 3 Pro Preview", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } + }, + "type": "chat" + }, + { + "id": "google/gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "display_name": "Gemini 3 Flash Preview", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "input_audio": 1 + }, + "type": "chat" + }, + { + "id": "google/gemini-flash-latest", + "name": "Gemini Flash Latest", + "display_name": "Gemini Flash Latest", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.075, + "input_audio": 1 + }, + "type": "chat" + }, + { + "id": "google/gemini-3.1-flash-lite-preview", + "name": "Gemini 3.1 Flash Lite Preview", + "display_name": "Gemini 3.1 Flash Lite Preview", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "input_audio": 0.5 + }, + "type": "chat" + }, + { + "id": "openai/o3", + "name": "o3", + "display_name": "o3", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 100000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + }, + "type": "chat" + }, + { + "id": "openai/gpt-5", + "name": "GPT-5", + "display_name": "GPT-5", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 400000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + }, + "type": "chat" + }, + { + "id": "openai/gpt-4o", + "name": "GPT-4o", + "display_name": "GPT-4o", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-08-06", + "cost": { + "input": 2.5, + "output": 10, + "cache_read": 1.25 + }, + "type": "chat" + }, + { + "id": "openai/o4-mini", + "name": "o4-mini", + "display_name": "o4-mini", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 100000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.275 + }, + "type": "chat" + }, + { + "id": "openai/gpt-4o-2024-05-13", + "name": "GPT-4o (2024-05-13)", + "display_name": "GPT-4o (2024-05-13)", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 4096 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-05-13", + "cost": { + "input": 5, + "output": 15 + }, + "type": "chat" + }, + { + "id": "openai/gpt-5.4-nano", + "name": "GPT-5.4 nano", + "display_name": "GPT-5.4 nano", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 400000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "cost": { + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 + }, + "type": "chat" + }, + { + "id": "openai/gpt-5-chat-latest", + "name": "GPT-5 Chat (latest)", + "display_name": "GPT-5 Chat (latest)", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 400000, + "output": 128000 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + }, + "type": "chat" + }, + { + "id": "openai/gpt-5.3-chat-latest", + "name": "GPT-5.3 Chat (latest)", + "display_name": "GPT-5.3 Chat (latest)", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + }, + "type": "chat" + }, + { + "id": "openai/gpt-4o-2024-08-06", + "name": "GPT-4o (2024-08-06)", + "display_name": "GPT-4o (2024-08-06)", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2024-08-06", + "last_updated": "2024-08-06", + "cost": { + "input": 2.5, + "output": 10, + "cache_read": 1.25 + }, + "type": "chat" + }, + { + "id": "openai/o3-mini", + "name": "o3-mini", + "display_name": "o3-mini", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 100000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": false, + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2024-12-20", + "last_updated": "2025-01-29", + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 + }, + "type": "chat" + }, + { + "id": "openai/gpt-5.2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 400000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + }, + "type": "chat" + }, + { + "id": "openai/gpt-5.1-chat-latest", + "name": "GPT-5.1 Chat", + "display_name": "GPT-5.1 Chat", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + }, + "type": "chat" + }, + { + "id": "openai/gpt-5.2-chat-latest", + "name": "GPT-5.2 Chat", + "display_name": "GPT-5.2 Chat", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + }, + "type": "chat" + }, + { + "id": "openai/gpt-4.1-nano", + "name": "GPT-4.1 nano", + "display_name": "GPT-4.1 nano", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1047576, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + }, + "type": "chat" + }, + { + "id": "openai/gpt-4o-2024-11-20", + "name": "GPT-4o (2024-11-20)", + "display_name": "GPT-4o (2024-11-20)", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2024-11-20", + "last_updated": "2024-11-20", + "cost": { + "input": 2.5, + "output": 10, + "cache_read": 1.25 + }, + "type": "chat" + }, + { + "id": "openai/o1", + "name": "o1", + "display_name": "o1", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 100000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2024-12-05", + "last_updated": "2024-12-05", + "cost": { + "input": 15, + "output": 60, + "cache_read": 7.5 + }, + "type": "chat" + }, + { + "id": "openai/gpt-5.4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1050000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "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 + } + } + ], + "context_over_200k": { + "input": 5, + "output": 22.5, + "cache_read": 0.5 + } + }, + "type": "chat" + }, + { + "id": "openai/gpt-5.4-mini", + "name": "GPT-5.4 mini", + "display_name": "GPT-5.4 mini", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 400000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "cost": { + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 + }, + "type": "chat" + }, + { + "id": "openai/gpt-4.1", + "name": "GPT-4.1", + "display_name": "GPT-4.1", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1047576, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + }, + "type": "chat" + }, + { + "id": "openai/gpt-5-mini", + "name": "GPT-5 Mini", + "display_name": "GPT-5 Mini", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 400000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + }, + "type": "chat" + }, + { + "id": "openai/gpt-4.1-mini", + "name": "GPT-4.1 mini", + "display_name": "GPT-4.1 mini", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1047576, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "cost": { + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 + }, + "type": "chat" + }, + { + "id": "openai/gpt-5-nano", + "name": "GPT-5 Nano", + "display_name": "GPT-5 Nano", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 400000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "cost": { + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 + }, + "type": "chat" + }, + { + "id": "openai/gpt-4o-mini", + "name": "GPT-4o mini", + "display_name": "GPT-4o mini", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.075 + }, + "type": "chat" + }, + { + "id": "openai/gpt-5.1", + "name": "GPT-5.1", + "display_name": "GPT-5.1", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 400000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + }, + "type": "chat" + }, + { + "id": "openai/gpt-5.5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1050000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + } + }, + "type": "chat" + }, + { + "id": "zai/glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 + }, + "type": "chat" + }, + { + "id": "zai/glm-4.5", + "name": "GLM-4.5", + "display_name": "GLM-4.5", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 98304 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 + }, + "type": "chat" + }, + { + "id": "zai/glm-4.7-flashx", + "name": "GLM-4.7-FlashX", + "display_name": "GLM-4.7-FlashX", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "cost": { + "input": 0.07, + "output": 0.4, + "cache_read": 0.01, + "cache_write": 0 + }, + "type": "chat" + }, + { + "id": "zai/glm-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", + "cost": { + "input": 1.4, + "output": 4.4, + "cache_read": 0.26, + "cache_write": 0 + }, + "type": "chat" + }, + { + "id": "zai/glm-4.6", + "name": "GLM-4.6", + "display_name": "GLM-4.6", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 + }, + "type": "chat" + }, + { + "id": "zai/glm-4.5-air", + "name": "GLM-4.5-Air", + "display_name": "GLM-4.5-Air", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 98304 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "cost": { + "input": 0.2, + "output": 1.1, + "cache_read": 0.03, + "cache_write": 0 + }, + "type": "chat" + }, + { + "id": "zai/glm-5", + "name": "GLM-5", + "display_name": "GLM-5", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "cost": { + "input": 1, + "output": 3.2, + "cache_read": 0.2, + "cache_write": 0 + }, + "type": "chat" + }, + { + "id": "zai/glm-5-turbo", + "name": "GLM-5-Turbo", + "display_name": "GLM-5-Turbo", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": false, + "release_date": "2026-03-16", + "last_updated": "2026-03-16", + "cost": { + "input": 1.2, + "output": 4, + "cache_read": 0.24, + "cache_write": 0 + }, + "type": "chat" + }, + { + "id": "anthropic/claude-haiku-4-5-20251001", + "name": "Claude Haiku 4.5", + "display_name": "Claude Haiku 4.5", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 64000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + }, + "type": "chat" + }, + { + "id": "anthropic/claude-opus-4-1-20250805", + "name": "Claude Opus 4.1", + "display_name": "Claude Opus 4.1", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 32000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + }, + "type": "chat" + }, + { + "id": "anthropic/claude-opus-4-7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + }, + "type": "chat" + }, + { + "id": "anthropic/claude-opus-4-5-20251101", + "name": "Claude Opus 4.5", + "display_name": "Claude Opus 4.5", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 64000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-11-01", + "last_updated": "2025-11-01", + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + }, + "type": "chat" + }, + { + "id": "anthropic/claude-opus-4-20250514", + "name": "Claude Opus 4", + "display_name": "Claude Opus 4", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 32000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + }, + "type": "chat" + }, + { + "id": "anthropic/claude-sonnet-4-20250514", + "name": "Claude Sonnet 4", + "display_name": "Claude Sonnet 4", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 64000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + }, + "type": "chat" + }, + { + "id": "anthropic/claude-opus-4-6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 128000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + }, + "type": "chat" + }, + { + "id": "anthropic/claude-sonnet-4-5-20250929", + "name": "Claude Sonnet 4.5", + "display_name": "Claude Sonnet 4.5", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 64000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + }, + "type": "chat" + }, + { + "id": "anthropic/claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 64000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + }, + "type": "chat" + }, + { + "id": "cohere/command-a-03-2025", + "name": "Command A", + "display_name": "Command A", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 256000, + "output": 8000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2024-06-01", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "cost": { + "input": 2.5, + "output": 10 + }, + "type": "chat" + }, + { + "id": "cohere/command-r-08-2024", + "name": "Command R", + "display_name": "Command R", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 4000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2024-06-01", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", + "cost": { + "input": 0.15, + "output": 0.6 + }, + "type": "chat" + }, + { + "id": "cohere/command-r7b-12-2024", + "name": "Command R7B", + "display_name": "Command R7B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 4000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2024-06-01", + "release_date": "2024-12-02", + "last_updated": "2024-12-02", + "cost": { + "input": 0.0375, + "output": 0.15 + }, + "type": "chat" + }, + { + "id": "cohere/command-r-plus-08-2024", + "name": "Command R+", + "display_name": "Command R+", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 4000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2024-06-01", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", + "cost": { + "input": 2.5, + "output": 10 + }, + "type": "chat" + }, + { + "id": "deepseek/deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 384000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "cost": { + "input": 0.14, + "output": 0.28, + "cache_read": 0.0028 + }, + "type": "chat" + }, + { + "id": "deepseek/deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 384000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "cost": { + "input": 0.435, + "output": 0.87, + "cache_read": 0.003625 + }, + "type": "chat" + }, + { + "id": "minimax/minimax-m2.7-highspeed", + "name": "MiniMax-M2.7-highspeed", + "display_name": "MiniMax-M2.7-highspeed", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "cost": { + "input": 0.6, + "output": 2.4, + "cache_read": 0.06, + "cache_write": 0.375 + }, + "type": "chat" + }, + { + "id": "minimax/minimax-m2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03, + "cache_write": 0.375 + }, + "type": "chat" + }, + { + "id": "minimax/minimax-m2.1", + "name": "MiniMax-M2.1", + "display_name": "MiniMax-M2.1", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "cost": { + "input": 0.3, + "output": 1.2 + }, + "type": "chat" + }, + { + "id": "minimax/minimax-m2", + "name": "MiniMax-M2", + "display_name": "MiniMax-M2", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 196608, + "output": 128000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-10-27", + "last_updated": "2025-10-27", + "cost": { + "input": 0.3, + "output": 1.2 + }, + "type": "chat" + }, + { + "id": "minimax/minimax-m2.7", + "name": "MiniMax-M2.7", + "display_name": "MiniMax-M2.7", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06, + "cache_write": 0.375 + }, + "type": "chat" + }, + { + "id": "minimax/minimax-m2.5-highspeed", + "name": "MiniMax-M2.5-highspeed", + "display_name": "MiniMax-M2.5-highspeed", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-02-13", + "last_updated": "2026-02-13", + "cost": { + "input": 0.6, + "output": 2.4, + "cache_read": 0.06, + "cache_write": 0.375 + }, + "type": "chat" + } + ] + }, + "qihang-ai": { + "id": "qihang-ai", + "name": "QiHang", + "display_name": "QiHang", + "api": "https://api.qhaigc.net/v1", + "doc": "https://www.qhaigc.net/docs", + "models": [ + { + "id": "claude-haiku-4-5-20251001", + "name": "Claude Haiku 4.5", + "display_name": "Claude Haiku 4.5", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 64000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" }, "interleaved": true, "summaries": true, @@ -56057,34 +63033,163 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "knowledge": "2025-07-31", + "release_date": "2025-10-01", + "last_updated": "2025-10-01", + "cost": { + "input": 0.14, + "output": 0.71 + }, + "type": "chat" + }, + { + "id": "gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "display_name": "Gemini 2.5 Flash", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "cost": { + "input": 0.09, + "output": 0.71, + "tiers": [ + { + "input": 0.09, + "output": 0.71, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 0.09, + "output": 0.71 + } + }, + "type": "chat" + }, + { + "id": "claude-opus-4-5-20251101", + "name": "Claude Opus 4.5", + "display_name": "Claude Opus 4.5", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 32000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-03", + "release_date": "2025-11-01", + "last_updated": "2025-11-01", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.71, + "output": 3.57 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4.6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "gpt-5.2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 400000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -56096,47 +63201,39 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", + "mode": "effort", + "effort": "none", "effort_options": [ + "none", "low", "medium", "high", - "max" + "xhigh" ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] + "visibility": "hidden" } }, "attachment": true, "open_weights": false, "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.25, + "output": 2 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.5", - "name": "Claude Opus 4.5 (latest)", - "display_name": "Claude Opus 4.5 (latest)", + "id": "claude-sonnet-4-5-20250929", + "name": "Claude Sonnet 4.5", + "display_name": "Claude Sonnet 4.5", "modalities": { "input": [ "text", @@ -56161,17 +63258,11 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "mixed", + "mode": "budget", "budget": { "min": 1024, "unit": "tokens" }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], "interleaved": true, "summaries": true, "visibility": "summary", @@ -56179,33 +63270,32 @@ "thinking_blocks" ], "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.43, + "output": 2.14 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.7", - "name": "Claude Opus 4.7", - "display_name": "Claude Opus 4.7", + "id": "gemini-3-pro-preview", + "name": "Gemini 3 Pro Preview", + "display_name": "Gemini 3 Pro Preview", "modalities": { "input": [ "text", "image", - "pdf" + "audio", + "video" ], "output": [ "text" @@ -56213,61 +63303,107 @@ }, "limit": { "context": 1000000, - "output": 128000 + "output": 65000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-11", + "release_date": "2025-11-19", + "last_updated": "2025-11-19", + "cost": { + "input": 0.57, + "output": 3.43 + }, + "type": "chat" + }, + { + "id": "gpt-5-mini", + "name": "GPT-5-Mini", + "display_name": "GPT-5-Mini", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 64000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, "mode": "effort", - "effort": "high", + "effort": "medium", "effort_options": [ + "minimal", "low", "medium", - "high", - "xhigh", - "max" + "high" ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "knowledge": "2024-09-30", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.04, + "output": 0.29 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4.5", - "name": "Claude Sonnet 4.5 (latest)", - "display_name": "Claude Sonnet 4.5 (latest)", + "id": "gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "display_name": "Gemini 3 Flash Preview", "modalities": { "input": [ "text", "image", + "video", + "audio", "pdf" ], "output": [ @@ -56275,122 +63411,283 @@ ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + "thought_signatures" ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.07, + "output": 0.43, + "tiers": [ + { + "input": 0.07, + "output": 0.43, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 0.07, + "output": 0.43 + } }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.6", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "display_name": "GPT-5.2 Codex", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 400000, "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", + "default_enabled": true, + "mode": "effort", + "effort": "medium", "effort_options": [ "low", "medium", "high", - "max" + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "cost": { + "input": 0.14, + "output": 1.14 + }, + "type": "chat" + } + ] + }, + "xiaomi-token-plan-ams": { + "id": "xiaomi-token-plan-ams", + "name": "Xiaomi Token Plan (Europe)", + "display_name": "Xiaomi Token Plan (Europe)", + "api": "https://token-plan-ams.xiaomimimo.com/v1", + "doc": "https://platform.xiaomimimo.com/#/docs", + "models": [ + { + "id": "mimo-v2.5-tts", + "name": "MiMo-V2.5-TTS", + "display_name": "MiMo-V2.5-TTS", + "modalities": { + "input": [ + "text" + ], + "output": [ + "audio" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, + { + "id": "mimo-v2.5-pro", + "name": "MiMo-V2.5-Pro", + "display_name": "MiMo-V2.5-Pro", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": true, + "attachment": false, + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + }, + "type": "chat" + }, + { + "id": "mimo-v2-pro", + "name": "MiMo-V2-Pro", + "display_name": "MiMo-V2-Pro", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-03-13", + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0, + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "anthropic/claude-haiku-4.5", - "name": "Claude Haiku 4.5 (latest)", - "display_name": "Claude Haiku 4.5 (latest)", + "id": "mimo-v2-tts", + "name": "MiMo-V2-TTS", + "display_name": "MiMo-V2-TTS", + "modalities": { + "input": [ + "text" + ], + "output": [ + "audio" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, + { + "id": "mimo-v2-omni", + "name": "MiMo-V2-Omni", + "display_name": "MiMo-V2-Omni", "modalities": { "input": [ "text", "image", + "audio", + "video", "pdf" ], "output": [ @@ -56398,182 +63695,645 @@ ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 262144, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + }, + "type": "chat" + }, + { + "id": "mimo-v2.5", + "name": "MiMo-V2.5", + "display_name": "MiMo-V2.5", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + }, + "type": "chat" + }, + { + "id": "mimo-v2.5-tts-voicedesign", + "name": "MiMo-V2.5-TTS-VoiceDesign", + "display_name": "MiMo-V2.5-TTS-VoiceDesign", + "modalities": { + "input": [ + "text" + ], + "output": [ + "audio" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, + { + "id": "mimo-v2.5-tts-voiceclone", + "name": "MiMo-V2.5-TTS-VoiceClone", + "display_name": "MiMo-V2.5-TTS-VoiceClone", + "modalities": { + "input": [ + "text" + ], + "output": [ + "audio" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + } + ] + }, + "modelscope": { + "id": "modelscope", + "name": "ModelScope", + "display_name": "ModelScope", + "api": "https://api-inference.modelscope.cn/v1", + "doc": "https://modelscope.cn/docs/model-service/API-Inference/intro", + "models": [ + { + "id": "Qwen/Qwen3-30B-A3B-Thinking-2507", + "name": "Qwen3 30B A3B Thinking 2507", + "display_name": "Qwen3 30B A3B Thinking 2507", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-30", + "last_updated": "2025-07-30", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, + { + "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", + "name": "Qwen3-235B-A22B-Thinking-2507", + "display_name": "Qwen3-235B-A22B-Thinking-2507", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, + { + "id": "Qwen/Qwen3-Coder-30B-A3B-Instruct", + "name": "Qwen3 Coder 30B A3B Instruct", + "display_name": "Qwen3 Coder 30B A3B Instruct", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-31", + "last_updated": "2025-07-31", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, + { + "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", + "name": "Qwen3 30B A3B Instruct 2507", + "display_name": "Qwen3 30B A3B Instruct 2507", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 16384 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-30", + "last_updated": "2025-07-30", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, + { + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "name": "Qwen3 235B A22B Instruct 2507", + "display_name": "Qwen3 235B A22B Instruct 2507", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-04-28", + "last_updated": "2025-07-21", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, + { + "id": "ZhipuAI/GLM-4.6", + "name": "GLM-4.6", + "display_name": "GLM-4.6", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 202752, + "output": 98304 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-07", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, + { + "id": "ZhipuAI/GLM-4.5", + "name": "GLM-4.5", + "display_name": "GLM-4.5", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 98304 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + } + ] + }, + "groq": { + "id": "groq", + "name": "Groq", + "display_name": "Groq", + "doc": "https://console.groq.com/docs/models", + "models": [ + { + "id": "llama-3.3-70b-versatile", + "name": "Llama 3.3 70B", + "display_name": "Llama 3.3 70B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "cost": { + "input": 0.59, + "output": 0.79 + }, + "type": "chat" + }, + { + "id": "llama-3.1-8b-instant", + "name": "Llama 3.1 8B", + "display_name": "Llama 3.1 8B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "cost": { + "input": 0.05, + "output": 0.08 + }, + "type": "chat" + }, + { + "id": "whisper-large-v3-turbo", + "name": "Whisper Large V3 Turbo", + "display_name": "Whisper Large V3 Turbo", + "modalities": { + "input": [ + "audio" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2024-10-01", + "last_updated": "2024-10-01", + "type": "chat" + }, + { + "id": "whisper-large-v3", + "name": "Whisper", + "display_name": "Whisper", + "modalities": { + "input": [ + "audio" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2023-09-01", + "last_updated": "2025-09-05", + "type": "chat" + }, + { + "id": "meta-llama/llama-prompt-guard-2-86m", + "name": "Prompt Guard 2 86M", + "display_name": "Prompt Guard 2 86M", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 512, + "output": 512 + }, + "temperature": false, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-05-29", + "last_updated": "2025-05-29", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 0.04, + "output": 0.04 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.1", - "name": "Claude Opus 4.1 (latest)", - "display_name": "Claude Opus 4.1 (latest)", + "id": "meta-llama/llama-prompt-guard-2-22m", + "name": "Llama Prompt Guard 2 22M", + "display_name": "Llama Prompt Guard 2 22M", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 512, + "output": 512 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "attachment": false, + "open_weights": true, + "release_date": "2025-05-29", + "last_updated": "2025-05-29", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.03, + "output": 0.03 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4", - "name": "Claude Opus 4 (latest)", - "display_name": "Claude Opus 4 (latest)", + "id": "meta-llama/llama-4-scout-17b-16e-instruct", + "name": "Llama 4 Scout 17B 16E", + "display_name": "Llama 4 Scout 17B 16E", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.11, + "output": 0.34 }, "type": "chat" }, { - "id": "qwen/qwen3.5-122b-a10b", - "name": "Qwen3.5 122B-A10B", - "display_name": "Qwen3.5 122B-A10B", + "id": "openai/gpt-oss-safeguard-20b", + "name": "Safety GPT OSS 20B", + "display_name": "Safety GPT OSS 20B", "modalities": { "input": [ - "text", - "image", - "video", - "audio" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, + "context": 131072, "output": 65536 }, "temperature": true, @@ -56582,43 +64342,31 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-02-23", - "last_updated": "2026-02-23", + "release_date": "2025-10-29", + "last_updated": "2025-10-29", "cost": { - "input": 0.115, - "output": 0.917 + "input": 0.075, + "output": 0.3, + "cache_read": 0.037 }, "type": "chat" }, { - "id": "qwen/qwen3.5-plus", - "name": "Qwen3.5 Plus", - "display_name": "Qwen3.5 Plus", + "id": "openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "display_name": "GPT OSS 120B", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 131072, "output": 65536 }, "temperature": true, @@ -56629,31 +64377,24 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", + "open_weights": true, + "release_date": "2025-08-05", + "last_updated": "2025-10-21", "cost": { - "input": 0.115, - "output": 0.688, - "reasoning": 2.4 + "input": 0.15, + "output": 0.6, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "qwen/qwen3-max", - "name": "Qwen3 Max", - "display_name": "Qwen3 Max", + "id": "openai/gpt-oss-20b", + "name": "GPT OSS 20B", + "display_name": "GPT OSS 20B", "modalities": { "input": [ "text" @@ -56663,212 +64404,154 @@ ] }, "limit": { - "context": 262144, + "context": 131072, "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", + "open_weights": true, + "release_date": "2025-08-05", + "last_updated": "2025-09-25", "cost": { - "input": 0.359, - "output": 1.434 + "input": 0.075, + "output": 0.3, + "cache_read": 0.0375 }, "type": "chat" }, { - "id": "qwen/qwen3.6-plus", - "name": "Qwen3.6 Plus", - "display_name": "Qwen3.6 Plus", + "id": "canopylabs/orpheus-v1-english", + "name": "Canopy Labs Orpheus V1 English", + "display_name": "Canopy Labs Orpheus V1 English", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ - "text" + "audio" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 4000, + "output": 50000 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-04-02", - "last_updated": "2026-04-02", - "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 - } - } + "release_date": "2025-12-19", + "last_updated": "2025-12-19", + "type": "chat" + }, + { + "id": "canopylabs/orpheus-arabic-saudi", + "name": "Canopy Labs Orpheus Arabic Saudi", + "display_name": "Canopy Labs Orpheus Arabic Saudi", + "modalities": { + "input": [ + "text" ], - "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.2, - "cache_write": 2.5 - } + "output": [ + "audio" + ] + }, + "limit": { + "context": 4000, + "output": 50000 + }, + "temperature": false, + "tool_call": false, + "reasoning": { + "supported": false }, + "attachment": false, + "open_weights": false, + "release_date": "2025-12-16", + "last_updated": "2025-12-16", "type": "chat" }, { - "id": "qwen/qwen3.5-35b-a3b", - "name": "Qwen3.5 35B-A3B", - "display_name": "Qwen3.5 35B-A3B", + "id": "groq/compound", + "name": "Compound", + "display_name": "Compound", "modalities": { "input": [ - "text", - "image", - "video", - "audio" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 131072, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": true, - "open_weights": true, - "release_date": "2026-02-23", - "last_updated": "2026-02-23", - "cost": { - "input": 0.057, - "output": 0.459 + "supported": false }, + "attachment": false, + "open_weights": false, + "release_date": "2025-09-04", + "last_updated": "2025-09-04", "type": "chat" }, { - "id": "qwen/qwen3.6-35b-a3b", - "name": "Qwen3.6 35B-A3B", - "display_name": "Qwen3.6 35B-A3B", + "id": "groq/compound-mini", + "name": "Compound Mini", + "display_name": "Compound Mini", "modalities": { "input": [ - "text", - "image", - "video", - "audio" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 131072, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": true, - "open_weights": true, - "release_date": "2026-04-17", - "last_updated": "2026-04-17", - "cost": { - "input": 0.248, - "output": 1.485 + "supported": false }, + "attachment": false, + "open_weights": false, + "release_date": "2025-09-04", + "last_updated": "2025-09-04", "type": "chat" }, { - "id": "qwen/qwen3.5-397b-a17b", - "name": "Qwen3.5 397B-A17B", - "display_name": "Qwen3.5 397B-A17B", + "id": "qwen/qwen3-32b", + "name": "Qwen3-32B", + "display_name": "Qwen3-32B", "modalities": { "input": [ - "text", - "image", - "video", - "audio" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 131072, + "output": 40960 }, "temperature": true, "tool_call": true, @@ -56887,26 +64570,32 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-02-15", - "last_updated": "2026-02-15", + "release_date": "2025-06-11", + "last_updated": "2025-06-12", "cost": { - "input": 0.172, - "output": 1.032 + "input": 0.29, + "output": 0.59 }, "type": "chat" - }, + } + ] + }, + "mixlayer": { + "id": "mixlayer", + "name": "Mixlayer", + "display_name": "Mixlayer", + "api": "https://models.mixlayer.ai/v1", + "doc": "https://docs.mixlayer.com", + "models": [ { "id": "qwen/qwen3.5-27b", "name": "Qwen3.5 27B", "display_name": "Qwen3.5 27B", "modalities": { "input": [ - "text", - "image", - "video", - "audio" + "text" ], "output": [ "text" @@ -56914,7 +64603,7 @@ }, "limit": { "context": 262144, - "output": 65536 + "output": 262144 }, "temperature": true, "tool_call": true, @@ -56933,33 +64622,31 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-02-23", - "last_updated": "2026-02-23", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.086, - "output": 0.688 + "input": 0.3, + "output": 2.4 }, "type": "chat" }, { - "id": "grok/grok-4.3", - "name": "Grok 4.3", - "display_name": "Grok 4.3", + "id": "qwen/qwen3.5-35b-a3b", + "name": "Qwen3.5 35B A3B", + "display_name": "Qwen3.5 35B A3B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 30000 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -56969,55 +64656,40 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-17", - "last_updated": "2026-04-17", + "attachment": false, + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 5, - "cache_read": 0.4 - } + "input": 0.25, + "output": 1.3 }, "type": "chat" }, { - "id": "google/gemini-3.1-flash-lite-preview", - "name": "Gemini 3.1 Flash Lite Preview", - "display_name": "Gemini 3.1 Flash Lite Preview", + "id": "qwen/qwen3.5-9b", + "name": "Qwen3.5 9B", + "display_name": "Qwen3.5 9B", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -57027,30 +64699,32 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-03-03", - "last_updated": "2026-03-03", + "attachment": false, + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.025, - "input_audio": 0.5 + "input": 0.1, + "output": 0.4 }, "type": "chat" }, { - "id": "google/gemma-4-31b-it", - "name": "Gemma 4 31B IT", - "display_name": "Gemma 4 31B IT", + "id": "qwen/qwen3.5-397b-a17b", + "name": "Qwen3.5 397B A17B", + "display_name": "Qwen3.5 397B A17B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -57058,7 +64732,7 @@ }, "limit": { "context": 262144, - "output": 32768 + "output": 262144 }, "temperature": true, "tool_call": true, @@ -57066,73 +64740,42 @@ "supported": true, "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": true, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.13, - "output": 0.38 + "input": 0.6, + "output": 3.6 }, "type": "chat" }, { - "id": "google/gemini-flash-lite-latest", - "name": "Gemini Flash-Lite Latest", - "display_name": "Gemini Flash-Lite Latest", + "id": "qwen/qwen3.5-122b-a10b", + "name": "Qwen3.5 122B A10B", + "display_name": "Qwen3.5 122B A10B", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" - ], - "output": [ "text" - ] - }, - "limit": { - "context": 1048576, - "output": 65536 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.025 - }, - "type": "chat" - }, - { - "id": "google/gemini-3-flash-preview", - "name": "Gemini 3 Flash Preview", - "display_name": "Gemini 3 Flash Preview", - "modalities": { - "input": [ - "text", - "image", - "video", - "audio", - "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -57143,45 +64786,43 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "attachment": false, + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.05, - "input_audio": 1 + "input": 0.4, + "output": 3.2 }, "type": "chat" - }, + } + ] + }, + "orcarouter": { + "id": "orcarouter", + "name": "OrcaRouter", + "display_name": "OrcaRouter", + "api": "https://api.orcarouter.ai/v1", + "doc": "https://docs.orcarouter.ai", + "models": [ { - "id": "google/gemini-3.1-pro-preview-customtools", - "name": "Gemini 3.1 Pro Preview Custom Tools", - "display_name": "Gemini 3.1 Pro Preview Custom Tools", + "id": "google/gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "display_name": "Gemini 2.5 Pro", "modalities": { "input": [ "text", "image", - "video", "audio", + "video", "pdf" ], "output": [ @@ -57202,12 +64843,14 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ @@ -57218,17 +64861,17 @@ "attachment": true, "open_weights": false, "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 4, - "output": 18, - "cache_read": 0.2, + "input": 2.5, + "output": 15, + "cache_read": 0.125, "tiers": [ { - "input": 4, - "output": 18, - "cache_read": 0.4, + "input": 2.5, + "output": 15, + "cache_read": 0.25, "tier": { "type": "context", "size": 200000 @@ -57236,17 +64879,17 @@ } ], "context_over_200k": { - "input": 4, - "output": 18, - "cache_read": 0.4 + "input": 2.5, + "output": 15, + "cache_read": 0.25 } }, "type": "chat" }, { - "id": "google/gemini-flash-latest", - "name": "Gemini Flash Latest", - "display_name": "Gemini Flash Latest", + "id": "google/gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "display_name": "Gemini 2.5 Flash", "modalities": { "input": [ "text", @@ -57269,38 +64912,55 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, "attachment": true, "open_weights": false, "knowledge": "2025-01", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.075, + "input": 0.3, + "output": 2.5, + "cache_read": 0.03, "input_audio": 1 }, "type": "chat" }, { - "id": "google/gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "display_name": "Gemini 2.5 Pro", + "id": "google/gemma-4-31b-it", + "name": "Gemma 4 31B IT", + "display_name": "Gemma 4 31B IT", "modalities": { "input": [ "text", - "image", - "audio", - "video", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 262144, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -57308,57 +64968,20 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "open_weights": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 2.5, - "output": 15, - "cache_read": 0.125, - "tiers": [ - { - "input": 2.5, - "output": 15, - "cache_read": 0.25, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 15, - "cache_read": 0.25 - } + "input": 0.13, + "output": 0.38 }, "type": "chat" }, { - "id": "google/gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "display_name": "Gemini 3.1 Pro Preview", + "id": "google/gemini-3.1-pro-preview-customtools", + "name": "Gemini 3.1 Pro Preview Custom Tools", + "display_name": "Gemini 3.1 Pro Preview Custom Tools", "modalities": { "input": [ "text", @@ -57427,9 +65050,9 @@ "type": "chat" }, { - "id": "google/gemini-2.5-flash-lite", - "name": "Gemini 2.5 Flash-Lite", - "display_name": "Gemini 2.5 Flash-Lite", + "id": "google/gemini-flash-lite-latest", + "name": "Gemini Flash-Lite Latest", + "display_name": "Gemini Flash-Lite Latest", "modalities": { "input": [ "text", @@ -57450,44 +65073,24 @@ "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "default": -1, - "min": 512, - "max": 24576, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "default": true }, "attachment": true, "open_weights": false, "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.01, - "input_audio": 0.3 + "input": 0.25, + "output": 1.5, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "google/gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "display_name": "Gemini 2.5 Flash", + "id": "google/gemini-2.5-flash-lite", + "name": "Gemini 2.5 Flash-Lite", + "display_name": "Gemini 2.5 Flash-Lite", "modalities": { "input": [ "text", @@ -57508,19 +65111,18 @@ "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "budget", "budget": { "default": -1, - "min": 0, + "min": 512, "max": 24576, "auto": -1, - "off": 0, "unit": "tokens" }, "summaries": true, @@ -57533,53 +65135,20 @@ "attachment": true, "open_weights": false, "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", - "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.03, - "input_audio": 1 - }, - "type": "chat" - }, - { - "id": "google/gemma-4-26b-a4b-it", - "name": "Gemma 4 26B A4B IT", - "display_name": "Gemma 4 26B A4B IT", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 32768 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": true, - "open_weights": true, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 0.06, - "output": 0.33 + "input": 0.1, + "output": 0.4, + "cache_read": 0.01, + "input_audio": 0.3 }, "type": "chat" }, { - "id": "google/gemini-3-pro-preview", - "name": "Gemini 3 Pro Preview", - "display_name": "Gemini 3 Pro Preview", + "id": "google/gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "display_name": "Gemini 3.1 Pro Preview", "modalities": { "input": [ "text", @@ -57622,8 +65191,8 @@ "attachment": true, "open_weights": false, "knowledge": "2025-01", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", "cost": { "input": 4, "output": 18, @@ -57648,92 +65217,9 @@ "type": "chat" }, { - "id": "openai/gpt-4o-2024-08-06", - "name": "GPT-4o (2024-08-06)", - "display_name": "GPT-4o (2024-08-06)", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 16384 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-08-06", - "last_updated": "2024-08-06", - "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 - }, - "type": "chat" - }, - { - "id": "openai/gpt-5-pro", - "name": "GPT-5 Pro", - "display_name": "GPT-5 Pro", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 400000, - "output": 272000 - }, - "temperature": false, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "fixed", - "effort": "high", - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-10-06", - "last_updated": "2025-10-06", - "cost": { - "input": 15, - "output": 120 - }, - "type": "chat" - }, - { - "id": "openai/gpt-5-mini", - "name": "GPT-5 Mini", - "display_name": "GPT-5 Mini", + "id": "google/gemma-4-26b-a4b-it", + "name": "Gemma 4 26B A4B IT", + "display_name": "Gemma 4 26B A4B IT", "modalities": { "input": [ "text", @@ -57744,56 +65230,35 @@ ] }, "limit": { - "context": 400000, - "output": 128000 - }, - "temperature": false, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "context": 262144, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true }, "attachment": true, - "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "open_weights": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 0.06, + "output": 0.33 }, "type": "chat" }, { - "id": "openai/gpt-4o", - "name": "GPT-4o", - "display_name": "GPT-4o", + "id": "google/gemini-3-pro-preview", + "name": "Gemini 3 Pro Preview", + "display_name": "Gemini 3 Pro Preview", "modalities": { "input": [ "text", "image", + "video", + "audio", "pdf" ], "output": [ @@ -57801,136 +65266,178 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } }, "attachment": true, "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-08-06", + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 + "input": 4, + "output": 18, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "openai/gpt-5.2", - "name": "GPT-5.2", - "display_name": "GPT-5.2", + "id": "google/gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "display_name": "Gemini 3 Flash Preview", "modalities": { "input": [ "text", - "image" + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1048576, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", "low", "medium", "high" ], - "visibility": "hidden" + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "input_audio": 1 }, "type": "chat" }, { - "id": "openai/gpt-5-chat-latest", - "name": "GPT-5 Chat (latest)", - "display_name": "GPT-5 Chat (latest)", + "id": "google/gemini-flash-latest", + "name": "Gemini Flash Latest", + "display_name": "Gemini Flash Latest", "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1048576, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.5, + "output": 3, + "cache_read": 0.075, + "input_audio": 1 }, "type": "chat" }, { - "id": "openai/gpt-5-codex", - "name": "GPT-5-Codex", - "display_name": "GPT-5-Codex", + "id": "google/gemini-3.1-flash-lite-preview", + "name": "Gemini 3.1 Flash Lite Preview", + "display_name": "Gemini 3.1 Flash Lite Preview", "modalities": { "input": [ "text", - "image" + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1048576, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -57938,123 +65445,120 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", + "knowledge": "2025-01", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "input_audio": 0.5 }, "type": "chat" }, { - "id": "openai/gpt-5.3-chat-latest", - "name": "GPT-5.3 Chat (latest)", - "display_name": "GPT-5.3 Chat (latest)", + "id": "z-ai/glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-03", - "last_updated": "2026-03-03", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 }, "type": "chat" }, { - "id": "openai/gpt-4o-2024-11-20", - "name": "GPT-4o (2024-11-20)", - "display_name": "GPT-4o (2024-11-20)", + "id": "z-ai/glm-4.5", + "name": "GLM-4.5", + "display_name": "GLM-4.5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 98304 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-11-20", - "last_updated": "2024-11-20", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 }, "type": "chat" }, { - "id": "openai/gpt-5", - "name": "GPT-5", - "display_name": "GPT-5", + "id": "z-ai/glm-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -58063,54 +65567,43 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "attachment": false, + "open_weights": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 1.4, + "output": 4.4, + "cache_read": 0.26, + "cache_write": 0 }, "type": "chat" }, { - "id": "openai/gpt-5.4-pro", - "name": "GPT-5.4 Pro", - "display_name": "GPT-5.4 Pro", + "id": "z-ai/glm-4.6", + "name": "GLM-4.6", + "display_name": "GLM-4.6", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 204800, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -58118,102 +65611,74 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", "cost": { - "input": 60, - "output": 270, - "tiers": [ - { - "input": 60, - "output": 270, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 60, - "output": 270 - } + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 }, "type": "chat" }, { - "id": "openai/gpt-4.1-mini", - "name": "GPT-4.1 mini", - "display_name": "GPT-4.1 mini", + "id": "z-ai/glm-4.5-air", + "name": "GLM-4.5-Air", + "display_name": "GLM-4.5-Air", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 131072, + "output": 98304 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 0.4, - "output": 1.6, - "cache_read": 0.1 + "input": 0.2, + "output": 1.1, + "cache_read": 0.03, + "cache_write": 0 }, "type": "chat" }, { - "id": "openai/gpt-5.2-pro", - "name": "GPT-5.2 Pro", - "display_name": "GPT-5.2 Pro", + "id": "z-ai/glm-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 204800, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -58222,67 +65687,56 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 21, - "output": 168 + "input": 1, + "output": 3.2, + "cache_read": 0.2, + "cache_write": 0 }, "type": "chat" }, { - "id": "openai/gpt-5.4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "openai/gpt-5.2-pro", + "name": "GPT-5.2 Pro", + "display_name": "GPT-5.2 Pro", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1050000, + "context": 400000, "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", - "effort": "none", + "effort": "high", "effort_options": [ - "none", - "low", "medium", "high", "xhigh" @@ -58299,47 +65753,29 @@ "attachment": true, "open_weights": false, "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 5, - "output": 22.5, - "cache_read": 0.25, - "tiers": [ - { - "input": 5, - "output": 22.5, - "cache_read": 0.5, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 5, - "output": 22.5, - "cache_read": 0.5 - } + "input": 21, + "output": 168 }, "type": "chat" }, { - "id": "openai/gpt-5.5", - "name": "GPT-5.5", - "display_name": "GPT-5.5", + "id": "openai/gpt-5", + "name": "GPT-5", + "display_name": "GPT-5", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1050000, + "context": 400000, "output": 128000 }, "temperature": false, @@ -58355,10 +65791,10 @@ "mode": "effort", "effort": "medium", "effort_options": [ + "minimal", "low", "medium", - "high", - "xhigh" + "high" ], "verbosity": "medium", "verbosity_options": [ @@ -58371,71 +65807,53 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5, - "tiers": [ - { - "input": 10, - "output": 45, - "cache_read": 1, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 10, - "output": 45, - "cache_read": 1 - } + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "openai/gpt-5.2-chat-latest", - "name": "GPT-5.2 Chat", - "display_name": "GPT-5.2 Chat", + "id": "openai/gpt-3.5-turbo", + "name": "GPT-3.5-turbo", + "display_name": "GPT-3.5-turbo", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 16385, + "output": 4096 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "knowledge": "2021-09-01", + "release_date": "2023-03-01", + "last_updated": "2023-11-06", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.5, + "output": 1.5, + "cache_read": 0 }, "type": "chat" }, { - "id": "openai/gpt-5.1", - "name": "GPT-5.1", - "display_name": "GPT-5.1", + "id": "openai/gpt-5-pro", + "name": "GPT-5 Pro", + "display_name": "GPT-5 Pro", "modalities": { "input": [ "text", @@ -58447,26 +65865,20 @@ }, "limit": { "context": 400000, - "output": 128000 + "output": 272000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], + "default_enabled": true, + "mode": "fixed", + "effort": "high", "verbosity": "medium", "verbosity_options": [ "low", @@ -58479,88 +65891,64 @@ "attachment": true, "open_weights": false, "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "release_date": "2025-10-06", + "last_updated": "2025-10-06", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 15, + "output": 120 }, "type": "chat" }, { - "id": "openai/gpt-5-nano", - "name": "GPT-5 Nano", - "display_name": "GPT-5 Nano", + "id": "openai/gpt-4o", + "name": "GPT-4o", + "display_name": "GPT-4o", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-08-06", "cost": { - "input": 0.05, - "output": 0.4, - "cache_read": 0.005 + "input": 2.5, + "output": 10, + "cache_read": 1.25 }, "type": "chat" }, { - "id": "openai/gpt-4o-mini", - "name": "GPT-4o mini", - "display_name": "GPT-4o mini", + "id": "openai/gpt-4", + "name": "GPT-4", + "display_name": "GPT-4", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 8192, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -58569,20 +65957,19 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "knowledge": "2023-11", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.075 + "input": 30, + "output": 60 }, "type": "chat" }, { - "id": "openai/gpt-5.1-codex-max", - "name": "GPT-5.1 Codex Max", - "display_name": "GPT-5.1 Codex Max", + "id": "openai/gpt-4o-2024-05-13", + "name": "GPT-4o (2024-05-13)", + "display_name": "GPT-4o (2024-05-13)", "modalities": { "input": [ "text", @@ -58593,52 +65980,29 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 4096 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-05-13", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 5, + "output": 15 }, "type": "chat" }, { - "id": "openai/gpt-5.1-codex-mini", - "name": "GPT-5.1 Codex mini", - "display_name": "GPT-5.1 Codex mini", + "id": "openai/gpt-5.4-nano", + "name": "GPT-5.4 nano", + "display_name": "GPT-5.4 nano", "modalities": { "input": [ "text", @@ -58668,7 +66032,8 @@ "none", "low", "medium", - "high" + "high", + "xhigh" ], "verbosity": "medium", "verbosity_options": [ @@ -58681,55 +66046,55 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "openai/gpt-4.1", - "name": "GPT-4.1", - "display_name": "GPT-4.1", + "id": "openai/gpt-5-chat-latest", + "name": "GPT-5 Chat (latest)", + "display_name": "GPT-5 Chat (latest)", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 400000, + "output": 128000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "openai/gpt-5.4-nano", - "name": "GPT-5.4 nano", - "display_name": "GPT-5.4 nano", + "id": "openai/gpt-5.1-codex", + "name": "GPT-5.1 Codex", + "display_name": "GPT-5.1 Codex", "modalities": { "input": [ "text", @@ -58759,8 +66124,7 @@ "none", "low", "medium", - "high", - "xhigh" + "high" ], "verbosity": "medium", "verbosity_options": [ @@ -58773,25 +66137,24 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0.2, - "output": 1.25, - "cache_read": 0.02 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "openai/gpt-5.3-codex", - "name": "GPT-5.3 Codex", - "display_name": "GPT-5.3 Codex", + "id": "openai/gpt-5.1-codex-max", + "name": "GPT-5.1 Codex Max", + "display_name": "GPT-5.1 Codex Max", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -58805,19 +66168,19 @@ "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "effort", - "effort": "medium", + "effort": "none", "effort_options": [ + "none", "low", "medium", - "high", - "xhigh" + "high" ], "verbosity": "medium", "verbosity_options": [ @@ -58830,112 +66193,92 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "openai/gpt-5.5-pro", - "name": "GPT-5.5 Pro", - "display_name": "GPT-5.5 Pro", + "id": "openai/gpt-5.3-chat-latest", + "name": "GPT-5.3 Chat (latest)", + "display_name": "GPT-5.3 Chat (latest)", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 128000, + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "knowledge": "2025-08-31", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", "cost": { - "input": 30, - "output": 180, - "tiers": [ - { - "input": 60, - "output": 270, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 60, - "output": 270 - } + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "openai/gpt-3.5-turbo", - "name": "GPT-3.5-turbo", - "display_name": "GPT-3.5-turbo", + "id": "openai/gpt-4o-2024-08-06", + "name": "GPT-4o (2024-08-06)", + "display_name": "GPT-4o (2024-08-06)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 16385, - "output": 4096 + "context": 128000, + "output": 16384 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2021-09-01", - "release_date": "2023-03-01", - "last_updated": "2023-11-06", + "knowledge": "2023-09", + "release_date": "2024-08-06", + "last_updated": "2024-08-06", "cost": { - "input": 0.5, - "output": 1.5, - "cache_read": 0 + "input": 2.5, + "output": 10, + "cache_read": 1.25 }, "type": "chat" }, { - "id": "openai/gpt-5.2-codex", - "name": "GPT-5.2 Codex", - "display_name": "GPT-5.2 Codex", + "id": "openai/gpt-5.2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -58949,15 +66292,16 @@ "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "effort", - "effort": "medium", + "effort": "none", "effort_options": [ + "none", "low", "medium", "high", @@ -58985,13 +66329,14 @@ "type": "chat" }, { - "id": "openai/gpt-5.1-codex", - "name": "GPT-5.1 Codex", - "display_name": "GPT-5.1 Codex", + "id": "openai/gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "display_name": "GPT-5.3 Codex", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" @@ -59005,19 +66350,19 @@ "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", - "effort": "none", + "effort": "medium", "effort_options": [ - "none", "low", "medium", - "high" + "high", + "xhigh" ], "verbosity": "medium", "verbosity_options": [ @@ -59030,53 +66375,20 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 - }, - "type": "chat" - }, - { - "id": "openai/gpt-4o-2024-05-13", - "name": "GPT-4o (2024-05-13)", - "display_name": "GPT-4o (2024-05-13)", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 4096 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-05-13", + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 5, - "output": 15 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "openai/gpt-5.4-mini", - "name": "GPT-5.4 mini", - "display_name": "GPT-5.4 mini", + "id": "openai/gpt-5.1-codex-mini", + "name": "GPT-5.1 Codex mini", + "display_name": "GPT-5.1 Codex mini", "modalities": { "input": [ "text", @@ -59106,8 +66418,7 @@ "none", "low", "medium", - "high", - "xhigh" + "high" ], "verbosity": "medium", "verbosity_options": [ @@ -59120,46 +66431,13 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "cost": { - "input": 0.75, - "output": 4.5, - "cache_read": 0.075 - }, - "type": "chat" - }, - { - "id": "openai/gpt-4-turbo", - "name": "GPT-4 Turbo", - "display_name": "GPT-4 Turbo", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 4096 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-12", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 10, - "output": 30 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, @@ -59199,34 +66477,37 @@ "type": "chat" }, { - "id": "openai/gpt-4", - "name": "GPT-4", - "display_name": "GPT-4", + "id": "openai/gpt-5.2-chat-latest", + "name": "GPT-5.2 Chat", + "display_name": "GPT-5.2 Chat", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 128000, + "output": 16384 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2023-11", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 30, - "output": 60 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, @@ -59265,293 +66546,221 @@ "type": "chat" }, { - "id": "kimi/kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "openai/gpt-4o-2024-11-20", + "name": "GPT-4o (2024-11-20)", + "display_name": "GPT-4o (2024-11-20)", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2024-11-20", + "last_updated": "2024-11-20", "cost": { - "input": 0.95, - "output": 4, - "cache_read": 0.16 + "input": 2.5, + "output": 10, + "cache_read": 1.25 }, "type": "chat" }, { - "id": "kimi/kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "openai/gpt-5.4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1050000, + "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01", - "last_updated": "2026-01", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0.6, - "output": 3, - "cache_read": 0.1 - }, - "type": "chat" - }, - { - "id": "minimax/minimax-m2.7-highspeed", - "name": "MiniMax-M2.7-highspeed", - "display_name": "MiniMax-M2.7-highspeed", - "modalities": { - "input": [ - "text" + "input": 5, + "output": 22.5, + "cache_read": 0.25, + "tiers": [ + { + "input": 5, + "output": 22.5, + "cache_read": 0.5, + "tier": { + "type": "context", + "size": 272000 + } + } ], - "output": [ - "text" - ] - }, - "limit": { - "context": 204800, - "output": 131072 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "context_over_200k": { + "input": 5, + "output": 22.5, + "cache_read": 0.5 } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "cost": { - "input": 0.6, - "output": 2.4, - "cache_read": 0.06, - "cache_write": 0.375 - }, "type": "chat" }, { - "id": "minimax/minimax-m2.7", - "name": "MiniMax-M2.7", - "display_name": "MiniMax-M2.7", + "id": "openai/gpt-5.4-mini", + "name": "GPT-5.4 mini", + "display_name": "GPT-5.4 mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06, - "cache_write": 0.375 + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "minimax/minimax-m2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "openai/gpt-4.1", + "name": "GPT-4.1", + "display_name": "GPT-4.1", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "attachment": true, + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.03, - "cache_write": 0.375 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "minimax/minimax-m2.5-highspeed", - "name": "MiniMax-M2.5-highspeed", - "display_name": "MiniMax-M2.5-highspeed", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 204800, - "output": 131072 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-13", - "last_updated": "2026-02-13", - "cost": { - "input": 0.6, - "output": 2.4, - "cache_read": 0.06, - "cache_write": 0.375 - }, - "type": "chat" - } - ] - }, - "moonshot": { - "id": "moonshot", - "name": "Moonshot AI (China)", - "display_name": "Moonshot AI (China)", - "api": "https://api.moonshot.cn/v1", - "doc": "https://platform.moonshot.cn/docs/api/chat", - "models": [ - { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "openai/gpt-5-mini", + "name": "GPT-5 Mini", + "display_name": "GPT-5 Mini", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 400000, + "output": 128000 }, "temperature": false, "tool_call": true, @@ -59562,144 +66771,122 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01", - "last_updated": "2026-01", - "cost": { - "input": 0.6, - "output": 3, - "cache_read": 0.1 - }, - "type": "chat" - }, - { - "id": "kimi-k2-0711-preview", - "name": "Kimi K2 0711", - "display_name": "Kimi K2 0711", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 16384 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-07-14", - "last_updated": "2025-07-14", + "attachment": true, + "open_weights": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.6, - "output": 2.5, - "cache_read": 0.15 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "kimi-k2-0905-preview", - "name": "Kimi K2 0905", - "display_name": "Kimi K2 0905", + "id": "openai/gpt-4.1-mini", + "name": "GPT-4.1 mini", + "display_name": "GPT-4.1 mini", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", + "attachment": true, + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.6, - "output": 2.5, - "cache_read": 0.15 + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 }, "type": "chat" }, { - "id": "kimi-k2-turbo-preview", - "name": "Kimi K2 Turbo", - "display_name": "Kimi K2 Turbo", + "id": "openai/gpt-4-turbo", + "name": "GPT-4 Turbo", + "display_name": "GPT-4 Turbo", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", + "attachment": true, + "open_weights": false, + "knowledge": "2023-12", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", "cost": { - "input": 2.4, - "output": 10, - "cache_read": 0.6 + "input": 10, + "output": 30 }, "type": "chat" }, { - "id": "kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "openai/gpt-5-nano", + "name": "GPT-5 Nano", + "display_name": "GPT-5 Nano", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -59708,88 +66895,54 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", - "cost": { - "input": 0.95, - "output": 4, - "cache_read": 0.16 - }, - "type": "chat" - }, - { - "id": "kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "display_name": "Kimi K2 Thinking", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 262144 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", + "open_weights": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.6, - "output": 2.5, - "cache_read": 0.15 + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 }, "type": "chat" }, { - "id": "kimi-k2-thinking-turbo", - "name": "Kimi K2 Thinking Turbo", - "display_name": "Kimi K2 Thinking Turbo", + "id": "openai/gpt-5.4-pro", + "name": "GPT-5.4 Pro", + "display_name": "GPT-5.4 Pro", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -59798,93 +66951,67 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 1.15, - "output": 8, - "cache_read": 0.15 - }, - "type": "chat" - } - ] - }, - "minimax-cn-coding-plan": { - "id": "minimax-cn-coding-plan", - "name": "MiniMax Coding Plan (minimaxi.com)", - "display_name": "MiniMax Coding Plan (minimaxi.com)", - "api": "https://api.minimaxi.com/anthropic/v1", - "doc": "https://platform.minimaxi.com/docs/coding-plan/intro", - "models": [ - { - "id": "MiniMax-M2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", - "modalities": { - "input": [ - "text" + "input": 60, + "output": 270, + "tiers": [ + { + "input": 60, + "output": 270, + "tier": { + "type": "context", + "size": 272000 + } + } ], - "output": [ - "text" - ] - }, - "limit": { - "context": 204800, - "output": 131072 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true + "context_over_200k": { + "input": 60, + "output": 270 } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 - }, "type": "chat" }, { - "id": "MiniMax-M3", - "name": "MiniMax-M3", - "display_name": "MiniMax-M3", + "id": "openai/gpt-5.5-pro", + "name": "GPT-5.5 Pro", + "display_name": "GPT-5.5 Pro", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 512000, + "context": 1050000, "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -59896,73 +67023,83 @@ } }, "attachment": true, - "open_weights": true, - "release_date": "2026-06-01", - "last_updated": "2026-06-01", + "open_weights": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 30, + "output": 180, + "tiers": [ + { + "input": 60, + "output": 270, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 60, + "output": 270 + } }, "type": "chat" }, { - "id": "MiniMax-M2.5-highspeed", - "name": "MiniMax-M2.5-highspeed", - "display_name": "MiniMax-M2.5-highspeed", + "id": "openai/gpt-4o-mini", + "name": "GPT-4o mini", + "display_name": "GPT-4o mini", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-13", - "last_updated": "2026-02-13", + "attachment": true, + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.15, + "output": 0.6, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "MiniMax-M2.7", - "name": "MiniMax-M2.7", - "display_name": "MiniMax-M2.7", + "id": "openai/gpt-5-codex", + "name": "GPT-5-Codex", + "display_name": "GPT-5-Codex", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -59971,43 +67108,55 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": false, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "MiniMax-M2", - "name": "MiniMax-M2", - "display_name": "MiniMax-M2", + "id": "openai/gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "display_name": "GPT-5.2 Codex", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 196608, + "context": 400000, "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -60015,81 +67164,112 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "release_date": "2025-10-27", - "last_updated": "2025-10-27", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0, - "output": 0 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "MiniMax-M2.7-highspeed", - "name": "MiniMax-M2.7-highspeed", - "display_name": "MiniMax-M2.7-highspeed", + "id": "openai/gpt-5.1", + "name": "GPT-5.1", + "display_name": "GPT-5.1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "MiniMax-M2.1", - "name": "MiniMax-M2.1", - "display_name": "MiniMax-M2.1", + "id": "openai/gpt-5.5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -60097,119 +67277,117 @@ }, "extra_capabilities": { "reasoning": { - "supported": true - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "cost": { - "input": 0, - "output": 0 - }, - "type": "chat" - } - ] - }, - "inception": { - "id": "inception", - "name": "Inception", - "display_name": "Inception", - "api": "https://api.inceptionlabs.ai/v1/", - "doc": "https://platform.inceptionlabs.ai/docs", - "models": [ - { - "id": "mercury-edit-2", - "name": "Mercury Edit 2", - "display_name": "Mercury Edit 2", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 8192 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": true, - "default": true + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-03-30", - "last_updated": "2026-03-30", + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 0.25, - "output": 0.75, - "cache_read": 0.025 + "input": 5, + "output": 30, + "cache_read": 0.5, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + } }, "type": "chat" }, { - "id": "mercury-2", - "name": "Mercury 2", - "display_name": "Mercury 2", + "id": "kimi/kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 50000 + "context": 262144, + "output": 262144 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, - "open_weights": false, - "knowledge": "2025-01-01", - "release_date": "2026-02-24", - "last_updated": "2026-02-24", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", "cost": { - "input": 0.25, - "output": 0.75, - "cache_read": 0.025 + "input": 0.6, + "output": 3, + "cache_read": 0.1 }, "type": "chat" - } - ] - }, - "kuae-cloud-coding-plan": { - "id": "kuae-cloud-coding-plan", - "name": "KUAE Cloud Coding Plan", - "display_name": "KUAE Cloud Coding Plan", - "api": "https://coding-plan-endpoint.kuaecloud.net/v1", - "doc": "https://docs.mthreads.com/kuaecloud/kuaecloud-doc-online/coding_plan/", - "models": [ + }, { - "id": "GLM-4.7", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "kimi/kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -60228,453 +67406,614 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.95, + "output": 4, + "cache_read": 0.16 }, "type": "chat" - } - ] - }, - "chutes": { - "id": "chutes", - "name": "Chutes", - "display_name": "Chutes", - "api": "https://llm.chutes.ai/v1", - "doc": "https://llm.chutes.ai/v1/models", - "models": [ + }, { - "id": "XiaomiMiMo/MiMo-V2-Flash-TEE", - "name": "MiMo V2 Flash TEE", - "display_name": "MiMo V2 Flash TEE", + "id": "orcarouter/auto", + "name": "OrcaRouter Auto", + "display_name": "OrcaRouter Auto", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-12-01", - "release_date": "2025-12-16", - "last_updated": "2026-02-04", + "attachment": true, + "open_weights": false, + "release_date": "2025-01-01", + "last_updated": "2026-05-14", "cost": { - "input": 0.09, - "output": 0.29, - "cache_read": 0.045 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "MiniMaxAI/MiniMax-M2.5-TEE", - "name": "MiniMax M2.5 TEE", - "display_name": "MiniMax M2.5 TEE", + "id": "anthropic/claude-sonnet-4.5", + "name": "Claude Sonnet 4.5 (latest)", + "display_name": "Claude Sonnet 4.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 196608, - "output": 65536 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "attachment": true, + "open_weights": false, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0.15, - "output": 1.2, - "cache_read": 0.075 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "zai-org/GLM-5.1-TEE", - "name": "GLM 5.1 TEE", - "display_name": "GLM 5.1 TEE", + "id": "anthropic/claude-sonnet-4", + "name": "Claude Sonnet 4 (latest)", + "display_name": "Claude Sonnet 4 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 202752, - "output": 65535 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 1.05, - "output": 3.5, - "cache_read": 0.525 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "zai-org/GLM-4.7-FP8", - "name": "GLM 4.7 FP8", - "display_name": "GLM 4.7 FP8", + "id": "anthropic/claude-haiku-4.5", + "name": "Claude Haiku 4.5 (latest)", + "display_name": "Claude Haiku 4.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 202752, - "output": 65535 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2026-01-27", - "last_updated": "2026-04-25", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 0.2989, - "output": 1.1957, - "cache_read": 0.14945 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "zai-org/GLM-5-TEE", - "name": "GLM 5 TEE", - "display_name": "GLM 5 TEE", + "id": "anthropic/claude-opus-4.7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 202752, - "output": 65535 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], "interleaved": true, "summaries": true, - "visibility": "summary", + "visibility": "omitted", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "attachment": true, + "open_weights": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 0.95, - "output": 2.55, - "cache_read": 0.475 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "zai-org/GLM-4.7-TEE", - "name": "GLM 4.7 TEE", - "display_name": "GLM 4.7 TEE", + "id": "anthropic/claude-opus-4.1", + "name": "Claude Opus 4.1 (latest)", + "display_name": "Claude Opus 4.1 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 202752, - "output": 65535 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.39, - "output": 1.75, - "cache_read": 0.195 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "zai-org/GLM-5-Turbo", - "name": "GLM 5 Turbo", - "display_name": "GLM 5 Turbo", + "id": "anthropic/claude-opus-4.5", + "name": "Claude Opus 4.5 (latest)", + "display_name": "Claude Opus 4.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 202752, - "output": 65535 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-11", - "last_updated": "2026-04-25", + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", "cost": { - "input": 0.4891, - "output": 1.9565, - "cache_read": 0.24455 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "zai-org/GLM-4.6V", - "name": "GLM 4.6V", - "display_name": "GLM 4.6V", + "id": "anthropic/claude-sonnet-4.6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 65536 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, "attachment": true, - "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-04-25", + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "cost": { - "input": 0.3, - "output": 0.9, - "cache_read": 0.15 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "NousResearch/Hermes-4-14B", - "name": "Hermes 4 14B", - "display_name": "Hermes 4 14B", + "id": "anthropic/claude-opus-4", + "name": "Claude Opus 4 (latest)", + "display_name": "Claude Opus 4 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 40960, - "output": 40960 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-04-25", + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0.0136, - "output": 0.0543, - "cache_read": 0.0068 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "NousResearch/DeepHermes-3-Mistral-24B-Preview", - "name": "DeepHermes 3 Mistral 24B Preview", - "display_name": "DeepHermes 3 Mistral 24B Preview", + "id": "anthropic/claude-opus-4.6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-04-25", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", "cost": { - "input": 0.0245, - "output": 0.0978, - "cache_read": 0.01225 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2.6-TEE", - "name": "Kimi K2.6 TEE", - "display_name": "Kimi K2.6 TEE", + "id": "grok/grok-4.3", + "name": "Grok 4.3", + "display_name": "Grok 4.3", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65535 + "context": 1000000, + "output": 30000 }, "temperature": true, "tool_call": true, @@ -60684,36 +68023,46 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": true, - "open_weights": true, - "knowledge": "2025-12", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "open_weights": false, + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { - "input": 0.95, - "output": 4, - "cache_read": 0.475 + "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 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 5, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2.5-TEE", - "name": "Kimi K2.5 TEE", - "display_name": "Kimi K2.5 TEE", + "id": "qwen/qwen3.6-35b-a3b", + "name": "Qwen3.6 35B-A3B", + "display_name": "Qwen3.6 35B-A3B", "modalities": { "input": [ "text", "image", - "video" + "video", + "audio" ], "output": [ "text" @@ -60721,7 +68070,7 @@ }, "limit": { "context": 262144, - "output": 65535 + "output": 65536 }, "temperature": true, "tool_call": true, @@ -60742,20 +68091,18 @@ }, "attachment": true, "open_weights": true, - "knowledge": "2024-10", - "release_date": "2026-01", - "last_updated": "2026-01", + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { - "input": 0.44, - "output": 2, - "cache_read": 0.22 + "input": 0.248, + "output": 1.485 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.1-TEE", - "name": "DeepSeek V3.1 TEE", - "display_name": "DeepSeek V3.1 TEE", + "id": "qwen/qwen3-max", + "name": "Qwen3 Max", + "display_name": "Qwen3 Max", "modalities": { "input": [ "text" @@ -60765,14 +68112,13 @@ ] }, "limit": { - "context": 163840, + "context": 262144, "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -60786,30 +68132,32 @@ } }, "attachment": false, - "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-04-25", + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", "cost": { - "input": 0.27, - "output": 1, - "cache_read": 0.135 + "input": 0.359, + "output": 1.434 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.2-TEE", - "name": "DeepSeek V3.2 TEE", - "display_name": "DeepSeek V3.2 TEE", + "id": "qwen/qwen3.5-plus", + "name": "Qwen3.5 Plus", + "display_name": "Qwen3.5 Plus", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, + "context": 1000000, "output": 65536 }, "temperature": true, @@ -60830,31 +68178,35 @@ } }, "attachment": false, - "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-04-25", + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", "cost": { - "input": 0.28, - "output": 0.42, - "cache_read": 0.14 + "input": 0.115, + "output": 0.688, + "reasoning": 2.4 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-R1-Distill-Llama-70B", - "name": "DeepSeek R1 Distill Llama 70B", - "display_name": "DeepSeek R1 Distill Llama 70B", + "id": "qwen/qwen3.5-27b", + "name": "Qwen3.5 27B", + "display_name": "Qwen3.5 27B", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -60873,63 +68225,79 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-04-25", + "release_date": "2026-02-23", + "last_updated": "2026-02-23", "cost": { - "input": 0.0272, - "output": 0.1087, - "cache_read": 0.0136 + "input": 0.086, + "output": 0.688 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3-0324-TEE", - "name": "DeepSeek V3 0324 TEE", - "display_name": "DeepSeek V3 0324 TEE", + "id": "qwen/qwen3.5-35b-a3b", + "name": "Qwen3.5 35B-A3B", + "display_name": "Qwen3.5 35B-A3B", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 163840, + "context": 262144, "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-04-25", + "release_date": "2026-02-23", + "last_updated": "2026-02-23", "cost": { - "input": 0.25, - "output": 1, - "cache_read": 0.125 + "input": 0.057, + "output": 0.459 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-R1-0528-TEE", - "name": "DeepSeek R1 0528 TEE", - "display_name": "DeepSeek R1 0528 TEE", + "id": "qwen/qwen3.5-397b-a17b", + "name": "Qwen3.5 397B-A17B", + "display_name": "Qwen3.5 397B-A17B", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 163840, + "context": 262144, "output": 65536 }, "temperature": true, @@ -60949,66 +68317,79 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-05-29", + "release_date": "2026-02-15", + "last_updated": "2026-02-15", "cost": { - "input": 0.45, - "output": 2.15, - "cache_read": 0.225 + "input": 0.172, + "output": 1.032 }, "type": "chat" }, { - "id": "rednote-hilab/dots.ocr", - "name": "dots.ocr", - "display_name": "dots.ocr", + "id": "qwen/qwen3.5-122b-a10b", + "name": "Qwen3.5 122B-A10B", + "display_name": "Qwen3.5 122B-A10B", "modalities": { "input": [ "text", - "image" + "image", + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 262144, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-04-25", + "release_date": "2026-02-23", + "last_updated": "2026-02-23", "cost": { - "input": 0.01, - "output": 0.0109, - "cache_read": 0.005 + "input": 0.115, + "output": 0.917 }, "type": "chat" }, { - "id": "tngtech/DeepSeek-TNG-R1T2-Chimera-TEE", - "name": "DeepSeek TNG R1T2 Chimera TEE", - "display_name": "DeepSeek TNG R1T2 Chimera TEE", + "id": "qwen/qwen3.6-plus", + "name": "Qwen3.6 Plus", + "display_name": "Qwen3.6 Plus", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 163840 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -61016,53 +68397,52 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2026-04-25", - "last_updated": "2026-04-25", - "cost": { - "input": 0.3, - "output": 1.1, - "cache_read": 0.15 - }, - "type": "chat" - }, - { - "id": "unsloth/Llama-3.2-1B-Instruct", - "name": "Llama 3.2 1B Instruct", - "display_name": "Llama 3.2 1B Instruct", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 16384, - "output": 8192 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": true, - "release_date": "2026-01-27", - "last_updated": "2026-04-25", + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0.01, - "output": 0.0109, - "cache_read": 0.005 + "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 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.2, + "cache_write": 2.5 + } }, "type": "chat" }, { - "id": "unsloth/Mistral-Nemo-Instruct-2407", - "name": "Mistral Nemo Instruct 2407", - "display_name": "Mistral Nemo Instruct 2407", + "id": "deepseek/deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ "text" @@ -61072,128 +68452,132 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 1000000, + "output": 384000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-04-25", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.02, - "output": 0.04, - "cache_read": 0.01 + "input": 0.19, + "output": 0.37, + "cache_read": 0.0028 }, "type": "chat" }, { - "id": "unsloth/gemma-3-27b-it", - "name": "gemma 3 27b it", - "display_name": "gemma 3 27b it", + "id": "deepseek/deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 65536 + "context": 1000000, + "output": 384000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-04-25", - "cost": { - "input": 0.0272, - "output": 0.1087, - "cache_read": 0.0136 - }, - "type": "chat" - }, - { - "id": "unsloth/gemma-3-12b-it", - "name": "gemma 3 12b it", - "display_name": "gemma 3 12b it", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 131072 + "supported": true, + "default": true }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-04-25", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.03, - "output": 0.1, - "cache_read": 0.015 + "input": 0.56, + "output": 1.12, + "cache_read": 0.003625 }, "type": "chat" }, - { - "id": "unsloth/gemma-3-4b-it", - "name": "gemma 3 4b it", - "display_name": "gemma 3 4b it", + { + "id": "deepseek/deepseek-reasoner", + "name": "DeepSeek Reasoner", + "display_name": "DeepSeek Reasoner", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 96000, - "output": 96000 + "context": 1000000, + "output": 384000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-04-25", + "knowledge": "2025-09", + "release_date": "2025-12-01", + "last_updated": "2026-02-28", "cost": { - "input": 0.01, - "output": 0.0272, - "cache_read": 0.005 + "input": 0.435, + "output": 0.87, + "cache_read": 0.028 }, "type": "chat" }, { - "id": "unsloth/Llama-3.2-3B-Instruct", - "name": "Llama 3.2 3B Instruct", - "display_name": "Llama 3.2 3B Instruct", + "id": "deepseek/deepseek-chat", + "name": "DeepSeek Chat", + "display_name": "DeepSeek Chat", "modalities": { "input": [ "text" @@ -61203,29 +68587,30 @@ ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 1000000, + "output": 384000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2025-02-12", - "last_updated": "2026-04-25", + "knowledge": "2025-09", + "release_date": "2025-12-01", + "last_updated": "2026-02-28", "cost": { - "input": 0.01, - "output": 0.0136, - "cache_read": 0.005 + "input": 0.14, + "output": 0.28, + "cache_read": 0.028 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Coder-Next-TEE", - "name": "Qwen3 Coder Next TEE", - "display_name": "Qwen3 Coder Next TEE", + "id": "minimax/minimax-m2.7-highspeed", + "name": "MiniMax-M2.7-highspeed", + "display_name": "MiniMax-M2.7-highspeed", "modalities": { "input": [ "text" @@ -61235,29 +68620,42 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2026-04-25", - "last_updated": "2026-04-25", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.12, - "output": 0.75, - "cache_read": 0.06 + "input": 0.6, + "output": 2.4, + "cache_read": 0.06, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-72B-Instruct", - "name": "Qwen2.5 72B Instruct", - "display_name": "Qwen2.5 72B Instruct", + "id": "minimax/minimax-m2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ "text" @@ -61267,29 +68665,36 @@ ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-04-25", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.2989, - "output": 1.1957, - "cache_read": 0.14945 + "input": 0.3, + "output": 1.2, + "cache_read": 0.03, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "Qwen/Qwen3-30B-A3B", - "name": "Qwen3 30B A3B", - "display_name": "Qwen3 30B A3B", + "id": "minimax/minimax-m2.7", + "name": "MiniMax-M2.7", + "display_name": "MiniMax-M2.7", "modalities": { "input": [ "text" @@ -61299,8 +68704,8 @@ ] }, "limit": { - "context": 40960, - "output": 40960 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -61321,19 +68726,20 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-04-25", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.06, - "output": 0.22, - "cache_read": 0.03 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen3 235B A22B Thinking 2507", - "display_name": "Qwen3 235B A22B Thinking 2507", + "id": "minimax/minimax-m2.5-highspeed", + "name": "MiniMax-M2.5-highspeed", + "display_name": "MiniMax-M2.5-highspeed", "modalities": { "input": [ "text" @@ -61343,8 +68749,8 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -61354,41 +68760,46 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-04-25", + "release_date": "2026-02-13", + "last_updated": "2026-02-13", "cost": { - "input": 0.11, - "output": 0.6, - "cache_read": 0.055 + "input": 0.6, + "output": 2.4, + "cache_read": 0.06, + "cache_write": 0.375 }, "type": "chat" - }, + } + ] + }, + "helicone": { + "id": "helicone", + "name": "Helicone", + "display_name": "Helicone", + "api": "https://ai-gateway.helicone.ai/v1", + "doc": "https://helicone.ai/models", + "models": [ { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507-TEE", - "name": "Qwen3 235B A22B Instruct 2507 TEE", - "display_name": "Qwen3 235B A22B Instruct 2507 TEE", + "id": "chatgpt-4o-latest", + "name": "OpenAI ChatGPT-4o", + "display_name": "OpenAI ChatGPT-4o", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -61396,32 +68807,33 @@ "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "open_weights": false, + "knowledge": "2024-08", + "release_date": "2024-08-14", + "last_updated": "2024-08-14", "cost": { - "input": 0.1, - "output": 0.6, - "cache_read": 0.05 + "input": 5, + "output": 20, + "cache_read": 2.5 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", - "name": "Qwen3 Next 80B A3B Instruct", - "display_name": "Qwen3 Next 80B A3B Instruct", + "id": "gpt-4.1-mini-2025-04-14", + "name": "OpenAI GPT-4.1 Mini", + "display_name": "OpenAI GPT-4.1 Mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -61429,20 +68841,21 @@ "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-04-25", + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.1, - "output": 0.8, - "cache_read": 0.05 + "input": 0.39999999999999997, + "output": 1.5999999999999999, + "cache_read": 0.09999999999999999 }, "type": "chat" }, { - "id": "Qwen/Qwen3Guard-Gen-0.6B", - "name": "Qwen3Guard Gen 0.6B", - "display_name": "Qwen3Guard Gen 0.6B", + "id": "deepseek-v3.1-terminus", + "name": "DeepSeek V3.1 Terminus", + "display_name": "DeepSeek V3.1 Terminus", "modalities": { "input": [ "text" @@ -61452,29 +68865,31 @@ ] }, "limit": { - "context": 32768, - "output": 8192 + "context": 128000, + "output": 16384 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-04-25", + "open_weights": false, + "knowledge": "2025-09", + "release_date": "2025-09-22", + "last_updated": "2025-09-22", "cost": { - "input": 0.01, - "output": 0.0109, - "cache_read": 0.005 + "input": 0.27, + "output": 1, + "cache_read": 0.21600000000000003 }, "type": "chat" }, { - "id": "Qwen/Qwen3.5-397B-A17B-TEE", - "name": "Qwen3.5 397B A17B TEE", - "display_name": "Qwen3.5 397B A17B TEE", + "id": "claude-3.5-haiku", + "name": "Anthropic: Claude 3.5 Haiku", + "display_name": "Anthropic: Claude 3.5 Haiku", "modalities": { "input": [ "text", @@ -61485,41 +68900,63 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 200000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "attachment": false, + "open_weights": false, + "knowledge": "2024-10", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "cost": { + "input": 0.7999999999999999, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 }, - "attachment": true, - "open_weights": true, - "release_date": "2026-02-15", - "last_updated": "2026-02-15", + "type": "chat" + }, + { + "id": "llama-3.1-8b-instruct", + "name": "Meta Llama 3.1 8B Instruct", + "display_name": "Meta Llama 3.1 8B Instruct", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 16384, + "output": 16384 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "knowledge": "2024-07", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 0.39, - "output": 2.34, - "cache_read": 0.195 + "input": 0.02, + "output": 0.049999999999999996 }, "type": "chat" }, { - "id": "Qwen/Qwen3.6-27B-TEE", - "name": "Qwen3.6 27B TEE", - "display_name": "Qwen3.6 27B TEE", + "id": "o3", + "name": "OpenAI o3", + "display_name": "OpenAI o3", "modalities": { "input": [ "text", @@ -61530,10 +68967,10 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -61542,29 +68979,33 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": true, - "open_weights": true, - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "attachment": false, + "open_weights": false, + "knowledge": "2024-06", + "release_date": "2024-06-01", + "last_updated": "2024-06-01", "cost": { - "input": 0.195, - "output": 1.56, - "cache_read": 0.0975 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-Coder-32B-Instruct", - "name": "Qwen2.5 Coder 32B Instruct", - "display_name": "Qwen2.5 Coder 32B Instruct", + "id": "llama-prompt-guard-2-86m", + "name": "Meta Llama Prompt Guard 2 86M", + "display_name": "Meta Llama Prompt Guard 2 86M", "modalities": { "input": [ "text" @@ -61574,8 +69015,8 @@ ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 512, + "output": 2 }, "temperature": true, "tool_call": false, @@ -61583,53 +69024,52 @@ "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-04-25", + "open_weights": false, + "knowledge": "2024-10", + "release_date": "2024-10-01", + "last_updated": "2024-10-01", "cost": { - "input": 0.0272, - "output": 0.1087, - "cache_read": 0.0136 + "input": 0.01, + "output": 0.01 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-VL-32B-Instruct", - "name": "Qwen2.5 VL 32B Instruct", - "display_name": "Qwen2.5 VL 32B Instruct", + "id": "qwen3-coder-30b-a3b-instruct", + "name": "Qwen3 Coder 30B A3B Instruct", + "display_name": "Qwen3 Coder 30B A3B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 262144, + "output": 262144 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-04-25", + "attachment": false, + "open_weights": false, + "knowledge": "2025-07", + "release_date": "2025-07-31", + "last_updated": "2025-07-31", "cost": { - "input": 0.0543, - "output": 0.2174, - "cache_read": 0.02715 + "input": 0.09999999999999999, + "output": 0.3 }, "type": "chat" }, { - "id": "Qwen/Qwen3-32B-TEE", - "name": "Qwen3 32B TEE", - "display_name": "Qwen3 32B TEE", + "id": "hermes-2-pro-llama-3-8b", + "name": "Hermes 2 Pro Llama 3 8B", + "display_name": "Hermes 2 Pro Llama 3 8B", "modalities": { "input": [ "text" @@ -61639,65 +69079,148 @@ ] }, "limit": { - "context": 40960, - "output": 40960 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2024-05-27", + "last_updated": "2024-05-27", "cost": { - "input": 0.08, - "output": 0.24, - "cache_read": 0.04 + "input": 0.14, + "output": 0.14 }, "type": "chat" }, { - "id": "google/gemma-4-31B-turbo-TEE", - "name": "gemma 4 31B turbo TEE", - "display_name": "gemma 4 31B turbo TEE", + "id": "deepseek-v3", + "name": "DeepSeek V3", + "display_name": "DeepSeek V3", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 65536 + "context": 128000, + "output": 8192 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "knowledge": "2024-12", + "release_date": "2024-12-26", + "last_updated": "2024-12-26", + "cost": { + "input": 0.56, + "output": 1.68, + "cache_read": 0.07 + }, + "type": "chat" + }, + { + "id": "grok-code-fast-1", + "name": "xAI Grok Code Fast 1", + "display_name": "xAI Grok Code Fast 1", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 256000, + "output": 10000 }, "temperature": true, "tool_call": true, + "reasoning": { + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": false, + "knowledge": "2024-08", + "release_date": "2024-08-25", + "last_updated": "2024-08-25", + "cost": { + "input": 0.19999999999999998, + "output": 1.5, + "cache_read": 0.02 + }, + "type": "chat" + }, + { + "id": "o1-mini", + "name": "OpenAI: o1-mini", + "display_name": "OpenAI: o1-mini", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 65536 + }, + "temperature": false, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": true, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": false, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0.13, - "output": 0.38, - "cache_read": 0.065 + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 }, "type": "chat" }, { - "id": "openai/gpt-oss-120b-TEE", - "name": "gpt oss 120b TEE", - "display_name": "gpt oss 120b TEE", + "id": "deepseek-r1-distill-llama-70b", + "name": "DeepSeek R1 Distill Llama 70B", + "display_name": "DeepSeek R1 Distill Llama 70B", "modalities": { "input": [ "text" @@ -61707,8 +69230,8 @@ ] }, "limit": { - "context": 131072, - "output": 65536 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -61718,39 +69241,24 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, - "open_weights": true, - "release_date": "2025-12-29", - "last_updated": "2026-04-25", + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", "cost": { - "input": 0.09, - "output": 0.36, - "cache_read": 0.045 + "input": 0.03, + "output": 0.13 }, "type": "chat" - } - ] - }, - "crof": { - "id": "crof", - "name": "CrofAI", - "display_name": "CrofAI", - "api": "https://crof.ai/v1", - "doc": "https://crof.ai/docs", - "models": [ + }, { - "id": "deepseek-v4-pro-lightning", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "qwen3-32b", + "name": "Qwen3 32B", + "display_name": "Qwen3 32B", "modalities": { "input": [ "text" @@ -61760,8 +69268,8 @@ ] }, "limit": { - "context": 1000000, - "output": 131072 + "context": 131072, + "output": 40960 }, "temperature": true, "tool_call": true, @@ -61781,85 +69289,111 @@ } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2025-04-28", + "last_updated": "2025-04-28", "cost": { - "input": 0.8, - "output": 1.6, - "cache_read": 0.02 + "input": 0.29, + "output": 0.59 }, "type": "chat" }, { - "id": "greg-1", - "name": "Greg 1 Normal", - "display_name": "Greg 1 Normal", + "id": "claude-sonnet-4", + "name": "Anthropic: Claude Sonnet 4", + "display_name": "Anthropic: Claude Sonnet 4", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 229376, - "output": 229376 + "context": 200000, + "output": 64000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, "attachment": false, "open_weights": false, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "knowledge": "2025-05", + "release_date": "2025-05-14", + "last_updated": "2025-05-14", "cost": { - "input": 0.1, - "output": 0.3, - "cache_read": 0.02 + "input": 3, + "output": 15, + "cache_read": 0.30000000000000004, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "greg-rp", - "name": "Greg (Roleplay)", - "display_name": "Greg (Roleplay)", + "id": "qwen3-next-80b-a3b-instruct", + "name": "Qwen3 Next 80B A3B Instruct", + "display_name": "Qwen3 Next 80B A3B Instruct", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 229376, - "output": 229376 + "context": 262000, + "output": 16384 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0.1, - "output": 0.3, - "cache_read": 0.02 + "input": 0.14, + "output": 1.4 }, "type": "chat" }, { - "id": "gemma-4-31b-it", - "name": "Gemma 4 31B IT", - "display_name": "Gemma 4 31B IT", + "id": "llama-4-maverick", + "name": "Meta Llama 4 Maverick 17B 128E", + "display_name": "Meta Llama 4 Maverick 17B 128E", "modalities": { "input": [ "text", @@ -61870,77 +69404,62 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "attachment": false, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0.1, - "output": 0.3, - "cache_read": 0.02 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "qwen3.6-27b", - "name": "Qwen3.6 27B", - "display_name": "Qwen3.6 27B", + "id": "mistral-nemo", + "name": "Mistral Nemo", + "display_name": "Mistral Nemo", "modalities": { "input": [ "text", - "image", - "video", - "audio" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 16400 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "attachment": false, + "open_weights": false, + "knowledge": "2024-07", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", "cost": { - "input": 0.2, - "output": 1.5, - "cache_read": 0.04 + "input": 20, + "output": 40 }, "type": "chat" }, { - "id": "deepseek-v3.2", - "name": "DeepSeek V3.2", - "display_name": "DeepSeek V3.2", + "id": "llama-3.3-70b-versatile", + "name": "Meta Llama 3.3 70B Versatile", + "display_name": "Meta Llama 3.3 70B Versatile", "modalities": { "input": [ "text" @@ -61950,34 +69469,29 @@ ] }, "limit": { - "context": 163840, - "output": 163840 + "context": 131072, + "output": 32678 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-07-22", - "last_updated": "2025-07-22", + "knowledge": "2024-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 0.18, - "output": 0.35, - "cache_read": 0.04 + "input": 0.59, + "output": 0.7899999999999999 }, "type": "chat" }, { - "id": "greg-1-super", - "name": "Greg 1 Super", - "display_name": "Greg 1 Super", + "id": "gemma2-9b-it", + "name": "Google Gemma 2", + "display_name": "Google Gemma 2", "modalities": { "input": [ "text" @@ -61987,8 +69501,8 @@ ] }, "limit": { - "context": 229376, - "output": 229376 + "context": 8192, + "output": 8192 }, "temperature": true, "tool_call": false, @@ -61997,32 +69511,31 @@ }, "attachment": false, "open_weights": false, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "knowledge": "2024-06", + "release_date": "2024-06-25", + "last_updated": "2024-06-25", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.2 + "input": 0.01, + "output": 0.03 }, "type": "chat" }, { - "id": "kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "gemini-2.5-pro", + "name": "Google Gemini 2.5 Pro", + "display_name": "Google Gemini 2.5 Pro", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -62033,43 +69546,53 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "attachment": false, + "open_weights": false, + "knowledge": "2025-06", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 0.5, - "output": 1.99, - "cache_read": 0.05 + "input": 1.25, + "output": 10, + "cache_read": 0.3125, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "glm-4.7", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "gpt-5", + "name": "OpenAI GPT-5", + "display_name": "OpenAI GPT-5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 202752, - "output": 202752 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -62078,110 +69601,132 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0.25, - "output": 1.1, - "cache_read": 0.05, - "cache_write": 0 + "input": 1.25, + "output": 10, + "cache_read": 0.12500000000000003 }, "type": "chat" }, { - "id": "greg-1-mini", - "name": "Greg 1 Mini", - "display_name": "Greg 1 Mini", + "id": "claude-haiku-4-5-20251001", + "name": "Anthropic: Claude 4.5 Haiku (20251001)", + "display_name": "Anthropic: Claude 4.5 Haiku (20251001)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 229376, - "output": 229376 + "context": 200000, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, "attachment": false, "open_weights": false, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "knowledge": "2025-10", + "release_date": "2025-10-01", + "last_updated": "2025-10-01", "cost": { - "input": 0.07, - "output": 0.15, - "cache_read": 0.01 + "input": 1, + "output": 5, + "cache_read": 0.09999999999999999, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "qwen3.5-9b", - "name": "Qwen3.5 9B", - "display_name": "Qwen3.5 9B", + "id": "claude-4.5-haiku", + "name": "Anthropic: Claude 4.5 Haiku", + "display_name": "Anthropic: Claude 4.5 Haiku", "modalities": { "input": [ "text", - "image", - "video", - "audio" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 200000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2026-03-13", - "last_updated": "2026-03-13", + "attachment": false, + "open_weights": false, + "knowledge": "2025-10", + "release_date": "2025-10-01", + "last_updated": "2025-10-01", "cost": { - "input": 0.04, - "output": 0.15, - "cache_read": 0.008 + "input": 1, + "output": 5, + "cache_read": 0.09999999999999999, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "glm-4.7-flash", - "name": "GLM-4.7-Flash", - "display_name": "GLM-4.7-Flash", + "id": "gpt-5-pro", + "name": "OpenAI: GPT-5 Pro", + "display_name": "OpenAI: GPT-5 Pro", "modalities": { "input": [ "text" @@ -62191,48 +69736,57 @@ ] }, "limit": { - "context": 202752, - "output": 131072 + "context": 128000, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "fixed", + "effort": "high", + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0.04, - "output": 0.3, - "cache_read": 0.008, - "cache_write": 0 + "input": 15, + "output": 120 }, "type": "chat" }, { - "id": "deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "gemini-2.5-flash", + "name": "Google Gemini 2.5 Flash", + "display_name": "Google Gemini 2.5 Flash", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 131072 + "context": 1048576, + "output": 65535 }, "temperature": true, "tool_call": true, @@ -62243,88 +69797,86 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "open_weights": false, + "knowledge": "2025-06", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 0.12, - "output": 0.21, - "cache_read": 0.003 + "input": 0.3, + "output": 2.5, + "cache_read": 0.075, + "cache_write": 0.3 }, "type": "chat" }, { - "id": "glm-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "gpt-4o", + "name": "OpenAI GPT-4o", + "display_name": "OpenAI GPT-4o", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 202752, - "output": 202752 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2024-05-13", + "last_updated": "2024-05-13", "cost": { - "input": 0.48, - "output": 1.9, - "cache_read": 0.1, - "cache_write": 0 + "input": 2.5, + "output": 10, + "cache_read": 1.25 }, "type": "chat" }, { - "id": "kimi-k2.5-lightning", - "name": "Kimi K2.5 (Lightning)", - "display_name": "Kimi K2.5 (Lightning)", + "id": "o4-mini", + "name": "OpenAI o4 Mini", + "display_name": "OpenAI o4 Mini", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 200000, + "output": 100000 }, "temperature": false, "tool_call": true, @@ -62335,76 +69887,65 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": false, - "open_weights": true, - "release_date": "2026-02-06", - "last_updated": "2026-02-06", + "open_weights": false, + "knowledge": "2024-06", + "release_date": "2024-06-01", + "last_updated": "2024-06-01", "cost": { - "input": 1, - "output": 3, - "cache_read": 0.2 + "input": 1.1, + "output": 4.4, + "cache_read": 0.275 }, "type": "chat" }, { - "id": "qwen3.5-397b-a17b", - "name": "Qwen3.5 397B-A17B", - "display_name": "Qwen3.5 397B-A17B", + "id": "llama-3.1-8b-instant", + "name": "Meta Llama 3.1 8B Instant", + "display_name": "Meta Llama 3.1 8B Instant", "modalities": { "input": [ - "text", - "image", - "video", - "audio" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 131072, + "output": 32678 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2026-02-15", - "last_updated": "2026-02-15", + "attachment": false, + "open_weights": false, + "knowledge": "2024-07", + "release_date": "2024-07-01", + "last_updated": "2024-07-01", "cost": { - "input": 0.35, - "output": 1.75, - "cache_read": 0.07 + "input": 0.049999999999999996, + "output": 0.08 }, "type": "chat" }, { - "id": "minimax-m2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "llama-prompt-guard-2-22m", + "name": "Meta Llama Prompt Guard 2 22M", + "display_name": "Meta Llama Prompt Guard 2 22M", "modalities": { "input": [ "text" @@ -62414,48 +69955,43 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 512, + "output": 2 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "open_weights": false, + "knowledge": "2024-10", + "release_date": "2024-10-01", + "last_updated": "2024-10-01", "cost": { - "input": 0.11, - "output": 0.95, - "cache_read": 0.02, - "cache_write": 0.375 + "input": 0.01, + "output": 0.01 }, "type": "chat" }, { - "id": "deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "o3-pro", + "name": "OpenAI o3 Pro", + "display_name": "OpenAI o3 Pro", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 131072 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -62464,122 +70000,122 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "open_weights": false, + "knowledge": "2024-06", + "release_date": "2024-06-01", + "last_updated": "2024-06-01", "cost": { - "input": 0.35, - "output": 0.8, - "cache_read": 0.003 + "input": 20, + "output": 80 }, "type": "chat" }, { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "grok-3-mini", + "name": "xAI Grok 3 Mini", + "display_name": "xAI Grok 3 Mini", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 131072, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01", - "last_updated": "2026-01", + "open_weights": false, + "knowledge": "2024-06", + "release_date": "2024-06-01", + "last_updated": "2024-06-01", "cost": { - "input": 0.35, - "output": 1.7, - "cache_read": 0.07 + "input": 0.3, + "output": 0.5, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "glm-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "claude-opus-4-1-20250805", + "name": "Anthropic: Claude Opus 4.1 (20250805)", + "display_name": "Anthropic: Claude Opus 4.1 (20250805)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 202752, - "output": 202752 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": false, - "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "open_weights": false, + "knowledge": "2025-08", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.45, - "output": 2.15, - "cache_read": 0.08, - "cache_write": 0 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "mimo-v2.5-pro", - "name": "MiMo-V2.5-Pro", - "display_name": "MiMo-V2.5-Pro", + "id": "deepseek-tng-r1t2-chimera", + "name": "DeepSeek TNG R1T2 Chimera", + "display_name": "DeepSeek TNG R1T2 Chimera", "modalities": { "input": [ "text" @@ -62589,67 +70125,29 @@ ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 130000, + "output": 163840 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "open_weights": false, + "knowledge": "2025-07", + "release_date": "2025-07-02", + "last_updated": "2025-07-02", "cost": { - "input": 0.4, - "output": 0.8, - "cache_read": 0.003, - "tiers": [ - { - "input": 2, - "output": 6, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 256000 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.4 - } + "input": 0.3, + "output": 1.2 }, "type": "chat" - } - ] - }, - "frogbot": { - "id": "frogbot", - "name": "FrogBot", - "display_name": "FrogBot", - "api": "https://app.frogbot.ai/api/v1", - "doc": "https://docs.frogbot.ai", - "models": [ + }, { - "id": "minimax-m2-7", - "name": "MiniMax-M2.7", - "display_name": "MiniMax-M2.7", + "id": "llama-3.3-70b-instruct", + "name": "Meta Llama 3.3 70B Instruct", + "display_name": "Meta Llama 3.3 70B Instruct", "modalities": { "input": [ "text" @@ -62659,397 +70157,311 @@ ] }, "limit": { - "context": 192000, - "output": 8192 + "context": 128000, + "output": 16400 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "knowledge": "2024-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06 + "input": 0.13, + "output": 0.39 }, "type": "chat" }, { - "id": "claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "sonar-reasoning-pro", + "name": "Perplexity Sonar Reasoning Pro", + "display_name": "Perplexity Sonar Reasoning Pro", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 127000, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-02-17", + "knowledge": "2025-01", + "release_date": "2025-01-27", + "last_updated": "2025-01-27", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 2, + "output": 8 }, "type": "chat" }, { - "id": "gpt-4o", - "name": "GPT-4o", - "display_name": "GPT-4o", + "id": "grok-3", + "name": "xAI Grok 3", + "display_name": "xAI Grok 3", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-08-06", + "knowledge": "2024-06", + "release_date": "2024-06-01", + "last_updated": "2024-06-01", "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 + "input": 3, + "output": 15, + "cache_read": 0.75 }, "type": "chat" }, { - "id": "gpt-5-4-mini", - "name": "GPT-5.4 Mini", - "display_name": "GPT-5.4 Mini", + "id": "glm-4.6", + "name": "Zai GLM-4.6", + "display_name": "Zai GLM-4.6", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 204800, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "knowledge": "2024-07", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", "cost": { - "input": 0.75, - "output": 4.5, - "cache_read": 0.075 + "input": 0.44999999999999996, + "output": 1.5 }, "type": "chat" }, { - "id": "claude-haiku-4-5", - "name": "Claude Haiku 4.5", - "display_name": "Claude Haiku 4.5", + "id": "kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "display_name": "Kimi K2 Thinking", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 256000, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "knowledge": "2025-11", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 0.48, + "output": 2 }, "type": "chat" }, { - "id": "gemini-3-flash-preview", - "name": "Gemini 3 Flash Preview", - "display_name": "Gemini 3 Flash Preview", + "id": "grok-4-1-fast-non-reasoning", + "name": "xAI Grok 4.1 Fast Non-Reasoning", + "display_name": "xAI Grok 4.1 Fast Non-Reasoning", "modalities": { "input": [ "text", - "image", - "video", - "audio", - "pdf" + "image" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 2000000, + "output": 30000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "knowledge": "2025-11", + "release_date": "2025-11-17", + "last_updated": "2025-11-17", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.05 + "input": 0.19999999999999998, + "output": 0.5, + "cache_read": 0.049999999999999996 }, "type": "chat" }, { - "id": "zai-glm-5-1", - "name": "Z.AI GLM-5.1", - "display_name": "Z.AI GLM-5.1", + "id": "qwen3-coder", + "name": "Qwen3 Coder 480B A35B Instruct Turbo", + "display_name": "Qwen3 Coder 480B A35B Instruct Turbo", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 198000, - "output": 8192 + "context": 262144, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-01-20", - "last_updated": "2025-02-22", + "attachment": false, + "open_weights": false, + "knowledge": "2025-07", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", "cost": { - "input": 1.4, - "output": 4.4, - "cache_read": 0.26 + "input": 0.22, + "output": 0.95 }, "type": "chat" }, { - "id": "minimax-m2-5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "gpt-5-chat-latest", + "name": "OpenAI GPT-5 Chat Latest", + "display_name": "OpenAI GPT-5 Chat Latest", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 192000, - "output": 8192 + "context": 128000, + "output": 16384 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, "knowledge": "2024-09", - "release_date": "2025-01-15", - "last_updated": "2025-02-22", + "release_date": "2024-09-30", + "last_updated": "2024-09-30", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.03 + "input": 1.25, + "output": 10, + "cache_read": 0.12500000000000003 }, "type": "chat" }, { - "id": "gpt-5-5", - "name": "GPT-5.5", - "display_name": "GPT-5.5", + "id": "gpt-5.1-codex", + "name": "OpenAI: GPT-5.1 Codex", + "display_name": "OpenAI: GPT-5.1 Codex", "modalities": { "input": [ "text", "image" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 272000, + "context": 400000, "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "effort", - "effort": "medium", + "effort": "none", "effort_options": [ + "none", "low", "medium", - "high", - "xhigh" + "high" ], "verbosity": "medium", "verbosity_options": [ @@ -63060,22 +70472,22 @@ "visibility": "hidden" } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 2.5, - "output": 15, - "cache_read": 0.25 + "input": 1.25, + "output": 10, + "cache_read": 0.12500000000000003 }, "type": "chat" }, { - "id": "gpt-oss-120b", - "name": "GPT OSS 120B", - "display_name": "GPT OSS 120B", + "id": "o3-mini", + "name": "OpenAI o3 Mini", + "display_name": "OpenAI o3 Mini", "modalities": { "input": [ "text" @@ -63085,10 +70497,10 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -63096,61 +70508,66 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": false, - "open_weights": true, - "release_date": "1970-01-01", - "last_updated": "1970-01-01", + "open_weights": false, + "knowledge": "2023-10", + "release_date": "2023-10-01", + "last_updated": "2023-10-01", "cost": { - "input": 0.15, - "output": 0.6 + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 }, "type": "chat" }, { - "id": "gemini-3-1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "display_name": "Gemini 3.1 Pro Preview", + "id": "mistral-large-2411", + "name": "Mistral-Large", + "display_name": "Mistral-Large", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 128000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2026-01", - "release_date": "2026-02-18", - "last_updated": "2026-02-18", + "knowledge": "2024-07", + "release_date": "2024-07-24", + "last_updated": "2024-07-24", "cost": { "input": 2, - "output": 12, - "cache_read": 0.2 + "output": 6 }, "type": "chat" }, { - "id": "grok-4-1-fast-non-reasoning", - "name": "Grok 4.1 Fast (Non-Reasoning)", - "display_name": "Grok 4.1 Fast (Non-Reasoning)", + "id": "gemini-2.5-flash-lite", + "name": "Google Gemini 2.5 Flash Lite", + "display_name": "Google Gemini 2.5 Flash Lite", "modalities": { "input": [ "text", @@ -63161,30 +70578,51 @@ ] }, "limit": { - "context": 2000000, - "output": 128000 + "context": 1048576, + "output": 65535 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "default": -1, + "min": 512, + "max": 24576, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": false, "open_weights": false, - "knowledge": "2025-11", - "release_date": "2025-11-25", - "last_updated": "2025-11-25", + "knowledge": "2025-07", + "release_date": "2025-07-22", + "last_updated": "2025-07-22", "cost": { - "input": 0.2, - "output": 0.5, - "cache_read": 0.05 + "input": 0.09999999999999999, + "output": 0.39999999999999997, + "cache_read": 0.024999999999999998, + "cache_write": 0.09999999999999999 }, "type": "chat" }, { - "id": "gpt-5-4-nano", - "name": "GPT-5.4 Nano", - "display_name": "GPT-5.4 Nano", + "id": "llama-guard-4", + "name": "Meta Llama Guard 4 12B", + "display_name": "Meta Llama Guard 4 12B", "modalities": { "input": [ "text", @@ -63195,274 +70633,269 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 1024 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0.2, - "output": 1.25, - "cache_read": 0.02 + "input": 0.21, + "output": 0.21 }, "type": "chat" }, { - "id": "gpt-oss-20b", - "name": "GPT OSS 20B", - "display_name": "GPT OSS 20B", + "id": "claude-opus-4-1", + "name": "Anthropic: Claude Opus 4.1", + "display_name": "Anthropic: Claude Opus 4.1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, "attachment": false, - "open_weights": true, - "release_date": "1970-01-01", - "last_updated": "1970-01-01", + "open_weights": false, + "knowledge": "2025-08", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.07, - "output": 0.2 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "qwen-3-6-plus", - "name": "Qwen 3.6 Plus", - "display_name": "Qwen 3.6 Plus", + "id": "claude-3.7-sonnet", + "name": "Anthropic: Claude 3.7 Sonnet", + "display_name": "Anthropic: Claude 3.7 Sonnet", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 200000, "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": false, + "summaries": false, + "visibility": "full", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic uses thinking budget tokens" + ] + } + }, + "attachment": false, "open_weights": false, - "release_date": "2026-04-02", - "last_updated": "2026-04-03", + "knowledge": "2025-02", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.1 + "input": 3, + "output": 15, + "cache_read": 0.30000000000000004, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "display_name": "Gemini 2.5 Pro", + "id": "gpt-5.1-codex-mini", + "name": "OpenAI: GPT-5.1 Codex Mini", + "display_name": "OpenAI: GPT-5.1 Codex Mini", "modalities": { "input": [ "text", - "image", - "audio", - "video", - "pdf" + "image" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": true, + "attachment": false, "open_weights": false, "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.31 + "input": 0.25, + "output": 2, + "cache_read": 0.024999999999999998 }, "type": "chat" }, { - "id": "kimi-k2-6", - "name": "Kimi-K2.6", - "display_name": "Kimi-K2.6", + "id": "gpt-5.1-chat-latest", + "name": "OpenAI GPT-5.1 Chat", + "display_name": "OpenAI GPT-5.1 Chat", "modalities": { "input": [ "text", "image" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 256000, - "output": 128000 + "context": 128000, + "output": 16384 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "1970-01-01", - "last_updated": "1970-01-01", + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0.95, - "output": 4, - "cache_read": 0.16 + "input": 1.25, + "output": 10, + "cache_read": 0.12500000000000003 }, "type": "chat" }, { - "id": "gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "display_name": "Gemini 2.5 Flash", + "id": "claude-3-haiku-20240307", + "name": "Anthropic: Claude 3 Haiku", + "display_name": "Anthropic: Claude 3 Haiku", "modalities": { "input": [ "text", - "image", - "audio", - "video", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 200000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-07-17", - "last_updated": "2025-07-17", + "knowledge": "2024-03", + "release_date": "2024-03-07", + "last_updated": "2024-03-07", "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.075 + "input": 0.25, + "output": 1.25, + "cache_read": 0.03, + "cache_write": 0.3 }, "type": "chat" }, { - "id": "gpt-5-3-codex", - "name": "GPT-5.3 Codex", - "display_name": "GPT-5.3 Codex", + "id": "grok-4-fast-reasoning", + "name": "xAI: Grok 4 Fast Reasoning", + "display_name": "xAI: Grok 4 Fast Reasoning", "modalities": { "input": [ "text", @@ -63473,10 +70906,10 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 2000000, + "output": 2000000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -63484,142 +70917,97 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-02-15", - "last_updated": "2026-02-15", + "knowledge": "2025-09", + "release_date": "2025-09-01", + "last_updated": "2025-09-01", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.19999999999999998, + "output": 0.5, + "cache_read": 0.049999999999999996 }, "type": "chat" }, { - "id": "grok-4-3", - "name": "Grok 4.3", - "display_name": "Grok 4.3", + "id": "gpt-4.1-nano", + "name": "OpenAI GPT-4.1 Nano", + "display_name": "OpenAI GPT-4.1 Nano", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-11", - "release_date": "2026-04-30", - "last_updated": "2026-04-30", + "knowledge": "2025-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 1.25, - "output": 2.5, - "cache_read": 0.2 + "input": 0.09999999999999999, + "output": 0.39999999999999997, + "cache_read": 0.024999999999999998 }, "type": "chat" }, { - "id": "claude-opus-4-6", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", + "id": "gpt-oss-120b", + "name": "OpenAI GPT-OSS 120b", + "display_name": "OpenAI GPT-OSS 120b", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "knowledge": "2024-06", + "release_date": "2024-06-01", + "last_updated": "2024-06-01", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.04, + "output": 0.16 }, "type": "chat" }, { - "id": "deepseek-v4-pro", - "name": "DeepSeek v4 Pro", - "display_name": "DeepSeek v4 Pro", + "id": "sonar", + "name": "Perplexity Sonar", + "display_name": "Perplexity Sonar", "modalities": { "input": [ "text" @@ -63629,91 +71017,64 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 127000, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2026-01", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "knowledge": "2025-01", + "release_date": "2025-01-27", + "last_updated": "2025-01-27", "cost": { - "input": 1.74, - "output": 3.48, - "cache_read": 0.14 + "input": 1, + "output": 1 }, "type": "chat" }, { - "id": "kimi-k2.5", - "name": "Kimi-K2.5", - "display_name": "Kimi-K2.5", + "id": "qwen2.5-coder-7b-fast", + "name": "Qwen2.5 Coder 7B fast", + "display_name": "Qwen2.5 Coder 7B fast", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 128000 + "context": 32000, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "1970-01-01", - "last_updated": "1970-01-01", + "knowledge": "2024-09", + "release_date": "2024-09-15", + "last_updated": "2024-09-15", "cost": { - "input": 0.6, - "output": 3, - "cache_read": 0.1 + "input": 0.03, + "output": 0.09 }, "type": "chat" }, { - "id": "claude-opus-4-7", - "name": "Claude Opus 4.7", - "display_name": "Claude Opus 4.7", + "id": "o1", + "name": "OpenAI: o1", + "display_name": "OpenAI: o1", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" @@ -63721,149 +71082,113 @@ }, "limit": { "context": 200000, - "output": 128000 + "output": 100000 }, "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", - "effort": "high", + "effort": "medium", "effort_options": [ "low", "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" + "high" ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] + "visibility": "hidden" } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 15, + "output": 60, + "cache_read": 7.5 }, "type": "chat" }, { - "id": "grok-4-1-fast-reasoning", - "name": "Grok 4.1 Fast (Reasoning)", - "display_name": "Grok 4.1 Fast (Reasoning)", + "id": "ernie-4.5-21b-a3b-thinking", + "name": "Baidu Ernie 4.5 21B A3B Thinking", + "display_name": "Baidu Ernie 4.5 21B A3B Thinking", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 128000 + "context": 128000, + "output": 8000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-11", - "release_date": "2025-11-25", - "last_updated": "2025-11-25", + "knowledge": "2025-03", + "release_date": "2025-03-16", + "last_updated": "2025-03-16", "cost": { - "input": 0.2, - "output": 0.5, - "cache_read": 0.05 + "input": 0.07, + "output": 0.28 }, "type": "chat" }, { - "id": "grok-code-fast-1", - "name": "Grok 4.1 Fast (Reasoning)", - "display_name": "Grok 4.1 Fast (Reasoning)", + "id": "llama-4-scout", + "name": "Meta Llama 4 Scout 17B 16E", + "display_name": "Meta Llama 4 Scout 17B 16E", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 128000 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2023-10", - "release_date": "2025-08-28", - "last_updated": "2025-08-28", + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0.2, - "output": 1.5, - "cache_read": 0.02 + "input": 0.08, + "output": 0.3 }, "type": "chat" - } - ] - }, - "anthropic": { - "id": "anthropic", - "name": "Anthropic", - "display_name": "Anthropic", - "doc": "https://docs.anthropic.com/en/docs/about-claude/models", - "models": [ + }, { - "id": "claude-opus-4-5", - "name": "Claude Opus 4.5 (latest)", - "display_name": "Claude Opus 4.5 (latest)", + "id": "sonar-pro", + "name": "Perplexity Sonar Pro", + "display_name": "Perplexity Sonar Pro", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" @@ -63871,128 +71196,66 @@ }, "limit": { "context": 200000, - "output": 64000 + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", + "knowledge": "2025-01", + "release_date": "2025-01-27", + "last_updated": "2025-01-27", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "gpt-4.1", + "name": "OpenAI GPT-4.1", + "display_name": "OpenAI GPT-4.1", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", + "knowledge": "2025-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "claude-haiku-4-5-20251001", - "name": "Claude Haiku 4.5", - "display_name": "Claude Haiku 4.5", + "id": "claude-sonnet-4-5-20250929", + "name": "Anthropic: Claude Sonnet 4.5 (20250929)", + "display_name": "Anthropic: Claude Sonnet 4.5 (20250929)", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -64029,488 +71292,494 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "knowledge": "2025-09", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 3, + "output": 15, + "cache_read": 0.30000000000000004, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "claude-sonnet-4-0", - "name": "Claude Sonnet 4 (latest)", - "display_name": "Claude Sonnet 4 (latest)", + "id": "deepseek-reasoner", + "name": "DeepSeek Reasoner", + "display_name": "DeepSeek Reasoner", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, + "context": 128000, "output": 64000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "knowledge": "2025-01", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.56, + "output": 1.68, + "cache_read": 0.07 }, "type": "chat" }, { - "id": "claude-haiku-4-5", - "name": "Claude Haiku 4.5 (latest)", - "display_name": "Claude Haiku 4.5 (latest)", + "id": "grok-4-1-fast-reasoning", + "name": "xAI Grok 4.1 Fast Reasoning", + "display_name": "xAI Grok 4.1 Fast Reasoning", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 2000000, + "output": 2000000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "knowledge": "2025-11", + "release_date": "2025-11-17", + "last_updated": "2025-11-17", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 0.19999999999999998, + "output": 0.5, + "cache_read": 0.049999999999999996 }, "type": "chat" }, { - "id": "claude-opus-4-20250514", - "name": "Claude Opus 4", - "display_name": "Claude Opus 4", + "id": "gemini-3-pro-preview", + "name": "Google Gemini 3 Pro Preview", + "display_name": "Google Gemini 3 Pro Preview", "modalities": { "input": [ "text", "image", - "pdf" + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + "thought_signatures" ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "knowledge": "2025-11", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 2, + "output": 12, + "cache_read": 0.19999999999999998 }, "type": "chat" }, { - "id": "claude-opus-4-1", - "name": "Claude Opus 4.1 (latest)", - "display_name": "Claude Opus 4.1 (latest)", + "id": "gpt-5-mini", + "name": "OpenAI GPT-5 Mini", + "display_name": "OpenAI GPT-5 Mini", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.25, + "output": 2, + "cache_read": 0.024999999999999998 }, "type": "chat" }, { - "id": "claude-3-opus-20240229", - "name": "Claude Opus 3", - "display_name": "Claude Opus 3", + "id": "gpt-4.1-mini", + "name": "OpenAI GPT-4.1 Mini", + "display_name": "OpenAI GPT-4.1 Mini", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 4096 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2023-08-31", - "release_date": "2024-02-29", - "last_updated": "2024-02-29", + "knowledge": "2025-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.39999999999999997, + "output": 1.5999999999999999, + "cache_read": 0.09999999999999999 }, "type": "chat" }, { - "id": "claude-fable-5", - "name": "Claude Fable 5", - "display_name": "Claude Fable 5", + "id": "sonar-reasoning", + "name": "Perplexity Sonar Reasoning", + "display_name": "Perplexity Sonar Reasoning", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 127000, + "output": 4096 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Adaptive thinking is always on for Claude Fable 5 and Claude Mythos 5; thinking.type = \"disabled\" is rejected.", - "Manual budget_tokens requests return 400 on Claude Fable 5 and Claude Mythos 5.", - "thinking.display defaults to omitted; set display to summarized to receive readable thinking summaries." - ] - } + "attachment": false, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-01-27", + "last_updated": "2025-01-27", + "cost": { + "input": 1, + "output": 5 }, - "attachment": true, + "type": "chat" + }, + { + "id": "sonar-deep-research", + "name": "Perplexity Sonar Deep Research", + "display_name": "Perplexity Sonar Deep Research", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 127000, + "output": 4096 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, "open_weights": false, - "release_date": "2026-06-09", - "last_updated": "2026-06-09", + "knowledge": "2025-01", + "release_date": "2025-01-27", + "last_updated": "2025-01-27", "cost": { - "input": 10, - "output": 50, - "cache_read": 1, - "cache_write": 12.5 + "input": 2, + "output": 8 }, "type": "chat" }, { - "id": "claude-3-5-haiku-latest", - "name": "Claude Haiku 3.5 (latest)", - "display_name": "Claude Haiku 3.5 (latest)", + "id": "kimi-k2-0905", + "name": "Kimi K2 (09/05)", + "display_name": "Kimi K2 (09/05)", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 262144, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-07-31", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", + "knowledge": "2025-09", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", "cost": { - "input": 0.8, - "output": 4, - "cache_read": 0.08, - "cache_write": 1 + "input": 0.5, + "output": 2, + "cache_read": 0.39999999999999997 + }, + "type": "chat" + }, + { + "id": "gpt-5-nano", + "name": "OpenAI GPT-5 Nano", + "display_name": "OpenAI GPT-5 Nano", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 400000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": false, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "cost": { + "input": 0.049999999999999996, + "output": 0.39999999999999997, + "cache_read": 0.005 }, "type": "chat" }, { - "id": "claude-sonnet-4-5-20250929", - "name": "Claude Sonnet 4.5", - "display_name": "Claude Sonnet 4.5", + "id": "grok-4", + "name": "xAI Grok 4", + "display_name": "xAI Grok 4", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 256000, + "output": 256000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "knowledge": "2024-07", + "release_date": "2024-07-09", + "last_updated": "2024-07-09", "cost": { "input": 3, "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "cache_read": 0.75 }, "type": "chat" }, { - "id": "claude-3-5-haiku-20241022", - "name": "Claude Haiku 3.5", - "display_name": "Claude Haiku 3.5", + "id": "qwen3-235b-a22b-thinking", + "name": "Qwen3 235B A22B Thinking", + "display_name": "Qwen3 235B A22B Thinking", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 262144, + "output": 81920 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": false, - "knowledge": "2024-07-31", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", + "knowledge": "2025-07", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", "cost": { - "input": 0.8, - "output": 4, - "cache_read": 0.08, - "cache_write": 1 + "input": 0.3, + "output": 2.9000000000000004 }, "type": "chat" }, { - "id": "claude-opus-4-1-20250805", - "name": "Claude Opus 4.1", - "display_name": "Claude Opus 4.1", + "id": "claude-opus-4", + "name": "Anthropic: Claude Opus 4", + "display_name": "Anthropic: Claude Opus 4", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -64547,11 +71816,11 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2025-05", + "release_date": "2025-05-14", + "last_updated": "2025-05-14", "cost": { "input": 15, "output": 75, @@ -64561,71 +71830,48 @@ "type": "chat" }, { - "id": "claude-3-7-sonnet-20250219", - "name": "Claude Sonnet 3.7", - "display_name": "Claude Sonnet 3.7", + "id": "grok-4-fast-non-reasoning", + "name": "xAI Grok 4 Fast Non-Reasoning", + "display_name": "xAI Grok 4 Fast Non-Reasoning", "modalities": { "input": [ "text", "image", - "pdf" + "audio" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 2000000, + "output": 2000000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": false, - "summaries": false, - "visibility": "full", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic uses thinking budget tokens" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-10-31", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", + "knowledge": "2025-09", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.19999999999999998, + "output": 0.5, + "cache_read": 0.049999999999999996 }, "type": "chat" }, { - "id": "claude-3-5-sonnet-20240620", - "name": "Claude Sonnet 3.5", - "display_name": "Claude Sonnet 3.5", + "id": "claude-4.5-opus", + "name": "Anthropic: Claude Opus 4.5", + "display_name": "Anthropic: Claude Opus 4.5", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -64633,291 +71879,206 @@ }, "limit": { "context": 200000, - "output": 8192 + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-04-30", - "release_date": "2024-06-20", - "last_updated": "2024-06-20", + "knowledge": "2025-11", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "claude-3-5-sonnet-20241022", - "name": "Claude Sonnet 3.5 v2", - "display_name": "Claude Sonnet 3.5 v2", + "id": "qwen3-vl-235b-a22b-instruct", + "name": "Qwen3 VL 235B A22B Instruct", + "display_name": "Qwen3 VL 235B A22B Instruct", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 256000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-04-30", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", + "knowledge": "2025-09", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.3, + "output": 1.5 }, "type": "chat" }, { - "id": "claude-opus-4-5-20251101", - "name": "Claude Opus 4.5", - "display_name": "Claude Opus 4.5", + "id": "kimi-k2-0711", + "name": "Kimi K2 (07/11)", + "display_name": "Kimi K2 (07/11)", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 131072, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-01", - "last_updated": "2025-11-01", + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.5700000000000001, + "output": 2.3 }, "type": "chat" }, { - "id": "claude-opus-4-8", - "name": "Claude Opus 4.8", - "display_name": "Claude Opus 4.8", + "id": "gemma-3-12b-it", + "name": "Google Gemma 3 12B", + "display_name": "Google Gemma 3 12B", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 8192 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-05-28", - "last_updated": "2026-05-28", + "knowledge": "2024-12", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.049999999999999996, + "output": 0.09999999999999999 }, "type": "chat" }, { - "id": "claude-3-haiku-20240307", - "name": "Claude Haiku 3", - "display_name": "Claude Haiku 3", + "id": "gpt-4o-mini", + "name": "OpenAI GPT-4o-mini", + "display_name": "OpenAI GPT-4o-mini", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 4096 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2023-08-31", - "release_date": "2024-03-13", - "last_updated": "2024-03-13", + "knowledge": "2024-07", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", "cost": { - "input": 0.25, - "output": 1.25, - "cache_read": 0.03, - "cache_write": 0.3 + "input": 0.15, + "output": 0.6, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "claude-sonnet-4-20250514", - "name": "Claude Sonnet 4", - "display_name": "Claude Sonnet 4", + "id": "gpt-oss-20b", + "name": "OpenAI GPT-OSS 20b", + "display_name": "OpenAI GPT-OSS 20b", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "knowledge": "2024-06", + "release_date": "2024-06-01", + "last_updated": "2024-06-01", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.049999999999999996, + "output": 0.19999999999999998 }, "type": "chat" }, { - "id": "claude-sonnet-4-5", - "name": "Claude Sonnet 4.5 (latest)", - "display_name": "Claude Sonnet 4.5 (latest)", + "id": "claude-3.5-sonnet-v2", + "name": "Anthropic: Claude 3.5 Sonnet v2", + "display_name": "Anthropic: Claude 3.5 Sonnet v2", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -64925,221 +72086,170 @@ }, "limit": { "context": 200000, - "output": 64000 + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "knowledge": "2024-10", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", "cost": { "input": 3, "output": 15, - "cache_read": 0.3, + "cache_read": 0.30000000000000004, "cache_write": 3.75 }, "type": "chat" }, { - "id": "claude-opus-4-6", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", + "id": "qwen3-30b-a3b", + "name": "Qwen3 30B A3B", + "display_name": "Qwen3 30B A3B", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 41000, + "output": 41000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-03-13", + "knowledge": "2025-06", + "release_date": "2025-06-01", + "last_updated": "2025-06-01", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.08, + "output": 0.29 }, "type": "chat" }, { - "id": "claude-opus-4-7", - "name": "Claude Opus 4.7", - "display_name": "Claude Opus 4.7", + "id": "gpt-5-codex", + "name": "OpenAI: GPT-5 Codex", + "display_name": "OpenAI: GPT-5 Codex", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 400000, "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", - "effort": "high", + "effort": "medium", "effort_options": [ + "minimal", "low", "medium", - "high", - "xhigh", - "max" + "high" ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] + "visibility": "hidden" } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 1.25, + "output": 10, + "cache_read": 0.12500000000000003 }, "type": "chat" }, { - "id": "claude-3-sonnet-20240229", - "name": "Claude Sonnet 3", - "display_name": "Claude Sonnet 3", + "id": "deepseek-v3.2", + "name": "DeepSeek V3.2", + "display_name": "DeepSeek V3.2", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 4096 + "context": 163840, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, "open_weights": false, - "knowledge": "2023-08-31", - "release_date": "2024-03-04", - "last_updated": "2024-03-04", + "knowledge": "2025-09", + "release_date": "2025-09-22", + "last_updated": "2025-09-22", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 0.3 + "input": 0.27, + "output": 0.41 }, "type": "chat" }, { - "id": "claude-opus-4-0", - "name": "Claude Opus 4 (latest)", - "display_name": "Claude Opus 4 (latest)", + "id": "claude-4.5-sonnet", + "name": "Anthropic: Claude Sonnet 4.5", + "display_name": "Anthropic: Claude Sonnet 4.5", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -65147,139 +72257,64 @@ }, "limit": { "context": 200000, - "output": 32000 + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 - }, - "type": "chat" - } - ] - }, - "alibaba": { - "id": "alibaba", - "name": "alibaba", - "display_name": "alibaba", - "api": "https://dashscope-intl.aliyuncs.com/compatible-mode/v1", - "doc": "https://www.alibabacloud.com/help/en/model-studio/models", - "models": [ - { - "id": "qwen3-asr-flash", - "name": "Qwen3-ASR Flash", - "display_name": "Qwen3-ASR Flash", - "modalities": { - "input": [ - "audio" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 53248, - "output": 4096 - }, - "temperature": false, - "tool_call": false, - "reasoning": { - "supported": false + "default": true }, "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-09-08", - "last_updated": "2025-09-08", + "knowledge": "2025-09", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0.035, - "output": 0.035 + "input": 3, + "output": 15, + "cache_read": 0.30000000000000004, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "qwen3.5-122b-a10b", - "name": "Qwen3.5 122B-A10B", - "display_name": "Qwen3.5 122B-A10B", + "id": "mistral-small", + "name": "Mistral Small 3.2", + "display_name": "Mistral Small 3.2", "modalities": { "input": [ "text", - "image", - "video", - "audio" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-02-23", - "last_updated": "2026-02-23", + "knowledge": "2025-03", + "release_date": "2025-06-20", + "last_updated": "2025-06-20", "cost": { - "input": 0.4, - "output": 3.2 + "input": 0.075, + "output": 0.2 }, "type": "chat" }, { - "id": "qwen3-next-80b-a3b-instruct", - "name": "Qwen3 Next 80B A3B Instruct", - "display_name": "Qwen3 Next 80B A3B Instruct", + "id": "llama-3.1-8b-instruct-turbo", + "name": "Meta Llama 3.1 8B Instruct Turbo", + "display_name": "Meta Llama 3.1 8B Instruct Turbo", "modalities": { "input": [ "text" @@ -65289,8 +72324,8 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -65298,53 +72333,86 @@ "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09", - "last_updated": "2025-09", + "open_weights": false, + "knowledge": "2024-07", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 0.5, - "output": 2 + "input": 0.02, + "output": 0.03 }, "type": "chat" }, { - "id": "qwen2-5-vl-72b-instruct", - "name": "Qwen2.5-VL 72B Instruct", - "display_name": "Qwen2.5-VL 72B Instruct", + "id": "gpt-5.1", + "name": "OpenAI GPT-5.1", + "display_name": "OpenAI GPT-5.1", "modalities": { "input": [ "text", "image" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": false, - "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 2.8, - "output": 8.4 + "input": 1.25, + "output": 10, + "cache_read": 0.12500000000000003 }, "type": "chat" - }, + } + ] + }, + "zai": { + "id": "zai", + "name": "Z.AI", + "display_name": "Z.AI", + "api": "https://api.z.ai/api/paas/v4", + "doc": "https://docs.z.ai/guides/overview/pricing", + "models": [ { - "id": "qwen3-32b", - "name": "Qwen3 32B", - "display_name": "Qwen3 32B", + "id": "glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", "modalities": { "input": [ "text" @@ -65354,19 +72422,14 @@ ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true, - "budget": { - "default": 38912, - "min": 0, - "max": 38912 - } + "default": true }, "extra_capabilities": { "reasoning": { @@ -65382,51 +72445,55 @@ "attachment": false, "open_weights": true, "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 0.7, - "output": 2.8, - "reasoning": 8.4 + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen3-coder-30b-a3b-instruct", - "name": "Qwen3-Coder 30B-A3B Instruct", - "display_name": "Qwen3-Coder 30B-A3B Instruct", + "id": "glm-4.5v", + "name": "GLM-4.5V", + "display_name": "GLM-4.5V", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 64000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": true, "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "release_date": "2025-08-11", + "last_updated": "2025-08-11", "cost": { - "input": 0.45, - "output": 2.25 + "input": 0.6, + "output": 1.8 }, "type": "chat" }, { - "id": "qwen-flash", - "name": "Qwen Flash", - "display_name": "Qwen Flash", + "id": "glm-4.5", + "name": "GLM-4.5", + "display_name": "GLM-4.5", "modalities": { "input": [ "text" @@ -65436,66 +72503,43 @@ ] }, "limit": { - "context": 1000000, - "output": 32768 + "context": 131072, + "output": 98304 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" + "default": true }, "attachment": false, - "open_weights": false, - "knowledge": "2024-04", + "open_weights": true, + "knowledge": "2025-04", "release_date": "2025-07-28", "last_updated": "2025-07-28", "cost": { - "input": 0.05, - "output": 0.4 + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen3.6-27b", - "name": "Qwen3.6 27B", - "display_name": "Qwen3.6 27B", + "id": "glm-4.7-flashx", + "name": "GLM-4.7-FlashX", + "display_name": "GLM-4.7-FlashX", "modalities": { "input": [ - "text", - "image", - "video", - "audio" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 200000, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -65503,44 +72547,34 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", "cost": { - "input": 0.6, - "output": 3.6 + "input": 0.07, + "output": 0.4, + "cache_read": 0.01, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen3.5-plus", - "name": "Qwen3.5 Plus", - "display_name": "Qwen3.5 Plus", + "id": "glm-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 200000, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -65561,20 +72595,20 @@ }, "attachment": false, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 0.4, - "output": 2.4, - "reasoning": 2.4 + "input": 1.4, + "output": 4.4, + "cache_read": 0.26, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen-plus-character-ja", - "name": "Qwen Plus Character (Japanese)", - "display_name": "Qwen Plus Character (Japanese)", + "id": "glm-4.6", + "name": "GLM-4.6", + "display_name": "GLM-4.6", "modalities": { "input": [ "text" @@ -65584,89 +72618,92 @@ ] }, "limit": { - "context": 8192, - "output": 512 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-01", - "last_updated": "2024-01", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", "cost": { - "input": 0.5, - "output": 1.4 + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen3-livetranslate-flash-realtime", - "name": "Qwen3-LiveTranslate Flash Realtime", - "display_name": "Qwen3-LiveTranslate Flash Realtime", + "id": "glm-4.6v", + "name": "GLM-4.6V", + "display_name": "GLM-4.6V", "modalities": { "input": [ "text", "image", - "audio", "video" ], "output": [ - "text", - "audio" + "text" ] }, "limit": { - "context": 53248, - "output": 4096 + "context": 128000, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-09-22", - "last_updated": "2025-09-22", + "attachment": true, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", "cost": { - "input": 10, - "output": 10, - "input_audio": 10, - "output_audio": 38 + "input": 0.3, + "output": 0.9 }, "type": "chat" }, { - "id": "qwen3-235b-a22b", - "name": "Qwen3 235B A22B", - "display_name": "Qwen3 235B A22B", + "id": "glm-5v-turbo", + "name": "GLM-5V-Turbo", + "display_name": "GLM-5V-Turbo", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 200000, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } + "default": true }, "extra_capabilities": { "reasoning": { @@ -65679,22 +72716,22 @@ ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "attachment": true, + "open_weights": false, + "release_date": "2026-04-01", + "last_updated": "2026-04-01", "cost": { - "input": 0.7, - "output": 2.8, - "reasoning": 8.4 + "input": 1.2, + "output": 4, + "cache_read": 0.24, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen3-max", - "name": "Qwen3 Max", - "display_name": "Qwen3 Max", + "id": "glm-4.5-air", + "name": "GLM-4.5-Air", + "display_name": "GLM-4.5-Air", "modalities": { "input": [ "text" @@ -65704,40 +72741,32 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 131072, + "output": 98304 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, + "open_weights": true, "knowledge": "2025-04", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 1.2, - "output": 6 + "input": 0.2, + "output": 1.1, + "cache_read": 0.03, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen2-5-72b-instruct", - "name": "Qwen2.5 72B Instruct", - "display_name": "Qwen2.5 72B Instruct", + "id": "glm-4.7-flash", + "name": "GLM-4.7-Flash", + "display_name": "GLM-4.7-Flash", "modalities": { "input": [ "text" @@ -65747,29 +72776,37 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 200000, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", "cost": { - "input": 1.4, - "output": 5.6 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen3-coder-plus", - "name": "Qwen3 Coder Plus", - "display_name": "Qwen3 Coder Plus", + "id": "glm-4.5-flash", + "name": "GLM-4.5-Flash", + "display_name": "GLM-4.5-Flash", "modalities": { "input": [ "text" @@ -65779,29 +72816,32 @@ ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 131072, + "output": 98304 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 1, - "output": 5 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen3-14b", - "name": "Qwen3 14B", - "display_name": "Qwen3 14B", + "id": "glm-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ "text" @@ -65811,19 +72851,14 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true, - "budget": { - "default": 38912, - "min": 0, - "max": 38912 - } + "default": true }, "extra_capabilities": { "reasoning": { @@ -65838,35 +72873,31 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 0.35, - "output": 1.4, - "reasoning": 4.2 + "input": 1, + "output": 3.2, + "cache_read": 0.2, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen3-omni-flash", - "name": "Qwen3-Omni Flash", - "display_name": "Qwen3-Omni Flash", + "id": "glm-5-turbo", + "name": "GLM-5-Turbo", + "display_name": "GLM-5-Turbo", "modalities": { "input": [ - "text", - "image", - "audio", - "video" + "text" ], "output": [ - "text", - "audio" + "text" ] }, "limit": { - "context": 65536, - "output": 16384 + "context": 200000, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -65887,33 +72918,44 @@ }, "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", + "release_date": "2026-03-16", + "last_updated": "2026-03-16", "cost": { - "input": 0.43, - "output": 1.66, - "input_audio": 3.81, - "output_audio": 15.11 + "input": 1.2, + "output": 4, + "cache_read": 0.24, + "cache_write": 0 }, "type": "chat" - }, + } + ] + }, + "nearai": { + "id": "nearai", + "name": "NEAR AI Cloud", + "display_name": "NEAR AI Cloud", + "api": "https://cloud-api.near.ai/v1", + "doc": "https://docs.near.ai/", + "models": [ { - "id": "qwen3-vl-235b-a22b", - "name": "Qwen3-VL 235B-A22B", - "display_name": "Qwen3-VL 235B-A22B", + "id": "google/gemini-3.1-flash-lite", + "name": "Gemini 3.1 Flash Lite", + "display_name": "Gemini 3.1 Flash Lite", "modalities": { "input": [ "text", - "image" + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -65923,31 +72965,26 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-05-07", + "last_updated": "2026-05-07", "cost": { - "input": 0.7, - "output": 2.8, - "reasoning": 8.4 + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "input_audio": 0.5 }, "type": "chat" }, { - "id": "qwen3-8b", - "name": "Qwen3 8B", - "display_name": "Qwen3 8B", + "id": "google/gemma-4-31B-it", + "name": "Gemma 4 31B IT", + "display_name": "Gemma 4 31B IT", "modalities": { "input": [ "text" @@ -65957,57 +72994,117 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 262144, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true, - "budget": { - "default": 38912, - "min": 0, - "max": 38912 - } + "default": true + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "cost": { + "input": 0.13, + "output": 0.4, + "cache_read": 0.026 + }, + "type": "chat" + }, + { + "id": "google/gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "display_name": "Gemini 2.5 Pro", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 0.18, - "output": 0.7, - "reasoning": 2.1 + "input": 1.25, + "output": 10, + "cache_read": 0.125, + "tiers": [ + { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } }, "type": "chat" }, { - "id": "qwen3.7-max", - "name": "Qwen3.7 Max", - "display_name": "Qwen3.7 Max", + "id": "google/gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "display_name": "Gemini 2.5 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 1048576, "output": 65536 }, "temperature": true, @@ -66018,70 +73115,113 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-05-21", - "last_updated": "2026-05-21", + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 2.5, - "output": 7.5, - "cache_read": 0.5, - "cache_write": 3.125 + "input": 0.3, + "output": 2.5, + "cache_read": 0.03, + "input_audio": 1 }, "type": "chat" }, { - "id": "qwen-vl-plus", - "name": "Qwen-VL Plus", - "display_name": "Qwen-VL Plus", + "id": "google/gemini-3.5-flash", + "name": "Gemini 3.5 Flash", + "display_name": "Gemini 3.5 Flash", "modalities": { "input": [ "text", - "image" + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-01-25", - "last_updated": "2025-08-15", + "knowledge": "2025-01", + "release_date": "2026-05-19", + "last_updated": "2026-05-19", "cost": { - "input": 0.21, - "output": 0.63 + "input": 1.5, + "output": 9, + "cache_read": 0.15, + "input_audio": 1.5 }, "type": "chat" }, { - "id": "qwen3.6-plus", - "name": "Qwen3.6 Plus", - "display_name": "Qwen3.6 Plus", + "id": "google/gemini-3-pro", + "name": "Gemini 3 Pro Preview", + "display_name": "Gemini 3 Pro Preview", "modalities": { "input": [ "text", "image", - "video" + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 1048576, "output": 65536 }, "temperature": true, @@ -66093,100 +73233,94 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", "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 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.2, - "cache_write": 2.5 - } + "input": 1.25, + "output": 15, + "cache_read": 0 }, "type": "chat" }, { - "id": "qwen3-vl-plus", - "name": "Qwen3 VL Plus", - "display_name": "Qwen3 VL Plus", + "id": "google/gemini-2.5-flash-lite", + "name": "Gemini 2.5 Flash-Lite", + "display_name": "Gemini 2.5 Flash-Lite", "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 1048576, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "default": -1, + "min": 512, + "max": 24576, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 0.2, - "output": 1.6, - "reasoning": 4.8 + "input": 0.1, + "output": 0.4, + "cache_read": 0.01, + "input_audio": 0.3 }, "type": "chat" }, { - "id": "qwen-max", - "name": "Qwen Max", - "display_name": "Qwen Max", + "id": "Qwen/Qwen3-Embedding-0.6B", + "name": "Qwen3 Embedding 0.6B", + "display_name": "Qwen3 Embedding 0.6B", "modalities": { "input": [ "text" @@ -66196,73 +73330,59 @@ ] }, "limit": { - "context": 32768, - "output": 8192 + "context": 40960, + "output": 1024 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" - }, "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-04-03", - "last_updated": "2025-01-25", + "open_weights": true, + "release_date": "2025-06-03", + "last_updated": "2025-06-03", "cost": { - "input": 1.6, - "output": 6.4 + "input": 0.01, + "output": 0 }, - "type": "chat" + "type": "embedding" }, { - "id": "qwen-omni-turbo", - "name": "Qwen-Omni Turbo", - "display_name": "Qwen-Omni Turbo", + "id": "Qwen/Qwen3-Reranker-0.6B", + "name": "Qwen3 Reranker 0.6B", + "display_name": "Qwen3 Reranker 0.6B", "modalities": { "input": [ - "text", - "image", - "audio", - "video" + "text" ], "output": [ - "text", - "audio" + "text" ] }, "limit": { - "context": 32768, - "output": 2048 + "context": 40960, + "output": 1024 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-01-19", - "last_updated": "2025-03-26", + "open_weights": true, + "release_date": "2025-06-03", + "last_updated": "2025-06-03", "cost": { - "input": 0.07, - "output": 0.27, - "input_audio": 4.44, - "output_audio": 8.89 + "input": 0.01, + "output": 0.01 }, - "type": "chat" + "type": "rerank" }, { - "id": "qwen3-coder-480b-a35b-instruct", - "name": "Qwen3-Coder 480B-A35B Instruct", - "display_name": "Qwen3-Coder 480B-A35B Instruct", + "id": "Qwen/Qwen3.6-35B-A3B-FP8", + "name": "Qwen 3.6 35B A3B FP8", + "display_name": "Qwen 3.6 35B A3B FP8", "modalities": { "input": [ "text" @@ -66273,28 +73393,40 @@ }, "limit": { "context": 262144, - "output": 65536 + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { - "input": 1.5, - "output": 7.5 + "input": 0.17, + "output": 1.1, + "cache_read": 0.056 }, "type": "chat" }, { - "id": "qwen3-next-80b-a3b-thinking", - "name": "Qwen3 Next 80B A3B Thinking", - "display_name": "Qwen3 Next 80B A3B Thinking", + "id": "Qwen/Qwen3.5-122B-A10B", + "name": "Qwen3.5 122B-A10B", + "display_name": "Qwen3.5 122B-A10B", "modalities": { "input": [ "text" @@ -66308,15 +73440,10 @@ "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, - "default": true, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } + "default": true }, "extra_capabilities": { "reasoning": { @@ -66329,21 +73456,20 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09", - "last_updated": "2025-09", + "release_date": "2026-02-23", + "last_updated": "2026-02-23", "cost": { - "input": 0.5, - "output": 6 + "input": 0.4, + "output": 3.2 }, "type": "chat" }, { - "id": "qwen3-coder-flash", - "name": "Qwen3 Coder Flash", - "display_name": "Qwen3 Coder Flash", + "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", + "name": "Qwen3 30B-A3B Instruct 2507", + "display_name": "Qwen3 30B-A3B Instruct 2507", "modalities": { "input": [ "text" @@ -66353,8 +73479,8 @@ ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 262144, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -66362,37 +73488,67 @@ "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "open_weights": true, + "release_date": "2025-07-29", + "last_updated": "2025-07-29", "cost": { - "input": 0.3, - "output": 1.5 + "input": 0.15, + "output": 0.55 }, "type": "chat" }, { - "id": "qwen3.5-35b-a3b", - "name": "Qwen3.5 35B-A3B", - "display_name": "Qwen3.5 35B-A3B", + "id": "Qwen/Qwen3-VL-30B-A3B-Instruct", + "name": "Qwen3-VL 30B-A3B Instruct", + "display_name": "Qwen3-VL 30B-A3B Instruct", "modalities": { "input": [ "text", - "image", - "video", - "audio" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 256000, + "output": 32768 }, "temperature": true, "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "cost": { + "input": 0.15, + "output": 0.55 + }, + "type": "chat" + }, + { + "id": "openai/o3", + "name": "o3", + "display_name": "o3", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 100000 + }, + "temperature": false, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -66400,43 +73556,47 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, - "open_weights": true, - "release_date": "2026-02-23", - "last_updated": "2026-02-23", + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", "cost": { - "input": 0.25, - "output": 2 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "qwen3.6-flash", - "name": "Qwen3.6 Flash", - "display_name": "Qwen3.6 Flash", + "id": "openai/gpt-5", + "name": "GPT-5", + "display_name": "GPT-5", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -66445,85 +73605,146 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2026-04-27", - "last_updated": "2026-04-27", + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.1875, - "output": 1.125, - "cache_write": 0.234375 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "qwen-turbo", - "name": "Qwen Turbo", - "display_name": "Qwen Turbo", + "id": "openai/o4-mini", + "name": "o4-mini", + "display_name": "o4-mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 38912, - "min": 0, - "max": 38912 - } + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "search": { + "attachment": true, + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.275 + }, + "type": "chat" + }, + { + "id": "openai/gpt-5.4-nano", + "name": "GPT-5.4 nano", + "display_name": "GPT-5.4 nano", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 400000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-11-01", - "last_updated": "2025-04-28", + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0.05, - "output": 0.2, - "reasoning": 0.5 + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "qwq-plus", - "name": "QwQ Plus", - "display_name": "QwQ Plus", + "id": "openai/o3-mini", + "name": "o3-mini", + "display_name": "o3-mini", "modalities": { "input": [ "text" @@ -66533,52 +73754,45 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 200000, + "output": 100000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { "supported": true, - "default": true, - "budget": { - "default": 32768, - "min": 0, - "max": 32768 - } + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" - }, "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-03-05", - "last_updated": "2025-03-05", + "knowledge": "2024-05", + "release_date": "2024-12-20", + "last_updated": "2025-01-29", "cost": { - "input": 0.8, - "output": 2.4 + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 }, "type": "chat" }, { - "id": "qwen3-vl-30b-a3b", - "name": "Qwen3-VL 30B-A3B", - "display_name": "Qwen3-VL 30B-A3B", + "id": "openai/gpt-5.2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", "modalities": { "input": [ "text", @@ -66589,235 +73803,304 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.2, - "output": 0.8, - "reasoning": 2.4 + "input": 1.8, + "output": 15.5, + "cache_read": 0.18 }, "type": "chat" }, { - "id": "qwen3.6-35b-a3b", - "name": "Qwen3.6 35B-A3B", - "display_name": "Qwen3.6 35B-A3B", + "id": "openai/gpt-4.1-nano", + "name": "GPT-4.1 nano", + "display_name": "GPT-4.1 nano", "modalities": { "input": [ "text", - "image", - "video", - "audio" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": true, - "open_weights": true, - "release_date": "2026-04-17", - "last_updated": "2026-04-17", + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.248, - "output": 1.485 + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "qwen-vl-ocr", - "name": "Qwen Vl Ocr", - "display_name": "Qwen Vl Ocr", + "id": "openai/gpt-oss-120b", + "name": "GPT-OSS 120B", + "display_name": "GPT-OSS 120B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 34096, - "output": 4096 + "context": 131000, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-10-28", - "last_updated": "2025-04-13", + "open_weights": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.72, - "output": 0.72 + "input": 0.15, + "output": 0.55 }, "type": "chat" }, { - "id": "qwen2-5-omni-7b", - "name": "Qwen2.5-Omni 7B", - "display_name": "Qwen2.5-Omni 7B", + "id": "openai/gpt-5.4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ "text", "image", - "audio", - "video" + "pdf" ], "output": [ - "text", - "audio" + "text" ] }, "limit": { - "context": 32768, - "output": 2048 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-12", - "last_updated": "2024-12", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0.1, - "output": 0.4, - "input_audio": 6.76 + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tiers": [ + { + "input": 5, + "output": 22.5, + "cache_read": 0.5, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 5, + "output": 22.5, + "cache_read": 0.5 + } }, "type": "chat" }, { - "id": "qwen-mt-turbo", - "name": "Qwen Mt Turbo", - "display_name": "Qwen Mt Turbo", + "id": "openai/gpt-5.4-mini", + "name": "GPT-5.4 mini", + "display_name": "GPT-5.4 mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 8192 + "context": 400000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-01", - "last_updated": "2025-01", + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0.16, - "output": 0.49 + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "qwen2-5-32b-instruct", - "name": "Qwen2.5 32B Instruct", - "display_name": "Qwen2.5 32B Instruct", + "id": "openai/gpt-4.1", + "name": "GPT-4.1", + "display_name": "GPT-4.1", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, + "attachment": true, + "open_weights": false, "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.7, - "output": 2.8 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "qwen3.6-max-preview", - "name": "Qwen3.6 Max Preview", - "display_name": "Qwen3.6 Max Preview", + "id": "openai/gpt-5-mini", + "name": "GPT-5 Mini", + "display_name": "GPT-5 Mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -66826,80 +74109,89 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-04-20", - "last_updated": "2026-04-20", + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 1.3, - "output": 7.8, - "cache_read": 0.13, - "cache_write": 1.625 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "qwen-vl-max", - "name": "Qwen-VL Max", - "display_name": "Qwen-VL Max", + "id": "openai/gpt-4.1-mini", + "name": "GPT-4.1 mini", + "display_name": "GPT-4.1 mini", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, "knowledge": "2024-04", - "release_date": "2024-04-08", - "last_updated": "2025-08-13", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.8, - "output": 3.2 + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 }, "type": "chat" }, { - "id": "qwen3.5-397b-a17b", - "name": "Qwen3.5 397B-A17B", - "display_name": "Qwen3.5 397B-A17B", + "id": "openai/gpt-5-nano", + "name": "GPT-5 Nano", + "display_name": "GPT-5 Nano", "modalities": { "input": [ "text", - "image", - "video", - "audio" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -66908,113 +74200,142 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, - "open_weights": true, - "release_date": "2026-02-15", - "last_updated": "2026-02-15", + "open_weights": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.6, - "output": 3.6 + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 }, "type": "chat" }, { - "id": "qwen3-omni-flash-realtime", - "name": "Qwen3-Omni Flash Realtime", - "display_name": "Qwen3-Omni Flash Realtime", + "id": "openai/whisper-large-v3", + "name": "Whisper Large v3", + "display_name": "Whisper Large v3", "modalities": { "input": [ - "text", - "image", - "audio", - "video" + "audio" ], "output": [ - "text", - "audio" + "text" ] }, "limit": { - "context": 65536, - "output": 16384 + "context": 448, + "output": 448 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", + "open_weights": true, + "release_date": "2023-11-06", + "last_updated": "2023-11-06", "cost": { - "input": 0.52, - "output": 1.99, - "input_audio": 4.57, - "output_audio": 18.13 + "input": 0.01, + "output": 0 }, "type": "chat" }, { - "id": "qwen2-5-14b-instruct", - "name": "Qwen2.5 14B Instruct", - "display_name": "Qwen2.5 14B Instruct", + "id": "openai/gpt-5.1", + "name": "GPT-5.1", + "display_name": "GPT-5.1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0.35, - "output": 1.4 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "qwen3.7-plus", - "name": "Qwen3.7 Plus", - "display_name": "Qwen3.7 Plus", + "id": "openai/gpt-5.5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -67022,229 +74343,306 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-06-02", - "last_updated": "2026-06-04", + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.05, - "cache_write": 0.625, + "input": 5, + "output": 30, + "cache_read": 0.5, "tiers": [ { - "input": 2, - "output": 6, - "cache_read": 0.2, - "cache_write": 2.5, + "input": 10, + "output": 45, + "cache_read": 1, "tier": { "type": "context", - "size": 256000 + "size": 272000 } } ], "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.2, - "cache_write": 2.5 + "input": 10, + "output": 45, + "cache_read": 1 } }, "type": "chat" }, { - "id": "qwen3.5-27b", - "name": "Qwen3.5 27B", - "display_name": "Qwen3.5 27B", + "id": "anthropic/claude-sonnet-4-5", + "name": "Claude Sonnet 4.5 (latest)", + "display_name": "Claude Sonnet 4.5 (latest)", "modalities": { "input": [ "text", "image", - "video", - "audio" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, - "open_weights": true, - "release_date": "2026-02-23", - "last_updated": "2026-02-23", + "open_weights": false, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0.3, - "output": 2.4 + "input": 3, + "output": 15.5, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "qwen-omni-turbo-realtime", - "name": "Qwen-Omni Turbo Realtime", - "display_name": "Qwen-Omni Turbo Realtime", + "id": "anthropic/claude-opus-4-7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", "modalities": { "input": [ "text", "image", - "audio" + "pdf" ], "output": [ - "text", - "audio" + "text" ] }, "limit": { - "context": 32768, - "output": 2048 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-05-08", - "last_updated": "2025-05-08", - "cost": { - "input": 0.27, - "output": 1.07, - "input_audio": 4.44, - "output_audio": 8.89 - }, - "type": "chat" - }, - { - "id": "qwen-mt-plus", - "name": "Qwen Mt Plus", - "display_name": "Qwen Mt Plus", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 16384, - "output": 8192 + "supported": true, + "default": false }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] + } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-01", - "last_updated": "2025-01", + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 2.46, - "output": 7.37 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "qvq-max", - "name": "QVQ Max", - "display_name": "QVQ Max", + "id": "anthropic/claude-haiku-4-5", + "name": "Claude Haiku 4.5 (latest)", + "display_name": "Claude Haiku 4.5 (latest)", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-03-25", - "last_updated": "2025-03-25", + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 1.2, - "output": 4.8 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "qwen2-5-vl-7b-instruct", - "name": "Qwen2.5-VL 7B Instruct", - "display_name": "Qwen2.5-VL 7B Instruct", + "id": "anthropic/claude-opus-4-6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 200000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", "cost": { - "input": 0.35, - "output": 1.05 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "qwen-plus", - "name": "Qwen Plus", - "display_name": "Qwen Plus", + "id": "anthropic/claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" @@ -67252,52 +74650,59 @@ }, "limit": { "context": 1000000, - "output": 32768 + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" - }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-01-25", - "last_updated": "2025-09-11", + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "cost": { - "input": 0.4, - "output": 1.2, - "reasoning": 4 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "qwen2-5-7b-instruct", - "name": "Qwen2.5 7B Instruct", - "display_name": "Qwen2.5 7B Instruct", + "id": "zai-org/GLM-5.1-FP8", + "name": "GLM-5.1 FP8", + "display_name": "GLM-5.1 FP8", "modalities": { "input": [ "text" @@ -67307,89 +74712,52 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 202752, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 0.175, - "output": 0.7 - }, - "type": "chat" - }, - { - "id": "qwen3-coder-plus-2025-09-23", - "name": "Qwen3 Coder Plus 2025 09 23", - "display_name": "Qwen3 Coder Plus 2025 09 23", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 65536 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "type": "chat" - }, - { - "id": "qwen3-coder-plus-2025-07-22", - "name": "Qwen3 Coder Plus 2025 07 22", - "display_name": "Qwen3 Coder Plus 2025 07 22", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 65536 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false + "input": 0.85, + "output": 3.3 }, - "attachment": false, "type": "chat" }, { - "id": "qwen-vl-ocr-latest", - "name": "Qwen Vl Ocr Latest", - "display_name": "Qwen Vl Ocr Latest", + "id": "black-forest-labs/FLUX.2-klein-4B", + "name": "FLUX.2 Klein 4B", + "display_name": "FLUX.2 Klein 4B", "modalities": { "input": [ "text", "image" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 34096, - "output": 4096 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": false, @@ -67397,43 +74765,28 @@ "supported": false }, "attachment": false, - "type": "chat" - }, - { - "id": "qvq-max-2025-05-15", - "name": "Qvq Max 2025 05 15", - "display_name": "Qvq Max 2025 05 15", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 8192 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": true, - "default": false, - "budget": { - "default": 16384, - "min": 0, - "max": 16384 - } + "open_weights": true, + "release_date": "2026-01-14", + "last_updated": "2026-01-14", + "cost": { + "input": 1, + "output": 1 }, - "attachment": false, "type": "chat" - }, + } + ] + }, + "llmgateway": { + "id": "llmgateway", + "name": "LLM Gateway", + "display_name": "LLM Gateway", + "api": "https://api.llmgateway.io/v1", + "doc": "https://llmgateway.io/docs", + "models": [ { - "id": "qwen-long", - "name": "Qwen Long", - "display_name": "Qwen Long", + "id": "claude-3-7-sonnet", + "name": "Claude 3.7 Sonnet", + "display_name": "Claude 3.7 Sonnet", "modalities": { "input": [ "text" @@ -67443,68 +74796,50 @@ ] }, "limit": { - "context": 1000000, + "context": 200000, "output": 8192 }, "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "type": "chat" - }, - { - "id": "qwen-turbo-latest", - "name": "Qwen Turbo Latest", - "display_name": "Qwen Turbo Latest", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 16384 - }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 38912, - "min": 0, - "max": 38912 - } + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": false, + "summaries": false, + "visibility": "full", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic uses thinking budget tokens" ] } }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" + "attachment": false, + "open_weights": false, + "release_date": "2025-02-24", + "last_updated": "2025-02-24", + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3 }, - "attachment": false, "type": "chat" }, { - "id": "qwen-turbo-2024-09-19", - "name": "Qwen Turbo 2024 09 19", - "display_name": "Qwen Turbo 2024 09 19", + "id": "qwen-coder-plus", + "name": "Qwen Coder Plus", + "display_name": "Qwen Coder Plus", "modalities": { "input": [ "text" @@ -67523,34 +74858,70 @@ "supported": false }, "attachment": false, + "open_weights": false, + "release_date": "2024-09-18", + "last_updated": "2024-09-18", + "cost": { + "input": 0.502, + "output": 1.004 + }, "type": "chat" }, { - "id": "qwen-flash-2025-07-28", - "name": "Qwen Flash 2025 07 28", - "display_name": "Qwen Flash 2025 07 28", + "id": "mistral-large-latest", + "name": "Mistral Large (latest)", + "display_name": "Mistral Large (latest)", "modalities": { "input": [ + "text", + "image" + ], + "output": [ "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2025-12-02", + "cost": { + "input": 0.5, + "output": 1.5 + }, + "type": "chat" + }, + { + "id": "qwen3-vl-235b-a22b-thinking", + "name": "Qwen3 VL 235B A22B Thinking", + "display_name": "Qwen3 VL 235B A22B Thinking", + "modalities": { + "input": [ + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 32768 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } + "default": true }, "extra_capabilities": { "reasoning": { @@ -67563,19 +74934,20 @@ ] } }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" + "attachment": true, + "open_weights": true, + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "cost": { + "input": 0.5, + "output": 2 }, - "attachment": false, "type": "chat" }, { - "id": "qwen-plus-latest", - "name": "Qwen Plus Latest", - "display_name": "Qwen Plus Latest", + "id": "deepseek-r1-0528", + "name": "DeepSeek R1 (0528)", + "display_name": "DeepSeek R1 (0528)", "modalities": { "input": [ "text" @@ -67585,19 +74957,14 @@ ] }, "limit": { - "context": 1000000, - "output": 32768 + "context": 64000, + "output": 16384 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } + "default": true }, "extra_capabilities": { "reasoning": { @@ -67610,19 +74977,20 @@ ] } }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" - }, "attachment": false, + "open_weights": true, + "release_date": "2025-05-28", + "last_updated": "2025-05-28", + "cost": { + "input": 0.55, + "output": 2.19 + }, "type": "chat" }, { - "id": "qwen-plus-2024-09-19", - "name": "Qwen Plus 2024 09 19", - "display_name": "Qwen Plus 2024 09 19", + "id": "devstral-small-2507", + "name": "Devstral Small", + "display_name": "Devstral Small", "modalities": { "input": [ "text" @@ -67632,8 +75000,8 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -67641,15 +75009,24 @@ "supported": false }, "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2025-07-10", + "last_updated": "2025-07-10", + "cost": { + "input": 0.1, + "output": 0.3 + }, "type": "chat" }, { - "id": "qwen-plus-2025-07-14", - "name": "Qwen Plus 2025 07 14", - "display_name": "Qwen Plus 2025 07 14", + "id": "qwen3-vl-30b-a3b-thinking", + "name": "Qwen3 VL 30B A3B Thinking", + "display_name": "Qwen3 VL 30B A3B Thinking", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -67657,18 +75034,13 @@ }, "limit": { "context": 131072, - "output": 16384 + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 38912, - "min": 0, - "max": 38912 - } + "default": true }, "extra_capabilities": { "reasoning": { @@ -67681,19 +75053,20 @@ ] } }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" + "attachment": true, + "open_weights": true, + "release_date": "2025-10-02", + "last_updated": "2025-10-02", + "cost": { + "input": 0.2, + "output": 1 }, - "attachment": false, "type": "chat" }, { - "id": "qwen-plus-2025-09-11", - "name": "Qwen Plus 2025 09 11", - "display_name": "Qwen Plus 2025 09 11", + "id": "deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ "text" @@ -67704,18 +75077,13 @@ }, "limit": { "context": 1000000, - "output": 32768 + "output": 384000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } + "default": true }, "extra_capabilities": { "reasoning": { @@ -67728,49 +75096,22 @@ ] } }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" - }, "attachment": false, - "type": "chat" - }, - { - "id": "qwen-max-latest", - "name": "Qwen Max Latest", - "display_name": "Qwen Max Latest", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 8192 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "cost": { + "input": 0.14, + "output": 0.28, + "cache_read": 0.0028 }, - "attachment": false, "type": "chat" }, { - "id": "qwen-max-2024-09-19", - "name": "Qwen Max 2024 09 19", - "display_name": "Qwen Max 2024 09 19", + "id": "qwen3-coder-plus", + "name": "Qwen3 Coder Plus", + "display_name": "Qwen3 Coder Plus", "modalities": { "input": [ "text" @@ -67780,51 +75121,29 @@ ] }, "limit": { - "context": 32768, - "output": 8192 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" - }, "attachment": false, - "type": "chat" - }, - { - "id": "qwen-max-2024-04-28", - "name": "Qwen Max 2024 04 28", - "display_name": "Qwen Max 2024 04 28", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 8000, - "output": 2000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "cost": { + "input": 1, + "output": 5 }, - "attachment": false, "type": "chat" }, { - "id": "qwen-max-2024-04-03", - "name": "Qwen Max 2024 04 03", - "display_name": "Qwen Max 2024 04 03", + "id": "qwen25-coder-7b", + "name": "Qwen2.5 Coder 7B", + "display_name": "Qwen2.5 Coder 7B", "modalities": { "input": [ "text" @@ -67834,21 +75153,28 @@ ] }, "limit": { - "context": 8000, - "output": 2000 + "context": 131072, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, + "open_weights": true, + "release_date": "2024-09-19", + "last_updated": "2024-09-19", + "cost": { + "input": 0.05, + "output": 0.05 + }, "type": "chat" }, { - "id": "qwen-max-2025-01-25", - "name": "Qwen Max 2025 01 25", - "display_name": "Qwen Max 2025 01 25", + "id": "minimax-m2.7-highspeed", + "name": "MiniMax-M2.7-highspeed", + "display_name": "MiniMax-M2.7-highspeed", "modalities": { "input": [ "text" @@ -67858,27 +75184,42 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false - }, - "search": { "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "cost": { + "input": 0.6, + "output": 2.4, + "cache_read": 0.06, + "cache_write": 0.375 + }, "type": "chat" }, { - "id": "qwen3-max-2025-09-23", - "name": "Qwen3 Max 20250923", - "display_name": "Qwen3 Max 20250923", + "id": "llama-3.1-8b-instruct", + "name": "Llama 3.1 8B Instruct", + "display_name": "Llama 3.1 8B Instruct", "modalities": { "input": [ "text" @@ -67888,27 +75229,28 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 128000, + "output": 2048 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" - }, "attachment": false, + "open_weights": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "cost": { + "input": 0.22, + "output": 0.22 + }, "type": "chat" }, { - "id": "qwen3-max-preview", - "name": "Qwen3 Max Preview", - "display_name": "Qwen3 Max Preview", + "id": "qwen-plus", + "name": "Qwen Plus", + "display_name": "Qwen Plus", "modalities": { "input": [ "text" @@ -67918,13 +75260,14 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 1000000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -67937,60 +75280,72 @@ ] } }, - "search": { - "supported": true, - "default": false, - "forced_search": false, - "search_strategy": "turbo" - }, "attachment": false, + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2024-01-25", + "last_updated": "2025-09-11", + "cost": { + "input": 0.4, + "output": 1.2, + "reasoning": 4 + }, "type": "chat" }, { - "id": "qwen3-235b-a22b-thinking-2507", - "name": "Qwen3 235B A22B Thinking 2507", - "display_name": "Qwen3 235B A22B Thinking 2507", + "id": "o3", + "name": "o3", + "display_name": "o3", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 200000, + "output": 100000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { "supported": true, - "default": true, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + }, "type": "chat" }, { - "id": "qwen3-235b-a22b-instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "display_name": "Qwen3 235B A22B Instruct 2507", + "id": "nemotron-3-ultra-550b", + "name": "Nemotron 3 Ultra 550B A55B", + "display_name": "Nemotron 3 Ultra 550B A55B", "modalities": { "input": [ "text" @@ -68000,21 +75355,30 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, + "open_weights": true, + "release_date": "2026-06-04", + "last_updated": "2026-06-04", + "cost": { + "input": 0.5, + "output": 2.5, + "cache_read": 0.15 + }, "type": "chat" }, { - "id": "qwen3-30b-a3b-instruct-2507", - "name": "Qwen3 30B A3B Instruct 2507", - "display_name": "Qwen3 30B A3B Instruct 2507", + "id": "minimax-m2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ "text" @@ -68024,62 +75388,86 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, + "open_weights": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03, + "cache_write": 0.375 + }, "type": "chat" }, { - "id": "qwen3-30b-a3b-thinking-2507", - "name": "Qwen3 30B A3B Thinking 2507", - "display_name": "Qwen3 30B A3B Thinking 2507", + "id": "grok-4-20-beta-0309-non-reasoning", + "name": "Grok 4.20 (Non-Reasoning)", + "display_name": "Grok 4.20 (Non-Reasoning)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 1000000, + "output": 30000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": true, - "default": true, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "attachment": true, + "open_weights": false, + "release_date": "2026-03-09", + "last_updated": "2026-03-09", + "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 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 5, + "cache_read": 0.4 } }, - "attachment": false, "type": "chat" }, { - "id": "qwen3-30b-a3b", - "name": "Qwen3 30B A3B", - "display_name": "Qwen3 30B A3B", + "id": "glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", "modalities": { "input": [ "text" @@ -68089,19 +75477,14 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } + "default": true }, "extra_capabilities": { "reasoning": { @@ -68115,53 +75498,66 @@ } }, "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 + }, "type": "chat" }, { - "id": "qwen3-4b", - "name": "Qwen3 4B", - "display_name": "Qwen3 4B", + "id": "gemini-3.1-flash-lite", + "name": "Gemini 3.1 Flash Lite", + "display_name": "Gemini 3.1 Flash Lite", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true, - "budget": { - "default": 38912, - "min": 0, - "max": 38912 - } + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": false, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-05-07", + "last_updated": "2026-05-07", + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "input_audio": 0.5 + }, "type": "chat" }, { - "id": "qwen3-1.7b", - "name": "Qwen3 1.7B", - "display_name": "Qwen3 1.7B", + "id": "qwen3-235b-a22b-instruct-2507", + "name": "Qwen3 235B A22B Instruct (2507)", + "display_name": "Qwen3 235B A22B Instruct (2507)", "modalities": { "input": [ "text" @@ -68171,38 +75567,28 @@ ] }, "limit": { - "context": 32768, + "context": 131072, "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true, - "budget": { - "default": 30720, - "min": 0, - "max": 30720 - } - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, + "open_weights": true, + "release_date": "2025-07-08", + "last_updated": "2025-07-08", + "cost": { + "input": 0.09, + "output": 0.58 + }, "type": "chat" }, { - "id": "qwen3-0.6b", - "name": "Qwen3 0.6B", - "display_name": "Qwen3 0.6B", + "id": "llama-3-70b-instruct", + "name": "Llama 3 70B Instruct", + "display_name": "Llama 3 70B Instruct", "modalities": { "input": [ "text" @@ -68212,42 +75598,31 @@ ] }, "limit": { - "context": 32768, - "output": 8192 + "context": 8192, + "output": 8000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true, - "budget": { - "default": 30720, - "min": 0, - "max": 30720 - } - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, + "open_weights": true, + "release_date": "2024-04-18", + "last_updated": "2024-04-18", + "cost": { + "input": 0.51, + "output": 0.74 + }, "type": "chat" }, { - "id": "qwen3-vl-plus-2025-09-23", - "name": "Qwen3 VL Plus 2025 09 23", - "display_name": "Qwen3 VL Plus 2025 09 23", + "id": "qwen3-coder-30b-a3b-instruct", + "name": "Qwen3-Coder 30B-A3B Instruct", + "display_name": "Qwen3-Coder 30B-A3B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -68255,139 +75630,93 @@ }, "limit": { "context": 262144, - "output": 32768 + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": true, - "default": false, - "budget": { - "default": 81920, - "min": 0, - "max": 81920 - } - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "cost": { + "input": 0.45, + "output": 2.25 + }, "type": "chat" }, { - "id": "qwq-plus-latest", - "name": "QwQ Plus Latest", - "display_name": "QwQ Plus Latest", + "id": "seed-1-8-251228", + "name": "Seed 1.8 (251228)", + "display_name": "Seed 1.8 (251228)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, + "context": 256000, "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, - "default": true, - "budget": { - "default": 32768, - "min": 0, - "max": 32768 - } - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "default": true }, - "search": { - "supported": false + "attachment": true, + "open_weights": true, + "release_date": "2025-12-18", + "last_updated": "2025-12-18", + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.05 }, - "attachment": false, "type": "chat" - } - ] - }, - "xiaomi": { - "id": "xiaomi", - "name": "Xiaomi", - "display_name": "Xiaomi", - "api": "https://api.xiaomimimo.com/v1", - "doc": "https://platform.xiaomimimo.com/#/docs", - "models": [ + }, { - "id": "mimo-v2-omni", - "name": "MiMo-V2-Omni", - "display_name": "MiMo-V2-Omni", + "id": "hermes-2-pro-llama-3-8b", + "name": "Hermes 2 Pro Llama 3 8B", + "display_name": "Hermes 2 Pro Llama 3 8B", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 8192, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "attachment": false, + "open_weights": true, + "release_date": "2024-05-27", + "last_updated": "2024-05-27", "cost": { - "input": 0.4, - "output": 2, - "cache_read": 0.08 + "input": 0.14, + "output": 0.14 }, "type": "chat" }, { - "id": "mimo-v2.5-pro-ultraspeed", - "name": "MiMo-V2.5-Pro-UltraSpeed", - "display_name": "MiMo-V2.5-Pro-UltraSpeed", + "id": "kimi-k2", + "name": "Kimi K2", + "display_name": "Kimi K2", "modalities": { "input": [ "text" @@ -68397,42 +75726,29 @@ ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 131072, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-06-08", - "last_updated": "2026-06-09", + "release_date": "2025-07-11", + "last_updated": "2025-07-11", "cost": { - "input": 1.305, - "output": 2.61, - "cache_read": 0.0108 + "input": 0.6, + "output": 2.5, + "cache_read": 0.12 }, "type": "chat" }, { - "id": "mimo-v2-pro", - "name": "MiMo-V2-Pro", - "display_name": "MiMo-V2-Pro", + "id": "llama-3.1-70b-instruct", + "name": "Llama 3.1 70B Instruct", + "display_name": "Llama 3.1 70B Instruct", "modalities": { "input": [ "text" @@ -68442,74 +75758,42 @@ ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 128000, + "output": 2048 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "open_weights": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 1, - "output": 3, - "cache_read": 0.2, - "tiers": [ - { - "input": 2, - "output": 6, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 256000 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.4 - } + "input": 0.72, + "output": 0.72 }, "type": "chat" }, { - "id": "mimo-v2.5", - "name": "MiMo-V2.5", - "display_name": "MiMo-V2.5", + "id": "gpt-5.2-pro", + "name": "GPT-5.2 Pro", + "display_name": "GPT-5.2 Pro", "modalities": { "input": [ "text", - "image", - "audio", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -68518,46 +75802,38 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.4, - "output": 2, - "cache_read": 0.08, - "tiers": [ - { - "input": 0.8, - "output": 4, - "cache_read": 0.16, - "tier": { - "type": "context", - "size": 256000 - } - } - ], - "context_over_200k": { - "input": 0.8, - "output": 4, - "cache_read": 0.16 - } + "input": 21, + "output": 168 }, "type": "chat" }, { - "id": "mimo-v2-flash", - "name": "MiMo-V2-Flash", - "display_name": "MiMo-V2-Flash", + "id": "minimax-m2.1", + "name": "MiniMax-M2.1", + "display_name": "MiniMax-M2.1", "modalities": { "input": [ "text" @@ -68567,8 +75843,8 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -68578,31 +75854,23 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": true, - "knowledge": "2024-12-01", - "release_date": "2025-12-16", - "last_updated": "2026-02-04", + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "cost": { - "input": 0.1, - "output": 0.3, - "cache_read": 0.01 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "mimo-v2.5-pro", - "name": "MiMo-V2.5-Pro", - "display_name": "MiMo-V2.5-Pro", + "id": "qwen3-32b", + "name": "Qwen3 32B", + "display_name": "Qwen3 32B", "modalities": { "input": [ "text" @@ -68612,8 +75880,8 @@ ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 131072, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -68632,64 +75900,41 @@ ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", - "cost": { - "input": 1, - "output": 3, - "cache_read": 0.2, - "tiers": [ - { - "input": 2, - "output": 6, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 256000 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.4 - } + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "cost": { + "input": 0.7, + "output": 2.8, + "reasoning": 8.4 }, "type": "chat" - } - ] - }, - "mistral": { - "id": "mistral", - "name": "Mistral", - "display_name": "Mistral", - "doc": "https://docs.mistral.ai/getting-started/models/", - "models": [ + }, { - "id": "mistral-large-2411", - "name": "Mistral Large 2.1", - "display_name": "Mistral Large 2.1", + "id": "pixtral-large-latest", + "name": "Pixtral Large (latest)", + "display_name": "Pixtral Large (latest)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, "knowledge": "2024-11", "release_date": "2024-11-01", @@ -68701,42 +75946,40 @@ "type": "chat" }, { - "id": "mistral-medium-2508", - "name": "Mistral Medium 3.1", - "display_name": "Mistral Medium 3.1", + "id": "glm-4-32b-0414-128k", + "name": "GLM-4 32B (0414-128k)", + "display_name": "GLM-4 32B (0414-128k)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-05", - "release_date": "2025-08-12", - "last_updated": "2025-08-12", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.4, - "output": 2 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "mistral-medium-latest", - "name": "Mistral Medium (latest)", - "display_name": "Mistral Medium (latest)", + "id": "seed-1-6-flash-250715", + "name": "Seed 1.6 Flash (250715)", + "display_name": "Seed 1.6 Flash (250715)", "modalities": { "input": [ "text", @@ -68747,29 +75990,30 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 256000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": false, - "knowledge": "2025-05", - "release_date": "2025-08-12", - "last_updated": "2025-08-12", + "open_weights": true, + "release_date": "2025-07-26", + "last_updated": "2025-07-26", "cost": { - "input": 0.4, - "output": 2 + "input": 0.07, + "output": 0.3, + "cache_read": 0.015 }, "type": "chat" }, { - "id": "devstral-medium-latest", - "name": "Devstral 2 (latest)", - "display_name": "Devstral 2 (latest)", + "id": "qwen3-next-80b-a3b-instruct", + "name": "Qwen3-Next 80B-A3B Instruct", + "display_name": "Qwen3-Next 80B-A3B Instruct", "modalities": { "input": [ "text" @@ -68779,8 +76023,8 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -68789,19 +76033,19 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-12", - "release_date": "2025-12-02", - "last_updated": "2025-12-02", + "knowledge": "2025-04", + "release_date": "2025-09", + "last_updated": "2025-09", "cost": { - "input": 0.4, + "input": 0.5, "output": 2 }, "type": "chat" }, { - "id": "mistral-small-2603", - "name": "Mistral Small 4", - "display_name": "Mistral Small 4", + "id": "qwen3-vl-8b-instruct", + "name": "Qwen3 VL 8B Instruct", + "display_name": "Qwen3 VL 8B Instruct", "modalities": { "input": [ "text", @@ -68812,30 +76056,28 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 131072, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": true, - "knowledge": "2025-06", - "release_date": "2026-03-16", - "last_updated": "2026-03-16", + "release_date": "2025-08-19", + "last_updated": "2025-08-19", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.08, + "output": 0.5 }, "type": "chat" }, { - "id": "mistral-medium-2604", - "name": "Mistral Medium 3.5", - "display_name": "Mistral Medium 3.5", + "id": "gpt-4o-mini-search-preview", + "name": "GPT-4o Mini Search Preview", + "display_name": "GPT-4o Mini Search Preview", "modalities": { "input": [ "text", @@ -68846,124 +76088,177 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 16384 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, - "open_weights": true, - "release_date": "2026-04-29", - "last_updated": "2026-04-29", + "open_weights": false, + "release_date": "2024-10-01", + "last_updated": "2024-10-01", "cost": { - "input": 1.5, - "output": 7.5 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "mistral-embed", - "name": "Mistral Embed", - "display_name": "Mistral Embed", + "id": "glm-4.5v", + "name": "GLM-4.5V", + "display_name": "GLM-4.5V", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 8000, - "output": 3072 + "context": 64000, + "output": 16384 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2023-12-11", - "last_updated": "2023-12-11", + "attachment": true, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-08-11", + "last_updated": "2025-08-11", "cost": { - "input": 0.1, - "output": 0 + "input": 0.6, + "output": 1.8 }, "type": "chat" }, { - "id": "ministral-8b-latest", - "name": "Ministral 8B (latest)", - "display_name": "Ministral 8B (latest)", + "id": "qwen3.7-plus", + "name": "Qwen3.7 Plus", + "display_name": "Qwen3.7 Plus", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2024-10-01", - "last_updated": "2024-10-04", + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2026-06-02", + "last_updated": "2026-06-02", "cost": { - "input": 0.1, - "output": 0.1 + "input": 0.4, + "output": 1.6, + "cache_read": 0.08, + "cache_write": 0.5 }, "type": "chat" }, { - "id": "mistral-nemo", - "name": "Mistral Nemo", - "display_name": "Mistral Nemo", + "id": "gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "display_name": "Gemini 2.5 Pro", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2024-07-01", - "last_updated": "2024-07-01", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 0.15, - "output": 0.15 + "input": 1.25, + "output": 10, + "cache_read": 0.125, + "tiers": [ + { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } }, "type": "chat" }, { - "id": "mistral-large-2512", - "name": "Mistral Large 3", - "display_name": "Mistral Large 3", + "id": "gpt-5", + "name": "GPT-5", + "display_name": "GPT-5", "modalities": { "input": [ "text", @@ -68974,98 +76269,161 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, - "open_weights": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2025-12-02", + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.5, - "output": 1.5 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "open-mistral-7b", - "name": "Mistral 7B", - "display_name": "Mistral 7B", + "id": "claude-haiku-4-5-20251001", + "name": "Claude Haiku 4.5", + "display_name": "Claude Haiku 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 8000, - "output": 8000 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2023-09-27", - "last_updated": "2023-09-27", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 0.25, - "output": 0.25 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "labs-devstral-small-2512", - "name": "Devstral Small 2", - "display_name": "Devstral Small 2", + "id": "kimi-k2-thinking-turbo", + "name": "Kimi K2 Thinking Turbo", + "display_name": "Kimi K2 Thinking Turbo", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "knowledge": "2025-12", - "release_date": "2025-12-09", - "last_updated": "2025-12-09", + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", "cost": { - "input": 0, - "output": 0 + "input": 1.15, + "output": 8, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "mistral-large-latest", - "name": "Mistral Large (latest)", - "display_name": "Mistral Large (latest)", + "id": "qwen3.6-35b-a3b", + "name": "Qwen3.6 35B-A3B", + "display_name": "Qwen3.6 35B-A3B", "modalities": { "input": [ "text", - "image" + "image", + "video", + "audio" ], "output": [ "text" @@ -69073,72 +76431,84 @@ }, "limit": { "context": 262144, - "output": 262144 + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, "open_weights": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2025-12-02", + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { - "input": 0.5, - "output": 1.5 + "input": 0.248, + "output": 1.485 }, "type": "chat" }, { - "id": "mistral-medium-2505", - "name": "Mistral Medium 3", - "display_name": "Mistral Medium 3", + "id": "gpt-3.5-turbo", + "name": "GPT-3.5-turbo", + "display_name": "GPT-3.5-turbo", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 16385, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-05", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", + "knowledge": "2021-09-01", + "release_date": "2023-03-01", + "last_updated": "2023-11-06", "cost": { - "input": 0.4, - "output": 2 + "input": 0.5, + "output": 1.5, + "cache_read": 0 }, "type": "chat" }, { - "id": "magistral-small", - "name": "Magistral Small", - "display_name": "Magistral Small", + "id": "seed-1-6-250615", + "name": "Seed 1.6 (250615)", + "display_name": "Seed 1.6 (250615)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 256000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -69146,21 +76516,21 @@ "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-06", - "release_date": "2025-03-17", - "last_updated": "2025-03-17", + "release_date": "2025-06-25", + "last_updated": "2025-06-25", "cost": { - "input": 0.5, - "output": 1.5 + "input": 0.25, + "output": 2, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "devstral-latest", - "name": "Devstral 2", - "display_name": "Devstral 2", + "id": "qwen3.7-max", + "name": "Qwen3.7 Max", + "display_name": "Qwen3.7 Max", "modalities": { "input": [ "text" @@ -69170,29 +76540,36 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-12", - "release_date": "2025-12-09", - "last_updated": "2025-12-09", + "open_weights": false, + "release_date": "2026-05-21", + "last_updated": "2026-05-21", "cost": { - "input": 0.4, - "output": 2 + "input": 2.5, + "output": 7.5, + "cache_read": 0.5, + "cache_write": 3.125 }, "type": "chat" }, { - "id": "open-mixtral-8x22b", - "name": "Mixtral 8x22B", - "display_name": "Mixtral 8x22B", + "id": "glm-4.5", + "name": "GLM-4.5", + "display_name": "GLM-4.5", "modalities": { "input": [ "text" @@ -69202,29 +76579,32 @@ ] }, "limit": { - "context": 64000, - "output": 64000 + "context": 131072, + "output": 98304 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-04-17", - "last_updated": "2024-04-17", + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 2, - "output": 6 + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 }, "type": "chat" }, { - "id": "mistral-small-2506", - "name": "Mistral Small 3.2", - "display_name": "Mistral Small 3.2", + "id": "gpt-5-pro", + "name": "GPT-5 Pro", + "display_name": "GPT-5 Pro", "modalities": { "input": [ "text", @@ -69235,65 +76615,109 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 400000, + "output": 272000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-03", - "release_date": "2025-06-20", - "last_updated": "2025-06-20", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "fixed", + "effort": "high", + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-10-06", + "last_updated": "2025-10-06", "cost": { - "input": 0.1, - "output": 0.3 + "input": 15, + "output": 120 }, "type": "chat" }, { - "id": "pixtral-12b", - "name": "Pixtral 12B", - "display_name": "Pixtral 12B", + "id": "gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "display_name": "Gemini 2.5 Flash", "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } }, "attachment": true, - "open_weights": true, - "knowledge": "2024-09", - "release_date": "2024-09-01", - "last_updated": "2024-09-01", + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 0.15, - "output": 0.15 + "input": 0.3, + "output": 2.5, + "cache_read": 0.03, + "input_audio": 1 }, "type": "chat" }, { - "id": "devstral-small-2507", - "name": "Devstral Small", - "display_name": "Devstral Small", + "id": "gpt-4o", + "name": "GPT-4o", + "display_name": "GPT-4o", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" @@ -69301,31 +76725,33 @@ }, "limit": { "context": 128000, - "output": 128000 + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2025-07-10", - "last_updated": "2025-07-10", + "attachment": true, + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-08-06", "cost": { - "input": 0.1, - "output": 0.3 + "input": 2.5, + "output": 10, + "cache_read": 1.25 }, "type": "chat" }, { - "id": "devstral-2512", - "name": "Devstral 2", - "display_name": "Devstral 2", + "id": "ministral-8b-2512", + "name": "Ministral 8B", + "display_name": "Ministral 8B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -69333,28 +76759,27 @@ }, "limit": { "context": 262144, - "output": 262144 + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-12", - "release_date": "2025-12-09", - "last_updated": "2025-12-09", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", "cost": { - "input": 0.4, - "output": 2 + "input": 0.15, + "output": 0.15 }, "type": "chat" }, { - "id": "codestral-latest", - "name": "Codestral (latest)", - "display_name": "Codestral (latest)", + "id": "gpt-4", + "name": "GPT-4", + "display_name": "GPT-4", "modalities": { "input": [ "text" @@ -69364,29 +76789,29 @@ ] }, "limit": { - "context": 256000, - "output": 4096 + "context": 8192, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2024-05-29", - "last_updated": "2025-01-04", + "attachment": true, + "open_weights": false, + "knowledge": "2023-11", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", "cost": { - "input": 0.3, - "output": 0.9 + "input": 30, + "output": 60 }, "type": "chat" }, { - "id": "pixtral-large-latest", - "name": "Pixtral Large (latest)", - "display_name": "Pixtral Large (latest)", + "id": "o4-mini", + "name": "o4-mini", + "display_name": "o4-mini", "modalities": { "input": [ "text", @@ -69397,29 +76822,45 @@ ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, - "open_weights": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2024-11-04", + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", "cost": { - "input": 2, - "output": 6 + "input": 1.1, + "output": 4.4, + "cache_read": 0.275 }, "type": "chat" }, { - "id": "open-mistral-nemo", - "name": "Open Mistral Nemo", - "display_name": "Open Mistral Nemo", + "id": "qwen3-max", + "name": "Qwen3 Max", + "display_name": "Qwen3 Max", "modalities": { "input": [ "text" @@ -69429,32 +76870,44 @@ ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2024-07-01", - "last_updated": "2024-07-01", + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", "cost": { - "input": 0.15, - "output": 0.15 + "input": 1.2, + "output": 6 }, "type": "chat" }, { - "id": "ministral-3b-latest", - "name": "Ministral 3B (latest)", - "display_name": "Ministral 3B (latest)", + "id": "mistral-small-2506", + "name": "Mistral Small 3.2", + "display_name": "Mistral Small 3.2", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -69462,7 +76915,7 @@ }, "limit": { "context": 128000, - "output": 128000 + "output": 16384 }, "temperature": true, "tool_call": true, @@ -69471,94 +76924,191 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-10", - "release_date": "2024-10-01", - "last_updated": "2024-10-04", + "knowledge": "2025-03", + "release_date": "2025-06-20", + "last_updated": "2025-06-20", "cost": { - "input": 0.04, - "output": 0.04 + "input": 0.1, + "output": 0.3 }, "type": "chat" }, { - "id": "devstral-small-2505", - "name": "Devstral Small 2505", - "display_name": "Devstral Small 2505", + "id": "gemini-3.5-flash", + "name": "Gemini 3.5 Flash", + "display_name": "Gemini 3.5 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-05-19", + "last_updated": "2026-05-19", "cost": { - "input": 0.1, - "output": 0.3 + "input": 1.5, + "output": 9, + "cache_read": 0.15, + "input_audio": 1.5 }, "type": "chat" }, { - "id": "open-mixtral-8x7b", - "name": "Mixtral 8x7B", - "display_name": "Mixtral 8x7B", + "id": "qwen-plus-latest", + "name": "Qwen Plus Latest", + "display_name": "Qwen Plus Latest", "modalities": { "input": [ + "text", + "image" + ], + "output": [ "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-01-25", + "last_updated": "2025-01-25", + "cost": { + "input": 0.115, + "output": 0.287 + }, + "type": "chat" + }, + { + "id": "claude-opus-4-1-20250805", + "name": "Claude Opus 4.1", + "display_name": "Claude Opus 4.1", + "modalities": { + "input": [ + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 32000, + "context": 200000, "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-01", - "release_date": "2023-12-11", - "last_updated": "2023-12-11", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.7, - "output": 0.7 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "magistral-medium-latest", - "name": "Magistral Medium (latest)", - "display_name": "Magistral Medium (latest)", + "id": "grok-4-3", + "name": "Grok 4.3", + "display_name": "Grok 4.3", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 1000000, + "output": 30000 }, "temperature": true, "tool_call": true, @@ -69566,21 +77116,37 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-06", - "release_date": "2025-03-17", - "last_updated": "2025-03-20", + "attachment": true, + "open_weights": false, + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { - "input": 2, - "output": 5 + "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 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 5, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "mistral-small-latest", - "name": "Mistral Small (latest)", - "display_name": "Mistral Small (latest)", + "id": "llama-4-scout-17b-instruct", + "name": "Llama 4 Scout 17B Instruct", + "display_name": "Llama 4 Scout 17B Instruct", "modalities": { "input": [ "text", @@ -69591,30 +77157,28 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 8192, + "output": 2048 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": true, - "knowledge": "2025-06", - "release_date": "2026-03-16", - "last_updated": "2026-03-16", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.17, + "output": 0.66 }, "type": "chat" }, { - "id": "devstral-medium-2507", - "name": "Devstral Medium", - "display_name": "Devstral Medium", + "id": "llama-3.3-70b-instruct", + "name": "Llama-3.3-70B-Instruct", + "display_name": "Llama-3.3-70B-Instruct", "modalities": { "input": [ "text" @@ -69625,37 +77189,28 @@ }, "limit": { "context": 128000, - "output": 128000 + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2025-07-10", - "last_updated": "2025-07-10", + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 0.4, - "output": 2 + "input": 0, + "output": 0 }, "type": "chat" - } - ] - }, - "vivgrid": { - "id": "vivgrid", - "name": "Vivgrid", - "display_name": "Vivgrid", - "api": "https://api.vivgrid.com/v1", - "doc": "https://docs.vivgrid.com/models", - "models": [ + }, { - "id": "gpt-5-mini", - "name": "GPT-5 Mini", - "display_name": "GPT-5 Mini", + "id": "sonar-reasoning-pro", + "name": "Sonar Reasoning Pro", + "display_name": "Sonar Reasoning Pro", "modalities": { "input": [ "text", @@ -69666,58 +77221,36 @@ ] }, "limit": { - "context": 272000, - "output": 128000 + "context": 128000, + "output": 4096 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, "attachment": true, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2025-09-01", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.03 + "input": 2, + "output": 8 }, "type": "chat" }, { - "id": "gemini-3.1-flash-lite-preview", - "name": "Gemini 3.1 Flash Lite Preview", - "display_name": "Gemini 3.1 Flash Lite Preview", + "id": "gemini-2.0-flash", + "name": "Gemini 2.0 Flash", + "display_name": "Gemini 2.0 Flash", "modalities": { "input": [ "text", "image", - "video", "audio", + "video", "pdf" ], "output": [ @@ -69726,334 +77259,253 @@ }, "limit": { "context": 1048576, - "output": 65536 + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-03-03", - "last_updated": "2026-03-03", + "knowledge": "2024-06", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.025, - "cache_write": 1 + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "deepseek-v3.2", - "name": "DeepSeek-V3.2", - "display_name": "DeepSeek-V3.2", + "id": "grok-4-20-non-reasoning", + "name": "Grok 4.20 (Non-Reasoning)", + "display_name": "Grok 4.20 (Non-Reasoning)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 1000000, + "output": 30000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true } }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "attachment": true, + "open_weights": false, + "release_date": "2026-03-09", + "last_updated": "2026-03-09", "cost": { - "input": 0.28, - "output": 0.42 + "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 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 5, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "gpt-5.4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "glm-4.7-flashx", + "name": "GLM-4.7-FlashX", + "display_name": "GLM-4.7-FlashX", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", "cost": { - "input": 2.5, - "output": 15, - "cache_read": 0.25 + "input": 0.07, + "output": 0.4, + "cache_read": 0.01, + "cache_write": 0 }, "type": "chat" }, { - "id": "gpt-5.5", - "name": "GPT-5.5", - "display_name": "GPT-5.5", + "id": "qwen3-30b-a3b-instruct-2507", + "name": "Qwen3 30B A3B Instruct (2507)", + "display_name": "Qwen3 30B A3B Instruct (2507)", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 131072, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "attachment": false, + "open_weights": true, + "release_date": "2025-07-08", + "last_updated": "2025-07-08", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5, - "tiers": [ - { - "input": 10, - "output": 45, - "cache_read": 1, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 10, - "output": 45, - "cache_read": 1 - } + "input": 0.1, + "output": 0.3 }, "type": "chat" }, { - "id": "gpt-5.1-codex-max", - "name": "GPT-5.1 Codex Max", - "display_name": "GPT-5.1 Codex Max", + "id": "kimi-k2.7-code", + "name": "Kimi K2.7 Code", + "display_name": "Kimi K2.7 Code", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 262144 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "attachment": true, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-06-12", + "last_updated": "2026-06-12", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.95, + "output": 4, + "cache_read": 0.19 }, "type": "chat" }, { - "id": "gpt-5.4-nano", - "name": "GPT-5.4 Nano", - "display_name": "GPT-5.4 Nano", + "id": "glm-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "attachment": false, + "open_weights": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 0.2, - "output": 1.25, - "cache_read": 0.02 + "input": 6, + "output": 24, + "cache_read": 1.3, + "cache_write": 0 }, "type": "chat" }, { - "id": "gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "display_name": "Gemini 3.1 Pro Preview", + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 1000000, + "output": 384000 }, "temperature": true, "tool_call": true, @@ -70064,66 +77516,43 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "tiers": [ - { - "input": 4, - "output": 18, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 4, - "output": 18, - "cache_read": 0.4 - } + "input": 0.435, + "output": 0.87, + "cache_read": 0.003625 }, "type": "chat" }, { - "id": "gpt-5.3-codex", - "name": "GPT-5.3 Codex", - "display_name": "GPT-5.3 Codex", + "id": "qwen3-next-80b-a3b-thinking", + "name": "Qwen3-Next 80B-A3B (Thinking)", + "display_name": "Qwen3-Next 80B-A3B (Thinking)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 32768 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -70132,54 +77561,42 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-24", - "last_updated": "2026-02-24", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-09", + "last_updated": "2025-09", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.5, + "output": 6 }, "type": "chat" }, { - "id": "gpt-5.2-codex", - "name": "GPT-5.2 Codex", - "display_name": "GPT-5.2 Codex", + "id": "glm-4.6", + "name": "GLM-4.6", + "display_name": "GLM-4.6", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 204800, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -70187,155 +77604,104 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, "attachment": false, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-01-14", - "last_updated": "2026-01-14", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 }, "type": "chat" }, { - "id": "gpt-5.1-codex", - "name": "GPT-5.1 Codex", - "display_name": "GPT-5.1 Codex", + "id": "qwen35-397b-a17b", + "name": "Qwen3.5 397B-A17B", + "display_name": "Qwen3.5 397B-A17B", "modalities": { "input": [ "text", - "image" + "image", + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "default": true }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "attachment": true, + "open_weights": true, + "release_date": "2026-02-15", + "last_updated": "2026-02-15", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.6, + "output": 3.6 }, "type": "chat" }, { - "id": "gpt-5.4-mini", - "name": "GPT-5.4 Mini", - "display_name": "GPT-5.4 Mini", + "id": "qwen3-235b-a22b-thinking-2507", + "name": "Qwen3 235B A22B Thinking (2507)", + "display_name": "Qwen3 235B A22B Thinking (2507)", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "attachment": false, + "open_weights": true, + "release_date": "2025-07-08", + "last_updated": "2025-07-08", "cost": { - "input": 0.75, - "output": 4.5, - "cache_read": 0.075 + "input": 0.2, + "output": 0.6 }, "type": "chat" }, { - "id": "deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "display_name": "Kimi K2 Thinking", "modalities": { "input": [ "text" @@ -70345,8 +77711,8 @@ ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -70367,29 +77733,20 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", "cost": { - "input": 0.435, - "output": 0.87, - "cache_read": 0.003625 + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 }, "type": "chat" - } - ] - }, - "databricks": { - "id": "databricks", - "name": "Databricks", - "display_name": "Databricks", - "api": "https://${DATABRICKS_HOST}/ai-gateway/mlflow/v1", - "doc": "https://docs.databricks.com/aws/en/machine-learning/foundation-models/", - "models": [ + }, { - "id": "databricks-claude-sonnet-4", - "name": "Claude Sonnet 4.5", - "display_name": "Claude Sonnet 4.5", + "id": "claude-sonnet-4-5", + "name": "Claude Sonnet 4.5 (latest)", + "display_name": "Claude Sonnet 4.5 (latest)", "modalities": { "input": [ "text", @@ -70445,9 +77802,9 @@ "type": "chat" }, { - "id": "databricks-gpt-5-1", - "name": "GPT-5.1", - "display_name": "GPT-5.1", + "id": "gemini-pro-latest", + "name": "Gemini Pro Latest", + "display_name": "Gemini Pro Latest", "modalities": { "input": [ "text", @@ -70458,10 +77815,10 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1048576, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -70469,90 +77826,146 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "release_date": "2026-02-27", + "last_updated": "2026-02-27", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 2, + "output": 12, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "databricks-gpt-5-4-nano", - "name": "GPT-5.4 nano", - "display_name": "GPT-5.4 nano", + "id": "gemma-3-1b-it", + "name": "Gemma 3 1B IT", + "display_name": "Gemma 3 1B IT", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1000000, + "output": 16384 }, - "temperature": false, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "cost": { + "input": 0.08, + "output": 0.3 + }, + "type": "chat" + }, + { + "id": "glm-4.5-x", + "name": "GLM-4.5 X", + "display_name": "GLM-4.5 X", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 0.2, - "output": 1.25, - "cache_read": 0.02 + "input": 2.2, + "output": 8.9, + "cache_read": 0.45 }, "type": "chat" }, { - "id": "databricks-gpt-5-nano", - "name": "GPT-5 Nano", - "display_name": "GPT-5 Nano", + "id": "claude-opus-4-7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, + "context": 1000000, "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] + } }, "attachment": true, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 0.05, - "output": 0.4, - "cache_read": 0.005 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "databricks-gpt-5-mini", - "name": "GPT-5 Mini", - "display_name": "GPT-5 Mini", + "id": "gpt-5.4-nano", + "name": "GPT-5.4 nano", + "display_name": "GPT-5.4 nano", "modalities": { "input": [ "text", @@ -70570,30 +77983,50 @@ "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "databricks-gemini-2-5-pro", - "name": "Gemini 2.5 Pro", - "display_name": "Gemini 2.5 Pro", + "id": "grok-4-20-beta-0309-reasoning", + "name": "Grok 4.20 (Reasoning)", + "display_name": "Grok 4.20 (Reasoning)", "modalities": { "input": [ "text", "image", - "audio", - "video", "pdf" ], "output": [ @@ -70601,8 +78034,8 @@ ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 1000000, + "output": 30000 }, "temperature": true, "tool_call": true, @@ -70612,18 +78045,17 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "release_date": "2026-03-09", + "last_updated": "2026-03-09", "cost": { "input": 1.25, - "output": 10, - "cache_read": 0.125, + "output": 2.5, + "cache_read": 0.2, "tiers": [ { "input": 2.5, - "output": 15, - "cache_read": 0.25, + "output": 5, + "cache_read": 0.4, "tier": { "type": "context", "size": 200000 @@ -70632,116 +78064,48 @@ ], "context_over_200k": { "input": 2.5, - "output": 15, - "cache_read": 0.25 + "output": 5, + "cache_read": 0.4 } }, "type": "chat" }, { - "id": "databricks-gpt-5-4-mini", - "name": "GPT-5.4 mini", - "display_name": "GPT-5.4 mini", + "id": "glm-4.5-airx", + "name": "GLM-4.5 AirX", + "display_name": "GLM-4.5 AirX", "modalities": { "input": [ - "text", - "image" - ], - "output": [ "text" - ] - }, - "limit": { - "context": 400000, - "output": 128000 - }, - "temperature": false, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "cost": { - "input": 0.75, - "output": 4.5, - "cache_read": 0.075 - }, - "type": "chat" - }, - { - "id": "databricks-claude-opus-4-6", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", - "modalities": { - "input": [ - "text", - "image", - "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-03-13", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 1.1, + "output": 4.5, + "cache_read": 0.22 }, "type": "chat" }, { - "id": "databricks-gpt-5", - "name": "GPT-5", - "display_name": "GPT-5", + "id": "gpt-5-chat-latest", + "name": "GPT-5 Chat (latest)", + "display_name": "GPT-5 Chat (latest)", "modalities": { "input": [ "text", @@ -70755,8 +78119,8 @@ "context": 400000, "output": 128000 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -70774,9 +78138,9 @@ "type": "chat" }, { - "id": "databricks-gpt-5-2", - "name": "GPT-5.2", - "display_name": "GPT-5.2", + "id": "ministral-3b-2512", + "name": "Ministral 3B", + "display_name": "Ministral 3B", "modalities": { "input": [ "text", @@ -70787,144 +78151,108 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 8192 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "open_weights": true, + "release_date": "2025-12-02", + "last_updated": "2025-12-02", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "databricks-gemini-2-5-flash", - "name": "Gemini 2.5 Flash", - "display_name": "Gemini 2.5 Flash", + "id": "qwen2-5-vl-72b-instruct", + "name": "Qwen2.5-VL 72B Instruct", + "display_name": "Qwen2.5-VL 72B Instruct", "modalities": { "input": [ "text", - "image", - "audio", - "video", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "attachment": false, + "open_weights": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.03, - "input_audio": 1 + "input": 2.8, + "output": 8.4 }, "type": "chat" }, { - "id": "databricks-claude-opus-4-7", - "name": "Claude Opus 4.7", - "display_name": "Claude Opus 4.7", + "id": "glm-4.6v-flashx", + "name": "GLM-4.6V FlashX", + "display_name": "GLM-4.6V FlashX", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 128000, + "output": 16000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] - } + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.04, + "output": 0.4, + "cache_read": 0.004 }, "type": "chat" }, { - "id": "databricks-gpt-oss-20b", - "name": "GPT OSS 20B", - "display_name": "GPT OSS 20B", + "id": "minimax-m3", + "name": "MiniMax-M3", + "display_name": "MiniMax-M3", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 512000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -70932,35 +78260,38 @@ "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "release_date": "2026-06-01", + "last_updated": "2026-06-01", "cost": { - "input": 0.05, - "output": 0.2 + "input": 0.6, + "output": 2.4, + "cache_read": 0.12 }, "type": "chat" }, { - "id": "databricks-gemini-3-flash", - "name": "Gemini 3 Flash Preview", - "display_name": "Gemini 3 Flash Preview", + "id": "qwen3-vl-plus", + "name": "Qwen3-VL Plus", + "display_name": "Qwen3-VL Plus", "modalities": { "input": [ "text", - "image", - "video", - "audio", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 262144, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -70968,23 +78299,33 @@ "supported": true, "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "knowledge": "2025-04", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.05, - "input_audio": 1 + "input": 0.2, + "output": 1.6, + "reasoning": 4.8 }, "type": "chat" }, { - "id": "databricks-claude-opus-4-5", - "name": "Claude Opus 4.5 (latest)", - "display_name": "Claude Opus 4.5 (latest)", + "id": "claude-opus-4-5-20251101", + "name": "Claude Opus 4.5", + "display_name": "Claude Opus 4.5", "modalities": { "input": [ "text", @@ -71035,8 +78376,8 @@ "attachment": true, "open_weights": false, "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", + "release_date": "2025-11-01", + "last_updated": "2025-11-01", "cost": { "input": 5, "output": 25, @@ -71046,61 +78387,65 @@ "type": "chat" }, { - "id": "databricks-gpt-5-4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "gpt-5.1-codex", + "name": "GPT-5.1 Codex", + "display_name": "GPT-5.1 Codex", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1050000, + "context": 400000, "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "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 - } - } - ], - "context_over_200k": { - "input": 5, - "output": 22.5, - "cache_read": 0.5 - } + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "databricks-gpt-oss-120b", - "name": "GPT OSS 120B", - "display_name": "GPT OSS 120B", + "id": "minimax-m2", + "name": "MiniMax-M2", + "display_name": "MiniMax-M2", "modalities": { "input": [ "text" @@ -71110,8 +78455,8 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 196608, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -71119,20 +78464,25 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": false, "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "release_date": "2025-10-27", + "last_updated": "2025-10-27", "cost": { - "input": 0.072, - "output": 0.28 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "databricks-claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "claude-3-5-sonnet-20241022", + "name": "Claude Sonnet 3.5 v2", + "display_name": "Claude Sonnet 3.5 v2", "modalities": { "input": [ "text", @@ -71144,48 +78494,19 @@ ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 200000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", + "knowledge": "2024-04-30", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", "cost": { "input": 3, "output": 15, @@ -71195,15 +78516,13 @@ "type": "chat" }, { - "id": "databricks-gemini-3-1-flash-lite", - "name": "Gemini 3.1 Flash Lite Preview", - "display_name": "Gemini 3.1 Flash Lite Preview", + "id": "claude-opus-4-8", + "name": "Claude Opus 4.8", + "display_name": "Claude Opus 4.8", "modalities": { "input": [ "text", "image", - "video", - "audio", "pdf" ], "output": [ @@ -71211,86 +78530,57 @@ ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-03-03", - "last_updated": "2026-03-03", - "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.025, - "input_audio": 0.5 - }, - "type": "chat" - }, - { - "id": "databricks-gemini-3-pro", - "name": "Gemini 3 Pro Preview", - "display_name": "Gemini 3 Pro Preview", - "modalities": { - "input": [ - "text", - "image", - "video", - "audio", - "pdf" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1048576, - "output": 65536 + "default": false }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] + } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "tiers": [ - { - "input": 4, - "output": 18, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 4, - "output": 18, - "cache_read": 0.4 - } + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "databricks-claude-opus-4-1", - "name": "Claude Opus 4.1 (latest)", - "display_name": "Claude Opus 4.1 (latest)", + "id": "claude-opus-4-20250514", + "name": "Claude Opus 4", + "display_name": "Claude Opus 4", "modalities": { "input": [ "text", @@ -71335,8 +78625,8 @@ "attachment": true, "open_weights": false, "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { "input": 15, "output": 75, @@ -71346,124 +78636,162 @@ "type": "chat" }, { - "id": "databricks-claude-sonnet-4-5", - "name": "Claude Sonnet 4.5 (latest)", - "display_name": "Claude Sonnet 4.5 (latest)", + "id": "qwen3-max-2026-01-23", + "name": "Qwen3 Max (2026-01-23)", + "display_name": "Qwen3 Max (2026-01-23)", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 256000, + "output": 32800 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "release_date": "2026-01-23", + "last_updated": "2026-01-23", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.359, + "output": 1.434, + "cache_read": 0.072 }, "type": "chat" }, { - "id": "databricks-gpt-5-5", - "name": "GPT-5.5", - "display_name": "GPT-5.5", + "id": "gpt-5.3-chat-latest", + "name": "GPT-5.3 Chat (latest)", + "display_name": "GPT-5.3 Chat (latest)", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 128000, + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "knowledge": "2025-08-31", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5, - "tiers": [ - { - "input": 10, - "output": 45, - "cache_read": 1, - "tier": { - "type": "context", - "size": 272000 - } - } + "input": 1.75, + "output": 14, + "cache_read": 0.175 + }, + "type": "chat" + }, + { + "id": "claude-3-opus", + "name": "Claude 3 Opus", + "display_name": "Claude 3 Opus", + "modalities": { + "input": [ + "text", + "image" ], - "context_over_200k": { - "input": 10, - "output": 45, - "cache_read": 1 - } + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 4096 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2024-03-04", + "last_updated": "2024-03-04", + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5 }, "type": "chat" }, { - "id": "databricks-claude-haiku-4-5", - "name": "Claude Haiku 4.5 (latest)", - "display_name": "Claude Haiku 4.5 (latest)", + "id": "qwen-omni-turbo", + "name": "Qwen-Omni Turbo", + "display_name": "Qwen-Omni Turbo", "modalities": { "input": [ "text", "image", - "pdf" + "audio", + "video" + ], + "output": [ + "text", + "audio" + ] + }, + "limit": { + "context": 32768, + "output": 2048 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-01-19", + "last_updated": "2025-03-26", + "cost": { + "input": 0.07, + "output": 0.27, + "input_audio": 4.44, + "output_audio": 8.89 + }, + "type": "chat" + }, + { + "id": "o3-mini", + "name": "o3-mini", + "display_name": "o3-mini", + "modalities": { + "input": [ + "text" ], "output": [ "text" @@ -71471,67 +78799,55 @@ }, "limit": { "context": 200000, - "output": 64000 + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "visibility": "hidden" } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "knowledge": "2024-05", + "release_date": "2024-12-20", + "last_updated": "2025-01-29", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 }, "type": "chat" }, { - "id": "databricks-gemini-3-1-pro", - "name": "Gemini 3.1 Pro Preview Custom Tools", - "display_name": "Gemini 3.1 Pro Preview Custom Tools", + "id": "qwen3-32b-fp8", + "name": "Qwen3 32B FP8", + "display_name": "Qwen3 32B FP8", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -71539,47 +78855,20 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", + "attachment": false, + "open_weights": true, + "release_date": "2025-04-28", + "last_updated": "2025-04-28", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "tiers": [ - { - "input": 4, - "output": 18, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 4, - "output": 18, - "cache_read": 0.4 - } + "input": 0.1, + "output": 0.1 }, "type": "chat" - } - ] - }, - "siliconflow": { - "id": "siliconflow", - "name": "SiliconFlow", - "display_name": "SiliconFlow", - "api": "https://api.siliconflow.cn/v1", - "doc": "https://cloud.siliconflow.com/models", - "models": [ + }, { - "id": "THUDM/GLM-4-9B-0414", - "name": "THUDM/GLM-4-9B-0414", - "display_name": "THUDM/GLM-4-9B-0414", + "id": "claude-3-5-haiku", + "name": "Claude 3.5 Haiku", + "display_name": "Claude 3.5 Haiku", "modalities": { "input": [ "text" @@ -71589,7 +78878,7 @@ ] }, "limit": { - "context": 131072, + "context": 200000, "output": 8192 }, "temperature": true, @@ -71599,39 +78888,98 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-04-18", - "last_updated": "2025-11-25", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", "cost": { - "input": 0.086, - "output": 0.086 + "input": 0.8, + "output": 4, + "cache_read": 0.08 }, "type": "chat" }, { - "id": "THUDM/GLM-4-32B-0414", - "name": "THUDM/GLM-4-32B-0414", - "display_name": "THUDM/GLM-4-32B-0414", + "id": "gpt-5.2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", "modalities": { "input": [ + "text", + "image" + ], + "output": [ "text" + ] + }, + "limit": { + "context": 400000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + }, + "type": "chat" + }, + { + "id": "gemma-3-27b", + "name": "Gemma 3 27B", + "display_name": "Gemma 3 27B", + "modalities": { + "input": [ + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 128000, + "output": 16384 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2025-04-18", - "last_updated": "2025-11-25", + "attachment": true, + "open_weights": true, + "release_date": "2025-03-12", + "last_updated": "2025-03-12", "cost": { "input": 0.27, "output": 0.27 @@ -71639,40 +78987,66 @@ "type": "chat" }, { - "id": "THUDM/GLM-Z1-9B-0414", - "name": "THUDM/GLM-Z1-9B-0414", - "display_name": "THUDM/GLM-Z1-9B-0414", + "id": "gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "display_name": "GPT-5.3 Codex", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-04-18", - "last_updated": "2025-11-25", + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 0.086, - "output": 0.086 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "THUDM/GLM-Z1-32B-0414", - "name": "THUDM/GLM-Z1-32B-0414", - "display_name": "THUDM/GLM-Z1-32B-0414", + "id": "grok-4-0709", + "name": "Grok 4 (0709)", + "display_name": "Grok 4 (0709)", "modalities": { "input": [ "text" @@ -71682,8 +79056,8 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 256000, + "output": 256000 }, "temperature": true, "tool_call": true, @@ -71692,18 +79066,18 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-04-18", - "last_updated": "2025-11-25", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", "cost": { - "input": 0.14, - "output": 0.57 + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "inclusionAI/Ring-flash-2.0", - "name": "inclusionAI/Ring-flash-2.0", - "display_name": "inclusionAI/Ring-flash-2.0", + "id": "minimax-m2.7", + "name": "MiniMax-M2.7", + "display_name": "MiniMax-M2.7", "modalities": { "input": [ "text" @@ -71713,8 +79087,8 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -71724,23 +79098,31 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": false, - "release_date": "2025-09-29", - "last_updated": "2025-11-25", + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.14, - "output": 0.57 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "inclusionAI/Ling-flash-2.0", - "name": "inclusionAI/Ling-flash-2.0", - "display_name": "inclusionAI/Ling-flash-2.0", + "id": "qwen-flash", + "name": "Qwen Flash", + "display_name": "Qwen Flash", "modalities": { "input": [ "text" @@ -71750,28 +79132,41 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1000000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": false, - "release_date": "2025-09-18", - "last_updated": "2025-11-25", + "knowledge": "2024-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 0.14, - "output": 0.57 + "input": 0.05, + "output": 0.4 }, "type": "chat" }, { - "id": "inclusionAI/Ling-mini-2.0", - "name": "inclusionAI/Ling-mini-2.0", - "display_name": "inclusionAI/Ling-mini-2.0", + "id": "qwen3-4b-fp8", + "name": "Qwen3 4B FP8", + "display_name": "Qwen3 4B FP8", "modalities": { "input": [ "text" @@ -71787,25 +79182,85 @@ "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2025-09-10", - "last_updated": "2025-11-25", + "open_weights": true, + "release_date": "2025-04-28", + "last_updated": "2025-04-28", "cost": { - "input": 0.07, - "output": 0.28 + "input": 0.03, + "output": 0.03 }, "type": "chat" }, { - "id": "zai-org/GLM-4.6", - "name": "zai-org/GLM-4.6", - "display_name": "zai-org/GLM-4.6", + "id": "gemini-2.5-flash-lite", + "name": "Gemini 2.5 Flash-Lite", + "display_name": "Gemini 2.5 Flash-Lite", "modalities": { "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ "text" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "default": -1, + "min": 512, + "max": 24576, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.01, + "input_audio": 0.3 + }, + "type": "chat" + }, + { + "id": "qwen2-5-vl-32b-instruct", + "name": "Qwen2.5 VL 32B Instruct", + "display_name": "Qwen2.5 VL 32B Instruct", + "modalities": { + "input": [ + "text", + "image" ], "output": [ "text" @@ -71818,91 +79273,136 @@ "temperature": true, "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", + "attachment": true, + "open_weights": true, + "release_date": "2025-03-15", + "last_updated": "2025-03-15", "cost": { - "input": 0.5, - "output": 1.9 + "input": 1.4, + "output": 4.2 }, "type": "chat" }, { - "id": "zai-org/GLM-4.6V", - "name": "zai-org/GLM-4.6V", - "display_name": "zai-org/GLM-4.6V", + "id": "claude-sonnet-4-20250514", + "name": "Claude Sonnet 4", + "display_name": "Claude Sonnet 4", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2025-12-07", - "last_updated": "2025-12-07", + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0.3, - "output": 0.9 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "zai-org/GLM-4.5V", - "name": "zai-org/GLM-4.5V", - "display_name": "zai-org/GLM-4.5V", + "id": "gpt-5.1-codex-mini", + "name": "GPT-5.1 Codex mini", + "display_name": "GPT-5.1 Codex mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, "open_weights": false, - "release_date": "2025-08-13", - "last_updated": "2025-11-25", + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0.14, - "output": 0.86 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "zai-org/GLM-4.5-Air", - "name": "zai-org/GLM-4.5-Air", - "display_name": "zai-org/GLM-4.5-Air", + "id": "qwen3-30b-a3b-thinking-2507", + "name": "Qwen3 30B A3B Thinking (2507)", + "display_name": "Qwen3 30B A3B Thinking (2507)", "modalities": { "input": [ "text" @@ -71918,35 +79418,49 @@ "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-07-28", - "last_updated": "2025-11-25", + "open_weights": true, + "release_date": "2025-07-08", + "last_updated": "2025-07-08", "cost": { - "input": 0.14, - "output": 0.86 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2-Thinking", - "name": "moonshotai/Kimi-K2-Thinking", - "display_name": "moonshotai/Kimi-K2-Thinking", + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 262144, + "output": 262144 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -71964,86 +79478,90 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2025-11-07", - "last_updated": "2025-11-25", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", "cost": { - "input": 0.55, - "output": 2.5 + "input": 0.6, + "output": 3, + "cache_read": 0.1 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2-Instruct-0905", - "name": "moonshotai/Kimi-K2-Instruct-0905", - "display_name": "moonshotai/Kimi-K2-Instruct-0905", + "id": "seed-1-6-250915", + "name": "Seed 1.6 (250915)", + "display_name": "Seed 1.6 (250915)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, + "context": 256000, "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2025-09-08", - "last_updated": "2025-11-25", + "attachment": true, + "open_weights": true, + "release_date": "2025-09-15", + "last_updated": "2025-09-15", "cost": { - "input": 0.4, - "output": 2 + "input": 0.25, + "output": 2, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "ByteDance-Seed/Seed-OSS-36B-Instruct", - "name": "ByteDance-Seed/Seed-OSS-36B-Instruct", - "display_name": "ByteDance-Seed/Seed-OSS-36B-Instruct", + "id": "gpt-5.2-chat-latest", + "name": "GPT-5.2 Chat", + "display_name": "GPT-5.2 Chat", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 128000, + "output": 16384 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-09-04", - "last_updated": "2025-11-25", + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.21, - "output": 0.57 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "baidu/ERNIE-4.5-300B-A47B", - "name": "baidu/ERNIE-4.5-300B-A47B", - "display_name": "baidu/ERNIE-4.5-300B-A47B", + "id": "minimax-text-01", + "name": "MiniMax Text 01", + "display_name": "MiniMax Text 01", "modalities": { "input": [ "text" @@ -72053,39 +79571,41 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1000000, + "output": 131072 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2025-07-02", - "last_updated": "2025-11-25", + "open_weights": true, + "release_date": "2025-01-15", + "last_updated": "2025-01-15", "cost": { - "input": 0.28, + "input": 0.2, "output": 1.1 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V4-Pro", - "name": "deepseek-ai/DeepSeek-V4-Pro", - "display_name": "deepseek-ai/DeepSeek-V4-Pro", + "id": "grok-4-fast-reasoning", + "name": "Grok 4 Fast Reasoning", + "display_name": "Grok 4 Fast Reasoning", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1049000, - "output": 393000 + "context": 2000000, + "output": 30000 }, "temperature": true, "tool_call": true, @@ -72095,32 +79615,27 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "attachment": true, + "open_weights": false, + "release_date": "2025-07-09", + "last_updated": "2025-07-09", "cost": { - "input": 1.74, - "output": 3.48, - "cache_read": 0.145 + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-OCR", - "name": "deepseek-ai/DeepSeek-OCR", - "display_name": "deepseek-ai/DeepSeek-OCR", + "id": "gpt-4.1-nano", + "name": "GPT-4.1 nano", + "display_name": "GPT-4.1 nano", "modalities": { "input": [ + "text", "image" ], "output": [ @@ -72128,27 +79643,30 @@ ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 1047576, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, - "open_weights": true, - "release_date": "2025-10-20", - "last_updated": "2025-10-20", + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0, - "output": 0 - } + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + }, + "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3", - "name": "deepseek-ai/DeepSeek-V3", - "display_name": "deepseek-ai/DeepSeek-V3", + "id": "gpt-oss-120b", + "name": "GPT OSS 120B", + "display_name": "GPT OSS 120B", "modalities": { "input": [ "text" @@ -72159,30 +79677,37 @@ }, "limit": { "context": 131072, - "output": 8192 + "output": 32766 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": false, - "release_date": "2024-12-26", - "last_updated": "2025-11-25", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.25, - "output": 1 + "input": 0.05, + "output": 0.25 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", - "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", - "display_name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", + "id": "qwen-vl-max", + "name": "Qwen-VL Max", + "display_name": "Qwen-VL Max", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -72195,23 +79720,23 @@ "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-01-20", - "last_updated": "2025-11-25", + "knowledge": "2024-04", + "release_date": "2024-04-08", + "last_updated": "2025-08-13", "cost": { - "input": 0.1, - "output": 0.1 + "input": 0.8, + "output": 3.2 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-R1", - "name": "deepseek-ai/DeepSeek-R1", - "display_name": "deepseek-ai/DeepSeek-R1", + "id": "llama-3-8b-instruct", + "name": "Llama 3 8B Instruct", + "display_name": "Llama 3 8B Instruct", "modalities": { "input": [ "text" @@ -72221,40 +79746,28 @@ ] }, "limit": { - "context": 131072, + "context": 8192, "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-05-28", - "last_updated": "2025-11-25", + "open_weights": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", "cost": { - "input": 0.5, - "output": 2.18 + "input": 0.04, + "output": 0.04 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", - "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", - "display_name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", + "id": "qwen3-30b-a3b-fp8", + "name": "Qwen3 30B A3B FP8", + "display_name": "Qwen3 30B A3B FP8", "modalities": { "input": [ "text" @@ -72274,19 +79787,19 @@ "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2025-01-20", - "last_updated": "2025-11-25", + "open_weights": true, + "release_date": "2025-04-28", + "last_updated": "2025-04-28", "cost": { - "input": 0.18, - "output": 0.18 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.2", - "name": "deepseek-ai/DeepSeek-V3.2", - "display_name": "deepseek-ai/DeepSeek-V3.2", + "id": "sonar", + "name": "Sonar", + "display_name": "Sonar", "modalities": { "input": [ "text" @@ -72296,34 +79809,29 @@ ] }, "limit": { - "context": 164000, - "output": 164000 + "context": 128000, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-12-03", - "last_updated": "2025-12-03", + "knowledge": "2025-09-01", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", "cost": { - "input": 0.27, - "output": 0.42 + "input": 1, + "output": 1 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.1-Terminus", - "name": "deepseek-ai/DeepSeek-V3.1-Terminus", - "display_name": "deepseek-ai/DeepSeek-V3.1-Terminus", + "id": "qwen-max", + "name": "Qwen Max", + "display_name": "Qwen Max", "modalities": { "input": [ "text" @@ -72333,127 +79841,179 @@ ] }, "limit": { - "context": 131072, + "context": 32768, "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-09-29", - "last_updated": "2025-11-25", + "knowledge": "2024-04", + "release_date": "2024-04-03", + "last_updated": "2025-01-25", "cost": { - "input": 0.27, - "output": 1 + "input": 1.6, + "output": 6.4 }, "type": "chat" }, { - "id": "deepseek-ai/deepseek-vl2", - "name": "deepseek-ai/deepseek-vl2", - "display_name": "deepseek-ai/deepseek-vl2", + "id": "claude-3-7-sonnet-20250219", + "name": "Claude Sonnet 3.7", + "display_name": "Claude Sonnet 3.7", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": false, + "summaries": false, + "visibility": "full", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic uses thinking budget tokens" + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2024-12-13", - "last_updated": "2025-11-25", + "knowledge": "2024-10-31", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", "cost": { - "input": 0.15, - "output": 0.15 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "PaddlePaddle/PaddleOCR-VL-1.5", - "name": "PaddlePaddle/PaddleOCR-VL-1.5", - "display_name": "PaddlePaddle/PaddleOCR-VL-1.5", + "id": "o1", + "name": "o1", + "display_name": "o1", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 200000, + "output": 100000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, - "open_weights": true, - "release_date": "2026-01-29", - "last_updated": "2026-01-29", + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2024-12-05", + "last_updated": "2024-12-05", "cost": { - "input": 0, - "output": 0 + "input": 15, + "output": 60, + "cache_read": 7.5 }, "type": "chat" }, { - "id": "PaddlePaddle/PaddleOCR-VL", - "name": "PaddlePaddle/PaddleOCR-VL", - "display_name": "PaddlePaddle/PaddleOCR-VL", + "id": "minimax-m2.5-highspeed", + "name": "MiniMax-M2.5-highspeed", + "display_name": "MiniMax-M2.5-highspeed", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 204800, + "output": 131072 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, "open_weights": true, - "release_date": "2025-10-16", - "last_updated": "2025-10-16", + "release_date": "2026-02-13", + "last_updated": "2026-02-13", "cost": { - "input": 0, - "output": 0 + "input": 0.6, + "output": 2.4, + "cache_read": 0.06, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "Kwaipilot/KAT-Dev", - "name": "Kwaipilot/KAT-Dev", - "display_name": "Kwaipilot/KAT-Dev", + "id": "deepseek-v3.1", + "name": "DeepSeek V3.1", + "display_name": "DeepSeek V3.1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -72461,27 +80021,29 @@ }, "limit": { "context": 128000, - "output": 128000 + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2025-09-27", - "last_updated": "2026-01-16", + "attachment": true, + "open_weights": true, + "release_date": "2025-08-21", + "last_updated": "2025-08-21", "cost": { - "input": 0.2, - "output": 0.6 + "input": 0.56, + "output": 1.68, + "cache_read": 0.07 }, "type": "chat" }, { - "id": "stepfun-ai/Step-3.5-Flash", - "name": "stepfun-ai/Step-3.5-Flash", - "display_name": "stepfun-ai/Step-3.5-Flash", + "id": "llama-4-scout", + "name": "Llama 4 Scout", + "display_name": "Llama 4 Scout", "modalities": { "input": [ "text" @@ -72491,164 +80053,186 @@ ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 32768, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "open_weights": true, + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { - "input": 0.1, - "output": 0.3 + "input": 0.18, + "output": 0.59 }, "type": "chat" }, { - "id": "ascend-tribe/pangu-pro-moe", - "name": "ascend-tribe/pangu-pro-moe", - "display_name": "ascend-tribe/pangu-pro-moe", + "id": "ministral-14b-2512", + "name": "Ministral 14B", + "display_name": "Ministral 14B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, + "context": 262144, "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2025-07-02", - "last_updated": "2026-01-16", + "attachment": true, + "open_weights": true, + "release_date": "2025-12-02", + "last_updated": "2025-12-02", "cost": { "input": 0.2, - "output": 0.6 + "output": 0.2 }, "type": "chat" }, { - "id": "tencent/Hunyuan-MT-7B", - "name": "tencent/Hunyuan-MT-7B", - "display_name": "tencent/Hunyuan-MT-7B", + "id": "sonar-pro", + "name": "Sonar Pro", + "display_name": "Sonar Pro", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, + "context": 200000, "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-09-18", - "last_updated": "2025-11-25", + "knowledge": "2025-09-01", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", "cost": { - "input": 0, - "output": 0 + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "tencent/Hunyuan-A13B-Instruct", - "name": "tencent/Hunyuan-A13B-Instruct", - "display_name": "tencent/Hunyuan-A13B-Instruct", + "id": "glm-4.6v", + "name": "GLM-4.6V", + "display_name": "GLM-4.6V", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 128000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2025-06-30", - "last_updated": "2025-11-25", + "attachment": true, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", "cost": { - "input": 0.14, - "output": 0.57 + "input": 0.3, + "output": 0.9 }, "type": "chat" }, { - "id": "Pro/MiniMaxAI/MiniMax-M2.5", - "name": "Pro/MiniMaxAI/MiniMax-M2.5", - "display_name": "Pro/MiniMaxAI/MiniMax-M2.5", + "id": "claude-haiku-4-5", + "name": "Claude Haiku 4.5 (latest)", + "display_name": "Claude Haiku 4.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 192000, - "output": 131000 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-02-13", - "last_updated": "2026-02-13", + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 0.3, - "output": 1.22 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "Pro/MiniMaxAI/MiniMax-M2.1", - "name": "Pro/MiniMaxAI/MiniMax-M2.1", - "display_name": "Pro/MiniMaxAI/MiniMax-M2.1", + "id": "minimax-m2.1-lightning", + "name": "MiniMax M2.1 Lightning", + "display_name": "MiniMax M2.1 Lightning", "modalities": { "input": [ "text" @@ -72658,87 +80242,101 @@ ] }, "limit": { - "context": 197000, - "output": 131000 + "context": 196608, + "output": 131072 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, + "open_weights": true, "release_date": "2025-12-23", "last_updated": "2025-12-23", "cost": { - "input": 0.3, - "output": 1.2 + "input": 0.12, + "output": 0.48 }, "type": "chat" }, { - "id": "Pro/zai-org/GLM-4.7", - "name": "Pro/zai-org/GLM-4.7", - "display_name": "Pro/zai-org/GLM-4.7", + "id": "gpt-5.4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 205000, - "output": 205000 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0.6, - "output": 2.2 + "input": 2.5, + "output": 15, + "cache_read": 0.25 }, "type": "chat" }, { - "id": "Pro/zai-org/GLM-5", - "name": "Pro/zai-org/GLM-5", - "display_name": "Pro/zai-org/GLM-5", + "id": "mimo-v2.5", + "name": "MiMo-V2.5", + "display_name": "MiMo-V2.5", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 205000, - "output": 205000 + "context": 1048576, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -72757,82 +80355,58 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 1, - "output": 3.2 - }, - "type": "chat" - }, - { - "id": "Pro/zai-org/GLM-5.1", - "name": "Pro/zai-org/GLM-5.1", - "display_name": "Pro/zai-org/GLM-5.1", - "modalities": { - "input": [ - "text" + "input": 0.4, + "output": 2, + "cache_read": 0.08, + "tiers": [ + { + "input": 0.8, + "output": 4, + "cache_read": 0.16, + "tier": { + "type": "context", + "size": 256000 + } + } ], - "output": [ - "text" - ] - }, - "limit": { - "context": 205000, - "output": 205000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "context_over_200k": { + "input": 0.8, + "output": 4, + "cache_read": 0.16 } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-04-08", - "last_updated": "2026-04-08", - "cost": { - "input": 1.4, - "output": 4.4, - "cache_write": 0 - }, "type": "chat" }, { - "id": "Pro/moonshotai/Kimi-K2.6", - "name": "Pro/moonshotai/Kimi-K2.6", - "display_name": "Pro/moonshotai/Kimi-K2.6", + "id": "mimo-v2-omni", + "name": "MiMo-V2-Omni", + "display_name": "MiMo-V2-Omni", "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 262144, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -72845,52 +80419,22 @@ ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-04-21", - "last_updated": "2026-04-21", - "cost": { - "input": 0.95, - "output": 4, - "cache_read": 0.16 - }, - "type": "chat" - }, - { - "id": "Pro/moonshotai/Kimi-K2-Instruct-0905", - "name": "Pro/moonshotai/Kimi-K2-Instruct-0905", - "display_name": "Pro/moonshotai/Kimi-K2-Instruct-0905", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 8192 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-09-08", - "last_updated": "2025-11-25", + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { "input": 0.4, - "output": 2 + "output": 2, + "cache_read": 0.08 }, "type": "chat" }, { - "id": "Pro/moonshotai/Kimi-K2.5", - "name": "Pro/moonshotai/Kimi-K2.5", - "display_name": "Pro/moonshotai/Kimi-K2.5", + "id": "gpt-5.4-mini", + "name": "GPT-5.4 mini", + "display_name": "GPT-5.4 mini", "modalities": { "input": [ "text", @@ -72901,51 +80445,66 @@ ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0.45, - "output": 2.25 + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "Pro/moonshotai/Kimi-K2-Thinking", - "name": "Pro/moonshotai/Kimi-K2-Thinking", - "display_name": "Pro/moonshotai/Kimi-K2-Thinking", + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -72964,63 +80523,72 @@ ] } }, - "attachment": false, - "open_weights": false, - "release_date": "2025-11-07", - "last_updated": "2025-11-25", + "attachment": true, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0.55, - "output": 2.5 + "input": 0.95, + "output": 4, + "cache_read": 0.16 }, "type": "chat" }, { - "id": "Pro/deepseek-ai/DeepSeek-V3.1-Terminus", - "name": "Pro/deepseek-ai/DeepSeek-V3.1-Terminus", - "display_name": "Pro/deepseek-ai/DeepSeek-V3.1-Terminus", + "id": "gpt-4.1", + "name": "GPT-4.1", + "display_name": "GPT-4.1", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-09-29", - "last_updated": "2025-11-25", + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.27, - "output": 1 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "Pro/deepseek-ai/DeepSeek-V3.2", - "name": "Pro/deepseek-ai/DeepSeek-V3.2", - "display_name": "Pro/deepseek-ai/DeepSeek-V3.2", + "id": "gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "display_name": "Gemini 3.1 Pro Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 164000, - "output": 164000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -73030,66 +80598,118 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-12-03", - "last_updated": "2025-12-03", + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", "cost": { - "input": 0.27, - "output": 0.42 + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "Pro/deepseek-ai/DeepSeek-R1", - "name": "Pro/deepseek-ai/DeepSeek-R1", - "display_name": "Pro/deepseek-ai/DeepSeek-R1", + "id": "claude-opus-4-6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-05-28", - "last_updated": "2025-11-25", + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", "cost": { - "input": 0.5, - "output": 2.18 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "Pro/deepseek-ai/DeepSeek-V3", - "name": "Pro/deepseek-ai/DeepSeek-V3", - "display_name": "Pro/deepseek-ai/DeepSeek-V3", + "id": "qwen3-coder-next", + "name": "Qwen3 Coder Next", + "display_name": "Qwen3 Coder Next", "modalities": { "input": [ "text" @@ -73099,33 +80719,64 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2024-12-26", - "last_updated": "2025-11-25", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 0.25, - "output": 1 + "input": 0.108, + "output": 0.675 }, "type": "chat" }, { - "id": "Qwen/Qwen3.6-35B-A3B", - "name": "Qwen/Qwen3.6-35B-A3B", - "display_name": "Qwen/Qwen3.6-35B-A3B", + "id": "llama-4-maverick-17b-instruct", + "name": "Llama 4 Maverick 17B Instruct", + "display_name": "Llama 4 Maverick 17B Instruct", "modalities": { "input": [ "text", - "image", - "video" + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 8192, + "output": 2048 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "cost": { + "input": 0.24, + "output": 0.97 + }, + "type": "chat" + }, + { + "id": "qwen3-coder-480b-a35b-instruct", + "name": "Qwen3-Coder 480B-A35B Instruct", + "display_name": "Qwen3-Coder 480B-A35B Instruct", + "modalities": { + "input": [ + "text" ], "output": [ "text" @@ -73138,40 +80789,26 @@ "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, "knowledge": "2025-04", - "release_date": "2026-04-17", - "last_updated": "2026-04-17", + "release_date": "2025-04", + "last_updated": "2025-04", "cost": { - "input": 0.23, - "output": 1.86 + "input": 1.5, + "output": 7.5 }, "type": "chat" }, { - "id": "Qwen/Qwen3.5-35B-A3B", - "name": "Qwen/Qwen3.5-35B-A3B", - "display_name": "Qwen/Qwen3.5-35B-A3B", + "id": "devstral-2512", + "name": "Devstral 2", + "display_name": "Devstral 2", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" @@ -73179,99 +80816,97 @@ }, "limit": { "context": 262144, - "output": 65536 + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-02-25", - "last_updated": "2026-02-25", + "knowledge": "2025-12", + "release_date": "2025-12-09", + "last_updated": "2025-12-09", "cost": { - "input": 0.23, - "output": 1.86 + "input": 0.4, + "output": 2 }, "type": "chat" }, { - "id": "Qwen/Qwen3.5-397B-A17B", - "name": "Qwen/Qwen3.5-397B-A17B", - "display_name": "Qwen/Qwen3.5-397B-A17B", + "id": "claude-sonnet-4-5-20250929", + "name": "Claude Sonnet 4.5", + "display_name": "Claude Sonnet 4.5", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", + "attachment": true, + "open_weights": false, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0.29, - "output": 1.74 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "Qwen/Qwen3.5-9B", - "name": "Qwen/Qwen3.5-9B", - "display_name": "Qwen/Qwen3.5-9B", + "id": "qwq-plus", + "name": "QwQ Plus", + "display_name": "QwQ Plus", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -73291,33 +80926,32 @@ } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-03-03", - "last_updated": "2026-03-03", + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-03-05", + "last_updated": "2025-03-05", "cost": { - "input": 0.22, - "output": 1.74 + "input": 0.8, + "output": 2.4 }, "type": "chat" }, { - "id": "Qwen/Qwen3.5-4B", - "name": "Qwen/Qwen3.5-4B", - "display_name": "Qwen/Qwen3.5-4B", + "id": "grok-4-1-fast-reasoning", + "name": "Grok 4.1 Fast Reasoning", + "display_name": "Grok 4.1 Fast Reasoning", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 2000000, + "output": 30000 }, "temperature": true, "tool_call": true, @@ -73327,95 +80961,73 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-03-03", - "last_updated": "2026-03-03", + "attachment": true, + "open_weights": false, + "release_date": "2025-11-19", + "last_updated": "2025-11-19", "cost": { - "input": 0, - "output": 0 + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "Qwen/Qwen3.5-122B-A10B", - "name": "Qwen/Qwen3.5-122B-A10B", - "display_name": "Qwen/Qwen3.5-122B-A10B", + "id": "qwen3-vl-30b-a3b-instruct", + "name": "Qwen3 VL 30B A3B Instruct", + "display_name": "Qwen3 VL 30B A3B Instruct", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-02-26", - "last_updated": "2026-02-26", + "release_date": "2025-10-02", + "last_updated": "2025-10-02", "cost": { - "input": 0.29, - "output": 2.32 + "input": 0.2, + "output": 0.7 }, "type": "chat" }, { - "id": "Qwen/Qwen3.5-27B", - "name": "Qwen/Qwen3.5-27B", - "display_name": "Qwen/Qwen3.5-27B", + "id": "qwen3-vl-flash", + "name": "Qwen3 VL Flash", + "display_name": "Qwen3 VL Flash", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 1000000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -73428,52 +81040,77 @@ ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-02-25", - "last_updated": "2026-02-25", + "attachment": true, + "open_weights": false, + "release_date": "2025-10-09", + "last_updated": "2025-10-09", "cost": { - "input": 0.26, - "output": 2.09 + "input": 0.022, + "output": 0.215, + "cache_read": 0.0044 }, "type": "chat" }, { - "id": "Qwen/Qwen3-VL-235B-A22B-Instruct", - "name": "Qwen/Qwen3-VL-235B-A22B-Instruct", - "display_name": "Qwen/Qwen3-VL-235B-A22B-Instruct", + "id": "gpt-5-mini", + "name": "GPT-5 Mini", + "display_name": "GPT-5 Mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, "open_weights": false, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.3, - "output": 1.5 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Next-80B-A3B-Thinking", - "name": "Qwen/Qwen3-Next-80B-A3B-Thinking", - "display_name": "Qwen/Qwen3-Next-80B-A3B-Thinking", + "id": "mimo-v2-flash", + "name": "MiMo-V2-Flash", + "display_name": "MiMo-V2-Flash", "modalities": { "input": [ "text" @@ -73483,8 +81120,8 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -73504,50 +81141,56 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2025-09-25", - "last_updated": "2025-11-25", + "open_weights": true, + "knowledge": "2024-12-01", + "release_date": "2025-12-16", + "last_updated": "2026-02-04", "cost": { - "input": 0.14, - "output": 0.57 + "input": 0.1, + "output": 0.3, + "cache_read": 0.01 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-7B-Instruct", - "name": "Qwen/Qwen2.5-7B-Instruct", - "display_name": "Qwen/Qwen2.5-7B-Instruct", + "id": "gpt-4.1-mini", + "name": "GPT-4.1 mini", + "display_name": "GPT-4.1 mini", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-09-18", - "last_updated": "2025-11-25", + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.05, - "output": 0.05 + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 }, "type": "chat" }, { - "id": "Qwen/Qwen3-VL-30B-A3B-Thinking", - "name": "Qwen/Qwen3-VL-30B-A3B-Thinking", - "display_name": "Qwen/Qwen3-VL-30B-A3B-Thinking", + "id": "llama-3.1-nemotron-ultra-253b", + "name": "Llama 3.1 Nemotron Ultra 253B", + "display_name": "Llama 3.1 Nemotron Ultra 253B", "modalities": { "input": [ "text" @@ -73557,83 +81200,61 @@ ] }, "limit": { - "context": 131072, + "context": 128000, "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2025-10-11", - "last_updated": "2025-11-25", + "attachment": false, + "open_weights": true, + "release_date": "2025-04-07", + "last_updated": "2025-04-07", "cost": { - "input": 0.29, - "output": 1 + "input": 0.6, + "output": 1.8 }, "type": "chat" }, { - "id": "Qwen/Qwen3-30B-A3B-Thinking-2507", - "name": "Qwen/Qwen3-30B-A3B-Thinking-2507", - "display_name": "Qwen/Qwen3-30B-A3B-Thinking-2507", + "id": "gpt-4-turbo", + "name": "GPT-4 Turbo", + "display_name": "GPT-4 Turbo", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-07-31", - "last_updated": "2025-11-25", + "knowledge": "2023-12", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", "cost": { - "input": 0.09, - "output": 0.3 + "input": 10, + "output": 30 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-32B-Instruct", - "name": "Qwen/Qwen2.5-32B-Instruct", - "display_name": "Qwen/Qwen2.5-32B-Instruct", + "id": "qwen3-coder-flash", + "name": "Qwen3 Coder Flash", + "display_name": "Qwen3 Coder Flash", "modalities": { "input": [ "text" @@ -73643,8 +81264,8 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -73653,18 +81274,19 @@ }, "attachment": false, "open_weights": false, - "release_date": "2024-09-19", - "last_updated": "2025-11-25", + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 0.18, - "output": 0.18 + "input": 0.3, + "output": 1.5 }, "type": "chat" }, { - "id": "Qwen/Qwen3-32B", - "name": "Qwen/Qwen3-32B", - "display_name": "Qwen/Qwen3-32B", + "id": "gemma-2-27b-it-together", + "name": "Gemma 2 27B IT", + "display_name": "Gemma 2 27B IT", "modalities": { "input": [ "text" @@ -73674,101 +81296,135 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 8192, + "output": 16384 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-04-30", - "last_updated": "2025-11-25", + "open_weights": true, + "release_date": "2024-06-27", + "last_updated": "2024-06-27", "cost": { - "input": 0.14, - "output": 0.57 + "input": 0.08, + "output": 0.08 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-VL-32B-Instruct", - "name": "Qwen/Qwen2.5-VL-32B-Instruct", - "display_name": "Qwen/Qwen2.5-VL-32B-Instruct", + "id": "grok-build-0-1", + "name": "Grok Build 0.1", + "display_name": "Grok Build 0.1", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 256000, + "output": 256000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "release_date": "2025-03-24", - "last_updated": "2025-11-25", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 0.27, - "output": 0.27 + "input": 1, + "output": 2, + "cache_read": 0.2, + "tiers": [ + { + "input": 2, + "output": 4, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 4, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-VL-72B-Instruct", - "name": "Qwen/Qwen2.5-VL-72B-Instruct", - "display_name": "Qwen/Qwen2.5-VL-72B-Instruct", + "id": "gpt-5-nano", + "name": "GPT-5 Nano", + "display_name": "GPT-5 Nano", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, "open_weights": false, - "release_date": "2025-01-28", - "last_updated": "2025-11-25", + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.59, - "output": 0.59 + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-Coder-32B-Instruct", - "name": "Qwen/Qwen2.5-Coder-32B-Instruct", - "display_name": "Qwen/Qwen2.5-Coder-32B-Instruct", + "id": "llama-3.2-11b-instruct", + "name": "Llama 3.2 11B Instruct", + "display_name": "Llama 3.2 11B Instruct", "modalities": { "input": [ "text" @@ -73778,89 +81434,115 @@ ] }, "limit": { - "context": 131072, + "context": 128000, "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2024-11-11", - "last_updated": "2025-11-25", + "open_weights": true, + "release_date": "2024-09-25", + "last_updated": "2024-09-25", "cost": { - "input": 0.18, - "output": 0.18 - } + "input": 0.07, + "output": 0.33 + }, + "type": "chat" }, { - "id": "Qwen/Qwen3-VL-30B-A3B-Instruct", - "name": "Qwen/Qwen3-VL-30B-A3B-Instruct", - "display_name": "Qwen/Qwen3-VL-30B-A3B-Instruct", + "id": "gpt-5.4-pro", + "name": "GPT-5.4 Pro", + "display_name": "GPT-5.4 Pro", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, "open_weights": false, - "release_date": "2025-10-05", - "last_updated": "2025-11-25", + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0.29, - "output": 1 + "input": 30, + "output": 180 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-14B-Instruct", - "name": "Qwen/Qwen2.5-14B-Instruct", - "display_name": "Qwen/Qwen2.5-14B-Instruct", + "id": "glm-4.6v-flash", + "name": "GLM-4.6V Flash", + "display_name": "GLM-4.6V Flash", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 128000, + "output": 16000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2024-09-18", - "last_updated": "2025-11-25", + "attachment": true, + "open_weights": true, + "release_date": "2025-12-08", + "last_updated": "2025-12-08", "cost": { - "input": 0.1, - "output": 0.1 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", - "name": "Qwen/Qwen3-Next-80B-A3B-Instruct", - "display_name": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "id": "glm-4.5-air", + "name": "GLM-4.5-Air", + "display_name": "GLM-4.5-Air", "modalities": { "input": [ "text" @@ -73871,90 +81553,154 @@ }, "limit": { "context": 131072, - "output": 8192 + "output": 98304 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2025-09-18", - "last_updated": "2025-11-25", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 0.14, - "output": 1.4 + "input": 0.2, + "output": 1.1, + "cache_read": 0.03, + "cache_write": 0 }, "type": "chat" }, { - "id": "Qwen/Qwen3-VL-32B-Instruct", - "name": "Qwen/Qwen3-VL-32B-Instruct", - "display_name": "Qwen/Qwen3-VL-32B-Instruct", + "id": "claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2025-10-21", - "last_updated": "2025-11-25", + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "cost": { - "input": 0.2, - "output": 0.6 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "display_name": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "id": "gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "display_name": "Gemini 3 Flash Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-07-23", - "last_updated": "2025-11-25", + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", "cost": { - "input": 0.09, - "output": 0.6 + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "input_audio": 1 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Omni-30B-A3B-Thinking", - "name": "Qwen/Qwen3-Omni-30B-A3B-Thinking", - "display_name": "Qwen/Qwen3-Omni-30B-A3B-Thinking", + "id": "glm-4.7-flash", + "name": "GLM-4.7-Flash", + "display_name": "GLM-4.7-Flash", "modalities": { "input": [ "text" @@ -73964,8 +81710,8 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 200000, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -73975,32 +81721,30 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": true, - "open_weights": false, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", "cost": { - "input": 0.1, - "output": 0.4 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Coder-30B-A3B-Instruct", - "name": "Qwen/Qwen3-Coder-30B-A3B-Instruct", - "display_name": "Qwen/Qwen3-Coder-30B-A3B-Instruct", + "id": "qwen3-vl-235b-a22b-instruct", + "name": "Qwen3 VL 235B A22B Instruct", + "display_name": "Qwen3 VL 235B A22B Instruct", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -74015,19 +81759,20 @@ "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2025-08-01", - "last_updated": "2025-11-25", + "attachment": true, + "open_weights": true, + "release_date": "2025-09-15", + "last_updated": "2025-09-15", "cost": { - "input": 0.07, - "output": 0.28 - } + "input": 0.3, + "output": 1.5 + }, + "type": "chat" }, { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "display_name": "Qwen/Qwen3-235B-A22B-Thinking-2507", + "id": "mimo-v2-pro", + "name": "MiMo-V2-Pro", + "display_name": "MiMo-V2-Pro", "modalities": { "input": [ "text" @@ -74037,8 +81782,8 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1048576, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -74059,60 +81804,68 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-07-28", - "last_updated": "2025-11-25", + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.13, - "output": 0.6 + "input": 1, + "output": 3, + "cache_read": 0.2, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "Qwen/Qwen3-8B", - "name": "Qwen/Qwen3-8B", - "display_name": "Qwen/Qwen3-8B", + "id": "gpt-4o-search-preview", + "name": "GPT-4o Search Preview", + "display_name": "GPT-4o Search Preview", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 128000, + "output": 16384 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-04-30", - "last_updated": "2025-11-25", + "release_date": "2024-10-01", + "last_updated": "2024-10-01", "cost": { - "input": 0.06, - "output": 0.06 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-72B-Instruct-128K", - "name": "Qwen/Qwen2.5-72B-Instruct-128K", - "display_name": "Qwen/Qwen2.5-72B-Instruct-128K", + "id": "llama-3.2-3b-instruct", + "name": "Llama 3.2 3B Instruct", + "display_name": "Llama 3.2 3B Instruct", "modalities": { "input": [ "text" @@ -74122,40 +81875,39 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 32768, + "output": 32000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, + "open_weights": true, "release_date": "2024-09-18", - "last_updated": "2025-11-25", + "last_updated": "2024-09-18", "cost": { - "input": 0.59, - "output": 0.59 + "input": 0.03, + "output": 0.05 }, "type": "chat" }, { - "id": "Qwen/Qwen3-VL-32B-Thinking", - "name": "Qwen/Qwen3-VL-32B-Thinking", - "display_name": "Qwen/Qwen3-VL-32B-Thinking", + "id": "mimo-v2.5-pro", + "name": "MiMo-V2.5-Pro", + "display_name": "MiMo-V2.5-Pro", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 1048576, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -74174,93 +81926,127 @@ ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2025-10-21", - "last_updated": "2025-11-25", + "attachment": false, + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 0.2, - "output": 1.5 + "input": 1, + "output": 3, + "cache_read": 0.2, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "Qwen/Qwen3-14B", - "name": "Qwen/Qwen3-14B", - "display_name": "Qwen/Qwen3-14B", + "id": "gpt-5.5-pro", + "name": "GPT-5.5 Pro", + "display_name": "GPT-5.5 Pro", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-04-30", - "last_updated": "2025-11-25", + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 0.07, - "output": 0.28 + "input": 30, + "output": 180, + "tiers": [ + { + "input": 60, + "output": 270, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 60, + "output": 270 + } }, "type": "chat" }, { - "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", - "name": "Qwen/Qwen3-30B-A3B-Instruct-2507", - "display_name": "Qwen/Qwen3-30B-A3B-Instruct-2507", + "id": "gpt-4o-mini", + "name": "GPT-4o mini", + "display_name": "GPT-4o mini", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-07-30", - "last_updated": "2025-11-25", + "knowledge": "2023-09", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", "cost": { - "input": 0.09, - "output": 0.3 + "input": 0.15, + "output": 0.6, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Omni-30B-A3B-Instruct", - "name": "Qwen/Qwen3-Omni-30B-A3B-Instruct", - "display_name": "Qwen/Qwen3-Omni-30B-A3B-Instruct", + "id": "gpt-oss-20b", + "name": "GPT OSS 20B", + "display_name": "GPT OSS 20B", "modalities": { "input": [ "text" @@ -74271,27 +82057,33 @@ }, "limit": { "context": 131072, - "output": 8192 + "output": 32766 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, "open_weights": false, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.1, - "output": 0.4 + "input": 0.04, + "output": 0.15 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-72B-Instruct", - "name": "Qwen/Qwen2.5-72B-Instruct", - "display_name": "Qwen/Qwen2.5-72B-Instruct", + "id": "glm-4.5-flash", + "name": "GLM-4.5-Flash", + "display_name": "GLM-4.5-Flash", "modalities": { "input": [ "text" @@ -74302,27 +82094,31 @@ }, "limit": { "context": 131072, - "output": 8192 + "output": 98304 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2024-09-18", - "last_updated": "2025-11-25", + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 0.59, - "output": 0.59 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "Qwen/QwQ-32B", - "name": "Qwen/QwQ-32B", - "display_name": "Qwen/QwQ-32B", + "id": "glm-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ "text" @@ -74332,13 +82128,14 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -74352,29 +82149,32 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2025-03-06", - "last_updated": "2025-11-25", + "open_weights": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 0.15, - "output": 0.58 + "input": 1, + "output": 3.2, + "cache_read": 0.2, + "cache_write": 0 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Omni-30B-A3B-Captioner", - "name": "Qwen/Qwen3-Omni-30B-A3B-Captioner", - "display_name": "Qwen/Qwen3-Omni-30B-A3B-Captioner", + "id": "qwen-max-latest", + "name": "Qwen Max Latest", + "display_name": "Qwen Max Latest", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, + "context": 32768, "output": 8192 }, "temperature": true, @@ -74384,18 +82184,18 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", + "release_date": "2025-01-25", + "last_updated": "2025-01-25", "cost": { - "input": 0.1, - "output": 0.4 + "input": 0.345, + "output": 1.377 }, "type": "chat" }, { - "id": "Qwen/Qwen3-VL-8B-Thinking", - "name": "Qwen/Qwen3-VL-8B-Thinking", - "display_name": "Qwen/Qwen3-VL-8B-Thinking", + "id": "mistral-large-2512", + "name": "Mistral Large 3", + "display_name": "Mistral Large 3", "modalities": { "input": [ "text", @@ -74406,8 +82206,40 @@ ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 262144, + "output": 262144 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2025-12-02", + "cost": { + "input": 0.5, + "output": 1.5 + }, + "type": "chat" + }, + { + "id": "qwen-turbo", + "name": "Qwen Turbo", + "display_name": "Qwen Turbo", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -74426,20 +82258,22 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-10-15", - "last_updated": "2025-11-25", + "knowledge": "2024-04", + "release_date": "2024-11-01", + "last_updated": "2025-04-28", "cost": { - "input": 0.18, - "output": 2 + "input": 0.05, + "output": 0.2, + "reasoning": 0.5 }, "type": "chat" }, { - "id": "Qwen/Qwen3-VL-8B-Instruct", - "name": "Qwen/Qwen3-VL-8B-Instruct", - "display_name": "Qwen/Qwen3-VL-8B-Instruct", + "id": "custom", + "name": "Custom Model", + "display_name": "Custom Model", "modalities": { "input": [ "text", @@ -74450,8 +82284,8 @@ ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -74460,59 +82294,86 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-10-15", - "last_updated": "2025-11-25", + "release_date": "2024-01-01", + "last_updated": "2024-01-01", "cost": { - "input": 0.18, - "output": 0.68 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", - "name": "Qwen/Qwen3-Coder-480B-A35B-Instruct", - "display_name": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "id": "grok-4-20-reasoning", + "name": "Grok 4.20 (Reasoning)", + "display_name": "Grok 4.20 (Reasoning)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1000000, + "output": 30000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-07-31", - "last_updated": "2025-11-25", + "release_date": "2026-03-09", + "last_updated": "2026-03-09", "cost": { - "input": 0.25, - "output": 1 - } + "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 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 5, + "cache_read": 0.4 + } + }, + "type": "chat" }, { - "id": "Qwen/Qwen3-VL-235B-A22B-Thinking", - "name": "Qwen/Qwen3-VL-235B-A22B-Thinking", - "display_name": "Qwen/Qwen3-VL-235B-A22B-Thinking", + "id": "deepseek-v3.2", + "name": "DeepSeek V3.2", + "display_name": "DeepSeek V3.2", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 163840, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -74522,29 +82383,24 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": true, - "open_weights": false, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", + "open_weights": true, + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0.45, - "output": 3.5 + "input": 0.28, + "output": 0.42, + "cache_read": 0.056 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.2-Exp", - "name": "deepseek-ai/DeepSeek-V3.2-Exp", - "display_name": "deepseek-ai/DeepSeek-V3.2-Exp", + "id": "qwen3.6-max-preview", + "name": "Qwen3.6 Max Preview", + "display_name": "Qwen3.6 Max Preview", "modalities": { "input": [ "text" @@ -74554,53 +82410,92 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 262144, + "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2026-04-20", + "last_updated": "2026-04-20", + "cost": { + "input": 1.3, + "output": 7.8, + "cache_read": 0.13, + "cache_write": 1.625 }, "type": "chat" }, { - "id": "Pro/deepseek-ai/DeepSeek-V3.2-Exp", - "name": "Pro/deepseek-ai/DeepSeek-V3.2-Exp", - "display_name": "Pro/deepseek-ai/DeepSeek-V3.2-Exp", + "id": "auto", + "name": "Auto Route", + "display_name": "Auto Route", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 128000, + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, + "attachment": true, + "open_weights": false, + "release_date": "2024-01-01", + "last_updated": "2024-01-01", + "cost": { + "input": 0, + "output": 0 + }, "type": "chat" }, { - "id": "inclusionAI/Ring-1T", - "name": "inclusionAI/Ring-1T", - "display_name": "inclusionAI/Ring-1T", + "id": "gemini-3.1-flash-lite-preview", + "name": "Gemini 3.1 Flash Lite Preview", + "display_name": "Gemini 3.1 Flash Lite Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1048576, + "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -74611,12 +82506,23 @@ "supported": true } }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "input_audio": 0.5 + }, "type": "chat" }, { - "id": "inclusionAI/Ling-1T", - "name": "inclusionAI/Ling-1T", - "display_name": "inclusionAI/Ling-1T", + "id": "codestral-2508", + "name": "Codestral", + "display_name": "Codestral", "modalities": { "input": [ "text" @@ -74626,110 +82532,121 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 256000, + "output": 16384 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": false }, + "attachment": false, + "open_weights": true, + "release_date": "2025-07-30", + "last_updated": "2025-07-30", + "cost": { + "input": 0.3, + "output": 0.9 + }, "type": "chat" }, { - "id": "Qwen/Qwen-Image-Edit-2509", - "name": "Qwen/Qwen-Image-Edit-2509", - "display_name": "Qwen/Qwen-Image-Edit-2509", + "id": "qwen3-235b-a22b-fp8", + "name": "Qwen3 235B A22B FP8", + "display_name": "Qwen3 235B A22B FP8", "modalities": { "input": [ - "image", "text" ], "output": [ - "image" - ] - }, - "tool_call": false, - "reasoning": { - "supported": false - } - }, - { - "id": "Qwen/Qwen-Image-Edit", - "name": "Qwen/Qwen-Image-Edit", - "display_name": "Qwen/Qwen-Image-Edit", - "modalities": { - "input": [ - "image", "text" - ], - "output": [ - "image" ] }, - "tool_call": false, - "reasoning": { - "supported": false - } - }, - { - "id": "Qwen/Qwen-Image", - "name": "Qwen/Qwen-Image", - "display_name": "Qwen/Qwen-Image", - "modalities": { - "input": [ - "text" - ], - "output": [ - "image" - ] + "limit": { + "context": 131072, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false - } + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-04-28", + "last_updated": "2025-04-28", + "cost": { + "input": 0.2, + "output": 0.8 + }, + "type": "chat" }, { - "id": "Wan-AI/Wan2.2-I2V-A14B", - "name": "Wan-AI/Wan2.2-I2V-A14B", - "display_name": "Wan-AI/Wan2.2-I2V-A14B", + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "display_name": "GPT-5.2 Codex", "modalities": { "input": [ + "text", "image", - "text" + "pdf" ], "output": [ - "video" - ] - }, - "tool_call": false, - "reasoning": { - "supported": false - } - }, - { - "id": "Wan-AI/Wan2.2-T2V-A14B", - "name": "Wan-AI/Wan2.2-T2V-A14B", - "display_name": "Wan-AI/Wan2.2-T2V-A14B", - "modalities": { - "input": [ "text" - ], - "output": [ - "video" ] }, - "tool_call": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false - } + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + }, + "type": "chat" }, { - "id": "zai-org/GLM-4.5", - "name": "zai-org/GLM-4.5", - "display_name": "zai-org/GLM-4.5", + "id": "qwen-vl-plus", + "name": "Qwen-VL Plus", + "display_name": "Qwen-VL Plus", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -74739,101 +82656,266 @@ "context": 131072, "output": 8192 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, + "attachment": false, + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2024-01-25", + "last_updated": "2025-08-15", + "cost": { + "input": 0.21, + "output": 0.63 + }, "type": "chat" }, { - "id": "stepfun-ai/step3", - "name": "stepfun-ai/step3", - "display_name": "stepfun-ai/step3", + "id": "qwen3.6-plus", + "name": "Qwen3.6 Plus", + "display_name": "Qwen3.6 Plus", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1000000, + "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "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 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.2, + "cache_write": 2.5 + } }, "type": "chat" }, { - "id": "TeleAI/TeleSpeechASR", - "name": "TeleAI/TeleSpeechASR", - "display_name": "TeleAI/TeleSpeechASR", + "id": "gemini-2.0-flash-lite", + "name": "Gemini 2.0 Flash-Lite", + "display_name": "Gemini 2.0 Flash-Lite", "modalities": { "input": [ - "audio" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, - "tool_call": false, + "limit": { + "context": 1048576, + "output": 8192 + }, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false - } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-06", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "cost": { + "input": 0.075, + "output": 0.3 + }, + "type": "chat" }, { - "id": "THUDM/GLM-4.1V-9B-Thinking", - "name": "THUDM/GLM-4.1V-9B-Thinking", - "display_name": "THUDM/GLM-4.1V-9B-Thinking", + "id": "gpt-5.1", + "name": "GPT-5.1", + "display_name": "GPT-5.1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 400000, + "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "Pro/THUDM/GLM-4.1V-9B-Thinking", - "name": "Pro/THUDM/GLM-4.1V-9B-Thinking", - "display_name": "Pro/THUDM/GLM-4.1V-9B-Thinking", + "id": "gpt-5.5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1050000, + "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + } + }, "type": "chat" - }, + } + ] + }, + "alibaba-coding-plan-cn": { + "id": "alibaba-coding-plan-cn", + "name": "Alibaba Coding Plan (China)", + "display_name": "Alibaba Coding Plan (China)", + "api": "https://coding.dashscope.aliyuncs.com/v1", + "doc": "https://help.aliyun.com/zh/model-studio/coding-plan", + "models": [ { - "id": "moonshotai/Kimi-Dev-72B", - "name": "moonshotai/Kimi-Dev-72B", - "display_name": "moonshotai/Kimi-Dev-72B", + "id": "qwen3-coder-plus", + "name": "Qwen3 Coder Plus", + "display_name": "Qwen3 Coder Plus", "modalities": { "input": [ "text" @@ -74843,19 +82925,31 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1000000, + "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + }, "type": "chat" }, { - "id": "MiniMaxAI/MiniMax-M1-80k", - "name": "MiniMaxAI/MiniMax-M1-80k", - "display_name": "MiniMaxAI/MiniMax-M1-80k", + "id": "glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", "modalities": { "input": [ "text" @@ -74865,42 +82959,84 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 202752, + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "Tongyi-Zhiwen/QwenLong-L1-32B", - "name": "Tongyi-Zhiwen/QwenLong-L1-32B", - "display_name": "Tongyi-Zhiwen/QwenLong-L1-32B", + "id": "qwen3.7-plus", + "name": "Qwen3.7 Plus", + "display_name": "Qwen3.7 Plus", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1000000, + "output": 64000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2026-06-02", + "last_updated": "2026-06-02", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-R1-0528-Qwen3-8B", - "name": "deepseek-ai/DeepSeek-R1-0528-Qwen3-8B", - "display_name": "deepseek-ai/DeepSeek-R1-0528-Qwen3-8B", + "id": "qwen3.7-max", + "name": "Qwen3.7 Max", + "display_name": "Qwen3.7 Max", "modalities": { "input": [ "text" @@ -74910,35 +83046,55 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1000000, + "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": false, + "release_date": "2026-05-21", + "last_updated": "2026-05-21", + "cost": { + "input": 2.5, + "output": 7.5, + "cache_read": 0.5, + "cache_write": 3.125 + }, "type": "chat" }, { - "id": "Qwen/Qwen3-30B-A3B", - "name": "Qwen/Qwen3-30B-A3B", - "display_name": "Qwen/Qwen3-30B-A3B", + "id": "qwen3.6-flash", + "name": "Qwen3.6 Flash", + "display_name": "Qwen3.6 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1000000, + "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -74951,144 +83107,238 @@ ] } }, + "attachment": true, + "open_weights": false, + "release_date": "2026-04-27", + "last_updated": "2026-04-27", + "cost": { + "input": 0.1875, + "output": 1.125, + "cache_write": 0.234375 + }, "type": "chat" }, { - "id": "Qwen/Qwen3-Reranker-8B", - "name": "Qwen/Qwen3-Reranker-8B", - "display_name": "Qwen/Qwen3-Reranker-8B", + "id": "qwen3-max-2026-01-23", + "name": "Qwen3 Max", + "display_name": "Qwen3 Max", "modalities": { "input": [ "text" ], "output": [ - "score" + "text" ] }, "limit": { - "context": 8192, - "output": 2048 + "context": 262144, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false - }, - "type": "rerank" - }, - { - "id": "Qwen/Qwen3-Embedding-8B", - "name": "Qwen/Qwen3-Embedding-8B", - "display_name": "Qwen/Qwen3-Embedding-8B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "embedding" - ] + "supported": true }, - "limit": { - "context": 8192, - "output": 2048 + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, - "tool_call": false, - "reasoning": { - "supported": false + "attachment": false, + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2026-01-23", + "last_updated": "2026-01-23", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, - "type": "embedding" + "type": "chat" }, { - "id": "Qwen/Qwen3-Reranker-4B", - "name": "Qwen/Qwen3-Reranker-4B", - "display_name": "Qwen/Qwen3-Reranker-4B", + "id": "qwen3.5-plus", + "name": "Qwen3.5 Plus", + "display_name": "Qwen3.5 Plus", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "score" + "text" ] }, "limit": { - "context": 8192, - "output": 2048 + "context": 1000000, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "type": "rerank" + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + }, + "type": "chat" }, { - "id": "Qwen/Qwen3-Embedding-4B", - "name": "Qwen/Qwen3-Embedding-4B", - "display_name": "Qwen/Qwen3-Embedding-4B", + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "embedding" + "text" ] }, "limit": { - "context": 8192, - "output": 2048 + "context": 262144, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "type": "embedding" + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + }, + "type": "chat" }, { - "id": "Qwen/Qwen3-Reranker-0.6B", - "name": "Qwen/Qwen3-Reranker-0.6B", - "display_name": "Qwen/Qwen3-Reranker-0.6B", + "id": "MiniMax-M2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ "text" ], "output": [ - "score" + "text" ] }, "limit": { - "context": 8192, - "output": 2048 + "context": 196608, + "output": 24576 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "type": "rerank" + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + }, + "type": "chat" }, { - "id": "Qwen/Qwen3-Embedding-0.6B", - "name": "Qwen/Qwen3-Embedding-0.6B", - "display_name": "Qwen/Qwen3-Embedding-0.6B", + "id": "qwen3-coder-next", + "name": "Qwen3 Coder Next", + "display_name": "Qwen3 Coder Next", "modalities": { "input": [ "text" ], "output": [ - "embedding" + "text" ] }, "limit": { - "context": 8192, - "output": 2048 + "context": 262144, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "type": "embedding" + "attachment": false, + "open_weights": true, + "release_date": "2026-02-03", + "last_updated": "2026-02-03", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + }, + "type": "chat" }, { - "id": "Qwen/Qwen3-235B-A22B", - "name": "Qwen/Qwen3-235B-A22B", - "display_name": "Qwen/Qwen3-235B-A22B", + "id": "glm-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ "text" @@ -75098,12 +83348,14 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 202752, + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -75116,274 +83368,556 @@ ] } }, + "attachment": false, + "open_weights": false, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + }, "type": "chat" }, { - "id": "Pro/Qwen/Qwen2.5-VL-7B-Instruct", - "name": "Pro/Qwen/Qwen2.5-VL-7B-Instruct", - "display_name": "Pro/Qwen/Qwen2.5-VL-7B-Instruct", + "id": "qwen3.6-plus", + "name": "Qwen3.6 Plus", + "display_name": "Qwen3.6 Plus", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1000000, + "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" - }, + } + ] + }, + "abacus": { + "id": "abacus", + "name": "Abacus", + "display_name": "Abacus", + "api": "https://routellm.abacus.ai/v1", + "doc": "https://abacus.ai/help/api", + "models": [ { - "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", - "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", - "display_name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", + "id": "o3", + "name": "o3", + "display_name": "o3", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 200000, + "output": 100000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "cost": { + "input": 2, + "output": 8 + }, "type": "chat" }, { - "id": "Qwen/QVQ-72B-Preview", - "name": "Qwen/QVQ-72B-Preview", - "display_name": "Qwen/QVQ-72B-Preview", + "id": "route-llm", + "name": "Route LLM", + "display_name": "Route LLM", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 128000, + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-10", + "release_date": "2024-01-01", + "last_updated": "2024-01-01", + "cost": { + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V2.5", - "name": "deepseek-ai/DeepSeek-V2.5", - "display_name": "deepseek-ai/DeepSeek-V2.5", + "id": "grok-code-fast-1", + "name": "Grok Code Fast 1", + "display_name": "Grok Code Fast 1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 256000, + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-09-01", + "last_updated": "2025-09-01", + "cost": { + "input": 0.2, + "output": 1.5 }, "type": "chat" }, { - "id": "fnlp/MOSS-TTSD-v0.5", - "name": "fnlp/MOSS-TTSD-v0.5", - "display_name": "fnlp/MOSS-TTSD-v0.5", + "id": "gpt-5.3-codex-xhigh", + "name": "GPT-5.3 Codex XHigh", + "display_name": "GPT-5.3 Codex XHigh", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ - "audio" + "text" ] }, - "tool_call": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false - } + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "cost": { + "input": 1.75, + "output": 14 + }, + "type": "chat" }, { - "id": "FunAudioLLM/CosyVoice2-0.5B", - "name": "FunAudioLLM/CosyVoice2-0.5B", - "display_name": "FunAudioLLM/CosyVoice2-0.5B", + "id": "llama-3.3-70b-versatile", + "name": "Llama 3.3 70B Versatile", + "display_name": "Llama 3.3 70B Versatile", "modalities": { "input": [ "text" ], "output": [ - "audio" + "text" ] }, - "tool_call": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false - } + }, + "attachment": false, + "open_weights": true, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "cost": { + "input": 0.59, + "output": 0.79 + }, + "type": "chat" }, { - "id": "FunAudioLLM/SenseVoiceSmall", - "name": "FunAudioLLM/SenseVoiceSmall", - "display_name": "FunAudioLLM/SenseVoiceSmall", + "id": "gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "display_name": "Gemini 2.5 Pro", "modalities": { "input": [ - "audio" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, - "tool_call": false, - "reasoning": { - "supported": false - } - }, - { - "id": "IndexTeam/IndexTTS-2", - "name": "IndexTeam/IndexTTS-2", - "display_name": "IndexTeam/IndexTTS-2", - "modalities": { - "input": [ - "text" - ], - "output": [ - "audio" - ] + "limit": { + "context": 1048576, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false - } + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-03-25", + "last_updated": "2025-03-25", + "cost": { + "input": 1.25, + "output": 10 + }, + "type": "chat" }, { - "id": "BAAI/bge-m3", - "name": "BAAI/bge-m3", - "display_name": "BAAI/bge-m3", + "id": "gpt-5", + "name": "GPT-5", + "display_name": "GPT-5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 400000, + "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "type": "embedding" + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "cost": { + "input": 1.25, + "output": 10 + }, + "type": "chat" }, { - "id": "BAAI/bge-reranker-v2-m3", - "name": "BAAI/bge-reranker-v2-m3", - "display_name": "BAAI/bge-reranker-v2-m3", + "id": "claude-haiku-4-5-20251001", + "name": "Claude Haiku 4.5", + "display_name": "Claude Haiku 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ - "score" + "text" ] }, "limit": { - "context": 8192, - "output": 2048 + "context": 200000, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "type": "rerank" + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "cost": { + "input": 1, + "output": 5 + }, + "type": "chat" }, { - "id": "netease-youdao/bce-embedding-base_v1", - "name": "netease-youdao/bce-embedding-base_v1", - "display_name": "netease-youdao/bce-embedding-base_v1", + "id": "gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "display_name": "Gemini 2.5 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ - "embedding" + "text" ] }, "limit": { - "context": 8192, - "output": 2048 + "context": 1048576, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "type": "embedding" + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "cost": { + "input": 0.3, + "output": 2.5 + }, + "type": "chat" }, { - "id": "netease-youdao/bce-reranker-base_v1", - "name": "netease-youdao/bce-reranker-base_v1", - "display_name": "netease-youdao/bce-reranker-base_v1", + "id": "o4-mini", + "name": "o4-mini", + "display_name": "o4-mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "score" + "text" ] }, "limit": { - "context": 8192, - "output": 2048 + "context": 200000, + "output": 100000 }, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false - } - }, - { - "id": "Kwai-Kolors/Kolors", - "name": "Kwai-Kolors/Kolors", - "display_name": "Kwai-Kolors/Kolors", - "modalities": { - "input": [ - "text" - ], - "output": [ - "image" - ] + "supported": true, + "default": true }, - "tool_call": false, - "reasoning": { - "supported": false - } + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "cost": { + "input": 1.1, + "output": 4.4 + }, + "type": "chat" }, { - "id": "Qwen/Qwen2-VL-72B-Instruct", - "name": "Qwen/Qwen2-VL-72B-Instruct", - "display_name": "Qwen/Qwen2-VL-72B-Instruct", + "id": "qwen3-max", + "name": "Qwen3 Max", + "display_name": "Qwen3 Max", "modalities": { "input": [ "text" @@ -75394,193 +83928,434 @@ }, "limit": { "context": 131072, - "output": 8192 + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-05-28", + "last_updated": "2025-05-28", + "cost": { + "input": 1.2, + "output": 6 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-Coder-7B-Instruct", - "name": "Qwen/Qwen2.5-Coder-7B-Instruct", - "display_name": "Qwen/Qwen2.5-Coder-7B-Instruct", + "id": "o3-pro", + "name": "o3-pro", + "display_name": "o3-pro", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 200000, + "output": 100000 }, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false - } + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2025-06-10", + "last_updated": "2025-06-10", + "cost": { + "input": 20, + "output": 40 + }, + "type": "chat" }, { - "id": "internlm/internlm2_5-7b-chat", - "name": "internlm/internlm2_5-7b-chat", - "display_name": "internlm/internlm2_5-7b-chat", + "id": "claude-opus-4-1-20250805", + "name": "Claude Opus 4.1", + "display_name": "Claude Opus 4.1", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 200000, + "output": 32000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "cost": { + "input": 15, + "output": 75 }, "type": "chat" }, { - "id": "Qwen/Qwen2-7B-Instruct", - "name": "Qwen/Qwen2-7B-Instruct", - "display_name": "Qwen/Qwen2-7B-Instruct", + "id": "grok-4-1-fast-non-reasoning", + "name": "Grok 4.1 Fast (Non-Reasoning)", + "display_name": "Grok 4.1 Fast (Non-Reasoning)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 2000000, + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, + "attachment": true, + "open_weights": false, + "release_date": "2025-11-17", + "last_updated": "2025-11-17", + "cost": { + "input": 0.2, + "output": 0.5 + }, "type": "chat" }, { - "id": "THUDM/glm-4-9b-chat", - "name": "THUDM/glm-4-9b-chat", - "display_name": "THUDM/glm-4-9b-chat", + "id": "claude-opus-4-5-20251101", + "name": "Claude Opus 4.5", + "display_name": "Claude Opus 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 200000, + "output": 64000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-11-01", + "last_updated": "2025-11-01", + "cost": { + "input": 5, + "output": 25 }, "type": "chat" }, { - "id": "BAAI/bge-large-en-v1.5", - "name": "BAAI/bge-large-en-v1.5", - "display_name": "BAAI/bge-large-en-v1.5", + "id": "gpt-5.1-codex", + "name": "GPT-5.1 Codex", + "display_name": "GPT-5.1 Codex", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 400000, + "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "type": "embedding" + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "cost": { + "input": 1.25, + "output": 10 + }, + "type": "chat" }, { - "id": "BAAI/bge-large-zh-v1.5", - "name": "BAAI/bge-large-zh-v1.5", - "display_name": "BAAI/bge-large-zh-v1.5", + "id": "gpt-5.1-codex-max", + "name": "GPT-5.1 Codex Max", + "display_name": "GPT-5.1 Codex Max", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 400000, + "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "type": "embedding" + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "cost": { + "input": 1.25, + "output": 10 + }, + "type": "chat" }, { - "id": "LoRA/Qwen/Qwen2.5-32B-Instruct", - "name": "LoRA/Qwen/Qwen2.5-32B-Instruct", - "display_name": "LoRA/Qwen/Qwen2.5-32B-Instruct", + "id": "claude-opus-4-20250514", + "name": "Claude Opus 4", + "display_name": "Claude Opus 4", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 200000, + "output": 32000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-05-14", + "last_updated": "2025-05-14", + "cost": { + "input": 15, + "output": 75 }, "type": "chat" }, { - "id": "LoRA/Qwen/Qwen2.5-14B-Instruct", - "name": "LoRA/Qwen/Qwen2.5-14B-Instruct", - "display_name": "LoRA/Qwen/Qwen2.5-14B-Instruct", + "id": "gpt-5.3-chat-latest", + "name": "GPT-5.3 Chat Latest", + "display_name": "GPT-5.3 Chat Latest", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 400000, + "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-03-01", + "last_updated": "2026-03-01", + "cost": { + "input": 1.75, + "output": 14 }, "type": "chat" }, { - "id": "Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", - "name": "Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", - "display_name": "Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", + "id": "o3-mini", + "name": "o3-mini", + "display_name": "o3-mini", "modalities": { "input": [ "text" @@ -75590,20 +84365,44 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 200000, + "output": 100000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": false, + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2024-12-20", + "last_updated": "2025-01-29", + "cost": { + "input": 1.1, + "output": 4.4 + }, "type": "chat" }, { - "id": "Pro/Qwen/Qwen2.5-Coder-7B-Instruct", - "name": "Pro/Qwen/Qwen2.5-Coder-7B-Instruct", - "display_name": "Pro/Qwen/Qwen2.5-Coder-7B-Instruct", + "id": "kimi-k2-turbo-preview", + "name": "Kimi K2 Turbo Preview", + "display_name": "Kimi K2 Turbo Preview", "modalities": { "input": [ "text" @@ -75613,401 +84412,413 @@ ] }, "limit": { - "context": 131072, + "context": 256000, "output": 8192 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false - } + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-07-08", + "last_updated": "2025-07-08", + "cost": { + "input": 0.15, + "output": 8 + }, + "type": "chat" }, { - "id": "Pro/BAAI/bge-m3", - "name": "Pro/BAAI/bge-m3", - "display_name": "Pro/BAAI/bge-m3", + "id": "gpt-5.2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 400000, + "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "type": "embedding" + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "cost": { + "input": 1.75, + "output": 14 + }, + "type": "chat" }, { - "id": "Pro/Qwen/Qwen2.5-7B-Instruct", - "name": "Pro/Qwen/Qwen2.5-7B-Instruct", - "display_name": "Pro/Qwen/Qwen2.5-7B-Instruct", + "id": "gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "display_name": "GPT-5.3 Codex", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 400000, + "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false - }, - "type": "chat" - }, - { - "id": "Pro/BAAI/bge-reranker-v2-m3", - "name": "Pro/BAAI/bge-reranker-v2-m3", - "display_name": "Pro/BAAI/bge-reranker-v2-m3", - "modalities": { - "input": [ - "text" - ], - "output": [ - "score" - ] + "supported": true, + "default": true }, - "limit": { - "context": 8192, - "output": 2048 + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, - "tool_call": false, - "reasoning": { - "supported": false + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "cost": { + "input": 1.75, + "output": 14 }, - "type": "rerank" + "type": "chat" }, { - "id": "LoRA/Qwen/Qwen2.5-72B-Instruct", - "name": "LoRA/Qwen/Qwen2.5-72B-Instruct", - "display_name": "LoRA/Qwen/Qwen2.5-72B-Instruct", + "id": "grok-4-0709", + "name": "Grok 4", + "display_name": "Grok 4", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 256000, + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "cost": { + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "Pro/Qwen/Qwen2-7B-Instruct", - "name": "Pro/Qwen/Qwen2-7B-Instruct", - "display_name": "Pro/Qwen/Qwen2-7B-Instruct", + "id": "claude-sonnet-4-20250514", + "name": "Claude Sonnet 4", + "display_name": "Claude Sonnet 4", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 200000, + "output": 64000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-05-14", + "last_updated": "2025-05-14", + "cost": { + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "LoRA/Qwen/Qwen2.5-7B-Instruct", - "name": "LoRA/Qwen/Qwen2.5-7B-Instruct", - "display_name": "LoRA/Qwen/Qwen2.5-7B-Instruct", + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 262144, + "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", + "cost": { + "input": 0.6, + "output": 3 }, "type": "chat" }, { - "id": "Pro/THUDM/glm-4-9b-chat", - "name": "Pro/THUDM/glm-4-9b-chat", - "display_name": "Pro/THUDM/glm-4-9b-chat", + "id": "gpt-5.1-chat-latest", + "name": "GPT-5.1 Chat Latest", + "display_name": "GPT-5.1 Chat Latest", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 400000, + "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "cost": { + "input": 1.25, + "output": 10 }, "type": "chat" }, { - "id": "THUDM/GLM-Z1-Rumination-32B-0414", - "name": "THUDM/GLM-Z1-Rumination-32B-0414", - "display_name": "THUDM/GLM-Z1-Rumination-32B-0414", + "id": "gpt-5.2-chat-latest", + "name": "GPT-5.2 Chat Latest", + "display_name": "GPT-5.2 Chat Latest", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 400000, + "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "type": "chat" - }, - { - "id": "stabilityai/stable-diffusion-xl-base-1.0", - "name": "stabilityai/stable-diffusion-xl-base-1.0", - "display_name": "stabilityai/stable-diffusion-xl-base-1.0", - "modalities": { - "input": [ - "text" - ], - "output": [ - "image" - ] + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2026-01-01", + "last_updated": "2026-01-01", + "cost": { + "input": 1.75, + "output": 14 }, - "tool_call": false, - "reasoning": { - "supported": false - } + "type": "chat" }, { - "id": "black-forest-labs/FLUX.1-schnell", - "name": "black-forest-labs/FLUX.1-schnell", - "display_name": "black-forest-labs/FLUX.1-schnell", + "id": "gpt-4.1-nano", + "name": "GPT-4.1 Nano", + "display_name": "GPT-4.1 Nano", "modalities": { "input": [ - "text" - ], - "output": [ + "text", "image" - ] - }, - "tool_call": false, - "reasoning": { - "supported": false - } - }, - { - "id": "black-forest-labs/FLUX.1-dev", - "name": "black-forest-labs/FLUX.1-dev", - "display_name": "black-forest-labs/FLUX.1-dev", - "modalities": { - "input": [ - "text" ], "output": [ - "image" - ] - }, - "tool_call": false, - "reasoning": { - "supported": false - } - }, - { - "id": "Pro/black-forest-labs/FLUX.1-schnell", - "name": "Pro/black-forest-labs/FLUX.1-schnell", - "display_name": "Pro/black-forest-labs/FLUX.1-schnell", - "modalities": { - "input": [ "text" - ], - "output": [ - "image" ] }, - "tool_call": false, - "reasoning": { - "supported": false - } - }, - { - "id": "stabilityai/stable-diffusion-3-5-large", - "name": "stabilityai/stable-diffusion-3-5-large", - "display_name": "stabilityai/stable-diffusion-3-5-large", - "modalities": { - "input": [ - "text" - ], - "output": [ - "image" - ] + "limit": { + "context": 1047576, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false - } - }, - { - "id": "fishaudio/fish-speech-1.4", - "name": "fishaudio/fish-speech-1.4", - "display_name": "fishaudio/fish-speech-1.4", - "modalities": { - "input": [ - "text" - ], - "output": [ - "audio" - ] }, - "tool_call": false, - "reasoning": { - "supported": false - } - }, - { - "id": "RVC-Boss/GPT-SoVITS", - "name": "RVC-Boss/GPT-SoVITS", - "display_name": "RVC-Boss/GPT-SoVITS", - "modalities": { - "input": [ - "text" - ], - "output": [ - "audio" - ] + "attachment": true, + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "cost": { + "input": 0.1, + "output": 0.4 }, - "tool_call": false, - "reasoning": { - "supported": false - } + "type": "chat" }, { - "id": "fishaudio/fish-speech-1.5", - "name": "fishaudio/fish-speech-1.5", - "display_name": "fishaudio/fish-speech-1.5", + "id": "gpt-4o-2024-11-20", + "name": "GPT-4o (2024-11-20)", + "display_name": "GPT-4o (2024-11-20)", "modalities": { "input": [ - "text" - ], - "output": [ + "text", + "image", "audio" - ] - }, - "tool_call": false, - "reasoning": { - "supported": false - } - }, - { - "id": "black-forest-labs/FLUX.1-pro", - "name": "black-forest-labs/FLUX.1-pro", - "display_name": "black-forest-labs/FLUX.1-pro", - "modalities": { - "input": [ - "text" - ], - "output": [ - "image" - ] - }, - "tool_call": false, - "reasoning": { - "supported": false - } - }, - { - "id": "LoRA/black-forest-labs/FLUX.1-dev", - "name": "LoRA/black-forest-labs/FLUX.1-dev", - "display_name": "LoRA/black-forest-labs/FLUX.1-dev", - "modalities": { - "input": [ - "text" - ], - "output": [ - "image" - ] - }, - "tool_call": false, - "reasoning": { - "supported": false - } - }, - { - "id": "SeedLLM/Seed-Rice-7B", - "name": "SeedLLM/Seed-Rice-7B", - "display_name": "SeedLLM/Seed-Rice-7B", - "modalities": { - "input": [ - "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 128000, + "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-10", + "release_date": "2024-11-20", + "last_updated": "2024-11-20", + "cost": { + "input": 2.5, + "output": 10 + }, "type": "chat" - } - ] - }, - "zhipuai-coding-plan": { - "id": "zhipuai-coding-plan", - "name": "Zhipu AI Coding Plan", - "display_name": "Zhipu AI Coding Plan", - "api": "https://open.bigmodel.cn/api/coding/paas/v4", - "doc": "https://docs.bigmodel.cn/cn/coding-plan/overview", - "models": [ + }, { - "id": "glm-5v-turbo", - "name": "GLM-5V-Turbo", - "display_name": "GLM-5V-Turbo", + "id": "claude-3-7-sonnet-20250219", + "name": "Claude Sonnet 3.7", + "display_name": "Claude Sonnet 3.7", "modalities": { "input": [ "text", "image", - "video", "pdf" ], "output": [ @@ -76016,132 +84827,153 @@ }, "limit": { "context": 200000, - "output": 131072 + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": false, + "summaries": false, + "visibility": "full", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic uses thinking budget tokens" ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-04-01", - "last_updated": "2026-04-01", + "knowledge": "2024-10-31", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "glm-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "gpt-5.4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 2.5, + "output": 15 }, "type": "chat" }, { - "id": "glm-4.5-air", - "name": "GLM-4.5-Air", - "display_name": "GLM-4.5-Air", + "id": "gpt-4.1", + "name": "GPT-4.1", + "display_name": "GPT-4.1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 98304 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "attachment": true, + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 2, + "output": 8 }, "type": "chat" }, { - "id": "glm-5-turbo", - "name": "GLM-5-Turbo", - "display_name": "GLM-5-Turbo", + "id": "gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "display_name": "Gemini 3.1 Pro Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -76152,65 +84984,98 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-03-16", - "last_updated": "2026-03-16", + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 2, + "output": 12 }, "type": "chat" }, { - "id": "glm-4.6v", - "name": "GLM-4.6V", - "display_name": "GLM-4.6V", + "id": "claude-opus-4-6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 200000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } }, "attachment": true, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-08", - "last_updated": "2025-12-08", + "open_weights": false, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 0.3, - "output": 0.9 + "input": 5, + "output": 25 }, "type": "chat" }, { - "id": "glm-4.7", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "qwen-2.5-coder-32b", + "name": "Qwen 2.5 Coder 32B", + "display_name": "Qwen 2.5 Coder 32B", "modalities": { "input": [ "text" @@ -76220,51 +85085,28 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "release_date": "2024-11-11", + "last_updated": "2024-11-11", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.79, + "output": 0.79 }, "type": "chat" - } - ] - }, - "xai": { - "id": "xai", - "name": "xai", - "display_name": "xai", - "doc": "https://docs.x.ai/docs/models", - "models": [ + }, { - "id": "grok-build-0.1", - "name": "Grok Build 0.1", - "display_name": "Grok Build 0.1", + "id": "claude-sonnet-4-5-20250929", + "name": "Claude Sonnet 4.5", + "display_name": "Claude Sonnet 4.5", "modalities": { "input": [ "text", @@ -76276,173 +85118,153 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-04-16", - "last_updated": "2026-04-16", - "cost": { - "input": 1, - "output": 2, - "cache_read": 0.2, - "tiers": [ - { - "input": 2, - "output": 4, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 4, - "cache_read": 0.4 - } + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "cost": { + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "grok-4.20-0309-reasoning", - "name": "Grok 4.20 (Reasoning)", - "display_name": "Grok 4.20 (Reasoning)", + "id": "gpt-5-mini", + "name": "GPT-5 Mini", + "display_name": "GPT-5 Mini", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 30000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, "attachment": true, "open_weights": false, - "release_date": "2026-03-09", - "last_updated": "2026-03-09", + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 5, - "cache_read": 0.4 - } + "input": 0.25, + "output": 2 }, "type": "chat" }, { - "id": "grok-4.20-multi-agent-0309", - "name": "Grok 4.20 Multi-Agent", - "display_name": "Grok 4.20 Multi-Agent", + "id": "gpt-4.1-mini", + "name": "GPT-4.1 Mini", + "display_name": "GPT-4.1 Mini", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 30000 + "context": 1047576, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-03-09", - "last_updated": "2026-03-09", + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 5, - "cache_read": 0.4 - } + "input": 0.4, + "output": 1.6 }, "type": "chat" }, { - "id": "grok-4.3", - "name": "Grok 4.3", - "display_name": "Grok 4.3", + "id": "gpt-5-nano", + "name": "GPT-5 Nano", + "display_name": "GPT-5 Nano", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 30000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -76450,40 +85272,40 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2026-04-17", - "last_updated": "2026-04-17", + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 5, - "cache_read": 0.4 - } + "input": 0.05, + "output": 0.4 }, "type": "chat" }, { - "id": "grok-imagine-image", - "name": "Grok Imagine Image", - "display_name": "Grok Imagine Image", + "id": "claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ "text", @@ -76491,42 +85313,74 @@ "pdf" ], "output": [ - "image", - "pdf" + "text" ] }, "limit": { - "context": 8000, - "output": 8192 + "context": 200000, + "output": 64000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2026-01-28", - "last_updated": "2026-01-28", + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", + "cost": { + "input": 3, + "output": 15 + }, "type": "chat" }, { - "id": "grok-4.20-0309-non-reasoning", - "name": "Grok 4.20 (Non-Reasoning)", - "display_name": "Grok 4.20 (Non-Reasoning)", + "id": "grok-4-fast-non-reasoning", + "name": "Grok 4 Fast (Non-Reasoning)", + "display_name": "Grok 4 Fast (Non-Reasoning)", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 30000 + "context": 2000000, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -76535,180 +85389,261 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-03-09", - "last_updated": "2026-03-09", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 5, - "cache_read": 0.4 - } + "input": 0.2, + "output": 0.5 }, "type": "chat" }, { - "id": "grok-imagine-image-quality", - "name": "Grok Imagine Image Quality", - "display_name": "Grok Imagine Image Quality", + "id": "gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "display_name": "Gemini 3 Flash Preview", "modalities": { "input": [ "text", "image", + "audio", + "video", "pdf" ], "output": [ - "image", - "pdf" + "text" ] }, "limit": { - "context": 8000, - "output": 8192 + "context": 1048576, + "output": 65536 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2026-04-03", - "last_updated": "2026-04-03", + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "cost": { + "input": 0.5, + "output": 3 + }, "type": "chat" }, { - "id": "grok-imagine-video", - "name": "Grok Imagine Video", - "display_name": "Grok Imagine Video", + "id": "gpt-4o-mini", + "name": "GPT-4o Mini", + "display_name": "GPT-4o Mini", "modalities": { "input": [ "text", - "image", - "video", - "pdf" + "image" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 1024, - "output": 8192 + "context": 128000, + "output": 16384 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-01-28", - "last_updated": "2026-01-28", + "knowledge": "2024-04", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "cost": { + "input": 0.15, + "output": 0.6 + }, "type": "chat" }, { - "id": "grok-3-mini-fast-beta", - "name": "Grok 3 Mini Fast Beta", - "display_name": "Grok 3 Mini Fast Beta", + "id": "gpt-5-codex", + "name": "GPT-5 Codex", + "display_name": "GPT-5 Codex", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 120000, - "output": 100000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true, - "effort": "low" + "default": true }, - "search": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": false, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "cost": { + "input": 1.25, + "output": 10 + }, "type": "chat" }, { - "id": "grok-3-mini-beta", - "name": "Grok 3 Mini Beta", - "display_name": "Grok 3 Mini Beta", + "id": "gemini-3.1-flash-lite-preview", + "name": "Gemini 3.1 Flash Lite Preview", + "display_name": "Gemini 3.1 Flash Lite Preview", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 120000, - "output": 100000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true, - "effort": "low" + "default": true }, - "search": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-03-01", + "last_updated": "2026-03-01", + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "cache_write": 1 }, - "attachment": false, "type": "chat" }, { - "id": "grok-3-fast-beta", - "name": "Grok 3 Fast Beta", - "display_name": "Grok 3 Fast Beta", + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "display_name": "GPT-5.2 Codex", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 120000, - "output": 100000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "search": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "cost": { + "input": 1.75, + "output": 14 }, - "attachment": false, "type": "chat" }, { - "id": "grok-2-vision-1212", - "name": "Grok 2 Vision 1212", - "display_name": "Grok 2 Vision 1212", + "id": "gpt-5.1", + "name": "GPT-5.1", + "display_name": "GPT-5.1", "modalities": { "input": [ "text", @@ -76719,24 +85654,51 @@ ] }, "limit": { - "context": 32000, - "output": 32000 + "context": 400000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "search": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "cost": { + "input": 1.25, + "output": 10 }, - "attachment": false, "type": "chat" }, { - "id": "grok-2-image-1212", - "name": "Grok 2 Image 1212", - "display_name": "Grok 2 Image 1212", + "id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", + "name": "Llama 4 Maverick 17B 128E Instruct FP8", + "display_name": "Llama 4 Maverick 17B 128E Instruct FP8", "modalities": { "input": [ "text", @@ -76747,24 +85709,29 @@ ] }, "limit": { - "context": 130000, - "output": 100000 + "context": 1000000, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "search": { - "supported": false + "attachment": true, + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "cost": { + "input": 0.14, + "output": 0.59 }, - "attachment": false, "type": "chat" }, { - "id": "grok-3-beta", - "name": "Grok 3 Beta", - "display_name": "Grok 3 Beta", + "id": "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo", + "name": "Llama 3.1 405B Instruct Turbo", + "display_name": "Llama 3.1 405B Instruct Turbo", "modalities": { "input": [ "text" @@ -76774,24 +85741,28 @@ ] }, "limit": { - "context": 120000, - "output": 100000 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "search": { - "supported": false - }, "attachment": false, + "open_weights": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "cost": { + "input": 3.5, + "output": 3.5 + }, "type": "chat" }, { - "id": "grok-2-1212", - "name": "Grok 2 1212", - "display_name": "Grok 2 1212", + "id": "meta-llama/Meta-Llama-3.1-8B-Instruct", + "name": "Llama 3.1 8B Instruct", + "display_name": "Llama 3.1 8B Instruct", "modalities": { "input": [ "text" @@ -76801,77 +85772,39 @@ ] }, "limit": { - "context": 120000, - "output": 100000 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "search": { - "supported": false - }, "attachment": false, - "type": "chat" - } - ] - }, - "v0": { - "id": "v0", - "name": "v0", - "display_name": "v0", - "doc": "https://sdk.vercel.ai/providers/ai-sdk-providers/vercel", - "models": [ - { - "id": "v0-1.5-lg", - "name": "v0-1.5-lg", - "display_name": "v0-1.5-lg", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 512000, - "output": 32000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": true, - "open_weights": false, - "release_date": "2025-06-09", - "last_updated": "2025-06-09", + "open_weights": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 15, - "output": 75 + "input": 0.02, + "output": 0.05 }, "type": "chat" }, { - "id": "v0-1.0-md", - "name": "v0-1.0-md", - "display_name": "v0-1.0-md", + "id": "Qwen/qwen3-coder-480b-a35b-instruct", + "name": "Qwen3 Coder 480B A35B Instruct", + "display_name": "Qwen3 Coder 480B A35B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32000 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -76879,32 +85812,31 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "attachment": false, + "open_weights": true, + "release_date": "2025-07-22", + "last_updated": "2025-07-22", "cost": { - "input": 3, - "output": 15 + "input": 0.29, + "output": 1.2 }, "type": "chat" }, { - "id": "v0-1.5-md", - "name": "v0-1.5-md", - "display_name": "v0-1.5-md", + "id": "Qwen/QwQ-32B", + "name": "QwQ 32B", + "display_name": "QwQ 32B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32000 + "context": 32768, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -76912,29 +85844,31 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-06-09", - "last_updated": "2025-06-09", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2024-11-28", + "last_updated": "2024-11-28", "cost": { - "input": 3, - "output": 15 + "input": 0.4, + "output": 0.4 }, "type": "chat" - } - ] - }, - "neuralwatt": { - "id": "neuralwatt", - "name": "Neuralwatt", - "display_name": "Neuralwatt", - "api": "https://api.neuralwatt.com/v1", - "doc": "https://portal.neuralwatt.com/docs", - "models": [ + }, { - "id": "glm-5-fast", - "name": "GLM 5 Fast", - "display_name": "GLM 5 Fast", + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "name": "Qwen3 235B A22B Instruct", + "display_name": "Qwen3 235B A22B Instruct", "modalities": { "input": [ "text" @@ -76944,28 +85878,29 @@ ] }, "limit": { - "context": 202736, - "output": 202736 + "context": 262144, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "release_date": "2026-04-07", - "last_updated": "2026-04-07", + "release_date": "2025-07-01", + "last_updated": "2025-07-01", "cost": { - "input": 1.1, - "output": 3.6 + "input": 0.13, + "output": 0.6 }, "type": "chat" }, { - "id": "qwen3.5-397b-fast", - "name": "Qwen3.5 397B Fast", - "display_name": "Qwen3.5 397B Fast", + "id": "Qwen/Qwen3-32B", + "name": "Qwen3 32B", + "display_name": "Qwen3 32B", "modalities": { "input": [ "text" @@ -76975,13 +85910,14 @@ ] }, "limit": { - "context": 262128, - "output": 262128 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -76996,50 +85932,49 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-02-01", - "last_updated": "2026-02-01", + "release_date": "2025-04-29", + "last_updated": "2025-04-29", "cost": { - "input": 0.69, - "output": 4.14 + "input": 0.09, + "output": 0.29 }, "type": "chat" }, { - "id": "kimi-k2.5-fast", - "name": "Kimi K2.5 Fast", - "display_name": "Kimi K2.5 Fast", + "id": "Qwen/Qwen2.5-72B-Instruct", + "name": "Qwen 2.5 72B Instruct", + "display_name": "Qwen 2.5 72B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262128, - "output": 262128 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "release_date": "2024-09-19", + "last_updated": "2024-09-19", "cost": { - "input": 0.52, - "output": 2.59 + "input": 0.11, + "output": 0.38 }, "type": "chat" }, { - "id": "qwen3.6-35b-fast", - "name": "Qwen3.6 35B Fast", - "display_name": "Qwen3.6 35B Fast", + "id": "openai/gpt-oss-120b", + "name": "GPT-OSS 120B", + "display_name": "GPT-OSS 120B", "modalities": { "input": [ "text", @@ -77050,71 +85985,76 @@ ] }, "limit": { - "context": 131056, - "output": 131056 + "context": 128000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": true, "open_weights": true, - "release_date": "2026-04-01", - "last_updated": "2026-04-01", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.29, - "output": 1.15 + "input": 0.08, + "output": 0.44 }, "type": "chat" }, { - "id": "kimi-k2.6-fast", - "name": "Kimi K2.6 Fast", - "display_name": "Kimi K2.6 Fast", + "id": "zai-org/glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262128, - "output": 262128 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": true, - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "release_date": "2025-06-01", + "last_updated": "2025-06-01", "cost": { - "input": 0.69, - "output": 3.22 + "input": 0.6, + "output": 2.2 }, "type": "chat" }, { - "id": "glm-5.1-fast", - "name": "GLM 5.1 Fast", - "display_name": "GLM 5.1 Fast", + "id": "zai-org/glm-4.5", + "name": "GLM-4.5", + "display_name": "GLM-4.5", "modalities": { "input": [ "text" @@ -77124,60 +86064,65 @@ ] }, "limit": { - "context": 202736, - "output": 202736 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "release_date": "2026-04-07", - "last_updated": "2026-04-07", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 1.1, - "output": 3.6 + "input": 0.6, + "output": 2.2 }, "type": "chat" }, { - "id": "mistralai/Devstral-Small-2-24B-Instruct-2512", - "name": "Devstral Small 2 24B Instruct 2512", - "display_name": "Devstral Small 2 24B Instruct 2512", + "id": "zai-org/glm-4.6", + "name": "GLM-4.6", + "display_name": "GLM-4.6", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262128, - "output": 262128 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, "open_weights": true, - "release_date": "2025-12-09", - "last_updated": "2025-12-09", + "release_date": "2025-03-01", + "last_updated": "2025-03-01", "cost": { - "input": 0.12, - "output": 0.35 + "input": 0.6, + "output": 2.2 }, "type": "chat" }, { - "id": "MiniMaxAI/MiniMax-M2.5", - "name": "MiniMax M2.5", - "display_name": "MiniMax M2.5", + "id": "zai-org/glm-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ "text" @@ -77187,8 +86132,8 @@ ] }, "limit": { - "context": 196592, - "output": 196592 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -77209,18 +86154,18 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 0.35, - "output": 1.38 + "input": 1, + "output": 3.2 }, "type": "chat" }, { - "id": "zai-org/GLM-5.1-FP8", - "name": "GLM 5.1 FP8", - "display_name": "GLM 5.1 FP8", + "id": "deepseek-ai/DeepSeek-R1", + "name": "DeepSeek R1", + "display_name": "DeepSeek R1", "modalities": { "input": [ "text" @@ -77230,8 +86175,8 @@ ] }, "limit": { - "context": 202736, - "output": 202736 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -77252,30 +86197,29 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-04-07", - "last_updated": "2026-04-07", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", "cost": { - "input": 1.1, - "output": 3.6 + "input": 3, + "output": 7 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "deepseek-ai/DeepSeek-V3.1-Terminus", + "name": "DeepSeek V3.1 Terminus", + "display_name": "DeepSeek V3.1 Terminus", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262128, - "output": 262128 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -77283,43 +86227,31 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "release_date": "2025-06-01", + "last_updated": "2025-06-01", "cost": { - "input": 0.69, - "output": 3.22 + "input": 0.27, + "output": 1 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "deepseek-ai/DeepSeek-V3.2", + "name": "DeepSeek V3.2", + "display_name": "DeepSeek V3.2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262128, - "output": 262128 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -77329,41 +86261,34 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "release_date": "2025-06-15", + "last_updated": "2025-06-15", "cost": { - "input": 0.52, - "output": 2.59 + "input": 0.27, + "output": 0.4 }, "type": "chat" }, { - "id": "Qwen/Qwen3.6-35B-A3B", - "name": "Qwen3.6 35B A3B", - "display_name": "Qwen3.6 35B A3B", + "id": "deepseek/deepseek-v3.1", + "name": "DeepSeek V3.1", + "display_name": "DeepSeek V3.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131056, - "output": 131056 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -77371,31 +86296,29 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-04-01", - "last_updated": "2026-04-01", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", "cost": { - "input": 0.29, - "output": 1.15 + "input": 0.55, + "output": 1.66 }, "type": "chat" - }, + } + ] + }, + "cloudferro-sherlock": { + "id": "cloudferro-sherlock", + "name": "CloudFerro Sherlock", + "display_name": "CloudFerro Sherlock", + "api": "https://api-sherlock.cloudferro.com/openai/v1/", + "doc": "https://docs.sherlock.cloudferro.com/", + "models": [ { - "id": "Qwen/Qwen3.5-397B-A17B-FP8", - "name": "Qwen3.5 397B A17B FP8", - "display_name": "Qwen3.5 397B A17B FP8", + "id": "meta-llama/Llama-3.3-70B-Instruct", + "name": "Llama 3.3 70B Instruct", + "display_name": "Llama 3.3 70B Instruct", "modalities": { "input": [ "text" @@ -77405,40 +86328,29 @@ ] }, "limit": { - "context": 262128, - "output": 262128 + "context": 70000, + "output": 70000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2026-02-01", - "last_updated": "2026-02-01", + "knowledge": "2024-10-09", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 0.69, - "output": 4.14 + "input": 2.92, + "output": 2.92 }, "type": "chat" }, { - "id": "openai/gpt-oss-20b", - "name": "GPT OSS 20B", - "display_name": "GPT OSS 20B", + "id": "openai/gpt-oss-120b", + "name": "OpenAI GPT OSS 120B", + "display_name": "OpenAI GPT OSS 120B", "modalities": { "input": [ "text" @@ -77448,8 +86360,8 @@ ] }, "limit": { - "context": 16368, - "output": 16368 + "context": 131000, + "output": 131000 }, "temperature": true, "tool_call": true, @@ -77464,27 +86376,18 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "release_date": "2025-08-28", + "last_updated": "2025-08-28", "cost": { - "input": 0.03, - "output": 0.16 + "input": 2.92, + "output": 2.92 }, "type": "chat" - } - ] - }, - "friendli": { - "id": "friendli", - "name": "Friendli", - "display_name": "Friendli", - "api": "https://api.friendli.ai/serverless/v1", - "doc": "https://friendli.ai/docs/guides/serverless_endpoints/introduction", - "models": [ + }, { - "id": "MiniMaxAI/MiniMax-M2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "speakleash/Bielik-11B-v3.0-Instruct", + "name": "Bielik 11B v3.0 Instruct", + "display_name": "Bielik 11B v3.0 Instruct", "modalities": { "input": [ "text" @@ -77494,41 +86397,29 @@ ] }, "limit": { - "context": 196608, - "output": 196608 + "context": 32000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "knowledge": "2025-03", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06 + "input": 0.67, + "output": 0.67 }, "type": "chat" }, { - "id": "zai-org/GLM-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "speakleash/Bielik-11B-v2.6-Instruct", + "name": "Bielik 11B v2.6 Instruct", + "display_name": "Bielik 11B v2.6 Instruct", "modalities": { "input": [ "text" @@ -77538,41 +86429,29 @@ ] }, "limit": { - "context": 202752, - "output": 202752 + "context": 32000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "knowledge": "2025-03", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", "cost": { - "input": 1, - "output": 3.2, - "cache_read": 0.5 + "input": 0.67, + "output": 0.67 }, "type": "chat" }, { - "id": "zai-org/GLM-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ "text" @@ -77582,8 +86461,8 @@ ] }, "limit": { - "context": 202752, - "output": 202752 + "context": 196000, + "output": 16000 }, "temperature": true, "tool_call": true, @@ -77593,61 +86472,81 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": true, - "release_date": "2026-04-07", - "last_updated": "2026-04-07", + "knowledge": "2026-01", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 1.4, - "output": 4.4, - "cache_read": 0.26 + "input": 0.3, + "output": 1.2 }, "type": "chat" - }, + } + ] + }, + "cloudflare-ai-gateway": { + "id": "cloudflare-ai-gateway", + "name": "Cloudflare AI Gateway", + "display_name": "Cloudflare AI Gateway", + "doc": "https://developers.cloudflare.com/ai-gateway/", + "models": [ { - "id": "meta-llama/Llama-3.1-8B-Instruct", - "name": "Llama 3.1 8B Instruct", - "display_name": "Llama 3.1 8B Instruct", + "id": "openai/o3", + "name": "o3", + "display_name": "o3", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8000 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-08-01", - "last_updated": "2025-12-23", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", "cost": { - "input": 0.1, - "output": 0.1 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "meta-llama/Llama-3.3-70B-Instruct", - "name": "Llama 3.3 70B Instruct", - "display_name": "Llama 3.3 70B Instruct", + "id": "openai/gpt-3.5-turbo", + "name": "GPT-3.5-turbo", + "display_name": "GPT-3.5-turbo", "modalities": { "input": [ "text" @@ -77657,161 +86556,145 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 16385, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2024-08-01", - "last_updated": "2025-12-23", + "open_weights": false, + "knowledge": "2021-09-01", + "release_date": "2023-03-01", + "last_updated": "2023-11-06", "cost": { - "input": 0.6, - "output": 0.6 + "input": 0.5, + "output": 1.5, + "cache_read": 1.25 }, "type": "chat" }, { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "display_name": "Qwen3 235B A22B Instruct 2507", + "id": "openai/gpt-4o", + "name": "GPT-4o", + "display_name": "GPT-4o", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-07-29", - "last_updated": "2026-01-29", + "attachment": true, + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-08-06", "cost": { - "input": 0.2, - "output": 0.8 + "input": 2.5, + "output": 10, + "cache_read": 1.25 }, "type": "chat" - } - ] - }, - "github-copilot": { - "id": "github-copilot", - "name": "GitHub Copilot", - "display_name": "GitHub Copilot", - "api": "https://api.githubcopilot.com", - "doc": "https://docs.github.com/en/copilot", - "models": [ + }, { - "id": "raptor-mini", - "name": "Raptor mini", - "display_name": "Raptor mini", + "id": "openai/gpt-4", + "name": "GPT-4", + "display_name": "GPT-4", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 8192, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2023-11", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 30, + "output": 60 }, "type": "chat" }, { - "id": "claude-sonnet-4", - "name": "Claude Sonnet 4 (latest)", - "display_name": "Claude Sonnet 4 (latest)", + "id": "openai/o4-mini", + "name": "o4-mini", + "display_name": "o4-mini", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 216000, - "output": 16000 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 1.1, + "output": 4.4, + "cache_read": 0.28 }, "type": "chat" }, { - "id": "gpt-5-mini", - "name": "GPT-5 Mini", - "display_name": "GPT-5 Mini", + "id": "openai/o3-pro", + "name": "o3-pro", + "display_name": "o3-pro", "modalities": { "input": [ "text", @@ -77822,8 +86705,8 @@ ] }, "limit": { - "context": 264000, - "output": 64000 + "context": 200000, + "output": 100000 }, "temperature": false, "tool_call": true, @@ -77838,13 +86721,6 @@ "mode": "effort", "effort": "medium", "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ "low", "medium", "high" @@ -77854,20 +86730,19 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2024-05", + "release_date": "2025-06-10", + "last_updated": "2025-06-10", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 20, + "output": 80 }, "type": "chat" }, { - "id": "gpt-5.2", - "name": "GPT-5.2", - "display_name": "GPT-5.2", + "id": "openai/gpt-5.1-codex", + "name": "GPT-5.1 Codex", + "display_name": "GPT-5.1 Codex", "modalities": { "input": [ "text", @@ -77897,8 +86772,7 @@ "none", "low", "medium", - "high", - "xhigh" + "high" ], "verbosity": "medium", "verbosity_options": [ @@ -77911,25 +86785,23 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "claude-sonnet-4.6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "openai/o3-mini", + "name": "o3-mini", + "display_name": "o3-mini", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" @@ -77937,64 +86809,48 @@ }, "limit": { "context": 200000, - "output": 32000 + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", + "default_enabled": true, + "mode": "effort", + "effort": "medium", "effort_options": [ "low", "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" + "high" ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] + "visibility": "hidden" } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", + "knowledge": "2024-05", + "release_date": "2024-12-20", + "last_updated": "2025-01-29", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 }, "type": "chat" }, { - "id": "gpt-5.4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "openai/gpt-5.2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -78035,93 +86891,19 @@ "attachment": true, "open_weights": false, "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "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 - } - } - ], - "context_over_200k": { - "input": 5, - "output": 22.5, - "cache_read": 0.5 - } - }, - "type": "chat" - }, - { - "id": "gemini-3-flash-preview", - "name": "Gemini 3 Flash Preview", - "display_name": "Gemini 3 Flash Preview", - "modalities": { - "input": [ - "text", - "image", - "video", - "audio", - "pdf" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 64000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.05, - "input_audio": 1 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "gpt-5.5", - "name": "GPT-5.5", - "display_name": "GPT-5.5", + "id": "openai/gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "display_name": "GPT-5.3 Codex", "modalities": { "input": [ "text", @@ -78165,41 +86947,24 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5, - "tiers": [ - { - "input": 10, - "output": 45, - "cache_read": 1, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 10, - "output": 45, - "cache_read": 1 - } + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "claude-opus-4.5", - "name": "Claude Opus 4.5 (latest)", - "display_name": "Claude Opus 4.5 (latest)", + "id": "openai/o1", + "name": "o1", + "display_name": "o1", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -78207,58 +86972,44 @@ }, "limit": { "context": 200000, - "output": 32000 + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", + "default_enabled": true, + "mode": "effort", + "effort": "medium", "effort_options": [ "low", "medium", "high" ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." - ] + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", + "knowledge": "2023-09", + "release_date": "2024-12-05", + "last_updated": "2024-12-05", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 15, + "output": 60, + "cache_read": 7.5 }, "type": "chat" }, { - "id": "claude-opus-4.7", - "name": "Claude Opus 4.7", - "display_name": "Claude Opus 4.7", + "id": "openai/gpt-5.4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ "text", @@ -78270,8 +87021,8 @@ ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 1050000, + "output": 128000 }, "temperature": false, "tool_call": true, @@ -78284,51 +87035,43 @@ "supported": true, "default_enabled": false, "mode": "effort", - "effort": "high", + "effort": "none", "effort_options": [ + "none", "low", "medium", "high", - "xhigh", - "max" + "xhigh" ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 2.5, + "output": 15, + "cache_read": 0.25 }, "type": "chat" }, { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "display_name": "Gemini 2.5 Pro", + "id": "openai/gpt-4-turbo", + "name": "GPT-4 Turbo", + "display_name": "GPT-4 Turbo", "modalities": { "input": [ "text", - "image", - "audio", - "video", - "pdf" + "image" ], "output": [ "text" @@ -78336,70 +87079,32 @@ }, "limit": { "context": 128000, - "output": 64000 + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "knowledge": "2023-12", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 15, - "cache_read": 0.25 - } + "input": 10, + "output": 30 }, "type": "chat" }, { - "id": "gpt-4.1", - "name": "GPT-4.1", - "display_name": "GPT-4.1", + "id": "openai/gpt-4o-mini", + "name": "GPT-4o mini", + "display_name": "GPT-4o mini", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -78416,24 +87121,25 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "knowledge": "2023-09", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0.15, + "output": 0.6, + "cache_read": 0.08 }, "type": "chat" }, { - "id": "gpt-5.4-nano", - "name": "GPT-5.4 nano", - "display_name": "GPT-5.4 nano", + "id": "openai/gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "display_name": "GPT-5.2 Codex", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" @@ -78447,16 +87153,15 @@ "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", - "effort": "none", + "effort": "medium", "effort_options": [ - "none", "low", "medium", "high", @@ -78474,90 +87179,75 @@ "attachment": true, "open_weights": false, "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.2, - "output": 1.25, - "cache_read": 0.02 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "display_name": "Gemini 3.1 Pro Preview", + "id": "openai/gpt-5.1", + "name": "GPT-5.1", + "display_name": "GPT-5.1", "modalities": { "input": [ "text", - "image", - "video", - "audio", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", "low", + "medium", "high" ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "tiers": [ - { - "input": 4, - "output": 18, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 4, - "output": 18, - "cache_read": 0.4 - } + "input": 1.25, + "output": 10, + "cache_read": 0.13 }, "type": "chat" }, { - "id": "gpt-5.3-codex", - "name": "GPT-5.3 Codex", - "display_name": "GPT-5.3 Codex", + "id": "openai/gpt-5.5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ "text", @@ -78569,7 +87259,7 @@ ] }, "limit": { - "context": 400000, + "context": 1050000, "output": 128000 }, "temperature": false, @@ -78601,26 +87291,40 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 5, + "output": 30, + "cache_read": 0.5, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + } }, "type": "chat" }, { - "id": "gemini-3.5-flash", - "name": "Gemini 3.5 Flash", - "display_name": "Gemini 3.5 Flash", + "id": "anthropic/claude-3.5-haiku", + "name": "Claude Haiku 3.5 (latest)", + "display_name": "Claude Haiku 3.5 (latest)", "modalities": { "input": [ "text", "image", - "video", - "audio", "pdf" ], "output": [ @@ -78629,50 +87333,30 @@ }, "limit": { "context": 200000, - "output": 64000 + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-05-19", - "last_updated": "2026-05-19", + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", "cost": { - "input": 1.5, - "output": 9, - "cache_read": 0.15, - "input_audio": 1.5 + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 }, "type": "chat" }, { - "id": "claude-sonnet-4.5", - "name": "Claude Sonnet 4.5 (latest)", - "display_name": "Claude Sonnet 4.5 (latest)", + "id": "anthropic/claude-3.5-sonnet", + "name": "Claude Sonnet 3.5 v2", + "display_name": "Claude Sonnet 3.5 v2", "modalities": { "input": [ "text", @@ -78685,40 +87369,18 @@ }, "limit": { "context": 200000, - "output": 32000 + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "knowledge": "2024-04-30", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", "cost": { "input": 3, "output": 15, @@ -78728,9 +87390,9 @@ "type": "chat" }, { - "id": "gpt-5.2-codex", - "name": "GPT-5.2 Codex", - "display_name": "GPT-5.2 Codex", + "id": "anthropic/claude-sonnet-4", + "name": "Claude Sonnet 4 (latest)", + "display_name": "Claude Sonnet 4 (latest)", "modalities": { "input": [ "text", @@ -78742,52 +87404,53 @@ ] }, "limit": { - "context": 400000, - "output": 128000 - }, - "temperature": false, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "context": 200000, + "output": 64000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "claude-opus-4.6", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", + "id": "anthropic/claude-opus-4-5", + "name": "Claude Opus 4.5 (latest)", + "display_name": "Claude Opus 4.5 (latest)", "modalities": { "input": [ "text", @@ -78800,7 +87463,7 @@ }, "limit": { "context": 200000, - "output": 32000 + "output": 64000 }, "temperature": true, "tool_call": true, @@ -78821,8 +87484,7 @@ "effort_options": [ "low", "medium", - "high", - "max" + "high" ], "interleaved": true, "summaries": true, @@ -78831,16 +87493,16 @@ "thinking_blocks" ], "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-03-13", + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", "cost": { "input": 5, "output": 25, @@ -78850,9 +87512,9 @@ "type": "chat" }, { - "id": "claude-haiku-4.5", - "name": "Claude Haiku 4.5 (latest)", - "display_name": "Claude Haiku 4.5 (latest)", + "id": "anthropic/claude-sonnet-4-5", + "name": "Claude Sonnet 4.5 (latest)", + "display_name": "Claude Sonnet 4.5 (latest)", "modalities": { "input": [ "text", @@ -78896,21 +87558,21 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "claude-opus-4.8", - "name": "Claude Opus 4.8", - "display_name": "Claude Opus 4.8", + "id": "anthropic/claude-opus-4-7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", "modalities": { "input": [ "text", @@ -78922,8 +87584,8 @@ ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 1000000, + "output": 128000 }, "temperature": false, "tool_call": true, @@ -78959,8 +87621,9 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-05-28", - "last_updated": "2026-05-28", + "knowledge": "2026-01", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { "input": 5, "output": 25, @@ -78970,150 +87633,21 @@ "type": "chat" }, { - "id": "gpt-5.4-mini", - "name": "GPT-5.4 mini", - "display_name": "GPT-5.4 mini", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 400000, - "output": 128000 - }, - "temperature": false, - "tool_call": true, - "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "cost": { - "input": 0.75, - "output": 4.5, - "cache_read": 0.075 - }, - "type": "chat" - } - ] - }, - "inference": { - "id": "inference", - "name": "Inference", - "display_name": "Inference", - "api": "https://inference.net/v1", - "doc": "https://inference.net/models", - "models": [ - { - "id": "osmosis/osmosis-structure-0.6b", - "name": "Osmosis Structure 0.6B", - "display_name": "Osmosis Structure 0.6B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 4000, - "output": 2048 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "cost": { - "input": 0.1, - "output": 0.5 - }, - "type": "chat" - }, - { - "id": "mistral/mistral-nemo-12b-instruct", - "name": "Mistral Nemo 12B Instruct", - "display_name": "Mistral Nemo 12B Instruct", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 16000, - "output": 4096 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "cost": { - "input": 0.038, - "output": 0.1 - }, - "type": "chat" - }, - { - "id": "qwen/qwen-2.5-7b-vision-instruct", - "name": "Qwen 2.5 7B Vision Instruct", - "display_name": "Qwen 2.5 7B Vision Instruct", + "id": "anthropic/claude-3-sonnet", + "name": "Claude Sonnet 3", + "display_name": "Claude Sonnet 3", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 125000, + "context": 200000, "output": 4096 }, "temperature": true, @@ -79122,159 +87656,96 @@ "supported": false }, "attachment": true, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "open_weights": false, + "knowledge": "2023-08-31", + "release_date": "2024-03-04", + "last_updated": "2024-03-04", "cost": { - "input": 0.2, - "output": 0.2 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 0.3 }, "type": "chat" }, { - "id": "qwen/qwen3-embedding-4b", - "name": "Qwen 3 Embedding 4B", - "display_name": "Qwen 3 Embedding 4B", + "id": "anthropic/claude-opus-4-8", + "name": "Claude Opus 4.8", + "display_name": "Claude Opus 4.8", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 32000, - "output": 2048 + "context": 1000000, + "output": 128000 }, "temperature": false, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "cost": { - "input": 0.01, - "output": 0 - }, - "type": "embedding" - }, - { - "id": "meta/llama-3.2-3b-instruct", - "name": "Llama 3.2 3B Instruct", - "display_name": "Llama 3.2 3B Instruct", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 16000, - "output": 4096 - }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "cost": { - "input": 0.02, - "output": 0.02 - }, - "type": "chat" - }, - { - "id": "meta/llama-3.2-11b-vision-instruct", - "name": "Llama 3.2 11B Vision Instruct", - "display_name": "Llama 3.2 11B Vision Instruct", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 16000, - "output": 4096 + "supported": true, + "default": false }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] + } }, "attachment": true, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "cost": { - "input": 0.055, - "output": 0.055 - }, - "type": "chat" - }, - { - "id": "meta/llama-3.2-1b-instruct", - "name": "Llama 3.2 1B Instruct", - "display_name": "Llama 3.2 1B Instruct", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 16000, - "output": 4096 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "open_weights": false, + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "cost": { - "input": 0.01, - "output": 0.01 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "meta/llama-3.1-8b-instruct", - "name": "Llama 3.1 8B Instruct", - "display_name": "Llama 3.1 8B Instruct", + "id": "anthropic/claude-3-opus", + "name": "Claude Opus 3", + "display_name": "Claude Opus 3", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 16000, + "context": 200000, "output": 4096 }, "temperature": true, @@ -79282,33 +87753,36 @@ "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "attachment": true, + "open_weights": false, + "knowledge": "2023-08-31", + "release_date": "2024-02-29", + "last_updated": "2024-02-29", "cost": { - "input": 0.025, - "output": 0.025 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "google/gemma-3", - "name": "Google Gemma 3", - "display_name": "Google Gemma 3", + "id": "anthropic/claude-3-5-haiku", + "name": "Claude Haiku 3.5 (latest)", + "display_name": "Claude Haiku 3.5 (latest)", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 125000, - "output": 4096 + "context": 200000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -79316,119 +87790,95 @@ "supported": false }, "attachment": true, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "cost": { - "input": 0.15, - "output": 0.3 - }, - "type": "chat" - } - ] - }, - "huggingface": { - "id": "huggingface", - "name": "Hugging Face", - "display_name": "Hugging Face", - "api": "https://router.huggingface.co/v1", - "doc": "https://huggingface.co/docs/inference-providers", - "models": [ - { - "id": "XiaomiMiMo/MiMo-V2-Flash", - "name": "MiMo-V2-Flash", - "display_name": "MiMo-V2-Flash", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 4096 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-12-16", - "last_updated": "2025-12-16", + "open_weights": false, + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", "cost": { - "input": 0.1, - "output": 0.3 + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 }, "type": "chat" }, { - "id": "MiniMaxAI/MiniMax-M2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "anthropic/claude-opus-4-1", + "name": "Claude Opus 4.1 (latest)", + "display_name": "Claude Opus 4.1 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.03 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "MiniMaxAI/MiniMax-M2.7", - "name": "MiniMax-M2.7", - "display_name": "MiniMax-M2.7", + "id": "anthropic/claude-fable-5", + "name": "Claude Fable 5", + "display_name": "Claude Fable 5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -79437,209 +87887,311 @@ "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], "interleaved": true, "summaries": true, - "visibility": "summary", + "visibility": "omitted", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Adaptive thinking is always on for Claude Fable 5 and Claude Mythos 5; thinking.type = \"disabled\" is rejected.", + "Manual budget_tokens requests return 400 on Claude Fable 5 and Claude Mythos 5.", + "thinking.display defaults to omitted; set display to summarized to receive readable thinking summaries." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "attachment": true, + "open_weights": false, + "knowledge": "2026-01-31", + "release_date": "2026-06-09", + "last_updated": "2026-06-09", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06 + "input": 10, + "output": 50, + "cache_read": 1, + "cache_write": 12.5 }, "type": "chat" }, { - "id": "MiniMaxAI/MiniMax-M2.1", - "name": "MiniMax-M2.1", - "display_name": "MiniMax-M2.1", + "id": "anthropic/claude-haiku-4-5", + "name": "Claude Haiku 4.5 (latest)", + "display_name": "Claude Haiku 4.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-10", - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "attachment": true, + "open_weights": false, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 0.3, - "output": 1.2 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "zai-org/GLM-4.7", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "anthropic/claude-opus-4-6", + "name": "Claude Opus 4.6 (latest)", + "display_name": "Claude Opus 4.6 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "attachment": true, + "open_weights": false, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11 + "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 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5 + } }, "type": "chat" }, { - "id": "zai-org/GLM-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "anthropic/claude-3-haiku", + "name": "Claude Haiku 3", + "display_name": "Claude Haiku 3", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 202752, - "output": 131072 + "context": 200000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "attachment": true, + "open_weights": false, + "knowledge": "2023-08-31", + "release_date": "2024-03-13", + "last_updated": "2024-03-13", "cost": { - "input": 1, - "output": 3.2, - "cache_read": 0.2 + "input": 0.25, + "output": 1.25, + "cache_read": 0.03, + "cache_write": 0.3 }, "type": "chat" }, { - "id": "zai-org/GLM-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "anthropic/claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 202752, - "output": 131072 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-04-03", - "last_updated": "2026-04-03", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", "cost": { - "input": 1, - "output": 3.2, - "cache_read": 0.2 + "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 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5 + } }, "type": "chat" }, { - "id": "zai-org/GLM-4.7-Flash", - "name": "GLM-4.7-Flash", - "display_name": "GLM-4.7-Flash", + "id": "anthropic/claude-opus-4", + "name": "Claude Opus 4 (latest)", + "display_name": "Claude Opus 4 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" @@ -79647,40 +88199,61 @@ }, "limit": { "context": 200000, - "output": 128000 + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-08-08", - "last_updated": "2025-08-08", + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0, - "output": 0 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" - }, + } + ] + }, + "moonshot": { + "id": "moonshot", + "name": "Moonshot AI (China)", + "display_name": "Moonshot AI (China)", + "api": "https://api.moonshot.cn/v1", + "doc": "https://platform.moonshot.cn/docs/api/chat", + "models": [ { - "id": "moonshotai/Kimi-K2.6", - "name": "Kimi-K2.6", - "display_name": "Kimi-K2.6", + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ "text", @@ -79715,8 +88288,8 @@ "attachment": true, "open_weights": true, "knowledge": "2025-01", - "release_date": "2026-04-20", - "last_updated": "2026-04-20", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { "input": 0.95, "output": 4, @@ -79725,41 +88298,9 @@ "type": "chat" }, { - "id": "moonshotai/Kimi-K2-Instruct-0905", - "name": "Kimi-K2-Instruct-0905", - "display_name": "Kimi-K2-Instruct-0905", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 16384 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-09-04", - "last_updated": "2025-09-04", - "cost": { - "input": 1, - "output": 3 - }, - "type": "chat" - }, - { - "id": "moonshotai/Kimi-K2.5", - "name": "Kimi-K2.5", - "display_name": "Kimi-K2.5", + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ "text", @@ -79774,7 +88315,7 @@ "context": 262144, "output": 262144 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -79791,11 +88332,11 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": true, "knowledge": "2025-01", - "release_date": "2026-01-01", - "last_updated": "2026-01-01", + "release_date": "2026-01", + "last_updated": "2026-01", "cost": { "input": 0.6, "output": 3, @@ -79804,41 +88345,9 @@ "type": "chat" }, { - "id": "moonshotai/Kimi-K2-Instruct", - "name": "Kimi-K2-Instruct", - "display_name": "Kimi-K2-Instruct", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 16384 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-07-14", - "last_updated": "2025-07-14", - "cost": { - "input": 1, - "output": 3 - }, - "type": "chat" - }, - { - "id": "moonshotai/Kimi-K2-Thinking", - "name": "Kimi-K2-Thinking", - "display_name": "Kimi-K2-Thinking", + "id": "kimi-k2-turbo-preview", + "name": "Kimi K2 Turbo", + "display_name": "Kimi K2 Turbo", "modalities": { "input": [ "text" @@ -79854,81 +88363,24 @@ "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "cost": { - "input": 0.6, - "output": 2.5, - "cache_read": 0.15 - }, - "type": "chat" - }, - { - "id": "deepseek-ai/DeepSeek-V4-Pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1048576, - "output": 393216 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", - "cost": { - "input": 0.435, - "output": 0.87, - "cache_read": 0.003625 + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "cost": { + "input": 2.4, + "output": 10, + "cache_read": 0.6 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.2", - "name": "DeepSeek-V3.2", - "display_name": "DeepSeek-V3.2", + "id": "kimi-k2-0711-preview", + "name": "Kimi K2 0711", + "display_name": "Kimi K2 0711", "modalities": { "input": [ "text" @@ -79938,35 +88390,30 @@ ] }, "limit": { - "context": 163840, - "output": 65536 + "context": 131072, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "knowledge": "2024-10", + "release_date": "2025-07-14", + "last_updated": "2025-07-14", "cost": { - "input": 0.28, - "output": 0.4 + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-R1-0528", - "name": "DeepSeek-R1-0528", - "display_name": "DeepSeek-R1-0528", + "id": "kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "display_name": "Kimi K2 Thinking", "modalities": { "input": [ "text" @@ -79976,8 +88423,8 @@ ] }, "limit": { - "context": 163840, - "output": 163840 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -79998,19 +88445,20 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2025-05-28", - "last_updated": "2025-05-28", + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", "cost": { - "input": 3, - "output": 5 + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", - "name": "Qwen3-Coder-480B-A35B-Instruct", - "display_name": "Qwen3-Coder-480B-A35B-Instruct", + "id": "kimi-k2-thinking-turbo", + "name": "Kimi K2 Thinking Turbo", + "display_name": "Kimi K2 Thinking Turbo", "modalities": { "input": [ "text" @@ -80021,60 +88469,41 @@ }, "limit": { "context": 262144, - "output": 66536 + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "cost": { - "input": 2, - "output": 2 - }, - "type": "chat" - }, - { - "id": "Qwen/Qwen3-Embedding-8B", - "name": "Qwen 3 Embedding 8B", - "display_name": "Qwen 3 Embedding 8B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 32000, - "output": 4096 + "supported": true, + "default": true }, - "temperature": false, - "tool_call": false, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", "cost": { - "input": 0.01, - "output": 0 + "input": 1.15, + "output": 8, + "cache_read": 0.15 }, - "type": "embedding" + "type": "chat" }, { - "id": "Qwen/Qwen3-Coder-Next", - "name": "Qwen3-Coder-Next", - "display_name": "Qwen3-Coder-Next", + "id": "kimi-k2-0905-preview", + "name": "Kimi K2 0905", + "display_name": "Kimi K2 0905", "modalities": { "input": [ "text" @@ -80085,7 +88514,7 @@ }, "limit": { "context": 262144, - "output": 65536 + "output": 262144 }, "temperature": true, "tool_call": true, @@ -80094,22 +88523,25 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-02-03", - "last_updated": "2026-02-03", + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", "cost": { - "input": 0.2, - "output": 1.5 + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen3-235B-A22B-Thinking-2507", - "display_name": "Qwen3-235B-A22B-Thinking-2507", + "id": "kimi-k2.7-code", + "name": "Kimi K2.7 Code", + "display_name": "Kimi K2.7 Code", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" @@ -80117,7 +88549,7 @@ }, "limit": { "context": 262144, - "output": 131072 + "output": 262144 }, "temperature": true, "tool_call": true, @@ -80128,6 +88560,8 @@ "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": true, + "mode": "fixed", "interleaved": true, "summaries": true, "visibility": "summary", @@ -80136,25 +88570,27 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0.3, - "output": 3 + "input": 0.95, + "output": 4, + "cache_read": 0.16 }, "type": "chat" }, { - "id": "Qwen/Qwen3.5-397B-A17B", - "name": "Qwen3.5-397B-A17B", - "display_name": "Qwen3.5-397B-A17B", + "id": "kimi-k2.7-code-highspeed", + "name": "Kimi K2.7 Code Highspeed", + "display_name": "Kimi K2.7 Code Highspeed", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" @@ -80162,7 +88598,7 @@ }, "limit": { "context": 262144, - "output": 32768 + "output": 262144 }, "temperature": true, "tool_call": true, @@ -80173,6 +88609,8 @@ "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": true, + "mode": "fixed", "interleaved": true, "summaries": true, "visibility": "summary", @@ -80183,19 +88621,29 @@ }, "attachment": true, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-02-01", - "last_updated": "2026-02-01", + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0.6, - "output": 3.6 + "input": 0.95, + "output": 4, + "cache_read": 0.16 }, "type": "chat" - }, + } + ] + }, + "morph": { + "id": "morph", + "name": "Morph", + "display_name": "Morph", + "api": "https://api.morphllm.com/v1", + "doc": "https://docs.morphllm.com/api-reference/introduction", + "models": [ { - "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", - "name": "Qwen3-Next-80B-A3B-Instruct", - "display_name": "Qwen3-Next-80B-A3B-Instruct", + "id": "morph-v3-fast", + "name": "Morph v3 Fast", + "display_name": "Morph v3 Fast", "modalities": { "input": [ "text" @@ -80205,29 +88653,28 @@ ] }, "limit": { - "context": 262144, - "output": 66536 + "context": 16000, + "output": 16000 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09-11", - "last_updated": "2025-09-11", + "open_weights": false, + "release_date": "2024-08-15", + "last_updated": "2024-08-15", "cost": { - "input": 0.25, - "output": 1 + "input": 0.8, + "output": 1.2 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Embedding-4B", - "name": "Qwen 3 Embedding 4B", - "display_name": "Qwen 3 Embedding 4B", + "id": "morph-v3-large", + "name": "Morph v3 Large", + "display_name": "Morph v3 Large", "modalities": { "input": [ "text" @@ -80238,7 +88685,7 @@ }, "limit": { "context": 32000, - "output": 2048 + "output": 32000 }, "temperature": false, "tool_call": false, @@ -80246,20 +88693,19 @@ "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "open_weights": false, + "release_date": "2024-08-15", + "last_updated": "2024-08-15", "cost": { - "input": 0.01, - "output": 0 + "input": 0.9, + "output": 1.9 }, - "type": "embedding" + "type": "chat" }, { - "id": "Qwen/Qwen3-Next-80B-A3B-Thinking", - "name": "Qwen3-Next-80B-A3B-Thinking", - "display_name": "Qwen3-Next-80B-A3B-Thinking", + "id": "auto", + "name": "Auto", + "display_name": "Auto", "modalities": { "input": [ "text" @@ -80269,80 +88715,67 @@ ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 32000, + "output": 32000 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09-11", - "last_updated": "2025-09-11", + "open_weights": false, + "release_date": "2024-06-01", + "last_updated": "2024-06-01", "cost": { - "input": 0.3, - "output": 2 + "input": 0.85, + "output": 1.55 }, "type": "chat" } ] }, - "cohere": { - "id": "cohere", - "name": "Cohere", - "display_name": "Cohere", - "doc": "https://docs.cohere.com/docs/models", + "deepinfra": { + "id": "deepinfra", + "name": "Deep Infra", + "display_name": "Deep Infra", + "doc": "https://deepinfra.com/models", "models": [ { - "id": "command-r-plus-08-2024", - "name": "Command R+", - "display_name": "Command R+", + "id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", + "name": "Llama 4 Maverick 17B FP8", + "display_name": "Llama 4 Maverick 17B FP8", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4000 + "context": 1048576, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2024-06-01", - "release_date": "2024-08-30", - "last_updated": "2024-08-30", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { - "input": 2.5, - "output": 10 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "c4ai-aya-vision-8b", - "name": "Aya Vision 8B", - "display_name": "Aya Vision 8B", + "id": "meta-llama/Llama-4-Scout-17B-16E-Instruct", + "name": "Llama 4 Scout 17B", + "display_name": "Llama 4 Scout 17B", "modalities": { "input": [ "text", @@ -80353,24 +88786,27 @@ ] }, "limit": { - "context": 16000, - "output": 4000 + "context": 327680, + "output": 16384 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2025-03-04", - "last_updated": "2025-05-14", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "cost": { + "input": 0.1, + "output": 0.3 + }, "type": "chat" }, { - "id": "command-a-reasoning-08-2025", - "name": "Command A Reasoning", - "display_name": "Command A Reasoning", + "id": "meta-llama/Llama-3.3-70B-Instruct-Turbo", + "name": "Llama 3.3 70B Turbo", + "display_name": "Llama 3.3 70B Turbo", "modalities": { "input": [ "text" @@ -80380,8 +88816,40 @@ ] }, "limit": { - "context": 256000, - "output": 32000 + "context": 131072, + "output": 16384 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "cost": { + "input": 0.1, + "output": 0.32 + }, + "type": "chat" + }, + { + "id": "moonshotai/Kimi-K2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", + "modalities": { + "input": [ + "text", + "image", + "video" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -80389,76 +88857,113 @@ "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": true, - "knowledge": "2024-06-01", - "release_date": "2025-08-21", - "last_updated": "2025-08-21", + "knowledge": "2024-04", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 2.5, - "output": 10 + "input": 0.75, + "output": 3.5, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "c4ai-aya-vision-32b", - "name": "Aya Vision 32B", - "display_name": "Aya Vision 32B", + "id": "moonshotai/Kimi-K2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 16000, - "output": 4000 + "context": 262144, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, "open_weights": true, - "release_date": "2025-03-04", - "last_updated": "2025-05-14", + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "cost": { + "input": 0.45, + "output": 2.25, + "cache_read": 0.07 + }, "type": "chat" }, { - "id": "c4ai-aya-expanse-8b", - "name": "Aya Expanse 8B", - "display_name": "Aya Expanse 8B", + "id": "google/gemma-4-31B-it", + "name": "Gemma 4 31B IT", + "display_name": "Gemma 4 31B IT", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8000, - "output": 4000 + "context": 262144, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2024-10-24", - "last_updated": "2024-10-24", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "cost": { + "input": 0.13, + "output": 0.38 + }, "type": "chat" }, { - "id": "command-a-plus-05-2026", - "name": "Command A Plus", - "display_name": "Command A Plus", + "id": "google/gemma-4-26B-A4B-it", + "name": "Gemma 4 26B A4B IT", + "display_name": "Gemma 4 26B A4B IT", "modalities": { "input": [ "text", @@ -80469,8 +88974,8 @@ ] }, "limit": { - "context": 128000, - "output": 64000 + "context": 262144, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -80480,30 +88985,31 @@ }, "attachment": true, "open_weights": true, - "knowledge": "2025-04-01", - "release_date": "2026-05-20", - "last_updated": "2026-06-09", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 2.5, - "output": 10 + "input": 0.07, + "output": 0.34 }, "type": "chat" }, { - "id": "north-mini-code-1-0", - "name": "North Mini Code", - "display_name": "North Mini Code", + "id": "Qwen/Qwen3.6-35B-A3B", + "name": "Qwen3.6 35B A3B", + "display_name": "Qwen3.6 35B A3B", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 64000 + "context": 262144, + "output": 81920 }, "temperature": true, "tool_call": true, @@ -80522,53 +89028,67 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-09-23", - "release_date": "2026-06-09", - "last_updated": "2026-06-09", + "release_date": "2026-04-01", + "last_updated": "2026-04-01", "cost": { - "input": 0, - "output": 0 + "input": 0.15, + "output": 0.95 }, "type": "chat" }, { - "id": "command-r-08-2024", - "name": "Command R", - "display_name": "Command R", + "id": "Qwen/Qwen3.5-397B-A17B", + "name": "Qwen 3.5 397B A17B", + "display_name": "Qwen 3.5 397B A17B", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4000 + "context": 262144, + "output": 81920 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": true, - "knowledge": "2024-06-01", - "release_date": "2024-08-30", - "last_updated": "2024-08-30", + "knowledge": "2025-01", + "release_date": "2026-02-01", + "last_updated": "2026-04-20", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.45, + "output": 3, + "cache_read": 0.22 }, "type": "chat" }, { - "id": "command-r7b-12-2024", - "name": "Command R7B", - "display_name": "Command R7B", + "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo", + "name": "Qwen3 Coder 480B A35B Instruct Turbo", + "display_name": "Qwen3 Coder 480B A35B Instruct Turbo", "modalities": { "input": [ "text" @@ -80578,8 +89098,8 @@ ] }, "limit": { - "context": 128000, - "output": 4000 + "context": 262144, + "output": 66536 }, "temperature": true, "tool_call": true, @@ -80588,51 +89108,66 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-06-01", - "release_date": "2024-02-27", - "last_updated": "2024-02-27", + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", "cost": { - "input": 0.0375, - "output": 0.15 + "input": 0.3, + "output": 1 }, "type": "chat" }, { - "id": "command-a-03-2025", - "name": "Command A", - "display_name": "Command A", + "id": "Qwen/Qwen3.5-35B-A3B", + "name": "Qwen 3.5 35B A3B", + "display_name": "Qwen 3.5 35B A3B", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 8000 + "context": 262144, + "output": 81920 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": true, - "knowledge": "2024-06-01", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", + "knowledge": "2025-01", + "release_date": "2026-02-01", + "last_updated": "2026-04-20", "cost": { - "input": 2.5, - "output": 10 + "input": 0.14, + "output": 1, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "c4ai-aya-expanse-32b", - "name": "Aya Expanse 32B", - "display_name": "Aya Expanse 32B", + "id": "openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "display_name": "GPT OSS 120B", "modalities": { "input": [ "text" @@ -80642,89 +89177,135 @@ ] }, "limit": { - "context": 128000, - "output": 4000 + "context": 131072, + "output": 16384 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": true, - "release_date": "2024-10-24", - "last_updated": "2024-10-24", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "cost": { + "input": 0.039, + "output": 0.19 + }, "type": "chat" }, { - "id": "command-a-vision-07-2025", - "name": "Command A Vision", - "display_name": "Command A Vision", + "id": "openai/gpt-oss-20b", + "name": "GPT OSS 20B", + "display_name": "GPT OSS 20B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8000 + "context": 131072, + "output": 16384 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": true, - "knowledge": "2024-06-01", - "release_date": "2025-07-31", - "last_updated": "2025-07-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 2.5, - "output": 10 + "input": 0.03, + "output": 0.14 }, "type": "chat" }, { - "id": "command-a-translate-08-2025", - "name": "Command A Translate", - "display_name": "Command A Translate", + "id": "XiaomiMiMo/MiMo-V2.5", + "name": "MiMo-V2.5", + "display_name": "MiMo-V2.5", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 8000, - "output": 8000 + "context": 262144, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": true, - "knowledge": "2024-06-01", - "release_date": "2025-08-28", - "last_updated": "2025-08-28", + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 2.5, - "output": 10 + "input": 0.4, + "output": 2, + "cache_read": 0.08, + "tiers": [ + { + "input": 0.8, + "output": 4, + "cache_read": 0.16, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 0.8, + "output": 4, + "cache_read": 0.16 + } }, "type": "chat" }, { - "id": "command-r7b-arabic-02-2025", - "name": "Command R7B Arabic", - "display_name": "Command R7B Arabic", + "id": "XiaomiMiMo/MiMo-V2.5-Pro", + "name": "MiMo-V2.5-Pro", + "display_name": "MiMo-V2.5-Pro", "modalities": { "input": [ "text" @@ -80734,173 +89315,160 @@ ] }, "limit": { - "context": 128000, - "output": 4000 + "context": 1048576, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "knowledge": "2024-06-01", - "release_date": "2025-02-27", - "last_updated": "2025-02-27", + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 0.0375, - "output": 0.15 + "input": 1, + "output": 3, + "cache_read": 0.2, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + } }, "type": "chat" - } - ] - }, - "azure-cognitive-services": { - "id": "azure-cognitive-services", - "name": "Azure Cognitive Services", - "display_name": "Azure Cognitive Services", - "doc": "https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models", - "models": [ + }, { - "id": "claude-opus-4-5", - "name": "Claude Opus 4.5", - "display_name": "Claude Opus 4.5", + "id": "zai-org/GLM-4.7-Flash", + "name": "GLM-4.7-Flash", + "display_name": "GLM-4.7-Flash", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 202752, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-08-01", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.06, + "output": 0.4 }, "type": "chat" }, { - "id": "claude-haiku-4-5", - "name": "Claude Haiku 4.5", - "display_name": "Claude Haiku 4.5", + "id": "zai-org/GLM-4.6", + "name": "GLM-4.6", + "display_name": "GLM-4.6", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 202752, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-02-31", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 0.43, + "output": 1.74, + "cache_read": 0.08 }, "type": "chat" }, { - "id": "gpt-5.4-pro", - "name": "GPT-5.4 Pro", - "display_name": "GPT-5.4 Pro", + "id": "zai-org/GLM-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 202752, + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -80909,138 +89477,86 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "attachment": false, + "open_weights": true, + "knowledge": "2025-12", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 30, - "output": 180, - "tiers": [ - { - "input": 60, - "output": 270, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 60, - "output": 270 - } + "input": 0.6, + "output": 2.08, + "cache_read": 0.12 }, "type": "chat" }, { - "id": "gpt-5.4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "zai-org/GLM-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 202752, + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "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 - } - } - ], - "context_over_200k": { - "input": 5, - "output": 22.5, - "cache_read": 0.5 - } + "input": 0.4, + "output": 1.75, + "cache_read": 0.08 }, "type": "chat" }, - { - "id": "kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + { + "id": "zai-org/GLM-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 202752, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -81051,339 +89567,264 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "knowledge": "2025-04", + "release_date": "2026-04-07", + "last_updated": "2026-04-07", "cost": { - "input": 0.95, - "output": 4 + "input": 1.05, + "output": 3.5, + "cache_read": 0.205 }, "type": "chat" }, { - "id": "claude-opus-4-1", - "name": "Claude Opus 4.1", - "display_name": "Claude Opus 4.1", + "id": "deepseek-ai/DeepSeek-R1-0528", + "name": "DeepSeek-R1-0528", + "display_name": "DeepSeek-R1-0528", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 163840, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", + "knowledge": "2024-07", + "release_date": "2025-05-28", + "last_updated": "2025-05-28", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.5, + "output": 2.15, + "cache_read": 0.35 }, "type": "chat" }, { - "id": "gpt-5.4-nano", - "name": "GPT-5.4 Nano", - "display_name": "GPT-5.4 Nano", + "id": "deepseek-ai/DeepSeek-V4-Flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1048576, + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.2, - "output": 1.25, + "input": 0.1, + "output": 0.2, "cache_read": 0.02 }, "type": "chat" }, { - "id": "claude-sonnet-4-5", - "name": "Claude Sonnet 4.5", - "display_name": "Claude Sonnet 4.5", + "id": "deepseek-ai/DeepSeek-V4-Pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 1048576, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 1.3, + "output": 2.6, + "cache_read": 0.1 }, "type": "chat" }, { - "id": "gpt-5.4-mini", - "name": "GPT-5.4 Mini", - "display_name": "GPT-5.4 Mini", + "id": "deepseek-ai/DeepSeek-V3.2", + "name": "DeepSeek-V3.2", + "display_name": "DeepSeek-V3.2", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 163840, + "output": 64000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "knowledge": "2024-12", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", "cost": { - "input": 0.75, - "output": 4.5, - "cache_read": 0.075 + "input": 0.26, + "output": 0.38, + "cache_read": 0.13 }, "type": "chat" }, { - "id": "claude-opus-4-6", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax M2.5", + "display_name": "MiniMax M2.5", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 196608, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "attachment": false, + "open_weights": true, + "knowledge": "2025-06", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "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 - } - } - ], - "context_over_200k": { - "input": 10, - "output": 37.5, - "cache_read": 1, - "cache_write": 12.5 - } + "input": 0.15, + "output": 1.15, + "cache_read": 0.03, + "cache_write": 0.375 }, "type": "chat" - }, + } + ] + }, + "v0": { + "id": "v0", + "name": "v0", + "display_name": "v0", + "doc": "https://sdk.vercel.ai/providers/ai-sdk-providers/vercel", + "models": [ { - "id": "cohere-embed-v-4-0", - "name": "Embed v4", - "display_name": "Embed v4", + "id": "v0-1.0-md", + "name": "v0-1.0-md", + "display_name": "v0-1.0-md", "modalities": { "input": [ "text", @@ -81395,58 +89836,61 @@ }, "limit": { "context": 128000, - "output": 1536 + "output": 32000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": true, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", + "open_weights": false, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0.12, - "output": 0 + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "cohere-embed-v3-multilingual", - "name": "Embed v3 Multilingual", - "display_name": "Embed v3 Multilingual", + "id": "v0-1.5-lg", + "name": "v0-1.5-lg", + "display_name": "v0-1.5-lg", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 512, - "output": 1024 + "context": 512000, + "output": 32000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2023-11-07", - "last_updated": "2023-11-07", + "attachment": true, + "open_weights": false, + "release_date": "2025-06-09", + "last_updated": "2025-06-09", "cost": { - "input": 0.1, - "output": 0 + "input": 15, + "output": 75 }, "type": "chat" }, { - "id": "gpt-4.1-nano", - "name": "GPT-4.1 nano", - "display_name": "GPT-4.1 nano", + "id": "v0-1.5-md", + "name": "v0-1.5-md", + "display_name": "v0-1.5-md", "modalities": { "input": [ "text", @@ -81457,30 +89901,37 @@ ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 128000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "release_date": "2025-06-09", + "last_updated": "2025-06-09", "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.025 + "input": 3, + "output": 15 }, "type": "chat" - }, + } + ] + }, + "azure": { + "id": "azure", + "name": "Azure", + "display_name": "Azure", + "doc": "https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models", + "models": [ { - "id": "codestral-2501", - "name": "Codestral 25.01", - "display_name": "Codestral 25.01", + "id": "codex-mini", + "name": "Codex Mini", + "display_name": "Codex Mini", "modalities": { "input": [ "text" @@ -81490,29 +89941,31 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-03", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "knowledge": "2024-04", + "release_date": "2025-05-16", + "last_updated": "2025-05-16", "cost": { - "input": 0.3, - "output": 0.9 + "input": 1.5, + "output": 6, + "cache_read": 0.375 }, "type": "chat" }, { - "id": "gpt-4", - "name": "GPT-4", - "display_name": "GPT-4", + "id": "phi-3.5-moe-instruct", + "name": "Phi-3.5-MoE-instruct", + "display_name": "Phi-3.5-MoE-instruct", "modalities": { "input": [ "text" @@ -81522,29 +89975,29 @@ ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 128000, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2023-11", - "release_date": "2023-03-14", - "last_updated": "2023-03-14", + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-08-20", + "last_updated": "2024-08-20", "cost": { - "input": 60, - "output": 120 + "input": 0.16, + "output": 0.64 }, "type": "chat" }, { - "id": "cohere-command-a", - "name": "Command A", - "display_name": "Command A", + "id": "gpt-3.5-turbo-instruct", + "name": "GPT-3.5 Turbo Instruct", + "display_name": "GPT-3.5 Turbo Instruct", "modalities": { "input": [ "text" @@ -81554,30 +90007,29 @@ ] }, "limit": { - "context": 256000, - "output": 8000 + "context": 4096, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2024-06-01", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", + "open_weights": false, + "knowledge": "2021-08", + "release_date": "2023-09-21", + "last_updated": "2023-09-21", "cost": { - "input": 2.5, - "output": 10 + "input": 1.5, + "output": 2 }, "type": "chat" }, { - "id": "deepseek-v3.1", - "name": "DeepSeek-V3.1", - "display_name": "DeepSeek-V3.1", + "id": "deepseek-r1-0528", + "name": "DeepSeek-R1-0528", + "display_name": "DeepSeek-R1-0528", "modalities": { "input": [ "text" @@ -81587,8 +90039,8 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 163840, + "output": 163840 }, "temperature": true, "tool_call": true, @@ -81596,21 +90048,32 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": true, "knowledge": "2024-07", - "release_date": "2025-08-21", - "last_updated": "2025-08-21", + "release_date": "2025-05-28", + "last_updated": "2025-05-28", "cost": { - "input": 0.56, - "output": 1.68 + "input": 1.35, + "output": 5.4 }, "type": "chat" }, { - "id": "codex-mini", - "name": "Codex Mini", - "display_name": "Codex Mini", + "id": "deepseek-v4-flash", + "name": "DeepSeek-V4-Flash", + "display_name": "DeepSeek-V4-Flash", "modalities": { "input": [ "text" @@ -81620,31 +90083,41 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 1000000, + "output": 384000 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-05-16", - "last_updated": "2025-05-16", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 1.5, - "output": 6, - "cache_read": 0.375 + "input": 0.19, + "output": 0.51 }, "type": "chat" }, { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "gpt-5.2-chat", + "name": "GPT-5.2 Chat", + "display_name": "GPT-5.2 Chat", "modalities": { "input": [ "text", @@ -81655,41 +90128,31 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 16384 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-02-06", - "last_updated": "2026-02-06", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.6, - "output": 3 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "o1", - "name": "o1", - "display_name": "o1", + "id": "o3", + "name": "o3", + "display_name": "o3", "modalities": { "input": [ "text", @@ -81723,22 +90186,22 @@ "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-12-05", - "last_updated": "2024-12-05", + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", "cost": { - "input": 15, - "output": 60, - "cache_read": 7.5 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "gpt-3.5-turbo-0301", - "name": "GPT-3.5 Turbo 0301", - "display_name": "GPT-3.5 Turbo 0301", + "id": "deepseek-v3-0324", + "name": "DeepSeek-V3-0324", + "display_name": "DeepSeek-V3-0324", "modalities": { "input": [ "text" @@ -81748,33 +90211,32 @@ ] }, "limit": { - "context": 4096, - "output": 4096 + "context": 131072, + "output": 131072 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2021-08", - "release_date": "2023-03-01", - "last_updated": "2023-03-01", + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2025-03-24", + "last_updated": "2025-03-24", "cost": { - "input": 1.5, - "output": 2 + "input": 1.14, + "output": 4.56 }, "type": "chat" }, { - "id": "llama-3.2-90b-vision-instruct", - "name": "Llama-3.2-90B-Vision-Instruct", - "display_name": "Llama-3.2-90B-Vision-Instruct", + "id": "phi-3-small-128k-instruct", + "name": "Phi-3-small-instruct (128k)", + "display_name": "Phi-3-small-instruct (128k)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -81782,28 +90244,28 @@ }, "limit": { "context": 128000, - "output": 8192 + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", "cost": { - "input": 2.04, - "output": 2.04 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "llama-3.3-70b-instruct", - "name": "Llama-3.3-70B-Instruct", - "display_name": "Llama-3.3-70B-Instruct", + "id": "meta-llama-3-8b-instruct", + "name": "Meta-Llama-3-8B-Instruct", + "display_name": "Meta-Llama-3-8B-Instruct", "modalities": { "input": [ "text" @@ -81813,29 +90275,29 @@ ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 8192, + "output": 2048 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "release_date": "2024-04-18", + "last_updated": "2024-04-18", "cost": { - "input": 0.71, - "output": 0.71 + "input": 0.3, + "output": 0.61 }, "type": "chat" }, { - "id": "gpt-4-turbo", - "name": "GPT-4 Turbo", - "display_name": "GPT-4 Turbo", + "id": "mistral-small-2503", + "name": "Mistral Small 3.1", + "display_name": "Mistral Small 3.1", "modalities": { "input": [ "text", @@ -81847,7 +90309,7 @@ }, "limit": { "context": 128000, - "output": 4096 + "output": 32768 }, "temperature": true, "tool_call": true, @@ -81856,19 +90318,19 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2023-12", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", + "knowledge": "2024-09", + "release_date": "2025-03-01", + "last_updated": "2025-03-01", "cost": { - "input": 10, - "output": 30 + "input": 0.1, + "output": 0.3 }, "type": "chat" }, { - "id": "gpt-3.5-turbo-0613", - "name": "GPT-3.5 Turbo 0613", - "display_name": "GPT-3.5 Turbo 0613", + "id": "text-embedding-3-large", + "name": "text-embedding-3-large", + "display_name": "text-embedding-3-large", "modalities": { "input": [ "text" @@ -81878,44 +90340,38 @@ ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 8191, + "output": 3072 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2021-08", - "release_date": "2023-06-13", - "last_updated": "2023-06-13", + "release_date": "2024-01-25", + "last_updated": "2024-01-25", "cost": { - "input": 3, - "output": 4 + "input": 0.13, + "output": 0 }, - "type": "chat" + "type": "embedding" }, { - "id": "gpt-5.1-chat", - "name": "GPT-5.1 Chat", - "display_name": "GPT-5.1 Chat", + "id": "o1-mini", + "name": "o1-mini", + "display_name": "o1-mini", "modalities": { "input": [ - "text", - "image", - "audio" + "text" ], "output": [ - "text", - "image", - "audio" + "text" ] }, "limit": { "context": 128000, - "output": 16384 + "output": 65536 }, "temperature": false, "tool_call": true, @@ -81923,22 +90379,36 @@ "supported": true, "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-14", - "last_updated": "2025-11-14", + "knowledge": "2023-09", + "release_date": "2024-09-12", + "last_updated": "2024-09-12", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 }, "type": "chat" }, { - "id": "phi-4-mini-reasoning", - "name": "Phi-4-mini-reasoning", - "display_name": "Phi-4-mini-reasoning", + "id": "phi-3.5-mini-instruct", + "name": "Phi-3.5-mini-instruct", + "display_name": "Phi-3.5-mini-instruct", "modalities": { "input": [ "text" @@ -81952,88 +90422,61 @@ "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": true, "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "release_date": "2024-08-20", + "last_updated": "2024-08-20", "cost": { - "input": 0.075, - "output": 0.3 + "input": 0.13, + "output": 0.52 }, "type": "chat" }, { - "id": "gpt-5.1-codex", - "name": "GPT-5.1 Codex", - "display_name": "GPT-5.1 Codex", + "id": "mistral-nemo", + "name": "Mistral Nemo", + "display_name": "Mistral Nemo", "modalities": { "input": [ - "text", - "image", - "audio" + "text" ], "output": [ - "text", - "image", - "audio" + "text" ] }, "limit": { - "context": 400000, + "context": 128000, "output": 128000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-14", - "last_updated": "2025-11-14", + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.15, + "output": 0.15 }, "type": "chat" }, { - "id": "o1-mini", - "name": "o1-mini", - "display_name": "o1-mini", + "id": "cohere-embed-v-4-0", + "name": "Embed v4", + "display_name": "Embed v4", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -82041,44 +90484,91 @@ }, "limit": { "context": 128000, - "output": 65536 + "output": 1536 }, "temperature": false, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "cost": { + "input": 0.12, + "output": 0 + }, + "type": "chat" + }, + { + "id": "claude-opus-4-5", + "name": "Claude Opus 4.5", + "display_name": "Claude Opus 4.5", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 64000 + }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", "effort_options": [ "low", "medium", "high" ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-09-12", - "last_updated": "2024-09-12", + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-08-01", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.55 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "gpt-5.2-codex", - "name": "GPT-5.2 Codex", - "display_name": "GPT-5.2 Codex", + "id": "gpt-5", + "name": "GPT-5", + "display_name": "GPT-5", "modalities": { "input": [ "text", @@ -82089,7 +90579,7 @@ ] }, "limit": { - "context": 400000, + "context": 272000, "output": 128000 }, "temperature": false, @@ -82105,10 +90595,10 @@ "mode": "effort", "effort": "medium", "effort_options": [ + "minimal", "low", "medium", - "high", - "xhigh" + "high" ], "verbosity": "medium", "verbosity_options": [ @@ -82119,54 +90609,57 @@ "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-01-14", - "last_updated": "2026-01-14", + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 1.25, + "output": 10, + "cache_read": 0.13 }, "type": "chat" }, { - "id": "gpt-3.5-turbo-instruct", - "name": "GPT-3.5 Turbo Instruct", - "display_name": "GPT-3.5 Turbo Instruct", + "id": "gpt-5-chat", + "name": "GPT-5 Chat", + "display_name": "GPT-5 Chat", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 4096, - "output": 4096 + "context": 128000, + "output": 16384 }, - "temperature": true, + "temperature": false, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2021-08", - "release_date": "2023-09-21", - "last_updated": "2023-09-21", + "knowledge": "2024-10-24", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 1.5, - "output": 2 + "input": 1.25, + "output": 10, + "cache_read": 0.13 }, "type": "chat" }, { - "id": "meta-llama-3-70b-instruct", - "name": "Meta-Llama-3-70B-Instruct", - "display_name": "Meta-Llama-3-70B-Instruct", + "id": "cohere-command-a", + "name": "Command A", + "display_name": "Command A", "modalities": { "input": [ "text" @@ -82176,29 +90669,63 @@ ] }, "limit": { - "context": 8192, - "output": 2048 + "context": 256000, + "output": 8000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, + "knowledge": "2024-06-01", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "cost": { + "input": 2.5, + "output": 10 + }, + "type": "chat" + }, + { + "id": "llama-3.2-11b-vision-instruct", + "name": "Llama-3.2-11B-Vision-Instruct", + "display_name": "Llama-3.2-11B-Vision-Instruct", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 8192 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, "knowledge": "2023-12", - "release_date": "2024-04-18", - "last_updated": "2024-04-18", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", "cost": { - "input": 2.68, - "output": 3.54 + "input": 0.37, + "output": 0.37 }, "type": "chat" }, { - "id": "gpt-5.2-chat", - "name": "GPT-5.2 Chat", - "display_name": "GPT-5.2 Chat", + "id": "gpt-5-pro", + "name": "GPT-5 Pro", + "display_name": "GPT-5 Pro", "modalities": { "input": [ "text", @@ -82209,8 +90736,8 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 400000, + "output": 272000 }, "temperature": false, "tool_call": true, @@ -82218,15 +90745,29 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "fixed", + "effort": "high", + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "knowledge": "2024-09-30", + "release_date": "2025-10-06", + "last_updated": "2025-10-06", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 15, + "output": 120 }, "type": "chat" }, @@ -82263,41 +90804,9 @@ "type": "chat" }, { - "id": "phi-3.5-moe-instruct", - "name": "Phi-3.5-MoE-instruct", - "display_name": "Phi-3.5-MoE-instruct", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 4096 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", - "cost": { - "input": 0.16, - "output": 0.64 - }, - "type": "chat" - }, - { - "id": "llama-3.2-11b-vision-instruct", - "name": "Llama-3.2-11B-Vision-Instruct", - "display_name": "Llama-3.2-11B-Vision-Instruct", + "id": "gpt-4o", + "name": "GPT-4o", + "display_name": "GPT-4o", "modalities": { "input": [ "text", @@ -82309,7 +90818,7 @@ }, "limit": { "context": 128000, - "output": 8192 + "output": 16384 }, "temperature": true, "tool_call": true, @@ -82317,20 +90826,21 @@ "supported": false }, "attachment": true, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-08-06", "cost": { - "input": 0.37, - "output": 0.37 + "input": 2.5, + "output": 10, + "cache_read": 1.25 }, "type": "chat" }, { - "id": "gpt-3.5-turbo-0125", - "name": "GPT-3.5 Turbo 0125", - "display_name": "GPT-3.5 Turbo 0125", + "id": "gpt-4", + "name": "GPT-4", + "display_name": "GPT-4", "modalities": { "input": [ "text" @@ -82340,64 +90850,29 @@ ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 8192, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2021-08", - "release_date": "2024-01-25", - "last_updated": "2024-01-25", - "cost": { - "input": 0.5, - "output": 1.5 - }, - "type": "chat" - }, - { - "id": "phi-4-multimodal", - "name": "Phi-4-multimodal", - "display_name": "Phi-4-multimodal", - "modalities": { - "input": [ - "text", - "image", - "audio" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 4096 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "knowledge": "2023-11", + "release_date": "2023-03-14", + "last_updated": "2023-03-14", "cost": { - "input": 0.08, - "output": 0.32, - "input_audio": 4 + "input": 60, + "output": 120 }, "type": "chat" }, { - "id": "gpt-5.3-codex", - "name": "GPT-5.3 Codex", - "display_name": "GPT-5.3 Codex", + "id": "o4-mini", + "name": "o4-mini", + "display_name": "o4-mini", "modalities": { "input": [ "text", @@ -82408,8 +90883,8 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 100000 }, "temperature": false, "tool_call": true, @@ -82424,13 +90899,6 @@ "mode": "effort", "effort": "medium", "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ "low", "medium", "high" @@ -82438,22 +90906,22 @@ "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-24", - "last_updated": "2026-02-24", + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 1.1, + "output": 4.4, + "cache_read": 0.275 }, "type": "chat" }, { - "id": "deepseek-v3.2-speciale", - "name": "DeepSeek-V3.2-Speciale", - "display_name": "DeepSeek-V3.2-Speciale", + "id": "phi-3-medium-128k-instruct", + "name": "Phi-3-medium-instruct (128k)", + "display_name": "Phi-3-medium-instruct (128k)", "modalities": { "input": [ "text" @@ -82464,40 +90932,7 @@ }, "limit": { "context": 128000, - "output": 128000 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "cost": { - "input": 0.58, - "output": 1.68 - }, - "type": "chat" - }, - { - "id": "phi-3-medium-4k-instruct", - "name": "Phi-3-medium-instruct (4k)", - "display_name": "Phi-3-medium-instruct (4k)", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 4096, - "output": 1024 + "output": 4096 }, "temperature": true, "tool_call": false, @@ -82516,9 +90951,9 @@ "type": "chat" }, { - "id": "meta-llama-3.1-70b-instruct", - "name": "Meta-Llama-3.1-70B-Instruct", - "display_name": "Meta-Llama-3.1-70B-Instruct", + "id": "gpt-4-32k", + "name": "GPT-4 32K", + "display_name": "GPT-4 32K", "modalities": { "input": [ "text" @@ -82528,7 +90963,7 @@ ] }, "limit": { - "context": 128000, + "context": 32768, "output": 32768 }, "temperature": true, @@ -82537,20 +90972,20 @@ "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "open_weights": false, + "knowledge": "2023-11", + "release_date": "2023-03-14", + "last_updated": "2023-03-14", "cost": { - "input": 2.68, - "output": 3.54 + "input": 60, + "output": 120 }, "type": "chat" }, { - "id": "phi-3-mini-4k-instruct", - "name": "Phi-3-mini-instruct (4k)", - "display_name": "Phi-3-mini-instruct (4k)", + "id": "meta-llama-3.1-405b-instruct", + "name": "Meta-Llama-3.1-405B-Instruct", + "display_name": "Meta-Llama-3.1-405B-Instruct", "modalities": { "input": [ "text" @@ -82560,29 +90995,29 @@ ] }, "limit": { - "context": 4096, - "output": 1024 + "context": 128000, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 0.13, - "output": 0.52 + "input": 5.33, + "output": 16 }, "type": "chat" }, { - "id": "cohere-embed-v3-english", - "name": "Embed v3 English", - "display_name": "Embed v3 English", + "id": "cohere-command-r-plus-08-2024", + "name": "Command R+", + "display_name": "Command R+", "modalities": { "input": [ "text" @@ -82592,28 +91027,29 @@ ] }, "limit": { - "context": 512, - "output": 1024 + "context": 128000, + "output": 4000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2023-11-07", - "last_updated": "2023-11-07", + "knowledge": "2024-06-01", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", "cost": { - "input": 0.1, - "output": 0 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "phi-3.5-mini-instruct", - "name": "Phi-3.5-mini-instruct", - "display_name": "Phi-3.5-mini-instruct", + "id": "phi-4-mini", + "name": "Phi-4-mini", + "display_name": "Phi-4-mini", "modalities": { "input": [ "text" @@ -82627,57 +91063,25 @@ "output": 4096 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, "knowledge": "2023-10", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", - "cost": { - "input": 0.13, - "output": 0.52 - }, - "type": "chat" - }, - { - "id": "meta-llama-3-8b-instruct", - "name": "Meta-Llama-3-8B-Instruct", - "display_name": "Meta-Llama-3-8B-Instruct", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 8192, - "output": 2048 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-04-18", - "last_updated": "2024-04-18", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", "cost": { - "input": 0.3, - "output": 0.61 + "input": 0.075, + "output": 0.3 }, "type": "chat" }, { - "id": "phi-3-small-8k-instruct", - "name": "Phi-3-small-instruct (8k)", - "display_name": "Phi-3-small-instruct (8k)", + "id": "gpt-3.5-turbo-1106", + "name": "GPT-3.5 Turbo 1106", + "display_name": "GPT-3.5 Turbo 1106", "modalities": { "input": [ "text" @@ -82687,8 +91091,8 @@ ] }, "limit": { - "context": 8192, - "output": 2048 + "context": 16384, + "output": 16384 }, "temperature": true, "tool_call": false, @@ -82696,20 +91100,20 @@ "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", + "open_weights": false, + "knowledge": "2021-08", + "release_date": "2023-11-06", + "last_updated": "2023-11-06", "cost": { - "input": 0.15, - "output": 0.6 + "input": 1, + "output": 2 }, "type": "chat" }, { - "id": "gpt-4.1", - "name": "GPT-4.1", - "display_name": "GPT-4.1", + "id": "llama-4-scout-17b-16e-instruct", + "name": "Llama 4 Scout 17B 16E Instruct", + "display_name": "Llama 4 Scout 17B 16E Instruct", "modalities": { "input": [ "text", @@ -82720,8 +91124,8 @@ ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -82729,21 +91133,20 @@ "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0.2, + "output": 0.78 }, "type": "chat" }, { - "id": "cohere-command-r-plus-08-2024", - "name": "Command R+", - "display_name": "Command R+", + "id": "llama-3.3-70b-instruct", + "name": "Llama-3.3-70B-Instruct", + "display_name": "Llama-3.3-70B-Instruct", "modalities": { "input": [ "text" @@ -82754,7 +91157,7 @@ }, "limit": { "context": 128000, - "output": 4000 + "output": 32768 }, "temperature": true, "tool_call": true, @@ -82763,85 +91166,94 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-06-01", - "release_date": "2024-08-30", - "last_updated": "2024-08-30", + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 2.5, - "output": 10 + "input": 0.71, + "output": 0.71 }, "type": "chat" }, { - "id": "llama-4-maverick-17b-128e-instruct-fp8", - "name": "Llama 4 Maverick 17B 128E Instruct FP8", - "display_name": "Llama 4 Maverick 17B 128E Instruct FP8", + "id": "grok-4-20-non-reasoning", + "name": "Grok 4.20 (Non-Reasoning)", + "display_name": "Grok 4.20 (Non-Reasoning)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, + "context": 262000, "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true }, - "attachment": true, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": false, + "knowledge": "2025-09", + "release_date": "2026-04-08", + "last_updated": "2026-04-08", "cost": { - "input": 0.25, - "output": 1 + "input": 2, + "output": 6 }, "type": "chat" }, { - "id": "mistral-medium-2505", - "name": "Mistral Medium 3", - "display_name": "Mistral Medium 3", + "id": "gpt-5.1-chat", + "name": "GPT-5.1 Chat", + "display_name": "GPT-5.1 Chat", "modalities": { "input": [ "text", - "image" + "image", + "audio" ], "output": [ - "text" + "text", + "image", + "audio" ] }, "limit": { "context": 128000, - "output": 128000 + "output": 16384 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2025-05", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", + "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", "cost": { - "input": 0.4, - "output": 2 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "deepseek-r1", - "name": "DeepSeek-R1", - "display_name": "DeepSeek-R1", + "id": "deepseek-v4-pro", + "name": "DeepSeek-V4-Pro", + "display_name": "DeepSeek-V4-Pro", "modalities": { "input": [ "text" @@ -82851,8 +91263,8 @@ ] }, "limit": { - "context": 163840, - "output": 163840 + "context": 1000000, + "output": 384000 }, "temperature": true, "tool_call": false, @@ -82873,19 +91285,19 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 1.35, - "output": 5.4 + "input": 1.74, + "output": 3.48 }, "type": "chat" }, { - "id": "phi-4-reasoning-plus", - "name": "Phi-4-reasoning-plus", - "display_name": "Phi-4-reasoning-plus", + "id": "kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "display_name": "Kimi K2 Thinking", "modalities": { "input": [ "text" @@ -82895,74 +91307,57 @@ ] }, "limit": { - "context": 32000, - "output": 4096 + "context": 262144, + "output": 262144 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-12-02", "cost": { - "input": 0.125, - "output": 0.5 + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "text-embedding-ada-002", - "name": "text-embedding-ada-002", - "display_name": "text-embedding-ada-002", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 8192, - "output": 1536 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2022-12-15", - "last_updated": "2022-12-15", - "cost": { - "input": 0.1, - "output": 0 - }, - "type": "embedding" - }, - { - "id": "gpt-5.1-codex-mini", - "name": "GPT-5.1 Codex Mini", - "display_name": "GPT-5.1 Codex Mini", + "id": "claude-sonnet-4-5", + "name": "Claude Sonnet 4.5", + "display_name": "Claude Sonnet 4.5", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 64000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -82972,79 +91367,84 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-14", - "last_updated": "2025-11-14", + "knowledge": "2025-07-31", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "grok-4-fast-reasoning", - "name": "Grok 4 Fast (Reasoning)", - "display_name": "Grok 4 Fast (Reasoning)", + "id": "deepseek-r1", + "name": "DeepSeek-R1", + "display_name": "DeepSeek-R1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 30000 + "context": 163840, + "output": 163840 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-07", - "release_date": "2025-09-19", - "last_updated": "2025-09-19", + "attachment": false, + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", "cost": { - "input": 0.2, - "output": 0.5, - "cache_read": 0.05 + "input": 1.35, + "output": 5.4 }, "type": "chat" }, { - "id": "gpt-4o-mini", - "name": "GPT-4o mini", - "display_name": "GPT-4o mini", + "id": "grok-4-1-fast-non-reasoning", + "name": "Grok 4.1 Fast (Non-Reasoning)", + "display_name": "Grok 4.1 Fast (Non-Reasoning)", "modalities": { "input": [ "text", @@ -83056,7 +91456,7 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 8192 }, "temperature": true, "tool_call": true, @@ -83065,50 +91465,51 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "release_date": "2025-06-27", + "last_updated": "2025-06-27", "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.075 + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "gpt-5-nano", - "name": "GPT-5 Nano", - "display_name": "GPT-5 Nano", + "id": "gpt-5.4-nano", + "name": "GPT-5.4 Nano", + "display_name": "GPT-5.4 Nano", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 272000, + "context": 400000, "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "effort", - "effort": "medium", + "effort": "none", "effort_options": [ - "minimal", + "none", "low", "medium", - "high" + "high", + "xhigh" ], "verbosity": "medium", "verbosity_options": [ @@ -83121,82 +91522,56 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0.05, - "output": 0.4, - "cache_read": 0.01 + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "gpt-5.1", - "name": "GPT-5.1", - "display_name": "GPT-5.1", + "id": "phi-3-small-8k-instruct", + "name": "Phi-3-small-instruct (8k)", + "display_name": "Phi-3-small-instruct (8k)", "modalities": { "input": [ - "text", - "image", - "audio" + "text" ], "output": [ - "text", - "image", - "audio" + "text" ] }, "limit": { - "context": 272000, - "output": 128000 + "context": 8192, + "output": 2048 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-14", - "last_updated": "2025-11-14", + "attachment": false, + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "phi-4-mini", - "name": "Phi-4-mini", - "display_name": "Phi-4-mini", + "id": "gpt-5.3-chat", + "name": "GPT-5.3 Chat", + "display_name": "GPT-5.3 Chat", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -83204,28 +91579,30 @@ }, "limit": { "context": 128000, - "output": 4096 + "output": 16384 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", "cost": { - "input": 0.075, - "output": 0.3 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "phi-3-small-128k-instruct", - "name": "Phi-3-small-instruct (128k)", - "display_name": "Phi-3-small-instruct (128k)", + "id": "gpt-3.5-turbo-0125", + "name": "GPT-3.5 Turbo 0125", + "display_name": "GPT-3.5 Turbo 0125", "modalities": { "input": [ "text" @@ -83235,8 +91612,8 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 16384, + "output": 16384 }, "temperature": true, "tool_call": false, @@ -83244,20 +91621,20 @@ "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", + "open_weights": false, + "knowledge": "2021-08", + "release_date": "2024-01-25", + "last_updated": "2024-01-25", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.5, + "output": 1.5 }, "type": "chat" }, { - "id": "phi-3-mini-128k-instruct", - "name": "Phi-3-mini-instruct (128k)", - "display_name": "Phi-3-mini-instruct (128k)", + "id": "cohere-embed-v3-multilingual", + "name": "Embed v3 Multilingual", + "display_name": "Embed v3 Multilingual", "modalities": { "input": [ "text" @@ -83267,126 +91644,175 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 512, + "output": 1024 }, - "temperature": true, + "temperature": false, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", + "release_date": "2023-11-07", + "last_updated": "2023-11-07", "cost": { - "input": 0.13, - "output": 0.52 + "input": 0.1, + "output": 0 }, "type": "chat" }, { - "id": "llama-4-scout-17b-16e-instruct", - "name": "Llama 4 Scout 17B 16E Instruct", - "display_name": "Llama 4 Scout 17B 16E Instruct", + "id": "gpt-3.5-turbo-0613", + "name": "GPT-3.5 Turbo 0613", + "display_name": "GPT-3.5 Turbo 0613", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 16384, + "output": 16384 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "attachment": false, + "open_weights": false, + "knowledge": "2021-08", + "release_date": "2023-06-13", + "last_updated": "2023-06-13", "cost": { - "input": 0.2, - "output": 0.78 + "input": 3, + "output": 4 }, "type": "chat" }, { - "id": "meta-llama-3.1-8b-instruct", - "name": "Meta-Llama-3.1-8B-Instruct", - "display_name": "Meta-Llama-3.1-8B-Instruct", + "id": "gpt-5.1-codex", + "name": "GPT-5.1 Codex", + "display_name": "GPT-5.1 Codex", "modalities": { "input": [ - "text" + "text", + "image", + "audio" ], "output": [ - "text" + "text", + "image", + "audio" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", "cost": { - "input": 0.3, - "output": 0.61 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "gpt-4-32k", - "name": "GPT-4 32K", - "display_name": "GPT-4 32K", + "id": "gpt-5.1-codex-max", + "name": "GPT-5.1 Codex Max", + "display_name": "GPT-5.1 Codex Max", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2023-11", - "release_date": "2023-03-14", - "last_updated": "2023-03-14", + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 60, - "output": 120 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "mistral-nemo", - "name": "Mistral Nemo", - "display_name": "Mistral Nemo", + "id": "phi-4-reasoning", + "name": "Phi-4-reasoning", + "display_name": "Phi-4-reasoning", "modalities": { "input": [ "text" @@ -83396,102 +91822,63 @@ ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 32000, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "knowledge": "2024-07", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", "cost": { - "input": 0.15, - "output": 0.15 + "input": 0.125, + "output": 0.5 }, "type": "chat" }, { - "id": "gpt-5.5", - "name": "GPT-5.5", - "display_name": "GPT-5.5", + "id": "mistral-medium-2505", + "name": "Mistral Medium 3", + "display_name": "Mistral Medium 3", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1050000, + "context": 128000, "output": 128000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "open_weights": false, + "knowledge": "2025-05", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5, - "tiers": [ - { - "input": 10, - "output": 45, - "cache_read": 1, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 10, - "output": 45, - "cache_read": 1 - } + "input": 0.4, + "output": 2 }, "type": "chat" }, { - "id": "phi-4", - "name": "Phi-4", - "display_name": "Phi-4", + "id": "meta-llama-3.1-70b-instruct", + "name": "Meta-Llama-3.1-70B-Instruct", + "display_name": "Meta-Llama-3.1-70B-Instruct", "modalities": { "input": [ "text" @@ -83502,28 +91889,28 @@ }, "limit": { "context": 128000, - "output": 4096 + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 0.125, - "output": 0.5 + "input": 2.68, + "output": 3.54 }, "type": "chat" }, { - "id": "phi-4-reasoning", - "name": "Phi-4-reasoning", - "display_name": "Phi-4-reasoning", + "id": "text-embedding-ada-002", + "name": "text-embedding-ada-002", + "display_name": "text-embedding-ada-002", "modalities": { "input": [ "text" @@ -83533,25 +91920,22 @@ ] }, "limit": { - "context": 32000, - "output": 4096 + "context": 8192, + "output": 1536 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "open_weights": false, + "release_date": "2022-12-15", + "last_updated": "2022-12-15", "cost": { - "input": 0.125, - "output": 0.5 + "input": 0.1, + "output": 0 }, - "type": "chat" + "type": "embedding" }, { "id": "o3-mini", @@ -83602,9 +91986,9 @@ "type": "chat" }, { - "id": "o4-mini", - "name": "o4-mini", - "display_name": "o4-mini", + "id": "gpt-5.2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", "modalities": { "input": [ "text", @@ -83615,22 +91999,30 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 400000, + "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "effort", - "effort": "medium", + "effort": "none", "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ "low", "medium", "high" @@ -83640,53 +92032,24 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.275 + "input": 1.75, + "output": 14, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "text-embedding-3-large", - "name": "text-embedding-3-large", - "display_name": "text-embedding-3-large", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 8191, - "output": 3072 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2024-01-25", - "last_updated": "2024-01-25", - "cost": { - "input": 0.13, - "output": 0 - }, - "type": "embedding" - }, - { - "id": "deepseek-v3.2", - "name": "DeepSeek-V3.2", - "display_name": "DeepSeek-V3.2", + "id": "gpt-4-turbo-vision", + "name": "GPT-4 Turbo Vision", + "display_name": "GPT-4 Turbo Vision", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -83694,45 +92057,38 @@ }, "limit": { "context": 128000, - "output": 128000 + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "attachment": true, + "open_weights": false, + "knowledge": "2023-11", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", "cost": { - "input": 0.58, - "output": 1.68 + "input": 10, + "output": 30 }, "type": "chat" }, { - "id": "gpt-4.1-mini", - "name": "GPT-4.1 mini", - "display_name": "GPT-4.1 mini", + "id": "mistral-large-2411", + "name": "Mistral Large 24.11", + "display_name": "Mistral Large 24.11", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, + "context": 128000, "output": 32768 }, "temperature": true, @@ -83740,22 +92096,21 @@ "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "knowledge": "2024-09", + "release_date": "2024-11-01", + "last_updated": "2024-11-01", "cost": { - "input": 0.4, - "output": 1.6, - "cache_read": 0.1 + "input": 2, + "output": 6 }, "type": "chat" }, { - "id": "gpt-5", - "name": "GPT-5", - "display_name": "GPT-5", + "id": "gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "display_name": "GPT-5.3 Codex", "modalities": { "input": [ "text", @@ -83766,7 +92121,7 @@ ] }, "limit": { - "context": 272000, + "context": 400000, "output": 128000 }, "temperature": false, @@ -83782,10 +92137,10 @@ "mode": "effort", "effort": "medium", "effort_options": [ - "minimal", "low", "medium", - "high" + "high", + "xhigh" ], "verbosity": "medium", "verbosity_options": [ @@ -83796,15 +92151,15 @@ "visibility": "hidden" } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2025-08-31", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.13 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, @@ -83839,13 +92194,12 @@ "type": "embedding" }, { - "id": "mistral-small-2503", - "name": "Mistral Small 3.1", - "display_name": "Mistral Small 3.1", + "id": "deepseek-v3.2-speciale", + "name": "DeepSeek-V3.2-Speciale", + "display_name": "DeepSeek-V3.2-Speciale", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -83853,28 +92207,61 @@ }, "limit": { "context": 128000, - "output": 32768 + "output": 128000 }, "temperature": true, - "tool_call": true, + "tool_call": false, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "cost": { + "input": 0.58, + "output": 1.68 + }, + "type": "chat" + }, + { + "id": "gpt-3.5-turbo-0301", + "name": "GPT-3.5 Turbo 0301", + "display_name": "GPT-3.5 Turbo 0301", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 4096, + "output": 4096 + }, + "temperature": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09", - "release_date": "2025-03-01", - "last_updated": "2025-03-01", + "knowledge": "2021-08", + "release_date": "2023-03-01", + "last_updated": "2023-03-01", "cost": { - "input": 0.1, - "output": 0.3 + "input": 1.5, + "output": 2 }, "type": "chat" }, { - "id": "kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "display_name": "Kimi K2 Thinking", + "id": "meta-llama-3.1-8b-instruct", + "name": "Meta-Llama-3.1-8B-Instruct", + "display_name": "Meta-Llama-3.1-8B-Instruct", "modalities": { "input": [ "text" @@ -83884,74 +92271,188 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "cost": { + "input": 0.3, + "output": 0.61 + }, + "type": "chat" + }, + { + "id": "claude-opus-4-1", + "name": "Claude Opus 4.1", + "display_name": "Claude Opus 4.1", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-12-02", + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", "cost": { - "input": 0.6, - "output": 2.5, - "cache_read": 0.15 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "deepseek-v3-0324", - "name": "DeepSeek-V3-0324", - "display_name": "DeepSeek-V3-0324", + "id": "gpt-5.1-codex-mini", + "name": "GPT-5.1 Codex Mini", + "display_name": "GPT-5.1 Codex Mini", "modalities": { "input": [ + "text", + "image" + ], + "output": [ "text" + ] + }, + "limit": { + "context": 400000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": false, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + }, + "type": "chat" + }, + { + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", + "modalities": { + "input": [ + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-03-24", - "last_updated": "2025-03-24", + "knowledge": "2025-01", + "release_date": "2026-02-06", + "last_updated": "2026-02-06", "cost": { - "input": 1.14, - "output": 4.56 + "input": 0.6, + "output": 3 }, "type": "chat" }, { - "id": "phi-3-medium-128k-instruct", - "name": "Phi-3-medium-instruct (128k)", - "display_name": "Phi-3-medium-instruct (128k)", + "id": "phi-4", + "name": "Phi-4", + "display_name": "Phi-4", "modalities": { "input": [ "text" @@ -83972,18 +92473,18 @@ "attachment": false, "open_weights": true, "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", "cost": { - "input": 0.17, - "output": 0.68 + "input": 0.125, + "output": 0.5 }, "type": "chat" }, { - "id": "o3", - "name": "o3", - "display_name": "o3", + "id": "grok-4-fast-reasoning", + "name": "Grok 4 Fast (Reasoning)", + "display_name": "Grok 4 Fast (Reasoning)", "modalities": { "input": [ "text", @@ -83994,10 +92495,10 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 2000000, + "output": 30000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -84005,34 +92506,25 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, "attachment": true, "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "knowledge": "2025-07", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "gpt-5-codex", - "name": "GPT-5-Codex", - "display_name": "GPT-5-Codex", + "id": "gpt-4.1-nano", + "name": "GPT-4.1 nano", + "display_name": "GPT-4.1 nano", "modalities": { "input": [ "text", @@ -84043,109 +92535,93 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1047576, + "output": 32768 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.13 + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "gpt-5.2", - "name": "GPT-5.2", - "display_name": "GPT-5.2", + "id": "claude-fable-5", + "name": "Claude Fable 5", + "display_name": "Claude Fable 5", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, + "context": 1000000, "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", - "effort": "none", + "effort": "high", "effort_options": [ - "none", "low", "medium", "high", - "xhigh" + "xhigh", + "max" ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Adaptive thinking is always on for Claude Fable 5 and Claude Mythos 5; thinking.type = \"disabled\" is rejected.", + "Manual budget_tokens requests return 400 on Claude Fable 5 and Claude Mythos 5.", + "thinking.display defaults to omitted; set display to summarized to receive readable thinking summaries." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "knowledge": "2026-01-31", + "release_date": "2026-06-09", + "last_updated": "2026-06-09", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.125 + "input": 10, + "output": 50, + "cache_read": 1, + "cache_write": 12.5 }, "type": "chat" }, { - "id": "gpt-4o", - "name": "GPT-4o", - "display_name": "GPT-4o", + "id": "o1", + "name": "o1", + "display_name": "o1", "modalities": { "input": [ "text", @@ -84156,68 +92632,82 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": false, "open_weights": false, "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-08-06", + "release_date": "2024-12-05", + "last_updated": "2024-12-05", "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 + "input": 15, + "output": 60, + "cache_read": 7.5 }, "type": "chat" }, { - "id": "gpt-5-chat", - "name": "GPT-5 Chat", - "display_name": "GPT-5 Chat", + "id": "deepseek-v3.1", + "name": "DeepSeek-V3.1", + "display_name": "DeepSeek-V3.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 131072 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-10-24", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "attachment": false, + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2025-08-21", + "last_updated": "2025-08-21", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.13 + "input": 0.56, + "output": 1.68 }, "type": "chat" }, { - "id": "meta-llama-3.1-405b-instruct", - "name": "Meta-Llama-3.1-405B-Instruct", - "display_name": "Meta-Llama-3.1-405B-Instruct", + "id": "llama-3.2-90b-vision-instruct", + "name": "Llama-3.2-90B-Vision-Instruct", + "display_name": "Llama-3.2-90B-Vision-Instruct", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -84225,54 +92715,79 @@ }, "limit": { "context": 128000, - "output": 32768 + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", "cost": { - "input": 5.33, - "output": 16 + "input": 2.04, + "output": 2.04 }, "type": "chat" }, { - "id": "gpt-4-turbo-vision", - "name": "GPT-4 Turbo Vision", - "display_name": "GPT-4 Turbo Vision", + "id": "claude-haiku-4-5", + "name": "Claude Haiku 4.5", + "display_name": "Claude Haiku 4.5", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, "attachment": true, "open_weights": false, - "knowledge": "2023-11", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", + "knowledge": "2025-02-31", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", "cost": { - "input": 10, - "output": 30 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, @@ -84309,39 +92824,41 @@ "type": "chat" }, { - "id": "gpt-5-mini", - "name": "GPT-5 Mini", - "display_name": "GPT-5 Mini", + "id": "gpt-5.4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 272000, + "context": 1050000, "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "effort", - "effort": "medium", + "effort": "none", "effort_options": [ - "minimal", + "none", "low", "medium", - "high" + "high", + "xhigh" ], "verbosity": "medium", "verbosity_options": [ @@ -84354,31 +92871,106 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.03 + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tiers": [ + { + "input": 5, + "output": 22.5, + "cache_read": 0.5, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 5, + "output": 22.5, + "cache_read": 0.5 + } }, "type": "chat" }, { - "id": "deepseek-r1-0528", - "name": "DeepSeek-R1-0528", - "display_name": "DeepSeek-R1-0528", + "id": "gpt-5.4-mini", + "name": "GPT-5.4 Mini", + "display_name": "GPT-5.4 Mini", "modalities": { "input": [ + "text", + "image", + "pdf" + ], + "output": [ "text" + ] + }, + "limit": { + "context": 400000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "cost": { + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 + }, + "type": "chat" + }, + { + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", + "modalities": { + "input": [ + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 163840 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -84389,29 +92981,24 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "interleaved": true } }, "attachment": false, "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-05-28", - "last_updated": "2025-05-28", + "knowledge": "2025-01", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 1.35, - "output": 5.4 + "input": 0.95, + "output": 4 }, "type": "chat" }, { - "id": "gpt-5-pro", - "name": "GPT-5 Pro", - "display_name": "GPT-5 Pro", + "id": "gpt-4.1", + "name": "GPT-4.1", + "display_name": "GPT-4.1", "modalities": { "input": [ "text", @@ -84422,45 +93009,113 @@ ] }, "limit": { - "context": 400000, - "output": 272000 + "context": 1047576, + "output": 32768 }, - "temperature": false, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + }, + "type": "chat" + }, + { + "id": "claude-opus-4-6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 128000 + }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "fixed", + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, "effort": "high", - "verbosity": "medium", - "verbosity_options": [ + "effort_options": [ "low", "medium", - "high" + "high", + "max" ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-10-06", - "last_updated": "2025-10-06", + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 15, - "output": 120 + "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 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5 + } }, "type": "chat" }, { - "id": "model-router", - "name": "Model Router", - "display_name": "Model Router", + "id": "grok-4-1-fast-reasoning", + "name": "Grok 4.1 Fast (Reasoning)", + "display_name": "Grok 4.1 Fast (Reasoning)", "modalities": { "input": [ "text", @@ -84472,68 +93127,101 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 8192 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": true, "open_weights": false, - "release_date": "2025-05-19", - "last_updated": "2025-11-18", + "release_date": "2025-06-27", + "last_updated": "2025-06-27", "cost": { - "input": 0.14, - "output": 0 + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "gpt-3.5-turbo-1106", - "name": "GPT-3.5 Turbo 1106", - "display_name": "GPT-3.5 Turbo 1106", + "id": "gpt-5-mini", + "name": "GPT-5 Mini", + "display_name": "GPT-5 Mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 272000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2021-08", - "release_date": "2023-11-06", - "last_updated": "2023-11-06", + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 1, - "output": 2 + "input": 0.25, + "output": 2, + "cache_read": 0.03 }, "type": "chat" }, { - "id": "mistral-large-2411", - "name": "Mistral Large 24.11", - "display_name": "Mistral Large 24.11", + "id": "gpt-4.1-mini", + "name": "GPT-4.1 mini", + "display_name": "GPT-4.1 mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, + "context": 1047576, "output": 32768 }, "temperature": true, @@ -84541,30 +93229,22 @@ "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-09", - "release_date": "2024-11-01", - "last_updated": "2024-11-01", + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 2, - "output": 6 + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 }, "type": "chat" - } - ] - }, - "privatemode-ai": { - "id": "privatemode-ai", - "name": "Privatemode AI", - "display_name": "Privatemode AI", - "api": "http://localhost:8080/v1", - "doc": "https://docs.privatemode.ai/api/overview", - "models": [ + }, { - "id": "gemma-3-27b", - "name": "Gemma 3 27B", - "display_name": "Gemma 3 27B", + "id": "gpt-4-turbo", + "name": "GPT-4 Turbo", + "display_name": "GPT-4 Turbo", "modalities": { "input": [ "text", @@ -84576,7 +93256,7 @@ }, "limit": { "context": 128000, - "output": 8192 + "output": 4096 }, "temperature": true, "tool_call": true, @@ -84584,33 +93264,34 @@ "supported": false }, "attachment": true, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-03-12", - "last_updated": "2025-03-12", + "open_weights": false, + "knowledge": "2023-12", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", "cost": { - "input": 0, - "output": 0 + "input": 10, + "output": 30 }, "type": "chat" }, { - "id": "gpt-oss-120b", - "name": "gpt-oss-120b", - "display_name": "gpt-oss-120b", + "id": "gpt-5-nano", + "name": "GPT-5 Nano", + "display_name": "GPT-5 Nano", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, + "context": 272000, "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -84618,88 +93299,141 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-08", - "release_date": "2025-08-04", - "last_updated": "2025-08-14", + "attachment": true, + "open_weights": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0, - "output": 0 + "input": 0.05, + "output": 0.4, + "cache_read": 0.01 }, "type": "chat" }, { - "id": "whisper-large-v3", - "name": "Whisper large-v3", - "display_name": "Whisper large-v3", + "id": "phi-3-medium-4k-instruct", + "name": "Phi-3-medium-instruct (4k)", + "display_name": "Phi-3-medium-instruct (4k)", "modalities": { "input": [ - "audio" + "text" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 4096 + "context": 4096, + "output": 1024 }, "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2023-09", - "release_date": "2023-09-01", - "last_updated": "2023-09-01", + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", "cost": { - "input": 0, - "output": 0 + "input": 0.17, + "output": 0.68 }, "type": "chat" }, { - "id": "qwen3-embedding-4b", - "name": "Qwen3-Embedding 4B", - "display_name": "Qwen3-Embedding 4B", + "id": "gpt-5.4-pro", + "name": "GPT-5.4 Pro", + "display_name": "GPT-5.4 Pro", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32000, - "output": 2560 + "context": 1050000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-06", - "release_date": "2025-06-06", - "last_updated": "2025-06-06", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0, - "output": 0 + "input": 30, + "output": 180, + "tiers": [ + { + "input": 60, + "output": 270, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 60, + "output": 270 + } }, - "type": "embedding" + "type": "chat" }, { - "id": "qwen3-coder-30b-a3b", - "name": "Qwen3-Coder 30B-A3B", - "display_name": "Qwen3-Coder 30B-A3B", + "id": "cohere-embed-v3-english", + "name": "Embed v3 English", + "display_name": "Embed v3 English", "modalities": { "input": [ "text" @@ -84709,63 +93443,23 @@ ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 512, + "output": 1024 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "release_date": "2023-11-07", + "last_updated": "2023-11-07", "cost": { - "input": 0, + "input": 0.1, "output": 0 }, "type": "chat" - } - ] - }, - "snowflake-cortex": { - "id": "snowflake-cortex", - "name": "Snowflake Cortex", - "display_name": "Snowflake Cortex", - "api": "https://${SNOWFLAKE_ACCOUNT}.snowflakecomputing.com/api/v2/cortex/v1", - "doc": "https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-rest-api", - "models": [ - { - "id": "openai-gpt-5.2", - "name": "GPT-5.2", - "display_name": "GPT-5.2", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 400000, - "output": 128000 - }, - "temperature": false, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "type": "chat" }, { "id": "claude-sonnet-4-6", @@ -84783,7 +93477,7 @@ }, "limit": { "context": 1000000, - "output": 16384 + "output": 64000 }, "temperature": true, "tool_call": true, @@ -84824,155 +93518,118 @@ "knowledge": "2025-08-31", "release_date": "2026-02-17", "last_updated": "2026-03-13", + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + }, "type": "chat" }, { - "id": "openai-gpt-4.1", - "name": "GPT-4.1", - "display_name": "GPT-4.1", + "id": "codestral-2501", + "name": "Codestral 25.01", + "display_name": "Codestral 25.01", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 256000, + "output": 256000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "knowledge": "2024-03", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "cost": { + "input": 0.3, + "output": 0.9 + }, "type": "chat" }, { - "id": "openai-gpt-5.4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "phi-4-reasoning-plus", + "name": "Phi-4-reasoning-plus", + "display_name": "Phi-4-reasoning-plus", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 32000, + "output": 4096 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "attachment": false, + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "cost": { + "input": 0.125, + "output": 0.5 + }, "type": "chat" }, { - "id": "claude-haiku-4-5", - "name": "Claude Haiku 4.5 (latest)", - "display_name": "Claude Haiku 4.5 (latest)", + "id": "phi-4-multimodal", + "name": "Phi-4-multimodal", + "display_name": "Phi-4-multimodal", "modalities": { "input": [ "text", "image", - "pdf" + "audio" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 16384 + "context": 128000, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "type": "chat" - }, - { - "id": "openai-gpt-5", - "name": "GPT-5", - "display_name": "GPT-5", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 400000, - "output": 128000 - }, - "temperature": false, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "cost": { + "input": 0.08, + "output": 0.32, + "input_audio": 4 }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", "type": "chat" }, { - "id": "openai-gpt-5-mini", - "name": "GPT-5 Mini", - "display_name": "GPT-5 Mini", + "id": "gpt-4o-mini", + "name": "GPT-4o mini", + "display_name": "GPT-4o mini", "modalities": { "input": [ "text", @@ -84983,56 +93640,30 @@ ] }, "limit": { - "context": 272000, - "output": 8192 + "context": 128000, + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "type": "chat" - }, - { - "id": "openai-gpt-5-nano", - "name": "GPT-5 Nano", - "display_name": "GPT-5 Nano", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 400000, - "output": 128000 - }, - "temperature": false, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true + "knowledge": "2023-09", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.075 }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", "type": "chat" }, { - "id": "openai-gpt-5.1", - "name": "GPT-5.1", - "display_name": "GPT-5.1", + "id": "model-router", + "name": "Model Router", + "display_name": "Model Router", "modalities": { "input": [ "text", @@ -85043,144 +93674,121 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 16384 }, - "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "release_date": "2025-05-19", + "last_updated": "2025-11-18", + "cost": { + "input": 0.14, + "output": 0 + }, "type": "chat" }, { - "id": "claude-sonnet-4-5", - "name": "Claude Sonnet 4.5 (latest)", - "display_name": "Claude Sonnet 4.5 (latest)", + "id": "grok-4-20-reasoning", + "name": "Grok 4.20 (Reasoning)", + "display_name": "Grok 4.20 (Reasoning)", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 16384 + "context": 262000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "knowledge": "2025-09", + "release_date": "2026-04-08", + "last_updated": "2026-04-08", + "cost": { + "input": 2, + "output": 6 + }, "type": "chat" }, { - "id": "claude-opus-4-7", - "name": "Claude Opus 4.7", - "display_name": "Claude Opus 4.7", + "id": "gpt-5-codex", + "name": "GPT-5-Codex", + "display_name": "GPT-5-Codex", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 400000, "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", - "effort": "high", + "effort": "medium", "effort_options": [ + "minimal", "low", "medium", - "high", - "xhigh", - "max" + "high" ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] + "visibility": "hidden" } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "knowledge": "2024-09-30", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.13 + }, "type": "chat" - } - ] - }, - "moonshot-ai": { - "id": "moonshot-ai", - "name": "Moonshot AI", - "display_name": "Moonshot AI", - "api": "https://api.moonshot.ai/v1", - "doc": "https://platform.moonshot.ai/docs/api/chat", - "models": [ + }, { - "id": "kimi-k2-thinking-turbo", - "name": "Kimi K2 Thinking Turbo", - "display_name": "Kimi K2 Thinking Turbo", + "id": "deepseek-v3.2", + "name": "DeepSeek-V3.2", + "display_name": "DeepSeek-V3.2", "modalities": { "input": [ "text" @@ -85190,8 +93798,8 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -85201,91 +93809,71 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "cost": { - "input": 1.15, - "output": 8, - "cache_read": 0.15 + "input": 0.58, + "output": 1.68 }, "type": "chat" }, { - "id": "kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "display_name": "Kimi K2 Thinking", + "id": "llama-4-maverick-17b-128e-instruct-fp8", + "name": "Llama 4 Maverick 17B 128E Instruct FP8", + "display_name": "Llama 4 Maverick 17B 128E Instruct FP8", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { - "input": 0.6, - "output": 2.5, - "cache_read": 0.15 + "input": 0.25, + "output": 1 }, "type": "chat" }, { - "id": "kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "display_name": "GPT-5.2 Codex", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -85294,30 +93882,40 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "attachment": false, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", "cost": { - "input": 0.95, - "output": 4, - "cache_read": 0.16 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "kimi-k2-turbo-preview", - "name": "Kimi K2 Turbo", - "display_name": "Kimi K2 Turbo", + "id": "phi-4-mini-reasoning", + "name": "Phi-4-mini-reasoning", + "display_name": "Phi-4-mini-reasoning", "modalities": { "input": [ "text" @@ -85327,30 +93925,30 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", "cost": { - "input": 2.4, - "output": 10, - "cache_read": 0.6 + "input": 0.075, + "output": 0.3 }, "type": "chat" }, { - "id": "kimi-k2-0905-preview", - "name": "Kimi K2 0905", - "display_name": "Kimi K2 0905", + "id": "phi-3-mini-128k-instruct", + "name": "Phi-3-mini-instruct (128k)", + "display_name": "Phi-3-mini-instruct (128k)", "modalities": { "input": [ "text" @@ -85360,30 +93958,29 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", "cost": { - "input": 0.6, - "output": 2.5, - "cache_read": 0.15 + "input": 0.13, + "output": 0.52 }, "type": "chat" }, { - "id": "kimi-k2-0711-preview", - "name": "Kimi K2 0711", - "display_name": "Kimi K2 0711", + "id": "phi-3-mini-4k-instruct", + "name": "Phi-3-mini-instruct (4k)", + "display_name": "Phi-3-mini-instruct (4k)", "modalities": { "input": [ "text" @@ -85393,184 +93990,238 @@ ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 4096, + "output": 1024 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-07-14", - "last_updated": "2025-07-14", + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", "cost": { - "input": 0.6, - "output": 2.5, - "cache_read": 0.15 + "input": 0.13, + "output": 0.52 }, "type": "chat" }, { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "meta-llama-3-70b-instruct", + "name": "Meta-Llama-3-70B-Instruct", + "display_name": "Meta-Llama-3-70B-Instruct", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 8192, + "output": 2048 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01", - "last_updated": "2026-01", + "knowledge": "2023-12", + "release_date": "2024-04-18", + "last_updated": "2024-04-18", "cost": { - "input": 0.6, - "output": 3, - "cache_read": 0.1 + "input": 2.68, + "output": 3.54 }, "type": "chat" - } - ] - }, - "perplexity": { - "id": "perplexity", - "name": "Perplexity", - "display_name": "Perplexity", - "doc": "https://docs.perplexity.ai", - "models": [ + }, { - "id": "sonar", - "name": "Sonar", - "display_name": "Sonar", + "id": "gpt-5.1", + "name": "GPT-5.1", + "display_name": "GPT-5.1", "modalities": { "input": [ - "text" + "text", + "image", + "audio" ], "output": [ - "text" + "text", + "image", + "audio" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 272000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2025-09-01", - "release_date": "2024-01-01", - "last_updated": "2025-09-01", + "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", "cost": { - "input": 1, - "output": 1 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "sonar-pro", - "name": "Sonar Pro", - "display_name": "Sonar Pro", + "id": "gpt-5.5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 1050000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, "open_weights": false, - "knowledge": "2025-09-01", - "release_date": "2024-01-01", - "last_updated": "2025-09-01", + "knowledge": "2025-12-01", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 3, - "output": 15 + "input": 5, + "output": 30, + "cache_read": 0.5, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + } }, "type": "chat" - }, + } + ] + }, + "cerebras": { + "id": "cerebras", + "name": "Cerebras", + "display_name": "Cerebras", + "doc": "https://inference-docs.cerebras.ai/models/overview", + "models": [ { - "id": "sonar-reasoning-pro", - "name": "Sonar Reasoning Pro", - "display_name": "Sonar Reasoning Pro", + "id": "gpt-oss-120b", + "name": "GPT OSS 120B", + "display_name": "GPT OSS 120B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131072, + "output": 40960 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-09-01", - "release_date": "2024-01-01", - "last_updated": "2025-09-01", + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-08-05", + "last_updated": "2026-06-10", "cost": { - "input": 2, - "output": 8 + "input": 0.35, + "output": 0.75 }, "type": "chat" }, { - "id": "sonar-deep-research", - "name": "Perplexity Sonar Deep Research", - "display_name": "Perplexity Sonar Deep Research", + "id": "zai-glm-4.7", + "name": "Z.AI GLM-4.7", + "display_name": "Z.AI GLM-4.7", "modalities": { "input": [ "text" @@ -85580,40 +94231,40 @@ ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 131072, + "output": 40960 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": false, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-02-01", - "last_updated": "2025-09-01", + "open_weights": true, + "release_date": "2026-01-07", + "last_updated": "2026-06-10", "cost": { - "input": 2, - "output": 8, - "reasoning": 3 + "input": 2.25, + "output": 2.75, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" } ] }, - "llmgateway": { - "id": "llmgateway", - "name": "LLM Gateway", - "display_name": "LLM Gateway", - "api": "https://api.llmgateway.io/v1", - "doc": "https://llmgateway.io/docs", + "zai-coding-plan": { + "id": "zai-coding-plan", + "name": "Z.AI Coding Plan", + "display_name": "Z.AI Coding Plan", + "api": "https://api.z.ai/api/coding/paas/v4", + "doc": "https://docs.z.ai/devpack/overview", "models": [ { - "id": "kimi-k2-thinking-turbo", - "name": "Kimi K2 Thinking Turbo", - "display_name": "Kimi K2 Thinking Turbo", + "id": "glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", "modalities": { "input": [ "text" @@ -85623,8 +94274,8 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -85645,32 +94296,32 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 1.15, - "output": 8, - "cache_read": 0.15 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "gemini-pro-latest", - "name": "Gemini Pro Latest", - "display_name": "Gemini Pro Latest", + "id": "glm-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 200000, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -85678,21 +94329,33 @@ "supported": true, "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": false, - "release_date": "2026-02-27", - "last_updated": "2026-02-27", + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "llama-3.1-70b-instruct", - "name": "Llama 3.1 70B Instruct", - "display_name": "Llama 3.1 70B Instruct", + "id": "glm-5.2", + "name": "GLM-5.2", + "display_name": "GLM-5.2", "modalities": { "input": [ "text" @@ -85702,32 +94365,47 @@ ] }, "limit": { - "context": 128000, - "output": 2048 + "context": 1000000, + "output": 131072 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "open_weights": false, + "release_date": "2026-06-13", + "last_updated": "2026-06-13", "cost": { - "input": 0.72, - "output": 0.72 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "grok-4-20-beta-0309-reasoning", - "name": "Grok 4.20 (Reasoning)", - "display_name": "Grok 4.20 (Reasoning)", + "id": "glm-5v-turbo", + "name": "GLM-5V-Turbo", + "display_name": "GLM-5V-Turbo", "modalities": { "input": [ "text", "image", + "video", "pdf" ], "output": [ @@ -85735,8 +94413,8 @@ ] }, "limit": { - "context": 1000000, - "output": 30000 + "context": 200000, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -85744,86 +94422,68 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": true, "open_weights": false, - "release_date": "2026-03-09", - "last_updated": "2026-03-09", + "release_date": "2026-04-01", + "last_updated": "2026-04-01", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 5, - "cache_read": 0.4 - } + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "gpt-5-pro", - "name": "GPT-5 Pro", - "display_name": "GPT-5 Pro", + "id": "glm-4.5-air", + "name": "GLM-4.5-Air", + "display_name": "GLM-4.5-Air", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 272000 + "context": 131072, + "output": 98304 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "fixed", - "effort": "high", - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-10-06", - "last_updated": "2025-10-06", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 15, - "output": 120 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "glm-4.5-flash", - "name": "GLM-4.5-Flash", - "display_name": "GLM-4.5-Flash", + "id": "glm-5-turbo", + "name": "GLM-5-Turbo", + "display_name": "GLM-5-Turbo", "modalities": { "input": [ "text" @@ -85833,8 +94493,8 @@ ] }, "limit": { - "context": 131072, - "output": 98304 + "context": 200000, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -85842,11 +94502,21 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "release_date": "2026-03-16", + "last_updated": "2026-03-16", "cost": { "input": 0, "output": 0, @@ -85854,11 +94524,20 @@ "cache_write": 0 }, "type": "chat" - }, + } + ] + }, + "nvidia": { + "id": "nvidia", + "name": "Nvidia", + "display_name": "Nvidia", + "api": "https://integrate.api.nvidia.com/v1", + "doc": "https://docs.api.nvidia.com/nim/", + "models": [ { - "id": "qwen3-30b-a3b-instruct-2507", - "name": "Qwen3 30B A3B Instruct (2507)", - "display_name": "Qwen3 30B A3B Instruct (2507)", + "id": "baai/bge-m3", + "name": "BGE M3", + "display_name": "BGE M3", "modalities": { "input": [ "text" @@ -85868,28 +94547,28 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 8192, + "output": 1024 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-07-08", - "last_updated": "2025-07-08", + "release_date": "2024-01-30", + "last_updated": "2026-04-30", "cost": { - "input": 0.1, - "output": 0.3 + "input": 0, + "output": 0 }, - "type": "chat" + "type": "embedding" }, { - "id": "deepseek-r1-0528", - "name": "DeepSeek R1 (0528)", - "display_name": "DeepSeek R1 (0528)", + "id": "moonshotai/kimi-k2-instruct-0905", + "name": "Kimi K2 0905", + "display_name": "Kimi K2 0905", "modalities": { "input": [ "text" @@ -85899,119 +94578,88 @@ ] }, "limit": { - "context": 64000, - "output": 16384 + "context": 262144, + "output": 262144 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-05-28", - "last_updated": "2025-05-28", + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", "cost": { - "input": 0.55, - "output": 2.19 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "moonshotai/kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gpt-5-mini", - "name": "GPT-5 Mini", - "display_name": "GPT-5 Mini", + "id": "minimaxai/minimax-m2.7", + "name": "MiniMax-M2.7", + "display_name": "MiniMax-M2.7", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 204800, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -86020,54 +94668,40 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "attachment": false, + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-04-11", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen35-397b-a17b", - "name": "Qwen3.5 397B-A17B", - "display_name": "Qwen3.5 397B-A17B", + "id": "stepfun-ai/step-3.7-flash", + "name": "Step 3.7 Flash", + "display_name": "Step 3.7 Flash", "modalities": { "input": [ "text", - "image", - "video", - "audio" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 256000, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -86077,18 +94711,18 @@ }, "attachment": true, "open_weights": true, - "release_date": "2026-02-15", - "last_updated": "2026-02-15", + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "cost": { - "input": 0.6, - "output": 3.6 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen3-next-80b-a3b-instruct", - "name": "Qwen3-Next 80B-A3B Instruct", - "display_name": "Qwen3-Next 80B-A3B Instruct", + "id": "stepfun-ai/step-3.5-flash", + "name": "Step 3.5 Flash", + "display_name": "Step 3.5 Flash", "modalities": { "input": [ "text" @@ -86098,32 +94732,33 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 256000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09", - "last_updated": "2025-09", + "release_date": "2026-02-02", + "last_updated": "2026-02-02", "cost": { - "input": 0.5, - "output": 2 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "sonar", - "name": "Sonar", - "display_name": "Sonar", + "id": "google/gemma-3n-e4b-it", + "name": "Gemma 3n E4b It", + "display_name": "Gemma 3n E4b It", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -86134,25 +94769,25 @@ "output": 4096 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-09-01", - "release_date": "2024-01-01", - "last_updated": "2025-09-01", + "attachment": true, + "open_weights": true, + "knowledge": "2024-06", + "release_date": "2025-06-03", + "last_updated": "2025-06-03", "cost": { - "input": 1, - "output": 1 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen2-5-vl-72b-instruct", - "name": "Qwen2.5-VL 72B Instruct", - "display_name": "Qwen2.5-VL 72B Instruct", + "id": "google/gemma-3n-e2b-it", + "name": "Gemma 3n E2b It", + "display_name": "Gemma 3n E2b It", "modalities": { "input": [ "text", @@ -86163,29 +94798,29 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", + "knowledge": "2024-06", + "release_date": "2025-06-12", + "last_updated": "2025-06-12", "cost": { - "input": 2.8, - "output": 8.4 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gemma-3-27b", - "name": "Gemma 3 27B", - "display_name": "Gemma 3 27B", + "id": "google/google-paligemma", + "name": "paligemma", + "display_name": "paligemma", "modalities": { "input": [ "text", @@ -86197,7 +94832,7 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 8192 }, "temperature": true, "tool_call": false, @@ -86206,29 +94841,31 @@ }, "attachment": true, "open_weights": true, - "release_date": "2025-03-12", - "last_updated": "2025-03-12", + "release_date": "2024-05-14", + "last_updated": "2024-08-26", "cost": { - "input": 0.27, - "output": 0.27 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "glm-4.7-flashx", - "name": "GLM-4.7-FlashX", - "display_name": "GLM-4.7-FlashX", + "id": "google/gemma-4-31b-it", + "name": "Gemma-4-31B-IT", + "display_name": "Gemma-4-31B-IT", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 256000, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -86236,28 +94873,24 @@ "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", + "knowledge": "2025-01", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0.07, - "output": 0.4, - "cache_read": 0.01, - "cache_write": 0 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gpt-4o", - "name": "GPT-4o", - "display_name": "GPT-4o", + "id": "google/gemma-2-2b-it", + "name": "Gemma 2 2b It", + "display_name": "Gemma 2 2b It", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" @@ -86265,33 +94898,30 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-08-06", + "attachment": false, + "open_weights": true, + "release_date": "2024-07-16", + "last_updated": "2024-07-16", "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen3-vl-30b-a3b-instruct", - "name": "Qwen3 VL 30B A3B Instruct", - "display_name": "Qwen3 VL 30B A3B Instruct", + "id": "microsoft/phi-4-mini-instruct", + "name": "Phi-4-Mini", + "display_name": "Phi-4-Mini", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -86306,89 +94936,62 @@ "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2025-10-02", - "last_updated": "2025-10-02", + "knowledge": "2024-12", + "release_date": "2024-12-01", + "last_updated": "2025-09-05", "cost": { - "input": 0.2, - "output": 0.7 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gpt-5.2", - "name": "GPT-5.2", - "display_name": "GPT-5.2", + "id": "microsoft/phi-4-multimodal-instruct", + "name": "Phi 4 Multimodal", + "display_name": "Phi 4 Multimodal", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 16384 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2025-07-26", + "last_updated": "2025-07-26", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "glm-4.6v-flash", - "name": "GLM-4.6V Flash", - "display_name": "GLM-4.6V Flash", + "id": "z-ai/glm-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16000 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -86396,10 +94999,21 @@ "supported": true, "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": true, - "release_date": "2025-12-08", - "last_updated": "2025-12-08", + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { "input": 0, "output": 0 @@ -86407,91 +95021,92 @@ "type": "chat" }, { - "id": "gpt-5-chat-latest", - "name": "GPT-5 Chat (latest)", - "display_name": "GPT-5 Chat (latest)", + "id": "openai/gpt-oss-120b", + "name": "GPT-OSS-120B", + "display_name": "GPT-OSS-120B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-08", + "release_date": "2025-08-04", + "last_updated": "2025-08-14", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "ministral-14b-2512", - "name": "Ministral 14B", - "display_name": "Ministral 14B", + "id": "openai/whisper-large-v3", + "name": "Whisper Large v3", + "display_name": "Whisper Large v3", "modalities": { "input": [ - "text", - "image" + "audio" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 8192 + "context": 8192, + "output": 4096 }, - "temperature": true, + "temperature": false, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", + "knowledge": "2023-09", + "release_date": "2023-09-01", + "last_updated": "2025-09-05", "cost": { - "input": 0.2, - "output": 0.2 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "o3", - "name": "o3", - "display_name": "o3", + "id": "openai/gpt-oss-20b", + "name": "GPT OSS 20B", + "display_name": "GPT OSS 20B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 131072, + "output": 32768 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -86499,34 +95114,23 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "attachment": false, + "open_weights": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "glm-4.6", - "name": "GLM-4.6", - "display_name": "GLM-4.6", + "id": "bytedance/seed-oss-36b-instruct", + "name": "ByteDance-Seed/Seed-OSS-36B-Instruct", + "display_name": "ByteDance-Seed/Seed-OSS-36B-Instruct", "modalities": { "input": [ "text" @@ -86536,14 +95140,13 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 262000, + "output": 262000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -86551,56 +95154,50 @@ } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", + "open_weights": false, + "release_date": "2025-09-04", + "last_updated": "2025-11-25", "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11, - "cache_write": 0 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gpt-5.3-chat-latest", - "name": "GPT-5.3 Chat (latest)", - "display_name": "GPT-5.3 Chat (latest)", + "id": "mistralai/mistral-7b-instruct-v03", + "name": "Mistral-7B-Instruct-v0.3", + "display_name": "Mistral-7B-Instruct-v0.3", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 65536, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-03", - "last_updated": "2026-03-03", + "attachment": false, + "open_weights": true, + "release_date": "2025-04-01", + "last_updated": "2025-04-01", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen3-32b", - "name": "Qwen3 32B", - "display_name": "Qwen3 32B", + "id": "mistralai/magistral-small-2506", + "name": "Magistral Small 2506", + "display_name": "Magistral Small 2506", "modalities": { "input": [ "text" @@ -86610,42 +95207,27 @@ ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 32768, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "open_weights": false, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", "cost": { - "input": 0.7, - "output": 2.8, - "reasoning": 8.4 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen3-coder-30b-a3b-instruct", - "name": "Qwen3-Coder 30B-A3B Instruct", - "display_name": "Qwen3-Coder 30B-A3B Instruct", + "id": "mistralai/mixtral-8x7b-instruct", + "name": "Mistral: Mixtral 8x7B Instruct", + "display_name": "Mistral: Mixtral 8x7B Instruct", "modalities": { "input": [ "text" @@ -86655,8 +95237,8 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 32768, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -86665,64 +95247,49 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "release_date": "2023-12-10", + "last_updated": "2026-03-15", "cost": { - "input": 0.45, - "output": 2.25 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "display_name": "Kimi K2 Thinking", + "id": "mistralai/mistral-medium-3-instruct", + "name": "Mistral Medium 3", + "display_name": "Mistral Medium 3", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 131072, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", + "attachment": true, + "open_weights": false, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", "cost": { - "input": 0.6, - "output": 2.5, - "cache_read": 0.15 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen3-vl-30b-a3b-thinking", - "name": "Qwen3 VL 30B A3B Thinking", - "display_name": "Qwen3 VL 30B A3B Thinking", + "id": "mistralai/mistral-small-4-119b-2603", + "name": "mistral-small-4-119b-2603", + "display_name": "mistral-small-4-119b-2603", "modalities": { "input": [ "text", @@ -86733,7 +95300,7 @@ ] }, "limit": { - "context": 131072, + "context": 128000, "output": 8192 }, "temperature": true, @@ -86742,89 +95309,51 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": true, "open_weights": true, - "release_date": "2025-10-02", - "last_updated": "2025-10-02", + "release_date": "2026-03-16", + "last_updated": "2026-03-16", "cost": { - "input": 0.2, - "output": 1 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "claude-haiku-4-5-20251001", - "name": "Claude Haiku 4.5", - "display_name": "Claude Haiku 4.5", + "id": "mistralai/mistral-nemotron", + "name": "mistral-nemotron", + "display_name": "mistral-nemotron", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "attachment": false, + "open_weights": true, + "release_date": "2025-06-11", + "last_updated": "2025-06-12", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "ministral-8b-2512", - "name": "Ministral 8B", - "display_name": "Ministral 8B", + "id": "mistralai/mistral-large-3-675b-instruct-2512", + "name": "Mistral Large 3 675B Instruct 2512", + "display_name": "Mistral Large 3 675B Instruct 2512", "modalities": { "input": [ "text", @@ -86836,27 +95365,28 @@ }, "limit": { "context": 262144, - "output": 8192 + "output": 262144 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, "open_weights": true, + "knowledge": "2025-01", "release_date": "2025-12-02", "last_updated": "2025-12-02", "cost": { - "input": 0.15, - "output": 0.15 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "glm-4-32b-0414-128k", - "name": "GLM-4 32B (0414-128k)", - "display_name": "GLM-4 32B (0414-128k)", + "id": "mistralai/mixtral-8x22b-instruct", + "name": "Mistral: Mixtral 8x22B Instruct", + "display_name": "Mistral: Mixtral 8x22B Instruct", "modalities": { "input": [ "text" @@ -86866,8 +95396,8 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 65536, + "output": 13108 }, "temperature": true, "tool_call": true, @@ -86875,83 +95405,85 @@ "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "open_weights": true, + "release_date": "2024-04-17", + "last_updated": "2024-04-17", "cost": { - "input": 0.1, - "output": 0.1 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen3-235b-a22b-fp8", - "name": "Qwen3 235B A22B FP8", - "display_name": "Qwen3 235B A22B FP8", + "id": "nvidia/cosmos-transfer1-7b", + "name": "cosmos-transfer1-7b", + "display_name": "cosmos-transfer1-7b", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 8192, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2025-04-28", - "last_updated": "2025-04-28", + "release_date": "2025-06-13", + "last_updated": "2025-06-30", "cost": { - "input": 0.2, - "output": 0.8 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen2-5-vl-32b-instruct", - "name": "Qwen2.5 VL 32B Instruct", - "display_name": "Qwen2.5 VL 32B Instruct", + "id": "nvidia/cosmos-transfer2_5-2b", + "name": "cosmos-transfer2.5-2b", + "display_name": "cosmos-transfer2.5-2b", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 8192, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, "open_weights": true, - "release_date": "2025-03-15", - "last_updated": "2025-03-15", + "release_date": "2026-02-26", + "last_updated": "2026-02-26", "cost": { - "input": 1.4, - "output": 4.2 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen3-vl-235b-a22b-instruct", - "name": "Qwen3 VL 235B A22B Instruct", - "display_name": "Qwen3 VL 235B A22B Instruct", + "id": "nvidia/llama-nemotron-embed-vl-1b-v2", + "name": "llama-nemotron-embed-vl-1b-v2", + "display_name": "llama-nemotron-embed-vl-1b-v2", "modalities": { "input": [ "text", @@ -86962,84 +95494,95 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 32768, + "output": 2048 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, "open_weights": true, - "release_date": "2025-09-15", - "last_updated": "2025-09-15", + "release_date": "2026-02-10", + "last_updated": "2026-02-10", "cost": { - "input": 0.3, - "output": 1.5 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gpt-5", - "name": "GPT-5", - "display_name": "GPT-5", + "id": "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning", + "name": "Nemotron 3 Nano Omni", + "display_name": "Nemotron 3 Nano Omni", "modalities": { "input": [ "text", - "image" + "image", + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 256000, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "attachment": true, + "open_weights": true, + "release_date": "2026-04-28", + "last_updated": "2026-04-28", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, + { + "id": "nvidia/magpie-tts-zeroshot", + "name": "magpie-tts-zeroshot", + "display_name": "magpie-tts-zeroshot", + "modalities": { + "input": [ + "text", + "audio" + ], + "output": [ + "audio" + ] + }, + "limit": { + "context": 8192, + "output": 4096 + }, + "temperature": false, + "tool_call": false, + "reasoning": { + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "open_weights": true, + "release_date": "2025-05-22", + "last_updated": "2025-06-12", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen3-32b-fp8", - "name": "Qwen3 32B FP8", - "display_name": "Qwen3 32B FP8", + "id": "nvidia/nvidia-nemotron-nano-9b-v2", + "name": "nvidia-nemotron-nano-9b-v2", + "display_name": "nvidia-nemotron-nano-9b-v2", "modalities": { "input": [ "text" @@ -87050,7 +95593,7 @@ }, "limit": { "context": 131072, - "output": 8192 + "output": 131072 }, "temperature": true, "tool_call": true, @@ -87060,62 +95603,82 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-04-28", - "last_updated": "2025-04-28", + "knowledge": "2024-09", + "release_date": "2025-08-18", + "last_updated": "2025-08-18", "cost": { - "input": 0.1, - "output": 0.1 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gemini-3.1-flash-lite-preview", - "name": "Gemini 3.1 Flash Lite Preview", - "display_name": "Gemini 3.1 Flash Lite Preview", + "id": "nvidia/synthetic-video-detector", + "name": "synthetic-video-detector", + "display_name": "synthetic-video-detector", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 8192, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, + { + "id": "nvidia/nemotron-content-safety-reasoning-4b", + "name": "nemotron-content-safety-reasoning-4b", + "display_name": "nemotron-content-safety-reasoning-4b", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 4096 + }, + "temperature": false, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-03-03", - "last_updated": "2026-03-03", + "attachment": false, + "open_weights": true, + "release_date": "2026-01-22", + "last_updated": "2026-01-22", "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.025, - "input_audio": 0.5 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "grok-4-0709", - "name": "Grok 4 (0709)", - "display_name": "Grok 4 (0709)", + "id": "nvidia/nv-embed-v1", + "name": "nv-embed-v1", + "display_name": "nv-embed-v1", "modalities": { "input": [ "text" @@ -87125,28 +95688,28 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 32768, + "output": 2048 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", + "open_weights": true, + "release_date": "2024-06-07", + "last_updated": "2025-07-22", "cost": { - "input": 3, - "output": 15 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen-flash", - "name": "Qwen Flash", - "display_name": "Qwen Flash", + "id": "nvidia/usdcode", + "name": "usdcode", + "display_name": "usdcode", "modalities": { "input": [ "text" @@ -87156,186 +95719,131 @@ ] }, "limit": { - "context": 1000000, - "output": 32768 + "context": 128000, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "release_date": "2026-01-01", + "last_updated": "2026-01-01", "cost": { - "input": 0.05, - "output": 0.4 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "claude-haiku-4-5", - "name": "Claude Haiku 4.5 (latest)", - "display_name": "Claude Haiku 4.5 (latest)", + "id": "nvidia/riva-translate-4b-instruct-v1_1", + "name": "riva-translate-4b-instruct-v1_1", + "display_name": "riva-translate-4b-instruct-v1_1", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 128000, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "attachment": false, + "open_weights": true, + "release_date": "2025-12-12", + "last_updated": "2025-12-12", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gemini-2.0-flash-lite", - "name": "Gemini 2.0 Flash-Lite", - "display_name": "Gemini 2.0 Flash-Lite", + "id": "nvidia/sparsedrive", + "name": "sparsedrive", + "display_name": "sparsedrive", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 1048576, + "context": 128000, "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2024-06", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "open_weights": true, + "release_date": "2025-03-18", + "last_updated": "2025-07-20", "cost": { - "input": 0.075, - "output": 0.3 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "minimax-m3", - "name": "MiniMax-M3", - "display_name": "MiniMax-M3", + "id": "nvidia/rerank-qa-mistral-4b", + "name": "rerank-qa-mistral-4b", + "display_name": "rerank-qa-mistral-4b", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 512000, - "output": 128000 + "context": 128000, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-06-01", - "last_updated": "2026-06-01", + "attachment": false, + "open_weights": true, + "release_date": "2024-03-17", + "last_updated": "2025-01-17", "cost": { - "input": 0.6, - "output": 2.4, - "cache_read": 0.12 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "sonar-pro", - "name": "Sonar Pro", - "display_name": "Sonar Pro", + "id": "nvidia/streampetr", + "name": "streampetr", + "display_name": "streampetr", "modalities": { "input": [ - "text", - "image" + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, + "context": 128000, "output": 8192 }, "temperature": true, @@ -87344,154 +95852,124 @@ "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-09-01", - "release_date": "2024-01-01", - "last_updated": "2025-09-01", + "open_weights": true, + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 3, - "output": 15 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gpt-5.4-pro", - "name": "GPT-5.4 Pro", - "display_name": "GPT-5.4 Pro", + "id": "nvidia/active-speaker-detection", + "name": "Active Speaker Detection", + "display_name": "Active Speaker Detection", "modalities": { "input": [ - "text", - "image" + "video" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 8192, + "output": 4096 }, "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "open_weights": true, + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 30, - "output": 180 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen-max-latest", - "name": "Qwen Max Latest", - "display_name": "Qwen Max Latest", + "id": "nvidia/llama-3_1-nemotron-safety-guard-8b-v3", + "name": "llama-3.1-nemotron-safety-guard-8b-v3", + "display_name": "llama-3.1-nemotron-safety-guard-8b-v3", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 8192 + "context": 128000, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2025-01-25", - "last_updated": "2025-01-25", + "attachment": false, + "open_weights": true, + "release_date": "2025-10-28", + "last_updated": "2025-10-28", "cost": { - "input": 0.345, - "output": 1.377 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gpt-4.1-mini", - "name": "GPT-4.1 mini", - "display_name": "GPT-4.1 mini", + "id": "nvidia/llama-3_2-nemoretriever-300m-embed-v1", + "name": "llama-3_2-nemoretriever-300m-embed-v1", + "display_name": "llama-3_2-nemoretriever-300m-embed-v1", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 32768, + "output": 2048 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "attachment": false, + "open_weights": true, + "release_date": "2025-07-24", + "last_updated": "2025-07-24", "cost": { - "input": 0.4, - "output": 1.6, - "cache_read": 0.1 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "grok-4-20-beta-0309-non-reasoning", - "name": "Grok 4.20 (Non-Reasoning)", - "display_name": "Grok 4.20 (Non-Reasoning)", + "id": "nvidia/nemotron-voicechat", + "name": "nemotron-voicechat", + "display_name": "nemotron-voicechat", "modalities": { "input": [ "text", - "image", - "pdf" + "audio" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 30000 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -87499,87 +95977,61 @@ "supported": false }, "attachment": true, - "open_weights": false, - "release_date": "2026-03-09", - "last_updated": "2026-03-09", + "open_weights": true, + "release_date": "2026-03-16", + "last_updated": "2026-03-16", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 5, - "cache_read": 0.4 - } + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "deepseek-v3.2", - "name": "DeepSeek V3.2", - "display_name": "DeepSeek V3.2", + "id": "nvidia/nv-embedcode-7b-v1", + "name": "nv-embedcode-7b-v1", + "display_name": "nv-embedcode-7b-v1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 16384 + "context": 32768, + "output": 2048 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "release_date": "2025-03-17", + "last_updated": "2025-05-29", "cost": { - "input": 0.28, - "output": 0.42, - "cache_read": 0.056 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "seed-1-8-251228", - "name": "Seed 1.8 (251228)", - "display_name": "Seed 1.8 (251228)", + "id": "nvidia/nemotron-3-ultra-550b-a55b", + "name": "Nemotron 3 Ultra 550B A55B", + "display_name": "Nemotron 3 Ultra 550B A55B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 8192 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -87587,165 +96039,118 @@ "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2025-12-18", - "last_updated": "2025-12-18", + "release_date": "2026-06-04", + "last_updated": "2026-06-04", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.05 + "input": 0.5, + "output": 2.5, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "gpt-5.2-pro", - "name": "GPT-5.2 Pro", - "display_name": "GPT-5.2 Pro", + "id": "nvidia/nemotron-3-nano-30b-a3b", + "name": "nemotron-3-nano-30b-a3b", + "display_name": "nemotron-3-nano-30b-a3b", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "attachment": false, + "open_weights": true, + "knowledge": "2024-09", + "release_date": "2024-12", + "last_updated": "2024-12", "cost": { - "input": 21, - "output": 168 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gpt-4o-mini-search-preview", - "name": "GPT-4o Mini Search Preview", - "display_name": "GPT-4o Mini Search Preview", + "id": "nvidia/cosmos-predict1-5b", + "name": "cosmos-predict1-5b", + "display_name": "cosmos-predict1-5b", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 8192, + "output": 4096 }, - "temperature": true, + "temperature": false, "tool_call": false, "reasoning": { "supported": false }, "attachment": true, - "open_weights": false, - "release_date": "2024-10-01", - "last_updated": "2024-10-01", + "open_weights": true, + "release_date": "2025-03-18", + "last_updated": "2025-03-18", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "claude-opus-4-20250514", - "name": "Claude Opus 4", - "display_name": "Claude Opus 4", + "id": "nvidia/bevformer", + "name": "bevformer", + "display_name": "bevformer", "modalities": { "input": [ - "text", - "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 128000, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "open_weights": true, + "release_date": "2025-03-18", + "last_updated": "2025-07-20", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "minimax-m2.7-highspeed", - "name": "MiniMax-M2.7-highspeed", - "display_name": "MiniMax-M2.7-highspeed", + "id": "nvidia/studiovoice", + "name": "studiovoice", + "display_name": "studiovoice", "modalities": { "input": [ "text" @@ -87755,212 +96160,133 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 128000, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "release_date": "2024-10-03", + "last_updated": "2025-06-13", "cost": { - "input": 0.6, - "output": 2.4, - "cache_read": 0.06, - "cache_write": 0.375 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "o4-mini", - "name": "o4-mini", - "display_name": "o4-mini", + "id": "nvidia/gliner-pii", + "name": "gliner-pii", + "display_name": "gliner-pii", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 128000, + "output": 4096 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "attachment": false, + "open_weights": true, + "release_date": "2026-03-03", + "last_updated": "2026-03-03", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.275 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gpt-5.4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "nvidia/nemotron-mini-4b-instruct", + "name": "nemotron-mini-4b-instruct", + "display_name": "nemotron-mini-4b-instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 128000, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "attachment": false, + "open_weights": true, + "release_date": "2024-08-21", + "last_updated": "2024-08-26", "cost": { - "input": 2.5, - "output": 15, - "cache_read": 0.25 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "o3-mini", - "name": "o3-mini", - "display_name": "o3-mini", + "id": "nvidia/llama-nemotron-rerank-vl-1b-v2", + "name": "llama-nemotron-rerank-vl-1b-v2", + "display_name": "llama-nemotron-rerank-vl-1b-v2", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 128000, + "output": 4096 }, "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2024-12-20", - "last_updated": "2025-01-29", + "attachment": true, + "open_weights": true, + "release_date": "2026-03-31", + "last_updated": "2026-03-31", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.55 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gemini-3-flash-preview", - "name": "Gemini 3 Flash Preview", - "display_name": "Gemini 3 Flash Preview", - "modalities": { - "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "id": "nvidia/nemotron-3-super-120b-a12b", + "name": "Nemotron 3 Super", + "display_name": "Nemotron 3 Super", + "modalities": { + "input": [ + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -87968,91 +96294,52 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "attachment": false, + "open_weights": true, + "knowledge": "2024-04", + "release_date": "2026-03-11", + "last_updated": "2026-03-11", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.05, - "input_audio": 1 + "input": 0.2, + "output": 0.8 }, "type": "chat" }, { - "id": "mimo-v2-omni", - "name": "MiMo-V2-Omni", - "display_name": "MiMo-V2-Omni", + "id": "nvidia/usdvalidate", + "name": "usdvalidate", + "display_name": "usdvalidate", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 8192, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "attachment": false, + "open_weights": true, + "release_date": "2024-07-24", + "last_updated": "2025-01-08", "cost": { - "input": 0.4, - "output": 2, - "cache_read": 0.08 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen-coder-plus", - "name": "Qwen Coder Plus", - "display_name": "Qwen Coder Plus", + "id": "nvidia/nemotron-3-content-safety", + "name": "nemotron-3-content-safety", + "display_name": "nemotron-3-content-safety", "modalities": { "input": [ "text" @@ -88062,28 +96349,28 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 128000, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2024-09-18", - "last_updated": "2024-09-18", + "open_weights": true, + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 0.502, - "output": 1.004 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "minimax-m2.1", - "name": "MiniMax-M2.1", - "display_name": "MiniMax-M2.1", + "id": "abacusai/dracarys-llama-3_1-70b-instruct", + "name": "dracarys-llama-3.1-70b-instruct", + "display_name": "dracarys-llama-3.1-70b-instruct", "modalities": { "input": [ "text" @@ -88093,49 +96380,41 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "release_date": "2024-09-11", + "last_updated": "2025-05-22", "cost": { - "input": 0.3, - "output": 1.2 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gpt-5.5", - "name": "GPT-5.5", - "display_name": "GPT-5.5", + "id": "deepseek-ai/deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 1048576, + "output": 393216 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -88144,56 +96423,30 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5, - "tiers": [ - { - "input": 10, - "output": 45, - "cache_read": 1, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 10, - "output": 45, - "cache_read": 1 - } + "input": 0.14, + "output": 0.28, + "cache_read": 0.0028 }, "type": "chat" }, { - "id": "qwen3-max", - "name": "Qwen3 Max", - "display_name": "Qwen3 Max", + "id": "deepseek-ai/deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ "text" @@ -88203,13 +96456,14 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 1048576, + "output": 393216 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -88223,25 +96477,24 @@ } }, "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 1.2, - "output": 6 + "input": 0.435, + "output": 0.87, + "cache_read": 0.003625 }, "type": "chat" }, { - "id": "kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "qwen/qwen3-next-80b-a3b-instruct", + "name": "Qwen3-Next-80B-A3B-Instruct", + "display_name": "Qwen3-Next-80B-A3B-Instruct", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" @@ -88249,106 +96502,92 @@ }, "limit": { "context": 262144, - "output": 262144 + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "attachment": false, + "open_weights": false, + "knowledge": "2024-12", + "release_date": "2024-12-01", + "last_updated": "2025-09-05", "cost": { - "input": 0.95, - "output": 4, - "cache_read": 0.16 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "mistral-large-2512", - "name": "Mistral Large 3", - "display_name": "Mistral Large 3", + "id": "qwen/qwen-image-edit", + "name": "Qwen Image Edit", + "display_name": "Qwen Image Edit", "modalities": { "input": [ "text", "image" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 8192, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, - "open_weights": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2025-12-02", + "open_weights": false, + "release_date": "2025-08-19", + "last_updated": "2025-08-19", "cost": { - "input": 0.5, - "output": 1.5 + "input": 0, + "output": 0 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "qwen3-coder-plus", - "name": "Qwen3 Coder Plus", - "display_name": "Qwen3 Coder Plus", + "id": "qwen/qwen-image", + "name": "Qwen Image", + "display_name": "Qwen Image", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 8192, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 1, - "output": 5 + "input": 0, + "output": 0 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "glm-4.7", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "qwen/qwen3-coder-480b-a35b-instruct", + "name": "Qwen3 Coder 480B A35B Instruct", + "display_name": "Qwen3 Coder 480B A35B Instruct", "modalities": { "input": [ "text" @@ -88358,47 +96597,32 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 262144, + "output": 66536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, + "open_weights": false, "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11, - "cache_write": 0 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gpt-5.2-chat-latest", - "name": "GPT-5.2 Chat", - "display_name": "GPT-5.2 Chat", + "id": "qwen/qwen2.5-coder-32b-instruct", + "name": "Qwen2.5 Coder 32b Instruct", + "display_name": "Qwen2.5 Coder 32b Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -88406,30 +96630,27 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 4096 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "attachment": false, + "open_weights": true, + "release_date": "2024-11-06", + "last_updated": "2024-11-06", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gpt-5.1", - "name": "GPT-5.1", - "display_name": "GPT-5.1", + "id": "qwen/qwen3.5-397b-a17b", + "name": "Qwen3.5-397B-A17B", + "display_name": "Qwen3.5-397B-A17B", "modalities": { "input": [ "text", @@ -88440,66 +96661,57 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "open_weights": true, + "knowledge": "2026-01", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gpt-5-nano", - "name": "GPT-5 Nano", - "display_name": "GPT-5 Nano", + "id": "qwen/qwen3.5-122b-a10b", + "name": "Qwen3.5 122B-A10B", + "display_name": "Qwen3.5 122B-A10B", "modalities": { "input": [ "text", - "image" + "image", + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -88508,40 +96720,28 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "open_weights": true, + "release_date": "2026-02-23", + "last_updated": "2026-02-23", "cost": { - "input": 0.05, - "output": 0.4, - "cache_read": 0.005 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gpt-oss-120b", - "name": "GPT OSS 120B", - "display_name": "GPT OSS 120B", + "id": "sarvamai/sarvam-m", + "name": "sarvam-m", + "display_name": "sarvam-m", "modalities": { "input": [ "text" @@ -88551,71 +96751,63 @@ ] }, "limit": { - "context": 131072, - "output": 32766 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "open_weights": true, + "release_date": "2025-07-25", + "last_updated": "2025-07-25", "cost": { - "input": 0.05, - "output": 0.25 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "ministral-3b-2512", - "name": "Ministral 3B", - "display_name": "Ministral 3B", + "id": "meta/llama-3.1-8b-instruct", + "name": "Llama 3.1 8B Instruct", + "display_name": "Llama 3.1 8B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 16000, + "output": 4096 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", + "knowledge": "2023-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0.1, - "output": 0.1 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gpt-4o-mini", - "name": "GPT-4o mini", - "display_name": "GPT-4o mini", + "id": "meta/llama-3.1-70b-instruct", + "name": "Llama 3.1 70b Instruct", + "display_name": "Llama 3.1 70b Instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" @@ -88623,29 +96815,27 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "attachment": false, + "open_weights": true, + "release_date": "2024-07-16", + "last_updated": "2024-07-16", "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.075 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen3-coder-next", - "name": "Qwen3 Coder Next", - "display_name": "Qwen3 Coder Next", + "id": "meta/llama-3.2-1b-instruct", + "name": "Llama 3.2 1b Instruct", + "display_name": "Llama 3.2 1b Instruct", "modalities": { "input": [ "text" @@ -88655,29 +96845,29 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-09-18", + "last_updated": "2024-09-18", "cost": { - "input": 0.108, - "output": 0.675 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "grok-4-fast-reasoning", - "name": "Grok 4 Fast Reasoning", - "display_name": "Grok 4 Fast Reasoning", + "id": "meta/llama-3.2-11b-vision-instruct", + "name": "Llama 3.2 11b Vision Instruct", + "display_name": "Llama 3.2 11b Vision Instruct", "modalities": { "input": [ "text", @@ -88688,91 +96878,60 @@ ] }, "limit": { - "context": 2000000, - "output": 30000 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": true, - "open_weights": false, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-09-18", + "last_updated": "2024-09-18", "cost": { - "input": 0.2, - "output": 0.5, - "cache_read": 0.05 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gpt-5.1-codex-mini", - "name": "GPT-5.1 Codex mini", - "display_name": "GPT-5.1 Codex mini", + "id": "meta/llama-3.3-70b-instruct", + "name": "Llama 3.3 70b Instruct", + "display_name": "Llama 3.3 70b Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 4096 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "attachment": false, + "open_weights": true, + "release_date": "2024-11-26", + "last_updated": "2024-11-26", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "llama-4-maverick-17b-instruct", - "name": "Llama 4 Maverick 17B Instruct", - "display_name": "Llama 4 Maverick 17B Instruct", + "id": "meta/llama-guard-4-12b", + "name": "Llama Guard 4 12B", + "display_name": "Llama Guard 4 12B", "modalities": { "input": [ "text", @@ -88783,8 +96942,8 @@ ] }, "limit": { - "context": 8192, - "output": 2048 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": false, @@ -88794,17 +96953,17 @@ "attachment": true, "open_weights": true, "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "last_updated": "2026-04-30", "cost": { - "input": 0.24, - "output": 0.97 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "llama-3.2-3b-instruct", - "name": "Llama 3.2 3B Instruct", - "display_name": "Llama 3.2 3B Instruct", + "id": "meta/esmfold", + "name": "esmfold", + "display_name": "esmfold", "modalities": { "input": [ "text" @@ -88814,8 +96973,8 @@ ] }, "limit": { - "context": 32768, - "output": 32000 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": false, @@ -88824,18 +96983,18 @@ }, "attachment": false, "open_weights": true, - "release_date": "2024-09-18", - "last_updated": "2024-09-18", + "release_date": "2024-03-15", + "last_updated": "2025-06-12", "cost": { - "input": 0.03, - "output": 0.05 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen3-235b-a22b-thinking-2507", - "name": "Qwen3 235B A22B Thinking (2507)", - "display_name": "Qwen3 235B A22B Thinking (2507)", + "id": "meta/esm2-650m", + "name": "esm2-650m", + "display_name": "esm2-650m", "modalities": { "input": [ "text" @@ -88845,40 +97004,28 @@ ] }, "limit": { - "context": 131072, + "context": 128000, "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-07-08", - "last_updated": "2025-07-08", + "release_date": "2024-08-29", + "last_updated": "2025-03-10", "cost": { - "input": 0.2, - "output": 0.6 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "mistral-large-latest", - "name": "Mistral Large (latest)", - "display_name": "Mistral Large (latest)", + "id": "meta/llama-3.2-90b-vision-instruct", + "name": "Llama-3.2-90B-Vision-Instruct", + "display_name": "Llama-3.2-90B-Vision-Instruct", "modalities": { "input": [ "text", @@ -88889,8 +97036,8 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -88899,51 +97046,52 @@ }, "attachment": true, "open_weights": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2025-12-02", + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", "cost": { - "input": 0.5, - "output": 1.5 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen3-4b-fp8", - "name": "Qwen3 4B FP8", - "display_name": "Qwen3 4B FP8", + "id": "meta/llama-4-maverick-17b-128e-instruct", + "name": "Llama 4 Maverick 17b 128e Instruct", + "display_name": "Llama 4 Maverick 17b 128e Instruct", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2025-04-28", - "last_updated": "2025-04-28", + "knowledge": "2024-02", + "release_date": "2025-04-01", + "last_updated": "2025-04-01", "cost": { - "input": 0.03, - "output": 0.03 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen3.7-max", - "name": "Qwen3.7 Max", - "display_name": "Qwen3.7 Max", + "id": "meta/llama-3.2-3b-instruct", + "name": "Llama 3.2 3B Instruct", + "display_name": "Llama 3.2 3B Instruct", "modalities": { "input": [ "text" @@ -88953,47 +97101,38 @@ ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 32768, + "output": 32000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-05-21", - "last_updated": "2026-05-21", + "open_weights": true, + "release_date": "2024-09-18", + "last_updated": "2024-09-18", "cost": { - "input": 2.5, - "output": 7.5, - "cache_read": 0.5, - "cache_write": 3.125 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "qwen-vl-plus", - "name": "Qwen-VL Plus", - "display_name": "Qwen-VL Plus", + "id": "upstage/solar-10_7b-instruct", + "name": "solar-10.7b-instruct", + "display_name": "solar-10.7b-instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, + "context": 128000, "output": 8192 }, "temperature": true, @@ -89002,338 +97141,336 @@ "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-01-25", - "last_updated": "2025-08-15", + "open_weights": true, + "release_date": "2024-06-05", + "last_updated": "2025-04-10", "cost": { - "input": 0.21, - "output": 0.63 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gpt-oss-20b", - "name": "GPT OSS 20B", - "display_name": "GPT OSS 20B", + "id": "black-forest-labs/flux_1-schnell", + "name": "FLUX.1-schnell", + "display_name": "FLUX.1-schnell", "modalities": { "input": [ "text" ], "output": [ + "image" + ] + }, + "limit": { + "context": 77, + "output": 8192 + }, + "temperature": false, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2024-08-01", + "last_updated": "2026-02-04", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, + { + "id": "black-forest-labs/flux_1-kontext-dev", + "name": "FLUX.1-Kontext-dev", + "display_name": "FLUX.1-Kontext-dev", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "image" + ] + }, + "limit": { + "context": 40960, + "output": 40960 + }, + "temperature": false, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "release_date": "2025-08-12", + "last_updated": "2025-08-12", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, + { + "id": "black-forest-labs/flux.1-dev", + "name": "FLUX.1-dev", + "display_name": "FLUX.1-dev", + "modalities": { + "input": [ "text" + ], + "output": [ + "image" ] }, "limit": { - "context": 131072, - "output": 32766 + "context": 4096, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2024-08", + "release_date": "2024-08-01", + "last_updated": "2025-09-05", "cost": { - "input": 0.04, - "output": 0.15 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "llama-4-scout", - "name": "Llama 4 Scout", - "display_name": "Llama 4 Scout", + "id": "black-forest-labs/flux_2-klein-4b", + "name": "FLUX.2 Klein 4B", + "display_name": "FLUX.2 Klein 4B", "modalities": { "input": [ + "image", "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 32768, - "output": 16384 + "context": 40960, + "output": 40960 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "knowledge": "2025-06", + "release_date": "2026-01-14", + "last_updated": "2026-01-31", "cost": { - "input": 0.18, - "output": 0.59 + "input": 0, + "output": 0 }, "type": "chat" - }, + } + ] + }, + "evroc": { + "id": "evroc", + "name": "evroc", + "display_name": "evroc", + "api": "https://models.think.evroc.com/v1", + "doc": "https://docs.evroc.com/products/think/overview.html", + "models": [ { - "id": "sonar-reasoning-pro", - "name": "Sonar Reasoning Pro", - "display_name": "Sonar Reasoning Pro", + "id": "moonshotai/Kimi-K2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 262144, + "output": 262144 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-09-01", - "release_date": "2024-01-01", - "last_updated": "2025-09-01", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 2, - "output": 8 + "input": 1.47, + "output": 5.9 }, "type": "chat" }, { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "display_name": "Gemini 2.5 Pro", + "id": "microsoft/Phi-4-multimodal-instruct", + "name": "Phi-4 15B", + "display_name": "Phi-4 15B", "modalities": { "input": [ "text", - "image", - "audio", - "video", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 32000, + "output": 32000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "attachment": false, + "open_weights": true, + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 15, - "cache_read": 0.25 - } + "input": 0.24, + "output": 0.47 }, "type": "chat" }, { - "id": "glm-4.5v", - "name": "GLM-4.5V", - "display_name": "GLM-4.5V", + "id": "Qwen/Qwen3-Embedding-8B", + "name": "Qwen3 Embedding 8B", + "display_name": "Qwen3 Embedding 8B", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 64000, - "output": 16384 + "context": 40960, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-08-11", - "last_updated": "2025-08-11", + "release_date": "2025-07-30", + "last_updated": "2025-07-30", "cost": { - "input": 0.6, - "output": 1.8 + "input": 0.12, + "output": 0.12 }, - "type": "chat" + "type": "embedding" }, { - "id": "gpt-4.1", - "name": "GPT-4.1", - "display_name": "GPT-4.1", + "id": "Qwen/Qwen3-30B-A3B-Instruct-2507-FP8", + "name": "Qwen3 30B 2507", + "display_name": "Qwen3 30B 2507", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 64000, + "output": 64000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "attachment": false, + "open_weights": true, + "release_date": "2025-07-30", + "last_updated": "2025-07-30", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0.35, + "output": 1.42 }, "type": "chat" }, { - "id": "claude-sonnet-4-5-20250929", - "name": "Claude Sonnet 4.5", - "display_name": "Claude Sonnet 4.5", + "id": "Qwen/Qwen3-VL-30B-A3B-Instruct", + "name": "Qwen3 VL 30B", + "display_name": "Qwen3 VL 30B", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 100000, + "output": 100000 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "attachment": false, + "open_weights": true, + "release_date": "2025-07-30", + "last_updated": "2025-07-30", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.24, + "output": 0.94 }, "type": "chat" }, { - "id": "qwen3.6-plus", - "name": "Qwen3.6 Plus", - "display_name": "Qwen3.6 Plus", + "id": "openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "display_name": "GPT OSS 120B", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 65536, "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -89341,218 +97478,146 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "open_weights": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "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 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.2, - "cache_write": 2.5 - } + "input": 0.24, + "output": 0.94 }, "type": "chat" }, { - "id": "llama-3.2-11b-instruct", - "name": "Llama 3.2 11B Instruct", - "display_name": "Llama 3.2 11B Instruct", + "id": "openai/whisper-large-v3", + "name": "Whisper 3 Large", + "display_name": "Whisper 3 Large", "modalities": { "input": [ - "text" + "audio" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 448, + "output": 4096 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2024-09-25", - "last_updated": "2024-09-25", + "release_date": "2024-10-01", + "last_updated": "2024-10-01", "cost": { - "input": 0.07, - "output": 0.33 + "input": 0.00236, + "output": 0.00236, + "output_audio": 2.36 }, "type": "chat" }, { - "id": "qwen3-vl-plus", - "name": "Qwen3-VL Plus", - "display_name": "Qwen3-VL Plus", + "id": "mistralai/devstral-small-2-24b-instruct-2512", + "name": "Devstral Small 2 24B Instruct 2512", + "display_name": "Devstral Small 2 24B Instruct 2512", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, + "context": 32768, "output": 32768 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", + "open_weights": true, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "cost": { - "input": 0.2, - "output": 1.6, - "reasoning": 4.8 + "input": 0.12, + "output": 0.47 }, "type": "chat" }, { - "id": "glm-4.6v-flashx", - "name": "GLM-4.6V FlashX", - "display_name": "GLM-4.6V FlashX", + "id": "mistralai/Magistral-Small-2509", + "name": "Magistral Small 1.2 24B", + "display_name": "Magistral Small 1.2 24B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16000 + "context": 131072, + "output": 131072 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2025-12-08", - "last_updated": "2025-12-08", + "attachment": false, + "open_weights": true, + "release_date": "2025-06-01", + "last_updated": "2025-06-01", "cost": { - "input": 0.04, - "output": 0.4, - "cache_read": 0.004 + "input": 0.59, + "output": 2.36 }, "type": "chat" }, { - "id": "gpt-5.4-nano", - "name": "GPT-5.4 nano", - "display_name": "GPT-5.4 nano", + "id": "mistralai/Voxtral-Small-24B-2507", + "name": "Voxtral Small 24B", + "display_name": "Voxtral Small 24B", "modalities": { "input": [ - "text", - "image" + "audio", + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 32000, + "output": 32000 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "attachment": false, + "open_weights": true, + "release_date": "2025-03-01", + "last_updated": "2025-03-01", "cost": { - "input": 0.2, - "output": 1.25, - "cache_read": 0.02 + "input": 0.00236, + "output": 0.00236, + "output_audio": 2.36 }, "type": "chat" }, { - "id": "claude-3-5-haiku", - "name": "Claude 3.5 Haiku", - "display_name": "Claude 3.5 Haiku", + "id": "nvidia/Llama-3.3-70B-Instruct-FP8", + "name": "Llama 3.3 70B", + "display_name": "Llama 3.3 70B", "modalities": { "input": [ "text" @@ -89562,119 +97627,97 @@ ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 131072, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2024-10-22", - "last_updated": "2024-10-22", + "open_weights": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", "cost": { - "input": 0.8, - "output": 4, - "cache_read": 0.08 + "input": 1.18, + "output": 1.18 }, "type": "chat" }, { - "id": "claude-opus-4-1-20250805", - "name": "Claude Opus 4.1", - "display_name": "Claude Opus 4.1", + "id": "KBLab/kb-whisper-large", + "name": "KB Whisper", + "display_name": "KB Whisper", "modalities": { "input": [ - "text", - "image", - "pdf" + "audio" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 448, + "output": 448 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "attachment": false, + "open_weights": true, + "release_date": "2024-10-01", + "last_updated": "2024-10-01", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.00236, + "output": 0.00236, + "output_audio": 2.36 }, "type": "chat" }, { - "id": "qwen3-vl-8b-instruct", - "name": "Qwen3 VL 8B Instruct", - "display_name": "Qwen3 VL 8B Instruct", + "id": "intfloat/multilingual-e5-large-instruct", + "name": "E5 Multi-Lingual Large Embeddings 0.6B", + "display_name": "E5 Multi-Lingual Large Embeddings 0.6B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 512, + "output": 512 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2025-08-19", - "last_updated": "2025-08-19", + "release_date": "2024-06-01", + "last_updated": "2024-06-01", "cost": { - "input": 0.08, - "output": 0.5 + "input": 0.12, + "output": 0.12 }, "type": "chat" - }, + } + ] + }, + "xiaomi": { + "id": "xiaomi", + "name": "Xiaomi", + "display_name": "Xiaomi", + "api": "https://api.xiaomimimo.com/v1", + "doc": "https://platform.xiaomimimo.com/#/docs", + "models": [ { - "id": "qwen-max", - "name": "Qwen Max", - "display_name": "Qwen Max", + "id": "mimo-v2.5-pro-ultraspeed", + "name": "MiMo-V2.5-Pro-UltraSpeed", + "display_name": "MiMo-V2.5-Pro-UltraSpeed", "modalities": { "input": [ "text" @@ -89684,29 +97727,42 @@ ] }, "limit": { - "context": 32768, - "output": 8192 + "context": 1048576, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-04-03", - "last_updated": "2025-01-25", + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2026-06-08", + "last_updated": "2026-06-09", "cost": { - "input": 1.6, - "output": 6.4 + "input": 1.305, + "output": 2.61, + "cache_read": 0.0108 }, "type": "chat" }, { - "id": "qwen-omni-turbo", - "name": "Qwen-Omni Turbo", - "display_name": "Qwen-Omni Turbo", + "id": "mimo-v2.5", + "name": "MiMo-V2.5", + "display_name": "MiMo-V2.5", "modalities": { "input": [ "text", @@ -89715,42 +97771,68 @@ "video" ], "output": [ - "text", - "audio" + "text" ] }, "limit": { - "context": 32768, - "output": 2048 + "context": 1048576, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-01-19", - "last_updated": "2025-03-26", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 0.07, - "output": 0.27, - "input_audio": 4.44, - "output_audio": 8.89 + "input": 0.4, + "output": 2, + "cache_read": 0.08, + "tiers": [ + { + "input": 0.8, + "output": 4, + "cache_read": 0.16, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 0.8, + "output": 4, + "cache_read": 0.16 + } }, "type": "chat" }, { - "id": "gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "display_name": "Gemini 3.1 Pro Preview", + "id": "mimo-v2-omni", + "name": "MiMo-V2-Omni", + "display_name": "MiMo-V2-Omni", "modalities": { "input": [ "text", "image", - "video", "audio", + "video", "pdf" ], "output": [ @@ -89758,8 +97840,8 @@ ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 262144, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -89770,52 +97852,30 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "tiers": [ - { - "input": 4, - "output": 18, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 4, - "output": 18, - "cache_read": 0.4 - } + "input": 0.4, + "output": 2, + "cache_read": 0.08 }, "type": "chat" }, { - "id": "qwen3-coder-480b-a35b-instruct", - "name": "Qwen3-Coder 480B-A35B Instruct", - "display_name": "Qwen3-Coder 480B-A35B Instruct", + "id": "mimo-v2-flash", + "name": "MiMo-V2-Flash", + "display_name": "MiMo-V2-Flash", "modalities": { "input": [ "text" @@ -89831,36 +97891,47 @@ "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", + "knowledge": "2024-12-01", + "release_date": "2025-12-16", + "last_updated": "2026-02-04", "cost": { - "input": 1.5, - "output": 7.5 + "input": 0.1, + "output": 0.3, + "cache_read": 0.01 }, "type": "chat" }, { - "id": "glm-4.6v", - "name": "GLM-4.6V", - "display_name": "GLM-4.6V", + "id": "mimo-v2-pro", + "name": "MiMo-V2-Pro", + "display_name": "MiMo-V2-Pro", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 1048576, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -89868,28 +97939,52 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-08", - "last_updated": "2025-12-08", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": false, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.3, - "output": 0.9 + "input": 1, + "output": 3, + "cache_read": 0.2, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "gemini-3.1-flash-lite", - "name": "Gemini 3.1 Flash Lite", - "display_name": "Gemini 3.1 Flash Lite", + "id": "mimo-v2.5-pro", + "name": "MiMo-V2.5-Pro", + "display_name": "MiMo-V2.5-Pro", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" @@ -89897,7 +97992,7 @@ }, "limit": { "context": 1048576, - "output": 65536 + "output": 131072 }, "temperature": true, "tool_call": true, @@ -89907,191 +98002,199 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-05-07", - "last_updated": "2026-05-07", + "attachment": false, + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.025, - "input_audio": 0.5 + "input": 1, + "output": 3, + "cache_read": 0.2, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + } }, "type": "chat" - }, + } + ] + }, + "inception": { + "id": "inception", + "name": "Inception", + "display_name": "Inception", + "api": "https://api.inceptionlabs.ai/v1/", + "doc": "https://platform.inceptionlabs.ai/docs", + "models": [ { - "id": "gpt-5.3-codex", - "name": "GPT-5.3 Codex", - "display_name": "GPT-5.3 Codex", + "id": "mercury-edit-2", + "name": "Mercury Edit 2", + "display_name": "Mercury Edit 2", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 8192 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "release_date": "2026-03-30", + "last_updated": "2026-03-30", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.25, + "output": 0.75, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "gemini-2.5-flash-lite", - "name": "Gemini 2.5 Flash-Lite", - "display_name": "Gemini 2.5 Flash-Lite", + "id": "mercury-2", + "name": "Mercury 2", + "display_name": "Mercury 2", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 128000, + "output": 50000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "default": -1, - "min": 512, - "max": 24576, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", + "knowledge": "2025-01-01", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.01, - "input_audio": 0.3 + "input": 0.25, + "output": 0.75, + "cache_read": 0.025 }, "type": "chat" - }, + } + ] + }, + "anthropic": { + "id": "anthropic", + "name": "Anthropic", + "display_name": "Anthropic", + "doc": "https://docs.anthropic.com/en/docs/about-claude/models", + "models": [ { - "id": "qwen3-next-80b-a3b-thinking", - "name": "Qwen3-Next 80B-A3B (Thinking)", - "display_name": "Qwen3-Next 80B-A3B (Thinking)", + "id": "claude-opus-4-5", + "name": "Claude Opus 4.5 (latest)", + "display_name": "Claude Opus 4.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09", - "last_updated": "2025-09", + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", "cost": { - "input": 0.5, - "output": 6 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "display_name": "Gemini 2.5 Flash", + "id": "claude-haiku-4-5-20251001", + "name": "Claude Haiku 4.5", + "display_name": "Claude Haiku 4.5", "modalities": { "input": [ "text", "image", - "audio", - "video", "pdf" ], "output": [ @@ -90099,84 +98202,89 @@ ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "budget", "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, + "min": 1024, "unit": "tokens" }, + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.03, - "input_audio": 1 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "qwen3-coder-flash", - "name": "Qwen3 Coder Flash", - "display_name": "Qwen3 Coder Flash", + "id": "claude-3-5-haiku-20241022", + "name": "Claude Haiku 3.5", + "display_name": "Claude Haiku 3.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 200000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", "cost": { - "input": 0.3, - "output": 1.5 + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 }, "type": "chat" }, { - "id": "claude-3-7-sonnet-20250219", - "name": "Claude Sonnet 3.7", - "display_name": "Claude Sonnet 3.7", + "id": "claude-opus-4-0", + "name": "Claude Opus 4 (latest)", + "display_name": "Claude Opus 4 (latest)", "modalities": { "input": [ "text", @@ -90189,7 +98297,7 @@ }, "limit": { "context": 200000, - "output": 64000 + "output": 32000 }, "temperature": true, "tool_call": true, @@ -90206,67 +98314,71 @@ "min": 1024, "unit": "tokens" }, - "interleaved": false, - "summaries": false, - "visibility": "full", + "interleaved": true, + "summaries": true, + "visibility": "summary", "continuation": [ "thinking_blocks" ], "notes": [ - "Anthropic uses thinking budget tokens" + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2024-10-31", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "mistral-small-2506", - "name": "Mistral Small 3.2", - "display_name": "Mistral Small 3.2", + "id": "claude-3-opus-20240229", + "name": "Claude Opus 3", + "display_name": "Claude Opus 3", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-03", - "release_date": "2025-06-20", - "last_updated": "2025-06-20", + "attachment": true, + "open_weights": false, + "knowledge": "2023-08-31", + "release_date": "2024-02-29", + "last_updated": "2024-02-29", "cost": { - "input": 0.1, - "output": 0.3 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "gpt-5.5-pro", - "name": "GPT-5.5 Pro", - "display_name": "GPT-5.5 Pro", + "id": "claude-opus-4-1-20250805", + "name": "Claude Opus 4.1", + "display_name": "Claude Opus 4.1", "modalities": { "input": [ "text", @@ -90278,188 +98390,242 @@ ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 200000, + "output": 32000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 30, - "output": 180, - "tiers": [ - { - "input": 60, - "output": 270, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 60, - "output": 270 - } + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "qwen-turbo", - "name": "Qwen Turbo", - "display_name": "Qwen Turbo", + "id": "claude-sonnet-4-5", + "name": "Claude Sonnet 4.5 (latest)", + "display_name": "Claude Sonnet 4.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 16384 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-11-01", - "last_updated": "2025-04-28", + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0.05, - "output": 0.2, - "reasoning": 0.5 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "qwq-plus", - "name": "QwQ Plus", - "display_name": "QwQ Plus", + "id": "claude-opus-4-7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], "interleaved": true, "summaries": true, - "visibility": "summary", + "visibility": "omitted", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-03-05", - "last_updated": "2025-03-05", + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 0.8, - "output": 2.4 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "qwen3-vl-flash", - "name": "Qwen3 VL Flash", - "display_name": "Qwen3 VL Flash", + "id": "claude-opus-4-5-20251101", + "name": "Claude Opus 4.5", + "display_name": "Claude Opus 4.5", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 32000 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, "attachment": true, "open_weights": false, - "release_date": "2025-10-09", - "last_updated": "2025-10-09", + "knowledge": "2025-03-31", + "release_date": "2025-11-01", + "last_updated": "2025-11-01", "cost": { - "input": 0.022, - "output": 0.215, - "cache_read": 0.0044 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "gemini-2.0-flash", - "name": "Gemini 2.0 Flash", - "display_name": "Gemini 2.0 Flash", + "id": "claude-3-5-sonnet-20241022", + "name": "Claude Sonnet 3.5 v2", + "display_name": "Claude Sonnet 3.5 v2", "modalities": { "input": [ "text", "image", - "audio", - "video", "pdf" ], "output": [ @@ -90467,7 +98633,7 @@ ] }, "limit": { - "context": 1048576, + "context": 200000, "output": 8192 }, "temperature": true, @@ -90477,93 +98643,21 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-06", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.025 - }, - "type": "chat" - }, - { - "id": "gpt-3.5-turbo", - "name": "GPT-3.5-turbo", - "display_name": "GPT-3.5-turbo", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 16385, - "output": 4096 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "knowledge": "2021-09-01", - "release_date": "2023-03-01", - "last_updated": "2023-11-06", - "cost": { - "input": 0.5, - "output": 1.5, - "cache_read": 0 - }, - "type": "chat" - }, - { - "id": "glm-4.7-flash", - "name": "GLM-4.7-Flash", - "display_name": "GLM-4.7-Flash", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 200000, - "output": 131072 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", + "knowledge": "2024-04-30", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "grok-4-20-reasoning", - "name": "Grok 4.20 (Reasoning)", - "display_name": "Grok 4.20 (Reasoning)", + "id": "claude-opus-4-8", + "name": "Claude Opus 4.8", + "display_name": "Claude Opus 4.8", "modalities": { "input": [ "text", @@ -90576,56 +98670,60 @@ }, "limit": { "context": 1000000, - "output": 30000 + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-03-09", - "last_updated": "2026-03-09", + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 5, - "cache_read": 0.4 - } + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "gemini-3.5-flash", - "name": "Gemini 3.5 Flash", - "display_name": "Gemini 3.5 Flash", + "id": "claude-opus-4-20250514", + "name": "Claude Opus 4", + "display_name": "Claude Opus 4", "modalities": { "input": [ "text", "image", - "video", - "audio", "pdf" ], "output": [ @@ -90633,51 +98731,53 @@ ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-05-19", - "last_updated": "2026-05-19", + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 1.5, - "output": 9, - "cache_read": 0.15, - "input_audio": 1.5 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "claude-3-5-sonnet-20241022", - "name": "Claude Sonnet 3.5 v2", - "display_name": "Claude Sonnet 3.5 v2", + "id": "claude-3-5-sonnet-20240620", + "name": "Claude Sonnet 3.5", + "display_name": "Claude Sonnet 3.5", "modalities": { "input": [ "text", @@ -90700,8 +98800,8 @@ "attachment": true, "open_weights": false, "knowledge": "2024-04-30", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", + "release_date": "2024-06-20", + "last_updated": "2024-06-20", "cost": { "input": 3, "output": 15, @@ -90711,40 +98811,9 @@ "type": "chat" }, { - "id": "gemma-2-27b-it-together", - "name": "Gemma 2 27B IT", - "display_name": "Gemma 2 27B IT", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 8192, - "output": 16384 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2024-06-27", - "last_updated": "2024-06-27", - "cost": { - "input": 0.08, - "output": 0.08 - }, - "type": "chat" - }, - { - "id": "claude-opus-4-5-20251101", - "name": "Claude Opus 4.5", - "display_name": "Claude Opus 4.5", + "id": "claude-sonnet-4-20250514", + "name": "Claude Sonnet 4", + "display_name": "Claude Sonnet 4", "modalities": { "input": [ "text", @@ -90769,17 +98838,11 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "mixed", + "mode": "budget", "budget": { "min": 1024, "unit": "tokens" }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], "interleaved": true, "summaries": true, "visibility": "summary", @@ -90787,91 +98850,122 @@ "thinking_blocks" ], "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, "open_weights": false, "knowledge": "2025-03-31", - "release_date": "2025-11-01", - "last_updated": "2025-11-01", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "custom", - "name": "Custom Model", - "display_name": "Custom Model", + "id": "claude-opus-4-1", + "name": "Claude Opus 4.1 (latest)", + "display_name": "Claude Opus 4.1 (latest)", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0, - "output": 0 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "hermes-2-pro-llama-3-8b", - "name": "Hermes 2 Pro Llama 3 8B", - "display_name": "Hermes 2 Pro Llama 3 8B", + "id": "claude-3-haiku-20240307", + "name": "Claude Haiku 3", + "display_name": "Claude Haiku 3", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 200000, + "output": 4096 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2024-05-27", - "last_updated": "2024-05-27", + "attachment": true, + "open_weights": false, + "knowledge": "2023-08-31", + "release_date": "2024-03-13", + "last_updated": "2024-03-13", "cost": { - "input": 0.14, - "output": 0.14 + "input": 0.25, + "output": 1.25, + "cache_read": 0.03, + "cache_write": 0.3 }, "type": "chat" }, { - "id": "gpt-5.2-codex", - "name": "GPT-5.2 Codex", - "display_name": "GPT-5.2 Codex", + "id": "claude-fable-5", + "name": "Claude Fable 5", + "display_name": "Claude Fable 5", "modalities": { "input": [ "text", @@ -90883,7 +98977,7 @@ ] }, "limit": { - "context": 400000, + "context": 1000000, "output": 128000 }, "temperature": false, @@ -90897,42 +98991,48 @@ "supported": true, "default_enabled": true, "mode": "effort", - "effort": "medium", + "effort": "high", "effort_options": [ "low", "medium", "high", - "xhigh" + "xhigh", + "max" ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Adaptive thinking is always on for Claude Fable 5 and Claude Mythos 5; thinking.type = \"disabled\" is rejected.", + "Manual budget_tokens requests return 400 on Claude Fable 5 and Claude Mythos 5.", + "thinking.display defaults to omitted; set display to summarized to receive readable thinking summaries." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2026-06-09", + "last_updated": "2026-06-09", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 10, + "output": 50, + "cache_read": 1, + "cache_write": 12.5 }, "type": "chat" }, { - "id": "claude-3-opus", - "name": "Claude 3 Opus", - "display_name": "Claude 3 Opus", + "id": "claude-sonnet-4-0", + "name": "Claude Sonnet 4 (latest)", + "display_name": "Claude Sonnet 4 (latest)", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" @@ -90940,314 +99040,436 @@ }, "limit": { "context": 200000, - "output": 4096 + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2024-03-04", - "last_updated": "2024-03-04", - "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5 - }, - "type": "chat" - }, - { - "id": "llama-3.1-nemotron-ultra-253b", - "name": "Llama 3.1 Nemotron Ultra 253B", - "display_name": "Llama 3.1 Nemotron Ultra 253B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 8192 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-04-07", - "last_updated": "2025-04-07", + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0.6, - "output": 1.8 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "qwen3.6-35b-a3b", - "name": "Qwen3.6 35B-A3B", - "display_name": "Qwen3.6 35B-A3B", + "id": "claude-3-7-sonnet-20250219", + "name": "Claude Sonnet 3.7", + "display_name": "Claude Sonnet 3.7", "modalities": { "input": [ "text", "image", - "video", - "audio" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": false, + "summaries": false, + "visibility": "full", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic uses thinking budget tokens" ] } }, "attachment": true, - "open_weights": true, - "release_date": "2026-04-17", - "last_updated": "2026-04-17", + "open_weights": false, + "knowledge": "2024-10-31", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", "cost": { - "input": 0.248, - "output": 1.485 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "minimax-m2.7", - "name": "MiniMax-M2.7", - "display_name": "MiniMax-M2.7", + "id": "claude-haiku-4-5", + "name": "Claude Haiku 4.5 (latest)", + "display_name": "Claude Haiku 4.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "attachment": true, + "open_weights": false, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06, - "cache_write": 0.375 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "qwen3-max-2026-01-23", - "name": "Qwen3 Max (2026-01-23)", - "display_name": "Qwen3 Max (2026-01-23)", + "id": "claude-opus-4-6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 32800 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-01-23", - "last_updated": "2026-01-23", + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", "cost": { - "input": 0.359, - "output": 1.434, - "cache_read": 0.072 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "claude-sonnet-4-5-20250929", + "name": "Claude Sonnet 4.5", + "display_name": "Claude Sonnet 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "attachment": true, + "open_weights": false, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.0028 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "llama-3-70b-instruct", - "name": "Llama 3 70B Instruct", - "display_name": "Llama 3 70B Instruct", + "id": "claude-3-sonnet-20240229", + "name": "Claude Sonnet 3", + "display_name": "Claude Sonnet 3", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 8000 + "context": 200000, + "output": 4096 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2024-04-18", - "last_updated": "2024-04-18", + "attachment": true, + "open_weights": false, + "knowledge": "2023-08-31", + "release_date": "2024-03-04", + "last_updated": "2024-03-04", "cost": { - "input": 0.51, - "output": 0.74 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 0.3 }, "type": "chat" }, { - "id": "qwen-plus-latest", - "name": "Qwen Plus Latest", - "display_name": "Qwen Plus Latest", + "id": "claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, "attachment": true, "open_weights": false, - "release_date": "2025-01-25", - "last_updated": "2025-01-25", + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "cost": { - "input": 0.115, - "output": 0.287 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "qwen3-30b-a3b-thinking-2507", - "name": "Qwen3 30B A3B Thinking (2507)", - "display_name": "Qwen3 30B A3B Thinking (2507)", + "id": "claude-3-5-haiku-latest", + "name": "Claude Haiku 3.5 (latest)", + "display_name": "Claude Haiku 3.5 (latest)", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 8192 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "cost": { + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 + }, + "type": "chat" + } + ] + }, + "tencent-coding-plan": { + "id": "tencent-coding-plan", + "name": "Tencent Coding Plan (China)", + "display_name": "Tencent Coding Plan (China)", + "api": "https://api.lkeap.cloud.tencent.com/coding/v3", + "doc": "https://cloud.tencent.com/document/product/1772/128947", + "models": [ + { + "id": "minimax-m2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ "text" @@ -91257,8 +99479,8 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 204800, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -91279,111 +99501,68 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-07-08", - "last_updated": "2025-07-08", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.1, - "output": 0.1 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "claude-opus-4-8", - "name": "Claude Opus 4.8", - "display_name": "Claude Opus 4.8", + "id": "kimi-k2.5", + "name": "Kimi-K2.5", + "display_name": "Kimi-K2.5", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 262144, + "output": 32768 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, "attachment": true, - "open_weights": false, - "release_date": "2026-05-28", - "last_updated": "2026-05-28", - "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 - }, - "type": "chat" - }, - { - "id": "llama-3-8b-instruct", - "name": "Llama 3 8B Instruct", - "display_name": "Llama 3 8B Instruct", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, "open_weights": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 0.04, - "output": 0.04 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "devstral-small-2507", - "name": "Devstral Small", - "display_name": "Devstral Small", + "id": "hunyuan-turbos", + "name": "Hunyuan-TurboS", + "display_name": "Hunyuan-TurboS", "modalities": { "input": [ "text" @@ -91393,8 +99572,8 @@ ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 131072, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -91402,20 +99581,21 @@ "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2025-07-10", - "last_updated": "2025-07-10", + "open_weights": false, + "release_date": "2026-03-08", + "last_updated": "2026-03-08", "cost": { - "input": 0.1, - "output": 0.3 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "glm-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "hunyuan-t1", + "name": "Hunyuan-T1", + "display_name": "Hunyuan-T1", "modalities": { "input": [ "text" @@ -91425,8 +99605,8 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 131072, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -91446,21 +99626,21 @@ } }, "attachment": false, - "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "open_weights": false, + "release_date": "2026-03-08", + "last_updated": "2026-03-08", "cost": { - "input": 1, - "output": 3.2, - "cache_read": 0.2, + "input": 0, + "output": 0, + "cache_read": 0, "cache_write": 0 }, "type": "chat" }, { - "id": "devstral-2512", - "name": "Devstral 2", - "display_name": "Devstral 2", + "id": "tc-code-latest", + "name": "Auto", + "display_name": "Auto", "modalities": { "input": [ "text" @@ -91470,8 +99650,8 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 131072, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -91479,20 +99659,21 @@ "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-12", - "release_date": "2025-12-09", - "last_updated": "2025-12-09", + "open_weights": false, + "release_date": "2026-03-08", + "last_updated": "2026-03-08", "cost": { - "input": 0.4, - "output": 2 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "glm-4.5", - "name": "GLM-4.5", - "display_name": "GLM-4.5", + "id": "glm-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ "text" @@ -91502,8 +99683,8 @@ ] }, "limit": { - "context": 131072, - "output": 98304 + "context": 202752, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -91511,23 +99692,33 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "open_weights": false, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11, + "input": 0, + "output": 0, + "cache_read": 0, "cache_write": 0 }, "type": "chat" }, { - "id": "qwen3-235b-a22b-instruct-2507", - "name": "Qwen3 235B A22B Instruct (2507)", - "display_name": "Qwen3 235B A22B Instruct (2507)", + "id": "hunyuan-2.0-instruct", + "name": "Tencent HY 2.0 Instruct", + "display_name": "Tencent HY 2.0 Instruct", "modalities": { "input": [ "text" @@ -91538,7 +99729,7 @@ }, "limit": { "context": 131072, - "output": 8192 + "output": 16384 }, "temperature": true, "tool_call": true, @@ -91546,126 +99737,75 @@ "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-07-08", - "last_updated": "2025-07-08", + "open_weights": false, + "release_date": "2026-03-08", + "last_updated": "2026-03-08", "cost": { - "input": 0.09, - "output": 0.58 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "gpt-5.1-codex", - "name": "GPT-5.1 Codex", - "display_name": "GPT-5.1 Codex", + "id": "hunyuan-2.0-thinking", + "name": "Tencent HY 2.0 Think", + "display_name": "Tencent HY 2.0 Think", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 - }, - "type": "chat" - }, - { - "id": "grok-4-3", - "name": "Grok 4.3", - "display_name": "Grok 4.3", - "modalities": { - "input": [ - "text", - "image", - "pdf" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 30000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-17", - "last_updated": "2026-04-17", + "release_date": "2026-03-08", + "last_updated": "2026-03-08", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 5, - "cache_read": 0.4 - } + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" - }, + } + ] + }, + "freemodel": { + "id": "freemodel", + "name": "FreeModel", + "display_name": "FreeModel", + "api": "https://cc.freemodel.dev/v1", + "doc": "https://freemodel.dev", + "models": [ { - "id": "claude-sonnet-4-20250514", - "name": "Claude Sonnet 4", - "display_name": "Claude Sonnet 4", + "id": "claude-haiku-4-5-20251001", + "name": "Claude Haiku 4.5", + "display_name": "Claude Haiku 4.5", "modalities": { "input": [ "text", @@ -91709,210 +99849,219 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "glm-4.5-x", - "name": "GLM-4.5 X", - "display_name": "GLM-4.5 X", + "id": "claude-opus-4-7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 2.2, - "output": 8.9, - "cache_read": 0.45 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "pixtral-large-latest", - "name": "Pixtral Large (latest)", - "display_name": "Pixtral Large (latest)", + "id": "claude-opus-4-8", + "name": "Claude Opus 4.8", + "display_name": "Claude Opus 4.8", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, + "context": 1000000, "output": 128000 }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2024-11-04", - "cost": { - "input": 2, - "output": 6 - }, - "type": "chat" - }, - { - "id": "qwen3.6-max-preview", - "name": "Qwen3.6 Max Preview", - "display_name": "Qwen3.6 Max Preview", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 65536 - }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], "interleaved": true, "summaries": true, - "visibility": "summary", + "visibility": "omitted", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-04-20", - "last_updated": "2026-04-20", + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "cost": { - "input": 1.3, - "output": 7.8, - "cache_read": 0.13, - "cache_write": 1.625 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "qwen-vl-max", - "name": "Qwen-VL Max", - "display_name": "Qwen-VL Max", + "id": "gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "display_name": "GPT-5.3 Codex", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-04-08", - "last_updated": "2025-08-13", - "cost": { - "input": 0.8, - "output": 3.2 - }, - "type": "chat" - }, - { - "id": "codestral-2508", - "name": "Codestral", - "display_name": "Codestral", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 256000, - "output": 16384 + "supported": true, + "default": true }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, - "attachment": false, - "open_weights": true, - "release_date": "2025-07-30", - "last_updated": "2025-07-30", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 0.3, - "output": 0.9 + "input": 1.75, + "output": 14, + "cache_read": 0.175, + "cache_write": 1.75 }, "type": "chat" }, { - "id": "minimax-m2", - "name": "MiniMax-M2", - "display_name": "MiniMax-M2", + "id": "claude-fable-5", + "name": "Claude Fable 5", + "display_name": "Claude Fable 5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 196608, + "context": 1000000, "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -91920,127 +100069,229 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Adaptive thinking is always on for Claude Fable 5 and Claude Mythos 5; thinking.type = \"disabled\" is rejected.", + "Manual budget_tokens requests return 400 on Claude Fable 5 and Claude Mythos 5.", + "thinking.display defaults to omitted; set display to summarized to receive readable thinking summaries." + ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2025-10-27", - "last_updated": "2025-10-27", + "attachment": true, + "open_weights": false, + "knowledge": "2026-01-31", + "release_date": "2026-06-09", + "last_updated": "2026-06-09", "cost": { - "input": 0.3, - "output": 1.2 + "input": 10, + "output": 50, + "cache_read": 1, + "cache_write": 12.5 }, "type": "chat" }, { - "id": "minimax-m2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "gpt-5.4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.03, - "cache_write": 0.375 + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "cache_write": 2.5 }, "type": "chat" }, { - "id": "llama-3.1-8b-instruct", - "name": "Llama 3.1 8B Instruct", - "display_name": "Llama 3.1 8B Instruct", + "id": "gpt-5.4-mini", + "name": "GPT-5.4 mini", + "display_name": "GPT-5.4 mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 2048 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0.22, - "output": 0.22 + "input": 0.75, + "output": 4.5, + "cache_read": 0.075, + "cache_write": 0.75 }, "type": "chat" }, { - "id": "seed-1-6-250915", - "name": "Seed 1.6 (250915)", - "display_name": "Seed 1.6 (250915)", + "id": "claude-opus-4-6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 8192 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } }, "attachment": true, - "open_weights": true, - "release_date": "2025-09-15", - "last_updated": "2025-09-15", + "open_weights": false, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.05 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "claude-sonnet-4-5", - "name": "Claude Sonnet 4.5 (latest)", - "display_name": "Claude Sonnet 4.5 (latest)", + "id": "claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ "text", @@ -92052,7 +100303,7 @@ ] }, "limit": { - "context": 200000, + "context": 1000000, "output": 64000 }, "temperature": true, @@ -92065,11 +100316,18 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "budget", + "mode": "mixed", "budget": { "min": 1024, "unit": "tokens" }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", @@ -92077,16 +100335,16 @@ "thinking_blocks" ], "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "cost": { "input": 3, "output": 15, @@ -92096,36 +100354,36 @@ "type": "chat" }, { - "id": "gpt-5.4-mini", - "name": "GPT-5.4 mini", - "display_name": "GPT-5.4 mini", + "id": "gpt-5.5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, + "context": 1050000, "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", - "effort": "none", + "effort": "medium", "effort_options": [ - "none", "low", "medium", "high", @@ -92142,31 +100400,42 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 0.75, - "output": 4.5, - "cache_read": 0.075 + "input": 5, + "output": 30, + "cache_read": 0.5, + "cache_write": 5 }, "type": "chat" - }, + } + ] + }, + "sap-ai-core": { + "id": "sap-ai-core", + "name": "SAP AI Core", + "display_name": "SAP AI Core", + "doc": "https://help.sap.com/docs/sap-ai-core", + "models": [ { - "id": "mimo-v2-pro", - "name": "MiMo-V2-Pro", - "display_name": "MiMo-V2-Pro", + "id": "anthropic--claude-4.6-sonnet", + "name": "anthropic--claude-4.6-sonnet", + "display_name": "anthropic--claude-4.6-sonnet", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -92174,60 +100443,35 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "knowledge": "2025-08", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "cost": { - "input": 1, - "output": 3, - "cache_read": 0.2, - "tiers": [ - { - "input": 2, - "output": 6, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 256000 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.4 - } + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "gpt-4-turbo", - "name": "GPT-4 Turbo", - "display_name": "GPT-4 Turbo", + "id": "anthropic--claude-3-sonnet", + "name": "anthropic--claude-3-sonnet", + "display_name": "anthropic--claude-3-sonnet", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, + "context": 200000, "output": 4096 }, "temperature": true, @@ -92237,30 +100481,33 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2023-12", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", + "knowledge": "2023-08-31", + "release_date": "2024-03-04", + "last_updated": "2024-03-04", "cost": { - "input": 10, - "output": 30 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "qwen3.7-plus", - "name": "Qwen3.7 Plus", - "display_name": "Qwen3.7 Plus", + "id": "anthropic--claude-4-sonnet", + "name": "anthropic--claude-4-sonnet", + "display_name": "anthropic--claude-4-sonnet", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 200000, "output": 64000 }, "temperature": true, @@ -92269,73 +100516,30 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-06-02", - "last_updated": "2026-06-02", - "cost": { - "input": 0.4, - "output": 1.6, - "cache_read": 0.08, - "cache_write": 0.5 - }, - "type": "chat" - }, - { - "id": "minimax-m2.5-highspeed", - "name": "MiniMax-M2.5-highspeed", - "display_name": "MiniMax-M2.5-highspeed", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 204800, - "output": 131072 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-13", - "last_updated": "2026-02-13", + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0.6, - "output": 2.4, - "cache_read": 0.06, - "cache_write": 0.375 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "mimo-v2.5", - "name": "MiMo-V2.5", - "display_name": "MiMo-V2.5", + "id": "gemini-2.5-pro", + "name": "gemini-2.5-pro", + "display_name": "gemini-2.5-pro", "modalities": { "input": [ "text", "image", "audio", - "video" + "video", + "pdf" ], "output": [ "text" @@ -92343,7 +100547,7 @@ }, "limit": { "context": 1048576, - "output": 131072 + "output": 65536 }, "temperature": true, "tool_call": true, @@ -92354,103 +100558,100 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, "attachment": true, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-03-25", + "last_updated": "2025-06-05", "cost": { - "input": 0.4, - "output": 2, - "cache_read": 0.08, - "tiers": [ - { - "input": 0.8, - "output": 4, - "cache_read": 0.16, - "tier": { - "type": "context", - "size": 256000 - } - } - ], - "context_over_200k": { - "input": 0.8, - "output": 4, - "cache_read": 0.16 - } + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "claude-3-7-sonnet", - "name": "Claude 3.7 Sonnet", - "display_name": "Claude 3.7 Sonnet", + "id": "gpt-5", + "name": "gpt-5", + "display_name": "gpt-5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": false, - "summaries": false, - "visibility": "full", - "continuation": [ - "thinking_blocks" + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" ], - "notes": [ - "Anthropic uses thinking budget tokens" - ] + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-02-24", - "last_updated": "2025-02-24", + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "claude-opus-4-6", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", + "id": "gemini-2.5-flash", + "name": "gemini-2.5-flash", + "display_name": "gemini-2.5-flash", "modalities": { "input": [ "text", "image", + "audio", + "video", "pdf" ], "output": [ @@ -92458,134 +100659,138 @@ ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", + "default_enabled": true, + "mode": "budget", "budget": { - "min": 1024, + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, "unit": "tokens" }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + "thought_signatures" ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-03-13", + "knowledge": "2025-01", + "release_date": "2025-04-17", + "last_updated": "2025-06-05", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.3, + "output": 2.5, + "cache_read": 0.03, + "input_audio": 1 }, "type": "chat" }, { - "id": "llama-3.3-70b-instruct", - "name": "Llama-3.3-70B-Instruct", - "display_name": "Llama-3.3-70B-Instruct", + "id": "anthropic--claude-4.5-haiku", + "name": "anthropic--claude-4.5-haiku", + "display_name": "anthropic--claude-4.5-haiku", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "open_weights": false, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 0, - "output": 0 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "qwen25-coder-7b", - "name": "Qwen2.5 Coder 7B", - "display_name": "Qwen2.5 Coder 7B", + "id": "anthropic--claude-3-haiku", + "name": "anthropic--claude-3-haiku", + "display_name": "anthropic--claude-3-haiku", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 200000, + "output": 4096 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2024-09-19", - "last_updated": "2024-09-19", + "attachment": true, + "open_weights": false, + "knowledge": "2023-08-31", + "release_date": "2024-03-13", + "last_updated": "2024-03-13", "cost": { - "input": 0.05, - "output": 0.05 + "input": 0.25, + "output": 1.25, + "cache_read": 0.03, + "cache_write": 0.3 }, "type": "chat" }, { - "id": "mimo-v2-flash", - "name": "MiMo-V2-Flash", - "display_name": "MiMo-V2-Flash", + "id": "anthropic--claude-4-opus", + "name": "anthropic--claude-4-opus", + "display_name": "anthropic--claude-4-opus", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, @@ -92593,44 +100798,36 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-12-01", - "release_date": "2025-12-16", - "last_updated": "2026-02-04", + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0.1, - "output": 0.3, - "cache_read": 0.01 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "qwen3-30b-a3b-fp8", - "name": "Qwen3 30B A3B FP8", - "display_name": "Qwen3 30B A3B FP8", + "id": "anthropic--claude-4.5-sonnet", + "name": "anthropic--claude-4.5-sonnet", + "display_name": "anthropic--claude-4.5-sonnet", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -92638,55 +100835,64 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-04-28", - "last_updated": "2025-04-28", + "attachment": true, + "open_weights": false, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0.1, - "output": 0.1 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "kimi-k2", - "name": "Kimi K2", - "display_name": "Kimi K2", + "id": "anthropic--claude-3.5-sonnet", + "name": "anthropic--claude-3.5-sonnet", + "display_name": "anthropic--claude-3.5-sonnet", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 200000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-07-11", - "last_updated": "2025-07-11", + "attachment": true, + "open_weights": false, + "knowledge": "2024-04-30", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", "cost": { - "input": 0.6, - "output": 2.5, - "cache_read": 0.12 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "gemma-3-1b-it", - "name": "Gemma 3 1B IT", - "display_name": "Gemma 3 1B IT", + "id": "anthropic--claude-4.6-opus", + "name": "anthropic--claude-4.6-opus", + "display_name": "anthropic--claude-4.6-opus", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" @@ -92694,31 +100900,37 @@ }, "limit": { "context": 1000000, - "output": 16384 + "output": 128000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-03-12", - "last_updated": "2025-03-12", + "attachment": true, + "open_weights": false, + "knowledge": "2025-05", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", "cost": { - "input": 0.08, - "output": 0.3 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "o1", - "name": "o1", - "display_name": "o1", + "id": "gemini-2.5-flash-lite", + "name": "gemini-2.5-flash-lite", + "display_name": "gemini-2.5-flash-lite", "modalities": { "input": [ "text", "image", + "audio", + "video", "pdf" ], "output": [ @@ -92726,137 +100938,140 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 1048576, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "default_enabled": false, + "mode": "budget", + "budget": { + "default": -1, + "min": 512, + "max": 24576, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-12-05", - "last_updated": "2024-12-05", + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 15, - "output": 60, - "cache_read": 7.5 + "input": 0.1, + "output": 0.4, + "cache_read": 0.01, + "input_audio": 0.3 }, "type": "chat" }, { - "id": "deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "anthropic--claude-3.7-sonnet", + "name": "anthropic--claude-3.7-sonnet", + "display_name": "anthropic--claude-3.7-sonnet", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": false, + "summaries": false, + "visibility": "full", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic uses thinking budget tokens" ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "attachment": true, + "open_weights": false, + "knowledge": "2024-10-31", + "release_date": "2025-02-24", + "last_updated": "2025-02-24", "cost": { - "input": 0.435, - "output": 0.87, - "cache_read": 0.003625 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "sonar", + "name": "sonar", + "display_name": "sonar", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 4096 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01", - "last_updated": "2026-01", + "open_weights": false, + "knowledge": "2025-09-01", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", "cost": { - "input": 0.6, - "output": 3, - "cache_read": 0.1 + "input": 1, + "output": 1 }, "type": "chat" }, { - "id": "seed-1-6-250615", - "name": "Seed 1.6 (250615)", - "display_name": "Seed 1.6 (250615)", + "id": "sonar-pro", + "name": "sonar-pro", + "display_name": "sonar-pro", "modalities": { "input": [ "text", @@ -92867,234 +101082,227 @@ ] }, "limit": { - "context": 256000, + "context": 200000, "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, - "open_weights": true, - "release_date": "2025-06-25", - "last_updated": "2025-06-25", + "open_weights": false, + "knowledge": "2025-09-01", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.05 + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "glm-4.5-airx", - "name": "GLM-4.5 AirX", - "display_name": "GLM-4.5 AirX", + "id": "gpt-5.4", + "name": "gpt-5.4", + "display_name": "gpt-5.4", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 1.1, - "output": 4.5, - "cache_read": 0.22 + "input": 2.5, + "output": 15, + "cache_read": 0.25 }, "type": "chat" }, { - "id": "deepseek-v3.1", - "name": "DeepSeek V3.1", - "display_name": "DeepSeek V3.1", + "id": "gpt-4.1", + "name": "gpt-4.1", + "display_name": "gpt-4.1", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, + "context": 1047576, "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, - "open_weights": true, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.56, - "output": 1.68, - "cache_read": 0.07 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "llama-4-scout-17b-instruct", - "name": "Llama 4 Scout 17B Instruct", - "display_name": "Llama 4 Scout 17B Instruct", + "id": "anthropic--claude-3-opus", + "name": "anthropic--claude-3-opus", + "display_name": "anthropic--claude-3-opus", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 2048 + "context": 200000, + "output": 4096 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, - "open_weights": true, - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "open_weights": false, + "knowledge": "2023-08-31", + "release_date": "2024-02-29", + "last_updated": "2024-02-29", "cost": { - "input": 0.17, - "output": 0.66 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "claude-opus-4-7", - "name": "Claude Opus 4.7", - "display_name": "Claude Opus 4.7", + "id": "gpt-5-mini", + "name": "gpt-5-mini", + "display_name": "gpt-5-mini", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 400000, "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", - "effort": "high", + "effort": "medium", "effort_options": [ + "minimal", "low", "medium", - "high", - "xhigh", - "max" + "high" ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", - "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 - }, - "type": "chat" - }, - { - "id": "minimax-text-01", - "name": "MiniMax Text 01", - "display_name": "MiniMax Text 01", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 131072 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-01-15", - "last_updated": "2025-01-15", + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.2, - "output": 1.1 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "gpt-4", - "name": "GPT-4", - "display_name": "GPT-4", + "id": "gpt-4.1-mini", + "name": "gpt-4.1-mini", + "display_name": "gpt-4.1-mini", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -93103,19 +101311,20 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2023-11", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 30, - "output": 60 + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 }, "type": "chat" }, { - "id": "glm-4.5-air", - "name": "GLM-4.5-Air", - "display_name": "GLM-4.5-Air", + "id": "sonar-deep-research", + "name": "sonar-deep-research", + "display_name": "sonar-deep-research", "modalities": { "input": [ "text" @@ -93125,32 +101334,31 @@ ] }, "limit": { - "context": 131072, - "output": 98304 + "context": 128000, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-02-01", + "last_updated": "2025-09-01", "cost": { - "input": 0.2, - "output": 1.1, - "cache_read": 0.03, - "cache_write": 0 + "input": 2, + "output": 8, + "reasoning": 3 }, "type": "chat" }, { - "id": "grok-4-1-fast-reasoning", - "name": "Grok 4.1 Fast Reasoning", - "display_name": "Grok 4.1 Fast Reasoning", + "id": "gpt-5-nano", + "name": "gpt-5-nano", + "display_name": "gpt-5-nano", "modalities": { "input": [ "text", @@ -93161,10 +101369,10 @@ ] }, "limit": { - "context": 2000000, - "output": 30000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -93172,36 +101380,54 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2025-11-19", - "last_updated": "2025-11-19", + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.2, - "output": 0.5, - "cache_read": 0.05 + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 }, "type": "chat" }, { - "id": "qwen3-vl-235b-a22b-thinking", - "name": "Qwen3 VL 235B A22B Thinking", - "display_name": "Qwen3 VL 235B A22B Thinking", + "id": "anthropic--claude-4.5-opus", + "name": "anthropic--claude-4.5-opus", + "display_name": "anthropic--claude-4.5-opus", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -93209,76 +101435,60 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": true, - "open_weights": true, - "release_date": "2025-09-15", - "last_updated": "2025-09-15", + "open_weights": false, + "knowledge": "2025-05", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", "cost": { - "input": 0.5, - "output": 2 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "glm-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "anthropic--claude-4.7-opus", + "name": "anthropic--claude-4.7-opus", + "display_name": "anthropic--claude-4.7-opus", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "attachment": true, + "open_weights": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 6, - "output": 24, - "cache_read": 1.3, - "cache_write": 0 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "grok-4-20-non-reasoning", - "name": "Grok 4.20 (Non-Reasoning)", - "display_name": "Grok 4.20 (Non-Reasoning)", + "id": "gpt-5.5", + "name": "gpt-5.5", + "display_name": "gpt-5.5", "modalities": { "input": [ "text", @@ -93290,50 +101500,61 @@ ] }, "limit": { - "context": 1000000, - "output": 30000 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2026-03-09", - "last_updated": "2026-03-09", + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 5, - "cache_read": 0.4 - } + "input": 5, + "output": 30, + "cache_read": 0.5 }, "type": "chat" - }, + } + ] + }, + "opencode": { + "id": "opencode", + "name": "OpenCode Zen", + "display_name": "OpenCode Zen", + "api": "https://opencode.ai/zen/v1", + "doc": "https://opencode.ai/docs/zen", + "models": [ { - "id": "minimax-m2.1-lightning", - "name": "MiniMax M2.1 Lightning", - "display_name": "MiniMax M2.1 Lightning", + "id": "ring-2.6-1t-free", + "name": "Ring 2.6 1T Free", + "display_name": "Ring 2.6 1T Free", "modalities": { "input": [ "text" @@ -93343,61 +101564,41 @@ ] }, "limit": { - "context": 196608, - "output": 131072 + "context": 262000, + "output": 66000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "cost": { - "input": 0.12, - "output": 0.48 - }, - "type": "chat" - }, - { - "id": "gpt-4o-search-preview", - "name": "GPT-4o Search Preview", - "display_name": "GPT-4o Search Preview", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 16384 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "release_date": "2024-10-01", - "last_updated": "2024-10-01", + "knowledge": "2025-06", + "release_date": "2026-05-08", + "last_updated": "2026-05-08", "cost": { - "input": 2.5, - "output": 10 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "mimo-v2.5-pro", - "name": "MiMo-V2.5-Pro", - "display_name": "MiMo-V2.5-Pro", + "id": "mimo-v2-pro-free", + "name": "MiMo V2 Pro Free", + "display_name": "MiMo V2 Pro Free", "modalities": { "input": [ "text" @@ -93408,7 +101609,7 @@ }, "limit": { "context": 1048576, - "output": 131072 + "output": 64000 }, "temperature": true, "tool_call": true, @@ -93427,104 +101628,112 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 1, - "output": 3, - "cache_read": 0.2, - "tiers": [ - { - "input": 2, - "output": 6, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 256000 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.4 - } + "input": 0, + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "auto", - "name": "Auto Route", - "display_name": "Auto Route", + "id": "deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 1000000, + "output": 384000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0, - "output": 0 + "input": 0.14, + "output": 0.28, + "cache_read": 0.028 }, "type": "chat" }, { - "id": "gpt-4.1-nano", - "name": "GPT-4.1 nano", - "display_name": "GPT-4.1 nano", + "id": "minimax-m2.5", + "name": "MiniMax M2.5", + "display_name": "MiniMax M2.5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.025 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "qwen-plus", - "name": "Qwen Plus", - "display_name": "Qwen Plus", + "id": "glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", "modalities": { "input": [ "text" @@ -93534,8 +101743,8 @@ ] }, "limit": { - "context": 1000000, - "output": 32768 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -93555,33 +101764,35 @@ } }, "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-01-25", - "last_updated": "2025-09-11", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 0.4, - "output": 1.2, - "reasoning": 4 + "input": 0.6, + "output": 2.2, + "cache_read": 0.1 }, "type": "chat" }, { - "id": "seed-1-6-flash-250715", - "name": "Seed 1.6 Flash (250715)", - "display_name": "Seed 1.6 Flash (250715)", + "id": "mimo-v2.5-free", + "name": "MiMo V2.5 Free", + "display_name": "MiMo V2.5 Free", "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 8192 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, @@ -93589,29 +101800,33 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": true, "open_weights": true, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", + "knowledge": "2024-12", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.07, - "output": 0.3, - "cache_read": 0.015 + "input": 0, + "output": 0, + "cache_read": 0 }, "type": "chat" - } - ] - }, - "togetherai": { - "id": "togetherai", - "name": "Together AI", - "display_name": "Together AI", - "doc": "https://docs.together.ai/docs/serverless-models", - "models": [ + }, { - "id": "MiniMaxAI/MiniMax-M2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "kimi-k2", + "name": "Kimi K2", + "display_name": "Kimi K2", "modalities": { "input": [ "text" @@ -93621,35 +101836,30 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06 + "input": 0.4, + "output": 2.5, + "cache_read": 0.4 }, "type": "chat" }, { - "id": "MiniMaxAI/MiniMax-M2.7", - "name": "MiniMax-M2.7", - "display_name": "MiniMax-M2.7", + "id": "minimax-m2.1", + "name": "MiniMax M2.1", + "display_name": "MiniMax M2.1", "modalities": { "input": [ "text" @@ -93659,7 +101869,7 @@ ] }, "limit": { - "context": 202752, + "context": 204800, "output": 131072 }, "temperature": true, @@ -93681,19 +101891,20 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "knowledge": "2025-01", + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "cost": { "input": 0.3, "output": 1.2, - "cache_read": 0.06 + "cache_read": 0.1 }, "type": "chat" }, { - "id": "zai-org/GLM-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "nemotron-3-ultra-free", + "name": "Nemotron 3 Ultra Free", + "display_name": "Nemotron 3 Ultra Free", "modalities": { "input": [ "text" @@ -93703,8 +101914,8 @@ ] }, "limit": { - "context": 202752, - "output": 131072 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -93714,24 +101925,31 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, "open_weights": true, - "knowledge": "2025-11", - "release_date": "2026-04-07", - "last_updated": "2026-04-07", + "knowledge": "2026-02", + "release_date": "2026-06-04", + "last_updated": "2026-06-04", "cost": { - "input": 1.4, - "output": 4.4 + "input": 0, + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "essentialai/Rnj-1-Instruct", - "name": "Rnj-1 Instruct", - "display_name": "Rnj-1 Instruct", + "id": "glm-4.7-free", + "name": "GLM-4.7 Free", + "display_name": "GLM-4.7 Free", "modalities": { "input": [ "text" @@ -93741,42 +101959,57 @@ ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-12-05", - "last_updated": "2025-12-05", + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 0.15, - "output": 0.15 + "input": 0, + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "gemini-3-flash", + "name": "Gemini 3 Flash", + "display_name": "Gemini 3 Flash", "modalities": { "input": [ "text", "image", - "video" + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 131000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -93786,37 +102019,50 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, "attachment": true, - "open_weights": true, + "open_weights": false, "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", "cost": { - "input": 1.2, - "output": 4.5, - "cache_read": 0.2 + "input": 0.5, + "output": 3, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "deepseek-v4-flash-free", + "name": "DeepSeek V4 Flash Free", + "display_name": "DeepSeek V4 Flash Free", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 200000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -93837,142 +102083,234 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2026-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.5, - "output": 2.8 + "input": 0, + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "meta-llama/Llama-3.3-70B-Instruct-Turbo", - "name": "Llama 3.3 70B", - "display_name": "Llama 3.3 70B", + "id": "claude-sonnet-4", + "name": "Claude Sonnet 4", + "display_name": "Claude Sonnet 4", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0.88, - "output": 0.88 + "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 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5 + } }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V4-Pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "claude-opus-4-5", + "name": "Claude Opus 4.5", + "display_name": "Claude Opus 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 512000, - "output": 384000 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", "cost": { - "input": 2.1, - "output": 4.4, - "cache_read": 0.2 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3-1", - "name": "DeepSeek V3.1", - "display_name": "DeepSeek V3.1", + "id": "gpt-5", + "name": "GPT-5", + "display_name": "GPT-5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-08", - "release_date": "2025-08-21", - "last_updated": "2025-08-21", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.6, - "output": 1.7 + "input": 1.07, + "output": 8.5, + "cache_read": 0.107 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-R1", - "name": "DeepSeek-R1", - "display_name": "DeepSeek-R1", + "id": "gemini-3.5-flash", + "name": "Gemini 3.5 Flash", + "display_name": "Gemini 3.5 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 163839, - "output": 163839 + "context": 1048576, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -93980,40 +102318,52 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-03-24", + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-05-19", + "last_updated": "2026-05-19", "cost": { - "input": 3, - "output": 7 + "input": 1.5, + "output": 9, + "cache_read": 0.15, + "input_audio": 1.5 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3", - "name": "DeepSeek-V3", - "display_name": "DeepSeek-V3", + "id": "minimax-m3-free", + "name": "MiniMax M3 Free", + "display_name": "MiniMax M3 Free", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, @@ -94021,32 +102371,42 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": false, "open_weights": true, - "knowledge": "2024-07", - "release_date": "2024-12-26", - "last_updated": "2025-05-29", + "knowledge": "2025-01", + "release_date": "2026-05-31", + "last_updated": "2026-05-31", "cost": { - "input": 1.25, - "output": 1.25 + "input": 0, + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "nvidia/nemotron-3-ultra-550b-a55b", - "name": "Nemotron 3 Ultra 550B A55B", - "display_name": "Nemotron 3 Ultra 550B A55B", + "id": "gemini-3-pro", + "name": "Gemini 3 Pro", + "display_name": "Gemini 3 Pro", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 512300, - "output": 512300 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -94054,32 +102414,68 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2026-06-04", - "last_updated": "2026-06-04", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", "cost": { - "input": 0.6, - "output": 3.6, - "cache_read": 0.2 + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "Qwen/Qwen3.6-Plus", - "name": "Qwen3.6 Plus", - "display_name": "Qwen3.6 Plus", + "id": "kimi-k2.5-free", + "name": "Kimi K2.5 Free", + "display_name": "Kimi K2.5 Free", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 500000 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -94098,20 +102494,22 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2026-04-30", - "last_updated": "2026-04-30", + "knowledge": "2024-10", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 0.5, - "output": 3 + "input": 0, + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Coder-Next-FP8", - "name": "Qwen3 Coder Next FP8", - "display_name": "Qwen3 Coder Next FP8", + "id": "glm-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ "text" @@ -94121,8 +102519,8 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -94130,33 +102528,44 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": true, - "knowledge": "2026-02-03", - "release_date": "2026-02-03", - "last_updated": "2026-02-03", + "knowledge": "2025-04", + "release_date": "2026-04-07", + "last_updated": "2026-04-07", "cost": { - "input": 0.5, - "output": 1.2 + "input": 1.4, + "output": 4.4, + "cache_read": 0.26 }, "type": "chat" }, { - "id": "Qwen/Qwen3.5-397B-A17B", - "name": "Qwen3.5 397B A17B", - "display_name": "Qwen3.5 397B A17B", + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 130000 + "context": 1000000, + "output": 384000 }, "temperature": true, "tool_call": true, @@ -94177,18 +102586,20 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-02-16", - "last_updated": "2026-02-16", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.6, - "output": 3.6 + "input": 1.74, + "output": 3.84, + "cache_read": 0.145 }, "type": "chat" }, { - "id": "Qwen/Qwen3.7-Max", - "name": "Qwen3.7 Max", - "display_name": "Qwen3.7 Max", + "id": "glm-4.6", + "name": "GLM-4.6", + "display_name": "GLM-4.6", "modalities": { "input": [ "text" @@ -94198,8 +102609,8 @@ ] }, "limit": { - "context": 1000000, - "output": 500000 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -94213,19 +102624,21 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2026-05-21", - "last_updated": "2026-05-21", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", "cost": { - "input": 2.5, - "output": 7.5 + "input": 0.6, + "output": 2.2, + "cache_read": 0.1 }, "type": "chat" }, { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507-tput", - "name": "Qwen3 235B A22B Instruct 2507 FP8", - "display_name": "Qwen3 235B A22B Instruct 2507 FP8", + "id": "kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "display_name": "Kimi K2 Thinking", "modalities": { "input": [ "text" @@ -94244,134 +102657,230 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": true, - "knowledge": "2025-07", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", "cost": { - "input": 0.2, - "output": 0.6 + "input": 0.4, + "output": 2.5, + "cache_read": 0.4 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8", - "name": "Qwen3 Coder 480B A35B Instruct", - "display_name": "Qwen3 Coder 480B A35B Instruct", + "id": "claude-sonnet-4-5", + "name": "Claude Sonnet 4.5", + "display_name": "Claude Sonnet 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 2, - "output": 2 + "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 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5 + } }, "type": "chat" }, { - "id": "google/gemma-4-31B-it", - "name": "Gemma 4 31B Instruct", - "display_name": "Gemma 4 31B Instruct", + "id": "claude-opus-4-7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] + } }, "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-07", - "last_updated": "2026-04-07", + "open_weights": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 0.2, - "output": 0.5 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "display_name": "GPT OSS 120B", + "id": "gpt-5.4-nano", + "name": "GPT-5.4 Nano", + "display_name": "GPT-5.4 Nano", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-08", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 }, "type": "chat" - } - ] - }, - "moark": { - "id": "moark", - "name": "Moark", - "display_name": "Moark", - "api": "https://moark.com/v1", - "doc": "https://moark.com/docs/openapi/v1#tag/%E6%96%87%E6%9C%AC%E7%94%9F%E6%88%90", - "models": [ + }, { - "id": "GLM-4.7", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "qwen3-coder", + "name": "Qwen3 Coder", + "display_name": "Qwen3 Coder", "modalities": { "input": [ "text" @@ -94381,41 +102890,29 @@ ] }, "limit": { - "context": 204800, - "output": 131072 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "context": 262144, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false }, "attachment": false, "open_weights": true, "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", "cost": { - "input": 3.5, - "output": 14 + "input": 0.45, + "output": 1.8 }, "type": "chat" }, { - "id": "MiniMax-M2.1", - "name": "MiniMax-M2.1", - "display_name": "MiniMax-M2.1", + "id": "hy3-preview-free", + "name": "Hy3 preview Free", + "display_name": "Hy3 preview Free", "modalities": { "input": [ "text" @@ -94425,8 +102922,8 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 256000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -94441,60 +102938,76 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "knowledge": "2025-06", + "release_date": "2026-04-20", + "last_updated": "2026-04-20", "cost": { - "input": 2.1, - "output": 8.4 + "input": 0, + "output": 0, + "cache_read": 0 }, "type": "chat" - } - ] - }, - "github-models": { - "id": "github-models", - "name": "GitHub Models", - "display_name": "GitHub Models", - "api": "https://models.github.ai/inference", - "doc": "https://docs.github.com/en/github-models", - "models": [ + }, { - "id": "core42/jais-30b-chat", - "name": "JAIS 30b Chat", - "display_name": "JAIS 30b Chat", + "id": "gpt-5.1-codex", + "name": "GPT-5.1 Codex", + "display_name": "GPT-5.1 Codex", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 2048 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-03", - "release_date": "2023-08-30", - "last_updated": "2023-08-30", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0, - "output": 0 + "input": 1.07, + "output": 8.5, + "cache_read": 0.107 }, "type": "chat" }, { - "id": "deepseek/deepseek-r1-0528", - "name": "DeepSeek-R1-0528", - "display_name": "DeepSeek-R1-0528", + "id": "gpt-5.3-codex-spark", + "name": "GPT-5.3 Codex Spark", + "display_name": "GPT-5.3 Codex Spark", "modalities": { "input": [ "text" @@ -94504,10 +103017,10 @@ ] }, "limit": { - "context": 65536, - "output": 8192 + "context": 128000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -94516,106 +103029,158 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": false, - "open_weights": true, - "knowledge": "2024-06", - "release_date": "2025-05-28", - "last_updated": "2025-05-28", + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0, - "output": 0 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "deepseek/deepseek-v3-0324", - "name": "DeepSeek-V3-0324", - "display_name": "DeepSeek-V3-0324", + "id": "gpt-5.1-codex-max", + "name": "GPT-5.1 Codex Max", + "display_name": "GPT-5.1 Codex Max", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-06", - "release_date": "2025-03-24", - "last_updated": "2025-03-24", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0, - "output": 0 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "deepseek/deepseek-r1", - "name": "DeepSeek-R1", - "display_name": "DeepSeek-R1", + "id": "claude-opus-4-8", + "name": "Claude Opus 4.8", + "display_name": "Claude Opus 4.8", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 65536, - "output": 8192 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], "interleaved": true, "summaries": true, - "visibility": "summary", + "visibility": "omitted", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-06", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", + "attachment": true, + "open_weights": false, + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "cost": { - "input": 0, - "output": 0 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "ai21-labs/ai21-jamba-1.5-large", - "name": "AI21 Jamba 1.5 Large", - "display_name": "AI21 Jamba 1.5 Large", + "id": "ling-2.6-flash-free", + "name": "Ling 2.6 Flash Free", + "display_name": "Ling 2.6 Flash Free", "modalities": { "input": [ "text" @@ -94625,20 +103190,19 @@ ] }, "limit": { - "context": 256000, - "output": 4096 + "context": 262100, + "output": 32800 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2024-03", - "release_date": "2024-08-29", - "last_updated": "2024-08-29", + "open_weights": true, + "knowledge": "2025-06", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { "input": 0, "output": 0 @@ -94646,20 +103210,22 @@ "type": "chat" }, { - "id": "ai21-labs/ai21-jamba-1.5-mini", - "name": "AI21 Jamba 1.5 Mini", - "display_name": "AI21 Jamba 1.5 Mini", + "id": "qwen3.5-plus", + "name": "Qwen3.5 Plus", + "display_name": "Qwen3.5 Plus", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 4096 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -94667,119 +103233,184 @@ "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-03", - "release_date": "2024-08-29", - "last_updated": "2024-08-29", + "knowledge": "2025-04", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", "cost": { - "input": 0, - "output": 0 + "input": 0.2, + "output": 1.2, + "cache_read": 0.02, + "cache_write": 0.25 }, "type": "chat" }, { - "id": "xai/grok-3", - "name": "Grok 3", - "display_name": "Grok 3", + "id": "claude-3-5-haiku", + "name": "Claude Haiku 3.5", + "display_name": "Claude Haiku 3.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, + "context": 200000, "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-12-09", - "last_updated": "2024-12-09", + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", "cost": { - "input": 0, - "output": 0 + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 }, "type": "chat" }, { - "id": "xai/grok-3-mini", - "name": "Grok 3 Mini", - "display_name": "Grok 3 Mini", + "id": "gpt-5.2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-12-09", - "last_updated": "2024-12-09", + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0, - "output": 0 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "cohere/cohere-command-r-plus-08-2024", - "name": "Cohere Command R+ 08-2024", - "display_name": "Cohere Command R+ 08-2024", + "id": "gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "display_name": "GPT-5.3 Codex", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-03", - "release_date": "2024-08-01", - "last_updated": "2024-08-01", + "knowledge": "2025-08-31", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", "cost": { - "input": 0, - "output": 0 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "cohere/cohere-command-r-08-2024", - "name": "Cohere Command R 08-2024", - "display_name": "Cohere Command R 08-2024", + "id": "minimax-m2.7", + "name": "MiniMax M2.7", + "display_name": "MiniMax M2.7", "modalities": { "input": [ "text" @@ -94789,29 +103420,42 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "knowledge": "2024-03", - "release_date": "2024-08-01", - "last_updated": "2024-08-01", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0, - "output": 0 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "cohere/cohere-command-r", - "name": "Cohere Command R", - "display_name": "Cohere Command R", + "id": "north-mini-code-free", + "name": "North Mini Code Free", + "display_name": "North Mini Code Free", "modalities": { "input": [ "text" @@ -94821,8 +103465,8 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 256000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -94830,11 +103474,22 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, - "open_weights": false, - "knowledge": "2024-03", - "release_date": "2024-03-11", - "last_updated": "2024-08-01", + "open_weights": true, + "knowledge": "2025-09-23", + "release_date": "2026-06-09", + "last_updated": "2026-06-09", "cost": { "input": 0, "output": 0 @@ -94842,9 +103497,9 @@ "type": "chat" }, { - "id": "cohere/cohere-command-a", - "name": "Cohere Command A", - "display_name": "Cohere Command A", + "id": "grok-code", + "name": "Grok Code Fast 1", + "display_name": "Grok Code Fast 1", "modalities": { "input": [ "text" @@ -94854,8 +103509,8 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 256000, + "output": 256000 }, "temperature": true, "tool_call": true, @@ -94863,97 +103518,149 @@ "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-03", - "release_date": "2024-11-01", - "last_updated": "2024-11-01", + "release_date": "2025-08-20", + "last_updated": "2025-08-20", "cost": { "input": 0, - "output": 0 + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "cohere/cohere-command-r-plus", - "name": "Cohere Command R+", - "display_name": "Cohere Command R+", + "id": "claude-opus-4-1", + "name": "Claude Opus 4.1", + "display_name": "Claude Opus 4.1", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-03", - "release_date": "2024-04-04", - "last_updated": "2024-08-01", + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0, - "output": 0 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "mistral-ai/mistral-large-2411", - "name": "Mistral Large 24.11", - "display_name": "Mistral Large 24.11", + "id": "gpt-5.1-codex-mini", + "name": "GPT-5.1 Codex Mini", + "display_name": "GPT-5.1 Codex Mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-09", - "release_date": "2024-11-01", - "last_updated": "2024-11-01", + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0, - "output": 0 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "mistral-ai/ministral-3b", - "name": "Ministral 3B", - "display_name": "Ministral 3B", + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -94961,155 +103668,286 @@ "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": true, - "knowledge": "2024-03", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", + "knowledge": "2024-10", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 0, - "output": 0 + "input": 0.6, + "output": 3, + "cache_read": 0.08 }, "type": "chat" }, { - "id": "mistral-ai/mistral-small-2503", - "name": "Mistral Small 3.1", - "display_name": "Mistral Small 3.1", + "id": "claude-fable-5", + "name": "Claude Fable 5", + "display_name": "Claude Fable 5", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Adaptive thinking is always on for Claude Fable 5 and Claude Mythos 5; thinking.type = \"disabled\" is rejected.", + "Manual budget_tokens requests return 400 on Claude Fable 5 and Claude Mythos 5.", + "thinking.display defaults to omitted; set display to summarized to receive readable thinking summaries." + ] + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-09", - "release_date": "2025-03-01", - "last_updated": "2025-03-01", + "knowledge": "2026-01-31", + "release_date": "2026-06-09", + "last_updated": "2026-06-09", "cost": { - "input": 0, - "output": 0 + "input": 10, + "output": 50, + "cache_read": 1, + "cache_write": 12.5 }, "type": "chat" }, { - "id": "mistral-ai/mistral-nemo", - "name": "Mistral Nemo", - "display_name": "Mistral Nemo", + "id": "claude-haiku-4-5", + "name": "Claude Haiku 4.5", + "display_name": "Claude Haiku 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-03", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 0, - "output": 0 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "mistral-ai/mistral-medium-2505", - "name": "Mistral Medium 3 (25.05)", - "display_name": "Mistral Medium 3 (25.05)", + "id": "gpt-5.4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-09", - "release_date": "2025-05-01", - "last_updated": "2025-05-01", + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0, - "output": 0 + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tiers": [ + { + "input": 5, + "output": 22.5, + "cache_read": 0.5, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 5, + "output": 22.5, + "cache_read": 0.5 + } }, "type": "chat" }, { - "id": "mistral-ai/codestral-2501", - "name": "Codestral 25.01", - "display_name": "Codestral 25.01", + "id": "gpt-5.4-mini", + "name": "GPT-5.4 Mini", + "display_name": "GPT-5.4 Mini", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 32000, - "output": 8192 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-03", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0, - "output": 0 + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "microsoft/phi-3-medium-128k-instruct", - "name": "Phi-3-medium instruct (128k)", - "display_name": "Phi-3-medium instruct (128k)", + "id": "minimax-m2.5-free", + "name": "MiniMax M2.5 Free", + "display_name": "MiniMax M2.5 Free", "modalities": { "input": [ "text" @@ -95119,8 +103957,8 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -95128,33 +103966,40 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": false, "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", + "knowledge": "2025-01", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { "input": 0, - "output": 0 + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "microsoft/phi-3.5-vision-instruct", - "name": "Phi-3.5-vision instruct (128k)", - "display_name": "Phi-3.5-vision instruct (128k)", + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -95162,54 +104007,98 @@ "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", + "knowledge": "2024-10", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0, - "output": 0 + "input": 0.95, + "output": 4, + "cache_read": 0.16 }, "type": "chat" }, { - "id": "microsoft/phi-4-reasoning", - "name": "Phi-4-Reasoning", - "display_name": "Phi-4-Reasoning", + "id": "claude-opus-4-6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", "cost": { - "input": 0, - "output": 0 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "microsoft/phi-4", - "name": "Phi-4", - "display_name": "Phi-4", + "id": "minimax-m2.1-free", + "name": "MiniMax M2.1 Free", + "display_name": "MiniMax M2.1 Free", "modalities": { "input": [ "text" @@ -95219,8 +104108,8 @@ ] }, "limit": { - "context": 16000, - "output": 4096 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -95228,133 +104117,215 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": false, "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "knowledge": "2025-01", + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "cost": { "input": 0, - "output": 0 + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "microsoft/phi-3-mini-128k-instruct", - "name": "Phi-3-mini instruct (128k)", - "display_name": "Phi-3-mini instruct (128k)", + "id": "gpt-5-nano", + "name": "GPT-5 Nano", + "display_name": "GPT-5 Nano", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0, - "output": 0 + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 }, "type": "chat" }, { - "id": "microsoft/phi-3-small-128k-instruct", - "name": "Phi-3-small instruct (128k)", - "display_name": "Phi-3-small instruct (128k)", + "id": "gpt-5.4-pro", + "name": "GPT-5.4 Pro", + "display_name": "GPT-5.4 Pro", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0, - "output": 0 + "input": 30, + "output": 180, + "cache_read": 30 }, "type": "chat" }, { - "id": "microsoft/mai-ds-r1", - "name": "MAI-DS-R1", - "display_name": "MAI-DS-R1", + "id": "claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 65536, - "output": 8192 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-06", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", "cost": { - "input": 0, - "output": 0 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "microsoft/phi-4-multimodal-instruct", - "name": "Phi-4-multimodal-instruct", - "display_name": "Phi-4-multimodal-instruct", + "id": "mimo-v2-flash-free", + "name": "MiMo V2 Flash Free", + "display_name": "MiMo V2 Flash Free", "modalities": { "input": [ - "text", - "image", - "audio" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -95362,32 +104333,48 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "knowledge": "2024-12", + "release_date": "2025-12-16", + "last_updated": "2025-12-16", "cost": { "input": 0, - "output": 0 + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "microsoft/phi-3-small-8k-instruct", - "name": "Phi-3-small instruct (8k)", - "display_name": "Phi-3-small instruct (8k)", + "id": "gemini-3.1-pro", + "name": "Gemini 3.1 Pro Preview", + "display_name": "Gemini 3.1 Pro Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 2048 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -95395,21 +104382,55 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", "cost": { - "input": 0, - "output": 0 + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "microsoft/phi-4-mini-instruct", - "name": "Phi-4-mini-instruct", - "display_name": "Phi-4-mini-instruct", + "id": "trinity-large-preview-free", + "name": "Trinity Large Preview", + "display_name": "Trinity Large Preview", "modalities": { "input": [ "text" @@ -95419,20 +104440,19 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "knowledge": "2025-06", + "release_date": "2026-01-28", + "last_updated": "2026-01-28", "cost": { "input": 0, "output": 0 @@ -95440,9 +104460,9 @@ "type": "chat" }, { - "id": "microsoft/phi-3.5-mini-instruct", - "name": "Phi-3.5-mini instruct (128k)", - "display_name": "Phi-3.5-mini instruct (128k)", + "id": "big-pickle", + "name": "Big Pickle", + "display_name": "Big Pickle", "modalities": { "input": [ "text" @@ -95452,8 +104472,8 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, @@ -95461,65 +104481,88 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, - "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-10-17", + "last_updated": "2025-10-17", "cost": { "input": 0, - "output": 0 + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "microsoft/phi-3-mini-4k-instruct", - "name": "Phi-3-mini instruct (4k)", - "display_name": "Phi-3-mini instruct (4k)", + "id": "gpt-5.5-pro", + "name": "GPT-5.5 Pro", + "display_name": "GPT-5.5 Pro", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 4096, - "output": 1024 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0, - "output": 0 + "input": 30, + "output": 180, + "cache_read": 30 }, "type": "chat" }, { - "id": "microsoft/phi-3-medium-4k-instruct", - "name": "Phi-3-medium instruct (4k)", - "display_name": "Phi-3-medium instruct (4k)", + "id": "qwen3.6-plus-free", + "name": "Qwen3.6 Plus Free", + "display_name": "Qwen3.6 Plus Free", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 4096, - "output": 1024 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -95527,21 +104570,33 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { "input": 0, - "output": 0 + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "microsoft/phi-3.5-moe-instruct", - "name": "Phi-3.5-MoE instruct (128k)", - "display_name": "Phi-3.5-MoE instruct (128k)", + "id": "glm-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ "text" @@ -95551,8 +104606,8 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -95560,32 +104615,47 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", + "knowledge": "2025-04", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 0, - "output": 0 + "input": 1, + "output": 3.2, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "microsoft/phi-4-mini-reasoning", - "name": "Phi-4-mini-reasoning", - "display_name": "Phi-4-mini-reasoning", + "id": "mimo-v2-omni-free", + "name": "MiMo V2 Omni Free", + "display_name": "MiMo V2 Omni Free", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 262144, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -95593,99 +104663,157 @@ "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { "input": 0, - "output": 0 + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "meta/meta-llama-3.1-405b-instruct", - "name": "Meta-Llama-3.1-405B-Instruct", - "display_name": "Meta-Llama-3.1-405B-Instruct", + "id": "gpt-5-codex", + "name": "GPT-5 Codex", + "display_name": "GPT-5 Codex", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", "cost": { - "input": 0, - "output": 0 + "input": 1.07, + "output": 8.5, + "cache_read": 0.107 }, "type": "chat" }, { - "id": "meta/meta-llama-3.1-8b-instruct", - "name": "Meta-Llama-3.1-8B-Instruct", - "display_name": "Meta-Llama-3.1-8B-Instruct", + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "display_name": "GPT-5.2 Codex", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", "cost": { - "input": 0, - "output": 0 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "meta/llama-4-scout-17b-16e-instruct", - "name": "Llama 4 Scout 17B 16E Instruct", - "display_name": "Llama 4 Scout 17B 16E Instruct", + "id": "glm-5-free", + "name": "GLM-5 Free", + "display_name": "GLM-5 Free", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -95693,33 +104821,46 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-01-31", - "last_updated": "2025-01-31", + "knowledge": "2025-04", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { "input": 0, - "output": 0 + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "meta/llama-4-maverick-17b-128e-instruct-fp8", - "name": "Llama 4 Maverick 17B 128E Instruct FP8", - "display_name": "Llama 4 Maverick 17B 128E Instruct FP8", + "id": "qwen3.6-plus", + "name": "Qwen3.6 Plus", + "display_name": "Qwen3.6 Plus", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -95727,21 +104868,34 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-01-31", - "last_updated": "2025-01-31", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0, - "output": 0 + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "cache_write": 0.625 }, "type": "chat" }, { - "id": "meta/meta-llama-3-8b-instruct", - "name": "Meta-Llama-3-8B-Instruct", - "display_name": "Meta-Llama-3-8B-Instruct", + "id": "nemotron-3-super-free", + "name": "Nemotron 3 Super Free", + "display_name": "Nemotron 3 Super Free", "modalities": { "input": [ "text" @@ -95751,8 +104905,8 @@ ] }, "limit": { - "context": 8192, - "output": 2048 + "context": 204800, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -95760,32 +104914,45 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-04-18", - "last_updated": "2024-04-18", + "knowledge": "2026-02", + "release_date": "2026-03-11", + "last_updated": "2026-03-11", "cost": { "input": 0, - "output": 0 + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "meta/meta-llama-3.1-70b-instruct", - "name": "Meta-Llama-3.1-70B-Instruct", - "display_name": "Meta-Llama-3.1-70B-Instruct", + "id": "grok-build-0.1", + "name": "Grok Build 0.1", + "display_name": "Grok Build 0.1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 256000, + "output": 256000 }, "temperature": true, "tool_call": true, @@ -95793,89 +104960,164 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-05-20", + "last_updated": "2026-05-20", "cost": { - "input": 0, - "output": 0 + "input": 1, + "output": 2, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "meta/llama-3.2-11b-vision-instruct", - "name": "Llama-3.2-11B-Vision-Instruct", - "display_name": "Llama-3.2-11B-Vision-Instruct", + "id": "gpt-5.1", + "name": "GPT-5.1", + "display_name": "GPT-5.1", "modalities": { "input": [ "text", - "image", - "audio" + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0, - "output": 0 + "input": 1.07, + "output": 8.5, + "cache_read": 0.107 }, "type": "chat" }, { - "id": "meta/meta-llama-3-70b-instruct", - "name": "Meta-Llama-3-70B-Instruct", - "display_name": "Meta-Llama-3-70B-Instruct", + "id": "gpt-5.5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 2048 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-04-18", - "last_updated": "2024-04-18", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 0, - "output": 0 + "input": 5, + "output": 30, + "cache_read": 0.5, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + } }, "type": "chat" - }, + } + ] + }, + "inference": { + "id": "inference", + "name": "Inference", + "display_name": "Inference", + "api": "https://inference.net/v1", + "doc": "https://inference.net/models", + "models": [ { - "id": "meta/llama-3.3-70b-instruct", - "name": "Llama-3.3-70B-Instruct", - "display_name": "Llama-3.3-70B-Instruct", + "id": "mistral/mistral-nemo-12b-instruct", + "name": "Mistral Nemo 12B Instruct", + "display_name": "Mistral Nemo 12B Instruct", "modalities": { "input": [ "text" @@ -95885,147 +105127,126 @@ ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 16000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0, - "output": 0 + "input": 0.038, + "output": 0.1 }, "type": "chat" }, { - "id": "meta/llama-3.2-90b-vision-instruct", - "name": "Llama-3.2-90B-Vision-Instruct", - "display_name": "Llama-3.2-90B-Vision-Instruct", + "id": "google/gemma-3", + "name": "Google Gemma 3", + "display_name": "Google Gemma 3", "modalities": { "input": [ "text", - "image", - "audio" + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 125000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0, - "output": 0 + "input": 0.15, + "output": 0.3 }, "type": "chat" }, { - "id": "openai/gpt-4o", - "name": "GPT-4o", - "display_name": "GPT-4o", + "id": "osmosis/osmosis-structure-0.6b", + "name": "Osmosis Structure 0.6B", + "display_name": "Osmosis Structure 0.6B", "modalities": { "input": [ - "text", - "image", - "audio" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 4000, + "output": 2048 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-10", - "release_date": "2024-05-13", - "last_updated": "2024-05-13", + "attachment": false, + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0, - "output": 0 + "input": 0.1, + "output": 0.5 }, "type": "chat" }, { - "id": "openai/o3", - "name": "OpenAI o3", - "display_name": "OpenAI o3", + "id": "qwen/qwen3-embedding-4b", + "name": "Qwen 3 Embedding 4B", + "display_name": "Qwen 3 Embedding 4B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 32000, + "output": 2048 }, "temperature": false, "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-01-31", - "last_updated": "2025-01-31", + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0, + "input": 0.01, "output": 0 }, - "type": "chat" + "type": "embedding" }, { - "id": "openai/gpt-4.1-mini", - "name": "GPT-4.1-mini", - "display_name": "GPT-4.1-mini", + "id": "qwen/qwen-2.5-7b-vision-instruct", + "name": "Qwen 2.5 7B Vision Instruct", + "display_name": "Qwen 2.5 7B Vision Instruct", "modalities": { "input": [ "text", @@ -96036,8 +105257,8 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 125000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -96045,68 +105266,52 @@ "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0, - "output": 0 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "openai/o4-mini", - "name": "OpenAI o4-mini", - "display_name": "OpenAI o4-mini", + "id": "meta/llama-3.1-8b-instruct", + "name": "Llama 3.1 8B Instruct", + "display_name": "Llama 3.1 8B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 16000, + "output": 4096 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-01-31", - "last_updated": "2025-01-31", + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0, - "output": 0 + "input": 0.025, + "output": 0.025 }, "type": "chat" }, { - "id": "openai/o3-mini", - "name": "OpenAI o3-mini", - "display_name": "OpenAI o3-mini", + "id": "meta/llama-3.2-1b-instruct", + "name": "Llama 3.2 1B Instruct", + "display_name": "Llama 3.2 1B Instruct", "modalities": { "input": [ "text" @@ -96116,57 +105321,41 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 16000, + "output": 4096 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-01-31", - "last_updated": "2025-01-31", + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0, - "output": 0 + "input": 0.01, + "output": 0.01 }, "type": "chat" }, { - "id": "openai/gpt-4o-mini", - "name": "GPT-4o mini", - "display_name": "GPT-4o mini", + "id": "meta/llama-3.2-11b-vision-instruct", + "name": "Llama 3.2 11B Vision Instruct", + "display_name": "Llama 3.2 11B Vision Instruct", "modalities": { "input": [ "text", - "image", - "audio" + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 16000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -96174,67 +105363,76 @@ "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2023-10", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0, - "output": 0 + "input": 0.055, + "output": 0.055 }, "type": "chat" }, { - "id": "openai/gpt-4.1", - "name": "GPT-4.1", - "display_name": "GPT-4.1", + "id": "meta/llama-3.2-3b-instruct", + "name": "Llama 3.2 3B Instruct", + "display_name": "Llama 3.2 3B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 16000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "attachment": false, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0, - "output": 0 + "input": 0.02, + "output": 0.02 }, "type": "chat" - }, + } + ] + }, + "inceptron": { + "id": "inceptron", + "name": "Inceptron", + "display_name": "Inceptron", + "api": "https://api.inceptron.io/v1", + "doc": "https://docs.inceptron.io", + "models": [ { - "id": "openai/o1-mini", - "name": "OpenAI o1-mini", - "display_name": "OpenAI o1-mini", + "id": "moonshotai/Kimi-K2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 65536 + "context": 262144, + "output": 262144 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -96242,32 +105440,31 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": false, - "open_weights": false, - "knowledge": "2023-10", - "release_date": "2024-09-12", - "last_updated": "2024-12-17", + "attachment": true, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0, - "output": 0 + "input": 0.78, + "output": 3.5, + "cache_read": 0.2, + "cache_write": 0 }, "type": "chat" }, { - "id": "openai/o1-preview", - "name": "OpenAI o1-preview", - "display_name": "OpenAI o1-preview", + "id": "nvidia/llama-3.3-70b-instruct-fp8", + "name": "Llama 3.3 70B Instruct", + "display_name": "Llama 3.3 70B Instruct", "modalities": { "input": [ "text" @@ -96277,59 +105474,45 @@ ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 131072, + "output": 131072 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": false, - "open_weights": false, - "knowledge": "2023-10", - "release_date": "2024-09-12", - "last_updated": "2024-09-12", + "attachment": true, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 0, - "output": 0 + "input": 0.12, + "output": 0.38, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "openai/o1", - "name": "OpenAI o1", - "display_name": "OpenAI o1", + "id": "zai-org/GLM-5.1-FP8", + "name": "GLM 5.1", + "display_name": "GLM 5.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 202752, + "output": 202752 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -96337,173 +105520,133 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": false, - "knowledge": "2023-10", - "release_date": "2024-09-12", - "last_updated": "2024-12-17", + "open_weights": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 0, - "output": 0 + "input": 1.4, + "output": 4.4, + "cache_read": 0.26, + "cache_write": 0 }, "type": "chat" }, { - "id": "openai/gpt-4.1-nano", - "name": "GPT-4.1-nano", - "display_name": "GPT-4.1-nano", + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax M2.5", + "display_name": "MiniMax M2.5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 196608, + "output": 196608 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0, - "output": 0 + "input": 0.24, + "output": 0.9, + "cache_read": 0.03, + "cache_write": 0 }, "type": "chat" } ] }, - "xiaomi-token-plan-cn": { - "id": "xiaomi-token-plan-cn", - "name": "Xiaomi Token Plan (China)", - "display_name": "Xiaomi Token Plan (China)", - "api": "https://token-plan-cn.xiaomimimo.com/v1", - "doc": "https://platform.xiaomimimo.com/#/docs", + "llama": { + "id": "llama", + "name": "Llama", + "display_name": "Llama", + "api": "https://api.llama.com/compat/v1/", + "doc": "https://llama.developer.meta.com/docs/models", "models": [ { - "id": "mimo-v2-tts", - "name": "MiMo-V2-TTS", - "display_name": "MiMo-V2-TTS", - "modalities": { - "input": [ - "text" - ], - "output": [ - "audio" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "cost": { - "input": 0, - "output": 0 - }, - "type": "chat" - }, - { - "id": "mimo-v2-omni", - "name": "MiMo-V2-Omni", - "display_name": "MiMo-V2-Omni", + "id": "llama-4-scout-17b-16e-instruct-fp8", + "name": "Llama-4-Scout-17B-16E-Instruct-FP8", + "display_name": "Llama-4-Scout-17B-16E-Instruct-FP8", "modalities": { "input": [ "text", - "image", - "audio", - "video", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { "input": 0, - "output": 0, - "cache_read": 0 + "output": 0 }, "type": "chat" }, { - "id": "mimo-v2.5-tts-voicedesign", - "name": "MiMo-V2.5-TTS-VoiceDesign", - "display_name": "MiMo-V2.5-TTS-VoiceDesign", + "id": "cerebras-llama-4-maverick-17b-128e-instruct", + "name": "Cerebras-Llama-4-Maverick-17B-128E-Instruct", + "display_name": "Cerebras-Llama-4-Maverick-17B-128E-Instruct", "modalities": { "input": [ "text" ], "output": [ - "audio" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 128000, + "output": 4096 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "knowledge": "2025-01", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { "input": 0, "output": 0 @@ -96511,29 +105654,31 @@ "type": "chat" }, { - "id": "mimo-v2.5-tts-voiceclone", - "name": "MiMo-V2.5-TTS-VoiceClone", - "display_name": "MiMo-V2.5-TTS-VoiceClone", + "id": "llama-3.3-70b-instruct", + "name": "Llama-3.3-70B-Instruct", + "display_name": "Llama-3.3-70B-Instruct", "modalities": { "input": [ "text" ], "output": [ - "audio" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 128000, + "output": 4096 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { "input": 0, "output": 0 @@ -96541,9 +105686,9 @@ "type": "chat" }, { - "id": "mimo-v2-pro", - "name": "MiMo-V2-Pro", - "display_name": "MiMo-V2-Pro", + "id": "groq-llama-4-maverick-17b-128e-instruct", + "name": "Groq-Llama-4-Maverick-17B-128E-Instruct", + "display_name": "Groq-Llama-4-Maverick-17B-128E-Instruct", "modalities": { "input": [ "text" @@ -96553,110 +105698,83 @@ ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "attachment": true, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { "input": 0, - "output": 0, - "cache_read": 0 + "output": 0 }, "type": "chat" }, { - "id": "mimo-v2.5", - "name": "MiMo-V2.5", - "display_name": "MiMo-V2.5", + "id": "cerebras-llama-4-scout-17b-16e-instruct", + "name": "Cerebras-Llama-4-Scout-17B-16E-Instruct", + "display_name": "Cerebras-Llama-4-Scout-17B-16E-Instruct", "modalities": { "input": [ - "text", - "image", - "audio", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": true, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "knowledge": "2025-01", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { "input": 0, - "output": 0, - "cache_read": 0 + "output": 0 }, "type": "chat" }, { - "id": "mimo-v2.5-tts", - "name": "MiMo-V2.5-TTS", - "display_name": "MiMo-V2.5-TTS", + "id": "llama-3.3-8b-instruct", + "name": "Llama-3.3-8B-Instruct", + "display_name": "Llama-3.3-8B-Instruct", "modalities": { "input": [ "text" ], "output": [ - "audio" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 128000, + "output": 4096 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { "input": 0, "output": 0 @@ -96664,63 +105782,51 @@ "type": "chat" }, { - "id": "mimo-v2.5-pro", - "name": "MiMo-V2.5-Pro", - "display_name": "MiMo-V2.5-Pro", + "id": "llama-4-maverick-17b-128e-instruct-fp8", + "name": "Llama-4-Maverick-17B-128E-Instruct-FP8", + "display_name": "Llama-4-Maverick-17B-128E-Instruct-FP8", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { "input": 0, - "output": 0, - "cache_read": 0 + "output": 0 }, "type": "chat" } ] }, - "lmstudio": { - "id": "lmstudio", - "name": "LMStudio", - "display_name": "LMStudio", - "api": "http://127.0.0.1:1234/v1", - "doc": "https://lmstudio.ai/models", + "llmtr": { + "id": "llmtr", + "name": "LLMTR", + "display_name": "LLMTR", + "api": "https://llmtr.com/v1", + "doc": "https://llmtr.com/docs", "models": [ { - "id": "qwen/qwen3-coder-30b", - "name": "Qwen3 Coder 30B", - "display_name": "Qwen3 Coder 30B", + "id": "sincap", + "name": "Sincap", + "display_name": "Sincap", "modalities": { "input": [ "text" @@ -96730,19 +105836,18 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 128000, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", + "open_weights": false, + "release_date": "2026-05-05", + "last_updated": "2026-05-05", "cost": { "input": 0, "output": 0 @@ -96750,9 +105855,9 @@ "type": "chat" }, { - "id": "qwen/qwen3-30b-a3b-2507", - "name": "Qwen3 30B A3B 2507", - "display_name": "Qwen3 30B A3B 2507", + "id": "magibu-11b-v8", + "name": "Magibu 11B v8", + "display_name": "Magibu 11B v8", "modalities": { "input": [ "text" @@ -96762,19 +105867,18 @@ ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 8192, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-30", - "last_updated": "2025-07-30", + "open_weights": false, + "release_date": "2026-06-05", + "last_updated": "2026-06-05", "cost": { "input": 0, "output": 0 @@ -96782,9 +105886,9 @@ "type": "chat" }, { - "id": "openai/gpt-oss-20b", - "name": "GPT OSS 20B", - "display_name": "GPT OSS 20B", + "id": "gemma-4", + "name": "Gemma 4", + "display_name": "Gemma 4", "modalities": { "input": [ "text" @@ -96794,99 +105898,74 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 32768, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 0, - "output": 0 + "input": 5, + "output": 10 }, "type": "chat" - } - ] - }, - "claudinio": { - "id": "claudinio", - "name": "Claudinio", - "display_name": "Claudinio", - "api": "https://api.claudin.io/v1", - "doc": "https://claudin.io", - "models": [ + }, { - "id": "claudinio", - "name": "Claudinio", - "display_name": "Claudinio", + "id": "medgemma-4b", + "name": "MedGemma 4B", + "display_name": "MedGemma 4B", "modalities": { "input": [ "text", - "image", - "audio", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 64000 + "context": 8192, + "output": 4096 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2026-05", - "release_date": "2026-05-12", - "last_updated": "2026-06-02", + "open_weights": true, + "release_date": "2026-04-26", + "last_updated": "2026-04-26", "cost": { - "input": 0.5, - "output": 2, - "cache_read": 0.15 + "input": 3, + "output": 5 }, "type": "chat" - } - ] - }, - "alibaba-coding-plan": { - "id": "alibaba-coding-plan", - "name": "Alibaba Coding Plan", - "display_name": "Alibaba Coding Plan", - "api": "https://coding-intl.dashscope.aliyuncs.com/v1", - "doc": "https://www.alibabacloud.com/help/en/model-studio/coding-plan", - "models": [ + }, { - "id": "MiniMax-M2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "qwen3-6-35b", + "name": "Qwen3.6 35B-A3B", + "display_name": "Qwen3.6 35B-A3B", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 196608, - "output": 24576 + "context": 16384, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -96894,81 +105973,59 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 5, + "output": 10 }, "type": "chat" }, { - "id": "qwen3.5-plus", - "name": "Qwen3.5 Plus", - "display_name": "Qwen3.5 Plus", + "id": "trendyol-7b", + "name": "Trendyol 7B", + "display_name": "Trendyol 7B", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 32768, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", + "open_weights": true, + "release_date": "2026-06-06", + "last_updated": "2026-06-06", "cost": { "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "output": 0 }, "type": "chat" - }, + } + ] + }, + "cohere": { + "id": "cohere", + "name": "Cohere", + "display_name": "Cohere", + "doc": "https://docs.cohere.com/docs/models", + "models": [ { - "id": "qwen3-coder-plus", - "name": "Qwen3 Coder Plus", - "display_name": "Qwen3 Coder Plus", + "id": "c4ai-aya-expanse-32b", + "name": "Aya Expanse 32B", + "display_name": "Aya Expanse 32B", "modalities": { "input": [ "text" @@ -96978,31 +106035,24 @@ ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 128000, + "output": 4000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 - }, + "release_date": "2024-10-24", + "last_updated": "2024-10-24", "type": "chat" }, { - "id": "glm-4.7", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "command-a-03-2025", + "name": "Command A", + "display_name": "Command A", "modalities": { "input": [ "text" @@ -97012,76 +106062,57 @@ ] }, "limit": { - "context": 202752, - "output": 16384 + "context": 256000, + "output": 8000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "knowledge": "2024-06-01", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "qwen3-coder-next", - "name": "Qwen3 Coder Next", - "display_name": "Qwen3 Coder Next", + "id": "c4ai-aya-vision-32b", + "name": "Aya Vision 32B", + "display_name": "Aya Vision 32B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 16000, + "output": 4000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2026-02-03", - "last_updated": "2026-02-03", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 - }, + "release_date": "2025-03-04", + "last_updated": "2025-05-14", "type": "chat" }, { - "id": "qwen3.7-max", - "name": "Qwen3.7 Max", - "display_name": "Qwen3.7 Max", + "id": "command-r7b-arabic-02-2025", + "name": "Command R7B Arabic", + "display_name": "Command R7B Arabic", "modalities": { "input": [ "text" @@ -97091,130 +106122,89 @@ ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 128000, + "output": 4000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-05-21", - "last_updated": "2026-05-21", + "open_weights": true, + "knowledge": "2024-06-01", + "release_date": "2025-02-27", + "last_updated": "2025-02-27", "cost": { - "input": 2.5, - "output": 7.5, - "cache_read": 0.5, - "cache_write": 3.125 + "input": 0.0375, + "output": 0.15 }, "type": "chat" }, { - "id": "qwen3.6-plus", - "name": "Qwen3.6 Plus", - "display_name": "Qwen3.6 Plus", + "id": "c4ai-aya-vision-8b", + "name": "Aya Vision 8B", + "display_name": "Aya Vision 8B", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 16000, + "output": 4000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-04-02", - "last_updated": "2026-04-02", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "supported": false }, + "attachment": true, + "open_weights": true, + "release_date": "2025-03-04", + "last_updated": "2025-05-14", "type": "chat" }, { - "id": "qwen3.6-flash", - "name": "Qwen3.6 Flash", - "display_name": "Qwen3.6 Flash", + "id": "command-r-08-2024", + "name": "Command R", + "display_name": "Command R", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 128000, + "output": 4000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-27", - "last_updated": "2026-04-27", + "attachment": false, + "open_weights": true, + "knowledge": "2024-06-01", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", "cost": { - "input": 0.1875, - "output": 1.125, - "cache_write": 0.234375 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "qwen3-max-2026-01-23", - "name": "Qwen3 Max", - "display_name": "Qwen3 Max", + "id": "command-r7b-12-2024", + "name": "Command R7B", + "display_name": "Command R7B", "modalities": { "input": [ "text" @@ -97224,100 +106214,74 @@ ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 128000, + "output": 4000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-01-23", - "last_updated": "2026-01-23", + "open_weights": true, + "knowledge": "2024-06-01", + "release_date": "2024-12-02", + "last_updated": "2024-12-02", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.0375, + "output": 0.15 }, "type": "chat" }, { - "id": "glm-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "command-a-vision-07-2025", + "name": "Command A Vision", + "display_name": "Command A Vision", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 202752, - "output": 16384 + "context": 128000, + "output": 8000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "open_weights": true, + "knowledge": "2024-06-01", + "release_date": "2025-07-31", + "last_updated": "2025-07-31", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "command-a-plus-05-2026", + "name": "Command A Plus", + "display_name": "Command A Plus", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 128000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -97325,43 +106289,21 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": true, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "knowledge": "2025-04-01", + "release_date": "2026-05-20", + "last_updated": "2026-06-09", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 2.5, + "output": 10 }, "type": "chat" - } - ] - }, - "modelscope": { - "id": "modelscope", - "name": "ModelScope", - "display_name": "ModelScope", - "api": "https://api-inference.modelscope.cn/v1", - "doc": "https://modelscope.cn/docs/model-service/API-Inference/intro", - "models": [ + }, { - "id": "ZhipuAI/GLM-4.5", - "name": "GLM-4.5", - "display_name": "GLM-4.5", + "id": "command-a-translate-08-2025", + "name": "Command A Translate", + "display_name": "Command A Translate", "modalities": { "input": [ "text" @@ -97371,30 +106313,29 @@ ] }, "limit": { - "context": 131072, - "output": 98304 + "context": 8000, + "output": 8000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "knowledge": "2024-06-01", + "release_date": "2025-08-28", + "last_updated": "2025-08-28", "cost": { - "input": 0, - "output": 0 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "ZhipuAI/GLM-4.6", - "name": "GLM-4.6", - "display_name": "GLM-4.6", + "id": "command-r-plus-08-2024", + "name": "Command R+", + "display_name": "Command R+", "modalities": { "input": [ "text" @@ -97404,35 +106345,29 @@ ] }, "limit": { - "context": 202752, - "output": 98304 + "context": 128000, + "output": 4000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-07", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", + "knowledge": "2024-06-01", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", "cost": { - "input": 0, - "output": 0 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", - "name": "Qwen3 30B A3B Instruct 2507", - "display_name": "Qwen3 30B A3B Instruct 2507", + "id": "command-a-reasoning-08-2025", + "name": "Command A Reasoning", + "display_name": "Command A Reasoning", "modalities": { "input": [ "text" @@ -97442,29 +106377,30 @@ ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 256000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-30", - "last_updated": "2025-07-30", + "knowledge": "2024-06-01", + "release_date": "2025-08-21", + "last_updated": "2025-08-21", "cost": { - "input": 0, - "output": 0 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen3-235B-A22B-Thinking-2507", - "display_name": "Qwen3-235B-A22B-Thinking-2507", + "id": "north-mini-code-1-0", + "name": "North Mini Code", + "display_name": "North Mini Code", "modalities": { "input": [ "text" @@ -97474,8 +106410,8 @@ ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 256000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -97496,9 +106432,9 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", + "knowledge": "2025-09-23", + "release_date": "2026-06-09", + "last_updated": "2026-06-09", "cost": { "input": 0, "output": 0 @@ -97506,9 +106442,9 @@ "type": "chat" }, { - "id": "Qwen/Qwen3-Coder-30B-A3B-Instruct", - "name": "Qwen3 Coder 30B A3B Instruct", - "display_name": "Qwen3 Coder 30B A3B Instruct", + "id": "c4ai-aya-expanse-8b", + "name": "Aya Expanse 8B", + "display_name": "Aya Expanse 8B", "modalities": { "input": [ "text" @@ -97518,29 +106454,33 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 8000, + "output": 4000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-31", - "last_updated": "2025-07-31", - "cost": { - "input": 0, - "output": 0 - }, + "release_date": "2024-10-24", + "last_updated": "2024-10-24", "type": "chat" - }, + } + ] + }, + "sarvam": { + "id": "sarvam", + "name": "Sarvam AI", + "display_name": "Sarvam AI", + "api": "https://api.sarvam.ai/v1", + "doc": "https://docs.sarvam.ai/api-reference-docs/getting-started/models", + "models": [ { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "display_name": "Qwen3 235B A22B Instruct 2507", + "id": "sarvam-105b", + "name": "Sarvam-105B", + "display_name": "Sarvam-105B", "modalities": { "input": [ "text" @@ -97550,29 +106490,36 @@ ] }, "limit": { - "context": 262144, + "context": 131072, "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04-28", - "last_updated": "2025-07-21", - "cost": { - "input": 0, - "output": 0 - }, + "release_date": "2026-02-18", + "last_updated": "2026-03-06", "type": "chat" }, { - "id": "Qwen/Qwen3-30B-A3B-Thinking-2507", - "name": "Qwen3 30B A3B Thinking 2507", - "display_name": "Qwen3 30B A3B Thinking 2507", + "id": "sarvam-30b", + "name": "Sarvam-30B", + "display_name": "Sarvam-30B", "modalities": { "input": [ "text" @@ -97582,8 +106529,8 @@ ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 65536, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -97604,40 +106551,34 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-30", - "last_updated": "2025-07-30", - "cost": { - "input": 0, - "output": 0 - }, + "release_date": "2026-02-18", + "last_updated": "2026-03-06", "type": "chat" } ] }, - "qihang-ai": { - "id": "qihang-ai", - "name": "QiHang", - "display_name": "QiHang", - "api": "https://api.qhaigc.net/v1", - "doc": "https://www.qhaigc.net/docs", + "stepfun": { + "id": "stepfun", + "name": "StepFun", + "display_name": "StepFun", + "api": "https://api.stepfun.com/v1", + "doc": "https://platform.stepfun.com/docs/zh/overview/concept", "models": [ { - "id": "gpt-5-mini", - "name": "GPT-5-Mini", - "display_name": "GPT-5-Mini", + "id": "step-1-32k", + "name": "Step 1 (32K)", + "display_name": "Step 1 (32K)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 32768, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -97645,171 +106586,148 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", + "knowledge": "2024-06", + "release_date": "2025-01-01", + "last_updated": "2026-02-13", "cost": { - "input": 0.04, - "output": 0.29 + "input": 2.05, + "output": 9.59, + "cache_read": 0.41 }, "type": "chat" }, { - "id": "gpt-5.2", - "name": "GPT-5.2", - "display_name": "GPT-5.2", + "id": "step-3.5-flash-2603", + "name": "Step 3.5 Flash 2603", + "display_name": "Step 3.5 Flash 2603", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 256000, + "output": 256000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "attachment": false, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0.25, - "output": 2 + "input": 0.1, + "output": 0.3, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "claude-haiku-4-5-20251001", - "name": "Claude Haiku 4.5", - "display_name": "Claude Haiku 4.5", + "id": "step-3.5-flash", + "name": "Step 3.5 Flash", + "display_name": "Step 3.5 Flash", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 256000, + "output": 256000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "attachment": false, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-01-29", + "last_updated": "2026-02-13", + "cost": { + "input": 0.096, + "output": 0.288, + "cache_read": 0.019 }, - "attachment": true, + "type": "chat" + }, + { + "id": "step-2-16k", + "name": "Step 2 (16K)", + "display_name": "Step 2 (16K)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 16384, + "output": 8192 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-10-01", - "last_updated": "2025-10-01", + "knowledge": "2024-06", + "release_date": "2025-01-01", + "last_updated": "2026-02-13", "cost": { - "input": 0.14, - "output": 0.71 + "input": 5.21, + "output": 16.44, + "cache_read": 1.04 }, "type": "chat" - }, + } + ] + }, + "hpc-ai": { + "id": "hpc-ai", + "name": "HPC-AI", + "display_name": "HPC-AI", + "api": "https://api.hpc-ai.com/inference/v1", + "doc": "https://www.hpc-ai.com/doc/docs/quickstart/", + "models": [ { - "id": "gemini-3-flash-preview", - "name": "Gemini 3 Flash Preview", - "display_name": "Gemini 3 Flash Preview", + "id": "moonshotai/kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ "text", "image", - "video", - "audio", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 262144, + "output": 262144 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -97818,122 +106736,85 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "attachment": false, + "open_weights": true, + "knowledge": "2025-01-01", + "release_date": "2026-01-01", + "last_updated": "2026-06-01", "cost": { - "input": 0.07, - "output": 0.43, - "tiers": [ - { - "input": 0.07, - "output": 0.43, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 0.07, - "output": 0.43 - } + "input": 0.3, + "output": 1.5, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "claude-sonnet-4-5-20250929", - "name": "Claude Sonnet 4.5", - "display_name": "Claude Sonnet 4.5", + "id": "zai-org/glm-5.1", + "name": "GLM 5.1", + "display_name": "GLM 5.1", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 202000, + "output": 202000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "attachment": false, + "open_weights": true, + "release_date": "2026-04-08", + "last_updated": "2026-06-01", "cost": { - "input": 0.43, - "output": 2.14 + "input": 0.615, + "output": 2.46, + "cache_read": 0.133 }, "type": "chat" }, { - "id": "gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "display_name": "Gemini 2.5 Flash", + "id": "minimax/minimax-m2.5", + "name": "MiniMax M2.5", + "display_name": "MiniMax M2.5", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 1000000, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -97943,128 +106824,83 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "supported": true } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-12", + "last_updated": "2026-06-01", "cost": { - "input": 0.09, - "output": 0.71, - "tiers": [ - { - "input": 0.09, - "output": 0.71, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 0.09, - "output": 0.71 - } + "input": 0.3, + "output": 1.2, + "cache_read": 0.03 }, "type": "chat" - }, + } + ] + }, + "minimax-cn": { + "id": "minimax-cn", + "name": "MiniMax (minimaxi.com)", + "display_name": "MiniMax (minimaxi.com)", + "api": "https://api.minimaxi.com/anthropic/v1", + "doc": "https://platform.minimaxi.com/docs/guides/quickstart", + "models": [ { - "id": "claude-opus-4-5-20251101", - "name": "Claude Opus 4.5", - "display_name": "Claude Opus 4.5", + "id": "MiniMax-M2.1", + "name": "MiniMax-M2.1", + "display_name": "MiniMax-M2.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." - ] + "supported": true } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-03", - "release_date": "2025-11-01", - "last_updated": "2025-11-01", + "attachment": false, + "open_weights": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "cost": { - "input": 0.71, - "output": 3.57 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "gpt-5.2-codex", - "name": "GPT-5.2 Codex", - "display_name": "GPT-5.2 Codex", + "id": "MiniMax-M2.5-highspeed", + "name": "MiniMax-M2.5-highspeed", + "display_name": "MiniMax-M2.5-highspeed", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 204800, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -98072,54 +106908,36 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-13", + "last_updated": "2026-02-13", "cost": { - "input": 0.14, - "output": 1.14 + "input": 0.6, + "output": 2.4, + "cache_read": 0.06, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "gemini-3-pro-preview", - "name": "Gemini 3 Pro Preview", - "display_name": "Gemini 3 Pro Preview", + "id": "MiniMax-M2.7-highspeed", + "name": "MiniMax-M2.7-highspeed", + "display_name": "MiniMax-M2.7-highspeed", "modalities": { "input": [ - "text", - "image", - "audio", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65000 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -98130,44 +106948,30 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-11", - "release_date": "2025-11-19", - "last_updated": "2025-11-19", + "attachment": false, + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.57, - "output": 3.43 + "input": 0.6, + "output": 2.4, + "cache_read": 0.06, + "cache_write": 0.375 }, "type": "chat" - } - ] - }, - "poe": { - "id": "poe", - "name": "Poe", - "display_name": "Poe", - "api": "https://api.poe.com/v1", - "doc": "https://creator.poe.com/docs/external-applications/openai-compatible-api", - "models": [ + }, { - "id": "empiriolabs/deepseek-v4-pro-el", - "name": "DeepSeek-V4-Pro-EL", - "display_name": "DeepSeek-V4-Pro-EL", + "id": "MiniMax-M2", + "name": "MiniMax-M2", + "display_name": "MiniMax-M2", "modalities": { "input": [ "text" @@ -98177,28 +106981,34 @@ ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 196608, + "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, "open_weights": true, - "release_date": "2026-04-24", - "last_updated": "2026-05-02", + "release_date": "2025-10-27", + "last_updated": "2025-10-27", "cost": { - "input": 1.67, - "output": 3.33 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "empiriolabs/deepseek-v4-flash-el", - "name": "DeepSeek-V4-Flash-EL", - "display_name": "DeepSeek-V4-Flash-EL", + "id": "MiniMax-M2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ "text" @@ -98208,169 +107018,251 @@ ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 204800, + "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, "open_weights": true, - "release_date": "2026-04-24", - "last_updated": "2026-05-02", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.14, - "output": 0.28 + "input": 0.3, + "output": 1.2, + "cache_read": 0.03, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "elevenlabs/elevenlabs-v3", - "name": "ElevenLabs-v3", - "display_name": "ElevenLabs-v3", + "id": "MiniMax-M3", + "name": "MiniMax-M3", + "display_name": "MiniMax-M3", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ - "audio" + "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 512000, + "output": 128000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": true, - "open_weights": false, - "release_date": "2025-06-05", - "last_updated": "2025-06-05", + "open_weights": true, + "release_date": "2026-06-01", + "last_updated": "2026-06-01", + "cost": { + "input": 0.6, + "output": 2.4, + "cache_read": 0.12 + }, "type": "chat" }, { - "id": "elevenlabs/elevenlabs-music", - "name": "ElevenLabs-Music", - "display_name": "ElevenLabs-Music", + "id": "MiniMax-M2.7", + "name": "MiniMax-M2.7", + "display_name": "MiniMax-M2.7", "modalities": { "input": [ "text" ], "output": [ - "audio" + "text" ] }, "limit": { - "context": 2000, - "output": 8192 + "context": 204800, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06, + "cache_write": 0.375 }, - "attachment": true, - "open_weights": false, - "release_date": "2025-08-29", - "last_updated": "2025-08-29", "type": "chat" - }, + } + ] + }, + "alibaba-coding-plan": { + "id": "alibaba-coding-plan", + "name": "Alibaba Coding Plan", + "display_name": "Alibaba Coding Plan", + "api": "https://coding-intl.dashscope.aliyuncs.com/v1", + "doc": "https://www.alibabacloud.com/help/en/model-studio/coding-plan", + "models": [ { - "id": "elevenlabs/elevenlabs-v2.5-turbo", - "name": "ElevenLabs-v2.5-Turbo", - "display_name": "ElevenLabs-v2.5-Turbo", + "id": "qwen3-coder-plus", + "name": "Qwen3 Coder Plus", + "display_name": "Qwen3 Coder Plus", "modalities": { "input": [ "text" ], "output": [ - "audio" + "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 1000000, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2024-10-28", - "last_updated": "2024-10-28", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + }, "type": "chat" }, { - "id": "fireworks-ai/kimi-k2.5-fw", - "name": "Kimi-K2.5-FW", - "display_name": "Kimi-K2.5-FW", + "id": "glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, + "context": 202752, "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { "input": 0, - "output": 0 + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "novita/glm-4.7-n", - "name": "glm-4.7-n", - "display_name": "glm-4.7-n", + "id": "qwen3.7-plus", + "name": "Qwen3.7 Plus", + "display_name": "Qwen3.7 Plus", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 205000, - "output": 131072 + "context": 1000000, + "output": 64000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, "open_weights": false, - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "knowledge": "2025-04", + "release_date": "2026-06-02", + "last_updated": "2026-06-02", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + }, "type": "chat" }, { - "id": "novita/glm-4.6", - "name": "GLM-4.6", - "display_name": "GLM-4.6", + "id": "qwen3.7-max", + "name": "Qwen3.7 Max", + "display_name": "Qwen3.7 Max", "modalities": { "input": [ "text" @@ -98380,42 +107272,51 @@ ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 1000000, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-09-30", - "last_updated": "2025-09-30", + "release_date": "2026-05-21", + "last_updated": "2026-05-21", + "cost": { + "input": 2.5, + "output": 7.5, + "cache_read": 0.5, + "cache_write": 3.125 + }, "type": "chat" }, { - "id": "novita/kimi-k2-thinking", - "name": "kimi-k2-thinking", - "display_name": "kimi-k2-thinking", + "id": "qwen3.6-flash", + "name": "Qwen3.6 Flash", + "display_name": "Qwen3.6 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 8192 + "context": 1000000, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -98434,14 +107335,19 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-11-07", - "last_updated": "2025-11-07", + "release_date": "2026-04-27", + "last_updated": "2026-04-27", + "cost": { + "input": 0.1875, + "output": 1.125, + "cache_write": 0.234375 + }, "type": "chat" }, { - "id": "novita/deepseek-v3.2", - "name": "DeepSeek-V3.2", - "display_name": "DeepSeek-V3.2", + "id": "qwen3-max-2026-01-23", + "name": "Qwen3 Max", + "display_name": "Qwen3 Max", "modalities": { "input": [ "text" @@ -98451,48 +107357,57 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 262144, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": true, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "attachment": false, + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2026-01-23", + "last_updated": "2026-01-23", "cost": { - "input": 0.27, - "output": 0.4, - "cache_read": 0.13 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "novita/minimax-m2.1", - "name": "minimax-m2.1", - "display_name": "minimax-m2.1", + "id": "qwen3.5-plus", + "name": "Qwen3.5 Plus", + "display_name": "Qwen3.5 Plus", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 205000, - "output": 131072 + "context": 1000000, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -98500,19 +107415,32 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-12-26", - "last_updated": "2025-12-26", + "knowledge": "2025-04", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + }, "type": "chat" }, { - "id": "novita/kimi-k2.6", - "name": "Kimi-K2.6", - "display_name": "Kimi-K2.6", + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ "text", @@ -98525,7 +107453,7 @@ }, "limit": { "context": 262144, - "output": 262144 + "output": 32768 }, "temperature": true, "tool_call": true, @@ -98535,25 +107463,32 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-04-20", - "last_updated": "2026-05-02", + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 0.96, - "output": 4.04, - "cache_read": 0.16 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "novita/glm-4.7", - "name": "glm-4.7", - "display_name": "glm-4.7", + "id": "MiniMax-M2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ "text" @@ -98563,8 +107498,8 @@ ] }, "limit": { - "context": 205000, - "output": 131072 + "context": 196608, + "output": 24576 }, "temperature": true, "tool_call": true, @@ -98583,45 +107518,22 @@ ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "type": "chat" - }, - { - "id": "novita/glm-4.6v", - "name": "glm-4.6v", - "display_name": "glm-4.6v", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131000, - "output": 32768 - }, - "temperature": false, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true + "attachment": false, + "open_weights": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, - "attachment": true, - "open_weights": false, - "release_date": "2025-12-09", - "last_updated": "2025-12-09", "type": "chat" }, { - "id": "novita/glm-4.7-flash", - "name": "glm-4.7-flash", - "display_name": "glm-4.7-flash", + "id": "qwen3-coder-next", + "name": "Qwen3 Coder Next", + "display_name": "Qwen3 Coder Next", "modalities": { "input": [ "text" @@ -98631,28 +107543,28 @@ ] }, "limit": { - "context": 200000, - "output": 65500 + "context": 262144, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "attachment": false, + "open_weights": true, + "release_date": "2026-02-03", + "last_updated": "2026-02-03", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, - "attachment": true, - "open_weights": false, - "release_date": "2026-01-19", - "last_updated": "2026-01-19", "type": "chat" }, { - "id": "novita/glm-5", + "id": "glm-5", "name": "GLM-5", "display_name": "GLM-5", "modalities": { @@ -98664,8 +107576,8 @@ ] }, "limit": { - "context": 205000, - "output": 131072 + "context": 202752, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -98684,21 +107596,22 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-02-15", - "last_updated": "2026-02-15", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 1, - "output": 3.2, - "cache_read": 0.2 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "novita/kimi-k2.5", - "name": "Kimi-K2.5", - "display_name": "Kimi-K2.5", + "id": "qwen3.6-plus", + "name": "Qwen3.6 Plus", + "display_name": "Qwen3.6 Plus", "modalities": { "input": [ "text", @@ -98710,8 +107623,8 @@ ] }, "limit": { - "context": 128000, - "output": 262144 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -98730,280 +107643,171 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0.6, - "output": 3, - "cache_read": 0.1 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" - }, + } + ] + }, + "poe": { + "id": "poe", + "name": "Poe", + "display_name": "Poe", + "api": "https://api.poe.com/v1", + "doc": "https://creator.poe.com/docs/external-applications/openai-compatible-api", + "models": [ { - "id": "anthropic/claude-sonnet-4", - "name": "Claude-Sonnet-4", - "display_name": "Claude-Sonnet-4", + "id": "trytako/tako", + "name": "Tako", + "display_name": "Tako", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 983040, - "output": 64000 + "context": 2048, + "output": 8192 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-05-21", - "last_updated": "2025-05-21", - "cost": { - "input": 2.6, - "output": 13, - "cache_read": 0.26, - "cache_write": 3.2 - }, + "release_date": "2024-08-15", + "last_updated": "2024-08-15", "type": "chat" }, { - "id": "anthropic/claude-sonnet-4.6", - "name": "Claude-Sonnet-4.6", - "display_name": "Claude-Sonnet-4.6", + "id": "xai/grok-code-fast-1", + "name": "Grok Code Fast 1", + "display_name": "Grok Code Fast 1", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 983040, + "context": 256000, "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] + "supported": true } }, "attachment": true, "open_weights": false, - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "release_date": "2025-08-22", + "last_updated": "2025-08-22", "cost": { - "input": 2.6, - "output": 13, - "cache_read": 0.26, - "cache_write": 3.2 + "input": 0.2, + "output": 1.5, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.5", - "name": "Claude-Opus-4.5", - "display_name": "Claude-Opus-4.5", + "id": "xai/grok-4.1-fast-reasoning", + "name": "Grok-4.1-Fast-Reasoning", + "display_name": "Grok-4.1-Fast-Reasoning", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 196608, - "output": 64000 + "context": 2000000, + "output": 30000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." - ] - } + "default": true }, "attachment": true, "open_weights": false, - "release_date": "2025-11-21", - "last_updated": "2025-11-21", - "cost": { - "input": 4.3, - "output": 21, - "cache_read": 0.43, - "cache_write": 5.3 - }, + "release_date": "2025-11-19", + "last_updated": "2025-11-19", "type": "chat" }, { - "id": "anthropic/claude-opus-4.7", - "name": "Claude-Opus-4.7", - "display_name": "Claude-Opus-4.7", + "id": "xai/grok-3-mini", + "name": "Grok 3 Mini", + "display_name": "Grok 3 Mini", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 128000 + "context": 131072, + "output": 8192 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] - } + "default": true }, "attachment": true, "open_weights": false, - "release_date": "2026-04-15", - "last_updated": "2026-04-15", + "release_date": "2025-04-11", + "last_updated": "2025-04-11", "cost": { - "input": 4.3, - "output": 21, - "cache_read": 0.43, - "cache_write": 5.4 + "input": 0.3, + "output": 0.5, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "anthropic/claude-haiku-3", - "name": "Claude-Haiku-3", - "display_name": "Claude-Haiku-3", + "id": "xai/grok-4.1-fast-non-reasoning", + "name": "Grok-4.1-Fast-Non-Reasoning", + "display_name": "Grok-4.1-Fast-Non-Reasoning", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 189096, - "output": 8192 + "context": 2000000, + "output": 30000 }, "temperature": false, "tool_call": true, @@ -99012,32 +107816,24 @@ }, "attachment": true, "open_weights": false, - "release_date": "2024-03-09", - "last_updated": "2024-03-09", - "cost": { - "input": 0.21, - "output": 1.1, - "cache_read": 0.021, - "cache_write": 0.26 - }, + "release_date": "2025-11-19", + "last_updated": "2025-11-19", "type": "chat" }, { - "id": "anthropic/claude-sonnet-3.5", - "name": "Claude-Sonnet-3.5", - "display_name": "Claude-Sonnet-3.5", + "id": "xai/grok-3", + "name": "Grok 3", + "display_name": "Grok 3", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 189096, + "context": 131072, "output": 8192 }, "temperature": false, @@ -99047,282 +107843,202 @@ }, "attachment": true, "open_weights": false, - "release_date": "2024-06-05", - "last_updated": "2024-06-05", + "release_date": "2025-04-11", + "last_updated": "2025-04-11", "cost": { - "input": 2.6, - "output": 13, - "cache_read": 0.26, - "cache_write": 3.2 + "input": 3, + "output": 15, + "cache_read": 0.75 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-3.5-june", - "name": "Claude-Sonnet-3.5-June", - "display_name": "Claude-Sonnet-3.5-June", + "id": "xai/grok-4-fast-reasoning", + "name": "Grok-4-Fast-Reasoning", + "display_name": "Grok-4-Fast-Reasoning", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 189096, - "output": 8192 + "context": 2000000, + "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": true, "open_weights": false, - "release_date": "2024-11-18", - "last_updated": "2024-11-18", + "release_date": "2025-09-16", + "last_updated": "2025-09-16", "cost": { - "input": 2.6, - "output": 13, - "cache_read": 0.26, - "cache_write": 3.2 + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4.5", - "name": "Claude-Sonnet-4.5", - "display_name": "Claude-Sonnet-4.5", + "id": "xai/grok-4", + "name": "Grok-4", + "display_name": "Grok-4", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 983040, - "output": 32768 + "context": 256000, + "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "supported": true } }, "attachment": true, "open_weights": false, - "release_date": "2025-09-26", - "last_updated": "2025-09-26", + "release_date": "2025-07-10", + "last_updated": "2025-07-10", "cost": { - "input": 2.6, - "output": 13, - "cache_read": 0.26, - "cache_write": 3.2 + "input": 3, + "output": 15, + "cache_read": 0.75 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.6", - "name": "Claude-Opus-4.6", - "display_name": "Claude-Opus-4.6", + "id": "xai/grok-4-fast-non-reasoning", + "name": "Grok-4-Fast-Non-Reasoning", + "display_name": "Grok-4-Fast-Non-Reasoning", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 983040, + "context": 2000000, "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-02-04", - "last_updated": "2026-02-04", + "release_date": "2025-09-16", + "last_updated": "2025-09-16", "cost": { - "input": 4.3, - "output": 21, - "cache_read": 0.43, - "cache_write": 5.3 + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "anthropic/claude-haiku-4.5", - "name": "Claude-Haiku-4.5", - "display_name": "Claude-Haiku-4.5", + "id": "xai/grok-4.20-multi-agent", + "name": "Grok-4.20-Multi-Agent", + "display_name": "Grok-4.20-Multi-Agent", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 192000, - "output": 64000 + "context": 128000, + "output": 8192 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "release_date": "2026-03-13", + "last_updated": "2026-03-13", "cost": { - "input": 0.85, - "output": 4.3, - "cache_read": 0.085, - "cache_write": 1.1 + "input": 2, + "output": 6, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-3.7", - "name": "Claude-Sonnet-3.7", - "display_name": "Claude-Sonnet-3.7", + "id": "topazlabs-co/topazlabs", + "name": "TopazLabs", + "display_name": "TopazLabs", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 196608, - "output": 128000 + "context": 204, + "output": 8192 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "cost": { - "input": 2.6, - "output": 13, - "cache_read": 0.26, - "cache_write": 3.2 - }, + "release_date": "2024-12-03", + "last_updated": "2024-12-03", "type": "chat" }, { - "id": "anthropic/claude-haiku-3.5", - "name": "Claude-Haiku-3.5", - "display_name": "Claude-Haiku-3.5", + "id": "fireworks-ai/kimi-k2.5-fw", + "name": "Kimi-K2.5-FW", + "display_name": "Kimi-K2.5-FW", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 189096, - "output": 8192 + "context": 262144, + "output": 16384 }, "temperature": false, "tool_call": true, @@ -99331,205 +108047,116 @@ }, "attachment": true, "open_weights": false, - "release_date": "2024-10-01", - "last_updated": "2024-10-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 0.68, - "output": 3.4, - "cache_read": 0.068, - "cache_write": 0.85 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.1", - "name": "Claude-Opus-4.1", - "display_name": "Claude-Opus-4.1", + "id": "google/veo-3.1-fast", + "name": "Veo-3.1-Fast", + "display_name": "Veo-3.1-Fast", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 196608, - "output": 32000 + "context": 480, + "output": 8192 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "cost": { - "input": 13, - "output": 64, - "cache_read": 1.3, - "cache_write": 16 - }, + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "type": "chat" }, { - "id": "anthropic/claude-opus-4.8", - "name": "Claude-Opus-4.8", - "display_name": "Claude-Opus-4.8", + "id": "google/imagen-3", + "name": "Imagen-3", + "display_name": "Imagen-3", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 1048576, - "output": 128000 + "context": 480, + "output": 8192 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-05-28", - "last_updated": "2026-05-28", - "cost": { - "input": 4.2929, - "output": 21.4646 - }, + "release_date": "2024-10-15", + "last_updated": "2024-10-15", "type": "chat" }, { - "id": "anthropic/claude-opus-4", - "name": "Claude-Opus-4", - "display_name": "Claude-Opus-4", + "id": "google/nano-banana-pro", + "name": "Nano-Banana-Pro", + "display_name": "Nano-Banana-Pro", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 192512, - "output": 28672 + "context": 65536, + "output": 8192 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-05-21", - "last_updated": "2025-05-21", + "release_date": "2025-11-19", + "last_updated": "2025-11-19", "cost": { - "input": 13, - "output": 64, - "cache_read": 1.3, - "cache_write": 16 + "input": 2, + "output": 12, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "xai/grok-4.20-multi-agent", - "name": "Grok-4.20-Multi-Agent", - "display_name": "Grok-4.20-Multi-Agent", + "id": "google/lyria", + "name": "Lyria", + "display_name": "Lyria", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "text" + "audio" ] }, "limit": { - "context": 128000, + "context": 8192, "output": 8192 }, "temperature": false, @@ -99539,59 +108166,67 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-03-13", - "last_updated": "2026-03-13", - "cost": { - "input": 2, - "output": 6, - "cache_read": 0.2 - }, + "release_date": "2025-06-04", + "last_updated": "2025-06-04", "type": "chat" }, { - "id": "xai/grok-4.1-fast-non-reasoning", - "name": "Grok-4.1-Fast-Non-Reasoning", - "display_name": "Grok-4.1-Fast-Non-Reasoning", + "id": "google/gemini-3.1-flash-lite", + "name": "Gemini-3.1-Flash-Lite", + "display_name": "Gemini-3.1-Flash-Lite", "modalities": { "input": [ "text", - "image" + "image", + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 30000 + "context": 1048576, + "output": 65536 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": true, "open_weights": false, - "release_date": "2025-11-19", - "last_updated": "2025-11-19", + "release_date": "2026-02-18", + "last_updated": "2026-02-18", + "cost": { + "input": 0.25, + "output": 1.5 + }, "type": "chat" }, { - "id": "xai/grok-4-fast-non-reasoning", - "name": "Grok-4-Fast-Non-Reasoning", - "display_name": "Grok-4-Fast-Non-Reasoning", + "id": "google/nano-banana", + "name": "Nano-Banana", + "display_name": "Nano-Banana", "modalities": { "input": [ "text", "image" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 2000000, - "output": 128000 + "context": 65536, + "output": 8192 }, "temperature": false, "tool_call": true, @@ -99600,31 +108235,32 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-09-16", - "last_updated": "2025-09-16", + "release_date": "2025-08-21", + "last_updated": "2025-08-21", "cost": { - "input": 0.2, - "output": 0.5, - "cache_read": 0.05 + "input": 0.21, + "output": 1.8, + "cache_read": 0.021 }, "type": "chat" }, { - "id": "xai/grok-4.1-fast-reasoning", - "name": "Grok-4.1-Fast-Reasoning", - "display_name": "Grok-4.1-Fast-Reasoning", + "id": "google/gemini-deep-research", + "name": "gemini-deep-research", + "display_name": "gemini-deep-research", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 30000 + "context": 1048576, + "output": 8192 }, "temperature": false, "tool_call": true, @@ -99634,24 +108270,28 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-11-19", - "last_updated": "2025-11-19", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "cost": { + "input": 1.6, + "output": 9.6 + }, "type": "chat" }, { - "id": "xai/grok-3", - "name": "Grok 3", - "display_name": "Grok 3", + "id": "google/veo-3", + "name": "Veo-3", + "display_name": "Veo-3", "modalities": { "input": [ "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 131072, + "context": 480, "output": 8192 }, "temperature": false, @@ -99661,31 +108301,28 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-04-11", - "last_updated": "2025-04-11", - "cost": { - "input": 3, - "output": 15, - "cache_read": 0.75 - }, + "release_date": "2025-05-21", + "last_updated": "2025-05-21", "type": "chat" }, { - "id": "xai/grok-4-fast-reasoning", - "name": "Grok-4-Fast-Reasoning", - "display_name": "Grok-4-Fast-Reasoning", + "id": "google/gemini-3-flash", + "name": "Gemini-3-Flash", + "display_name": "Gemini-3-Flash", "modalities": { "input": [ "text", - "image" + "image", + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 128000 + "context": 1048576, + "output": 65536 }, "temperature": false, "tool_call": true, @@ -99695,69 +108332,79 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, "attachment": true, "open_weights": false, - "release_date": "2025-09-16", - "last_updated": "2025-09-16", + "release_date": "2025-10-07", + "last_updated": "2025-10-07", "cost": { - "input": 0.2, - "output": 0.5, - "cache_read": 0.05 + "input": 0.4, + "output": 2.4, + "cache_read": 0.04 }, "type": "chat" }, { - "id": "xai/grok-3-mini", - "name": "Grok 3 Mini", - "display_name": "Grok 3 Mini", + "id": "google/imagen-3-fast", + "name": "Imagen-3-Fast", + "display_name": "Imagen-3-Fast", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 131072, + "context": 480, "output": 8192 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-04-11", - "last_updated": "2025-04-11", - "cost": { - "input": 0.3, - "output": 0.5, - "cache_read": 0.075 - }, + "release_date": "2024-10-17", + "last_updated": "2024-10-17", "type": "chat" }, { - "id": "xai/grok-4", - "name": "Grok-4", - "display_name": "Grok-4", + "id": "google/gemini-2.5-pro", + "name": "Gemini-2.5-Pro", + "display_name": "Gemini-2.5-Pro", "modalities": { "input": [ "text", - "image" + "image", + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 128000 + "context": 1065535, + "output": 65535 }, "temperature": false, "tool_call": true, @@ -99767,89 +108414,121 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, "attachment": true, "open_weights": false, - "release_date": "2025-07-10", - "last_updated": "2025-07-10", + "release_date": "2025-02-05", + "last_updated": "2025-02-05", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.75 + "input": 0.87, + "output": 7, + "cache_read": 0.087 }, "type": "chat" }, { - "id": "xai/grok-code-fast-1", - "name": "Grok Code Fast 1", - "display_name": "Grok Code Fast 1", + "id": "google/veo-3.1", + "name": "Veo-3.1", + "display_name": "Veo-3.1", "modalities": { "input": [ "text" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 256000, - "output": 128000 + "context": 480, + "output": 8192 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-08-22", - "last_updated": "2025-08-22", - "cost": { - "input": 0.2, - "output": 1.5, - "cache_read": 0.02 - }, + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "type": "chat" }, { - "id": "trytako/tako", - "name": "Tako", - "display_name": "Tako", + "id": "google/gemini-2.5-flash", + "name": "Gemini-2.5-Flash", + "display_name": "Gemini-2.5-Flash", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 2048, - "output": 8192 + "context": 1065535, + "output": 65535 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2024-08-15", - "last_updated": "2024-08-15", + "release_date": "2025-04-26", + "last_updated": "2025-04-26", + "cost": { + "input": 0.21, + "output": 1.8, + "cache_read": 0.021 + }, "type": "chat" }, { - "id": "topazlabs-co/topazlabs", - "name": "TopazLabs", - "display_name": "TopazLabs", + "id": "google/imagen-4-fast", + "name": "Imagen-4-Fast", + "display_name": "Imagen-4-Fast", "modalities": { "input": [ "text" @@ -99859,7 +108538,7 @@ ] }, "limit": { - "context": 204, + "context": 480, "output": 8192 }, "temperature": false, @@ -99869,53 +108548,80 @@ }, "attachment": true, "open_weights": false, - "release_date": "2024-12-03", - "last_updated": "2024-12-03", + "release_date": "2025-06-25", + "last_updated": "2025-06-25", "type": "chat" }, { - "id": "runwayml/runway", - "name": "Runway", - "display_name": "Runway", + "id": "google/gemini-3.5-flash", + "name": "Gemini-3.5-Flash", + "display_name": "Gemini-3.5-Flash", "modalities": { "input": [ "text", - "image" + "image", + "audio" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 256, - "output": 8192 + "context": 1048576, + "output": 65536 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2024-10-11", - "last_updated": "2024-10-11", + "knowledge": "2025-01", + "release_date": "2026-05-19", + "last_updated": "2026-05-19", + "cost": { + "input": 1.5152, + "output": 9.0909, + "cache_read": 0.1515 + }, "type": "chat" }, { - "id": "runwayml/runway-gen-4-turbo", - "name": "Runway-Gen-4-Turbo", - "display_name": "Runway-Gen-4-Turbo", + "id": "google/gemma-4-31b", + "name": "Gemma-4-31B", + "display_name": "Gemma-4-31B", "modalities": { "input": [ "text", "image" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 256, + "context": 262144, "output": 8192 }, "temperature": false, @@ -99925,25 +108631,28 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-05-09", - "last_updated": "2025-05-09", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "cost": { + "input": 0, + "output": 0 + }, "type": "chat" }, { - "id": "stabilityai/stablediffusionxl", - "name": "StableDiffusionXL", - "display_name": "StableDiffusionXL", + "id": "google/veo-3-fast", + "name": "Veo-3-Fast", + "display_name": "Veo-3-Fast", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "image" + "video" ] }, "limit": { - "context": 200, + "context": 480, "output": 8192 }, "temperature": false, @@ -99953,25 +108662,28 @@ }, "attachment": true, "open_weights": false, - "release_date": "2023-07-09", - "last_updated": "2023-07-09", + "release_date": "2025-10-13", + "last_updated": "2025-10-13", "type": "chat" }, { - "id": "poetools/claude-code", - "name": "claude-code", - "display_name": "claude-code", + "id": "google/gemini-3-pro", + "name": "Gemini-3-Pro", + "display_name": "Gemini-3-Pro", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 1048576, + "output": 65536 }, "temperature": false, "tool_call": true, @@ -99979,26 +108691,51 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, "attachment": true, "open_weights": false, - "release_date": "2025-11-27", - "last_updated": "2025-11-27", + "release_date": "2025-10-22", + "last_updated": "2025-10-22", + "cost": { + "input": 1.6, + "output": 9.6, + "cache_read": 0.16 + }, "type": "chat" }, { - "id": "google/imagen-4-ultra", - "name": "Imagen-4-Ultra", - "display_name": "Imagen-4-Ultra", + "id": "google/gemini-2.0-flash", + "name": "Gemini-2.0-Flash", + "display_name": "Gemini-2.0-Flash", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 480, + "context": 990000, "output": 8192 }, "temperature": false, @@ -100008,47 +108745,72 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-05-24", - "last_updated": "2025-05-24", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "cost": { + "input": 0.1, + "output": 0.42 + }, "type": "chat" }, { - "id": "google/nano-banana-pro", - "name": "Nano-Banana-Pro", - "display_name": "Nano-Banana-Pro", + "id": "google/gemini-2.5-flash-lite", + "name": "Gemini-2.5-Flash-Lite", + "display_name": "Gemini-2.5-Flash-Lite", "modalities": { "input": [ "text", - "image" + "image", + "video", + "audio" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 65536, - "output": 8192 + "context": 1024000, + "output": 64000 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "default": -1, + "min": 512, + "max": 24576, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2025-11-19", - "last_updated": "2025-11-19", + "release_date": "2025-06-19", + "last_updated": "2025-06-19", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2 + "input": 0.07, + "output": 0.28 }, "type": "chat" }, { - "id": "google/imagen-3-fast", - "name": "Imagen-3-Fast", - "display_name": "Imagen-3-Fast", + "id": "google/imagen-4", + "name": "Imagen-4", + "display_name": "Imagen-4", "modalities": { "input": [ "text" @@ -100068,20 +108830,20 @@ }, "attachment": true, "open_weights": false, - "release_date": "2024-10-17", - "last_updated": "2024-10-17", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "type": "chat" }, { - "id": "google/veo-3", - "name": "Veo-3", - "display_name": "Veo-3", + "id": "google/imagen-4-ultra", + "name": "Imagen-4-Ultra", + "display_name": "Imagen-4-Ultra", "modalities": { "input": [ "text" ], "output": [ - "video" + "image" ] }, "limit": { @@ -100095,14 +108857,14 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-05-21", - "last_updated": "2025-05-21", + "release_date": "2025-05-24", + "last_updated": "2025-05-24", "type": "chat" }, { - "id": "google/gemini-3-pro", - "name": "Gemini-3-Pro", - "display_name": "Gemini-3-Pro", + "id": "google/gemini-3.1-pro", + "name": "Gemini-3.1-Pro", + "display_name": "Gemini-3.1-Pro", "modalities": { "input": [ "text", @@ -100143,23 +108905,22 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-10-22", - "last_updated": "2025-10-22", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", "cost": { - "input": 1.6, - "output": 9.6, - "cache_read": 0.16 + "input": 2, + "output": 12, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "google/veo-3.1-fast", - "name": "Veo-3.1-Fast", - "display_name": "Veo-3.1-Fast", + "id": "google/veo-2", + "name": "Veo-2", + "display_name": "Veo-2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "video" @@ -100176,8 +108937,8 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "release_date": "2024-12-02", + "last_updated": "2024-12-02", "type": "chat" }, { @@ -100215,19 +108976,19 @@ "type": "chat" }, { - "id": "google/imagen-4", - "name": "Imagen-4", - "display_name": "Imagen-4", + "id": "elevenlabs/elevenlabs-music", + "name": "ElevenLabs-Music", + "display_name": "ElevenLabs-Music", "modalities": { "input": [ "text" ], "output": [ - "image" + "audio" ] }, "limit": { - "context": 480, + "context": 2000, "output": 8192 }, "temperature": false, @@ -100237,134 +108998,79 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "release_date": "2025-08-29", + "last_updated": "2025-08-29", "type": "chat" }, { - "id": "google/gemini-3-flash", - "name": "Gemini-3-Flash", - "display_name": "Gemini-3-Flash", + "id": "elevenlabs/elevenlabs-v2.5-turbo", + "name": "ElevenLabs-v2.5-Turbo", + "display_name": "ElevenLabs-v2.5-Turbo", "modalities": { "input": [ - "text", - "image", - "video", - "audio" + "text" ], "output": [ - "text" + "audio" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 128000, + "output": 8192 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-10-07", - "last_updated": "2025-10-07", - "cost": { - "input": 0.4, - "output": 2.4, - "cache_read": 0.04 - }, + "release_date": "2024-10-28", + "last_updated": "2024-10-28", "type": "chat" }, { - "id": "google/gemini-2.5-pro", - "name": "Gemini-2.5-Pro", - "display_name": "Gemini-2.5-Pro", + "id": "elevenlabs/elevenlabs-v3", + "name": "ElevenLabs-v3", + "display_name": "ElevenLabs-v3", "modalities": { "input": [ - "text", - "image", - "video", - "audio" + "text" ], "output": [ - "text" + "audio" ] }, "limit": { - "context": 1065535, - "output": 65535 + "context": 128000, + "output": 8192 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-02-05", - "last_updated": "2025-02-05", - "cost": { - "input": 0.87, - "output": 7, - "cache_read": 0.087 - }, + "release_date": "2025-06-05", + "last_updated": "2025-06-05", "type": "chat" }, { - "id": "google/imagen-4-fast", - "name": "Imagen-4-Fast", - "display_name": "Imagen-4-Fast", + "id": "openai/chatgpt-4o-latest", + "name": "ChatGPT-4o-Latest", + "display_name": "ChatGPT-4o-Latest", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 480, + "context": 128000, "output": 8192 }, "temperature": false, @@ -100374,27 +109080,30 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-06-25", - "last_updated": "2025-06-25", + "release_date": "2024-08-14", + "last_updated": "2024-08-14", + "cost": { + "input": 4.5, + "output": 14 + }, "type": "chat" }, { - "id": "google/nano-banana", - "name": "Nano-Banana", - "display_name": "Nano-Banana", + "id": "openai/gpt-3.5-turbo-instruct", + "name": "GPT-3.5-Turbo-Instruct", + "display_name": "GPT-3.5-Turbo-Instruct", "modalities": { "input": [ "text", "image" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 65536, - "output": 8192 + "context": 3500, + "output": 1024 }, "temperature": false, "tool_call": true, @@ -100403,33 +109112,30 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", + "release_date": "2023-09-20", + "last_updated": "2023-09-20", "cost": { - "input": 0.21, - "output": 1.8, - "cache_read": 0.021 + "input": 1.4, + "output": 1.8 }, "type": "chat" }, { - "id": "google/gemini-3.1-flash-lite", - "name": "Gemini-3.1-Flash-Lite", - "display_name": "Gemini-3.1-Flash-Lite", + "id": "openai/o3", + "name": "o3", + "display_name": "o3", "modalities": { "input": [ "text", - "image", - "video", - "audio" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 200000, + "output": 100000 }, "temperature": false, "tool_call": true, @@ -100439,37 +109145,45 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2026-02-18", - "last_updated": "2026-02-18", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", "cost": { - "input": 0.25, - "output": 1.5 + "input": 1.8, + "output": 7.2, + "cache_read": 0.45 }, "type": "chat" }, { - "id": "google/gemini-2.5-flash-lite", - "name": "Gemini-2.5-Flash-Lite", - "display_name": "Gemini-2.5-Flash-Lite", + "id": "openai/gpt-5.2-instant", + "name": "GPT-5.2-Instant", + "display_name": "GPT-5.2-Instant", "modalities": { "input": [ "text", - "image", - "video", - "audio" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1024000, - "output": 64000 + "context": 128000, + "output": 16384 }, "temperature": false, "tool_call": true, @@ -100481,49 +109195,82 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "budget", - "budget": { - "default": -1, - "min": 512, - "max": 24576, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2025-06-19", - "last_updated": "2025-06-19", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.07, - "output": 0.28 + "input": 1.6, + "output": 13, + "cache_read": 0.16 }, "type": "chat" }, { - "id": "google/gemini-2.5-flash", - "name": "Gemini-2.5-Flash", - "display_name": "Gemini-2.5-Flash", + "id": "openai/gpt-4o-search", + "name": "GPT-4o-Search", + "display_name": "GPT-4o-Search", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 8192 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-03-11", + "last_updated": "2025-03-11", + "cost": { + "input": 2.2, + "output": 9 + }, + "type": "chat" + }, + { + "id": "openai/gpt-5.2-pro", + "name": "GPT-5.2-Pro", + "display_name": "GPT-5.2-Pro", "modalities": { "input": [ "text", - "image", - "video", - "audio" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1065535, - "output": 65535 + "context": 400000, + "output": 128000 }, "temperature": false, "tool_call": true, @@ -100535,37 +109282,36 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "mode": "effort", + "effort": "high", + "effort_options": [ + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2025-04-26", - "last_updated": "2025-04-26", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.21, - "output": 1.8, - "cache_read": 0.021 + "input": 19, + "output": 150 }, "type": "chat" }, { - "id": "google/gemma-4-31b", - "name": "Gemma-4-31B", - "display_name": "Gemma-4-31B", + "id": "openai/gpt-4-classic-0314", + "name": "GPT-4-Classic-0314", + "display_name": "GPT-4-Classic-0314", "modalities": { "input": [ "text", @@ -100576,8 +109322,8 @@ ] }, "limit": { - "context": 262144, - "output": 8192 + "context": 8192, + "output": 4096 }, "temperature": false, "tool_call": true, @@ -100586,59 +109332,85 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "release_date": "2024-08-26", + "last_updated": "2024-08-26", "cost": { - "input": 0, - "output": 0 + "input": 27, + "output": 54 }, "type": "chat" }, { - "id": "google/veo-2", - "name": "Veo-2", - "display_name": "Veo-2", + "id": "openai/gpt-5", + "name": "GPT-5", + "display_name": "GPT-5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 480, - "output": 8192 + "context": 400000, + "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, "open_weights": false, - "release_date": "2024-12-02", - "last_updated": "2024-12-02", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "cost": { + "input": 1.1, + "output": 9, + "cache_read": 0.11 + }, "type": "chat" }, { - "id": "google/gemini-2.0-flash", - "name": "Gemini-2.0-Flash", - "display_name": "Gemini-2.0-Flash", + "id": "openai/gpt-5-chat", + "name": "GPT-5-Chat", + "display_name": "GPT-5-Chat", "modalities": { "input": [ "text", - "image", - "video", - "audio" + "image" ], "output": [ "text" ] }, "limit": { - "context": 990000, - "output": 8192 + "context": 128000, + "output": 16384 }, "temperature": false, "tool_call": true, @@ -100647,84 +109419,63 @@ }, "attachment": true, "open_weights": false, - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.1, - "output": 0.42 + "input": 1.1, + "output": 9, + "cache_read": 0.11 }, "type": "chat" }, { - "id": "google/gemini-3.1-pro", - "name": "Gemini-3.1-Pro", - "display_name": "Gemini-3.1-Pro", + "id": "openai/gpt-3.5-turbo", + "name": "GPT-3.5-Turbo", + "display_name": "GPT-3.5-Turbo", "modalities": { "input": [ "text", - "image", - "video", - "audio" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 16384, + "output": 2048 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-02-19", - "last_updated": "2026-02-19", + "release_date": "2023-09-13", + "last_updated": "2023-09-13", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2 + "input": 0.45, + "output": 1.4 }, "type": "chat" }, { - "id": "google/gemini-3.5-flash", - "name": "Gemini-3.5-Flash", - "display_name": "Gemini-3.5-Flash", + "id": "openai/gpt-5-pro", + "name": "GPT-5-Pro", + "display_name": "GPT-5-Pro", "modalities": { "input": [ "text", - "image", - "audio" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 400000, + "output": 128000 }, "temperature": false, "tool_call": true, @@ -100736,47 +109487,42 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", + "mode": "fixed", + "effort": "high", + "verbosity": "medium", + "verbosity_options": [ "low", "medium", "high" ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-05-19", - "last_updated": "2026-05-19", + "release_date": "2025-10-06", + "last_updated": "2025-10-06", "cost": { - "input": 1.5152, - "output": 9.0909, - "cache_read": 0.1515 + "input": 14, + "output": 110 }, "type": "chat" }, { - "id": "google/veo-3.1", - "name": "Veo-3.1", - "display_name": "Veo-3.1", + "id": "openai/gpt-4o", + "name": "GPT-4o", + "display_name": "GPT-4o", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 480, + "context": 128000, "output": 8192 }, "temperature": false, @@ -100786,113 +109532,149 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "release_date": "2024-05-13", + "last_updated": "2024-05-13", "type": "chat" }, { - "id": "google/lyria", - "name": "Lyria", - "display_name": "Lyria", + "id": "openai/o4-mini", + "name": "o4-mini", + "display_name": "o4-mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "audio" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 200000, + "output": 100000 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, "open_weights": false, - "release_date": "2025-06-04", - "last_updated": "2025-06-04", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "cost": { + "input": 0.99, + "output": 4, + "cache_read": 0.25 + }, "type": "chat" }, { - "id": "google/gemini-deep-research", - "name": "gemini-deep-research", - "display_name": "gemini-deep-research", + "id": "openai/sora-2", + "name": "Sora-2", + "display_name": "Sora-2", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 1048576, + "context": 8192, "output": 8192 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "cost": { - "input": 1.6, - "output": 9.6 - }, + "release_date": "2025-10-06", + "last_updated": "2025-10-06", "type": "chat" }, { - "id": "google/veo-3-fast", - "name": "Veo-3-Fast", - "display_name": "Veo-3-Fast", + "id": "openai/o3-pro", + "name": "o3-pro", + "display_name": "o3-pro", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 480, - "output": 8192 + "context": 200000, + "output": 100000 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-06-10", + "last_updated": "2025-06-10", + "cost": { + "input": 18, + "output": 72 }, - "attachment": true, - "open_weights": false, - "release_date": "2025-10-13", - "last_updated": "2025-10-13", "type": "chat" }, { - "id": "google/imagen-3", - "name": "Imagen-3", - "display_name": "Imagen-3", + "id": "openai/gpt-4-classic", + "name": "GPT-4-Classic", + "display_name": "GPT-4-Classic", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 480, - "output": 8192 + "context": 8192, + "output": 4096 }, "temperature": false, "tool_call": true, @@ -100901,14 +109683,18 @@ }, "attachment": true, "open_weights": false, - "release_date": "2024-10-15", - "last_updated": "2024-10-15", + "release_date": "2024-03-25", + "last_updated": "2024-03-25", + "cost": { + "input": 27, + "output": 54 + }, "type": "chat" }, { - "id": "openai/chatgpt-4o-latest", - "name": "ChatGPT-4o-Latest", - "display_name": "ChatGPT-4o-Latest", + "id": "openai/gpt-4o-aug", + "name": "GPT-4o-Aug", + "display_name": "GPT-4o-Aug", "modalities": { "input": [ "text", @@ -100929,18 +109715,19 @@ }, "attachment": true, "open_weights": false, - "release_date": "2024-08-14", - "last_updated": "2024-08-14", + "release_date": "2024-11-21", + "last_updated": "2024-11-21", "cost": { - "input": 4.5, - "output": 14 + "input": 2.2, + "output": 9, + "cache_read": 1.1 }, "type": "chat" }, { - "id": "openai/gpt-5-pro", - "name": "GPT-5-Pro", - "display_name": "GPT-5-Pro", + "id": "openai/gpt-5.4-nano", + "name": "GPT-5.4-Nano", + "display_name": "GPT-5.4-Nano", "modalities": { "input": [ "text", @@ -100958,14 +109745,21 @@ "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "fixed", - "effort": "high", + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], "verbosity": "medium", "verbosity_options": [ "low", @@ -100977,18 +109771,47 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-10-06", - "last_updated": "2025-10-06", + "release_date": "2026-03-11", + "last_updated": "2026-03-11", "cost": { - "input": 14, - "output": 110 + "input": 0.18, + "output": 1.1, + "cache_read": 0.018 }, "type": "chat" }, { - "id": "openai/gpt-5-mini", - "name": "GPT-5-mini", - "display_name": "GPT-5-mini", + "id": "openai/sora-2-pro", + "name": "Sora-2-Pro", + "display_name": "Sora-2-Pro", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "video" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-10-06", + "last_updated": "2025-10-06", + "type": "chat" + }, + { + "id": "openai/gpt-5.1-codex", + "name": "GPT-5.1-Codex", + "display_name": "GPT-5.1-Codex", "modalities": { "input": [ "text", @@ -101006,16 +109829,16 @@ "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "effort", - "effort": "medium", + "effort": "none", "effort_options": [ - "minimal", + "none", "low", "medium", "high" @@ -101031,19 +109854,19 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-06-25", - "last_updated": "2025-06-25", + "release_date": "2025-11-12", + "last_updated": "2025-11-12", "cost": { - "input": 0.22, - "output": 1.8, - "cache_read": 0.022 + "input": 1.1, + "output": 9, + "cache_read": 0.11 }, "type": "chat" }, { - "id": "openai/o3-mini-high", - "name": "o3-mini-high", - "display_name": "o3-mini-high", + "id": "openai/gpt-5.3-instant", + "name": "GPT-5.3-Instant", + "display_name": "GPT-5.3-Instant", "modalities": { "input": [ "text", @@ -101054,8 +109877,40 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 128000, + "output": 16384 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-03-03", + "last_updated": "2026-03-03", + "cost": { + "input": 1.6, + "output": 13, + "cache_read": 0.16 + }, + "type": "chat" + }, + { + "id": "openai/gpt-5.3-codex-spark", + "name": "GPT-5.3-Codex-Spark", + "display_name": "GPT-5.3-Codex-Spark", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 }, "temperature": false, "tool_call": true, @@ -101070,6 +109925,13 @@ "mode": "effort", "effort": "medium", "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ "low", "medium", "high" @@ -101079,58 +109941,84 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-01-31", - "last_updated": "2025-01-31", + "release_date": "2026-03-04", + "last_updated": "2026-03-04", "cost": { - "input": 0.99, - "output": 4 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "openai/gpt-image-1", - "name": "GPT-Image-1", - "display_name": "GPT-Image-1", + "id": "openai/gpt-5.1-codex-max", + "name": "GPT-5.1-Codex-Max", + "display_name": "GPT-5.1-Codex-Max", "modalities": { "input": [ "text", "image" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 400000, + "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, "open_weights": false, - "release_date": "2025-03-31", - "last_updated": "2025-03-31", - "type": "imageGeneration" + "release_date": "2025-12-08", + "last_updated": "2025-12-08", + "cost": { + "input": 1.1, + "output": 9, + "cache_read": 0.11 + }, + "type": "chat" }, { - "id": "openai/gpt-5-chat", - "name": "GPT-5-Chat", - "display_name": "GPT-5-Chat", + "id": "openai/dall-e-3", + "name": "DALL-E-3", + "display_name": "DALL-E-3", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 800, + "output": 8192 }, "temperature": false, "tool_call": true, @@ -101139,19 +110027,14 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "cost": { - "input": 1.1, - "output": 9, - "cache_read": 0.11 - }, - "type": "chat" + "release_date": "2023-11-06", + "last_updated": "2023-11-06", + "type": "imageGeneration" }, { - "id": "openai/gpt-4o", - "name": "GPT-4o", - "display_name": "GPT-4o", + "id": "openai/o3-mini", + "name": "o3-mini", + "display_name": "o3-mini", "modalities": { "input": [ "text", @@ -101162,18 +110045,37 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 200000, + "output": 100000 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, "open_weights": false, - "release_date": "2024-05-13", - "last_updated": "2024-05-13", + "release_date": "2025-01-31", + "last_updated": "2025-01-31", + "cost": { + "input": 0.99, + "output": 4 + }, "type": "chat" }, { @@ -101233,9 +110135,9 @@ "type": "chat" }, { - "id": "openai/gpt-5-codex", - "name": "GPT-5-Codex", - "display_name": "GPT-5-Codex", + "id": "openai/gpt-5.3-codex", + "name": "GPT-5.3-Codex", + "display_name": "GPT-5.3-Codex", "modalities": { "input": [ "text", @@ -101262,10 +110164,10 @@ "mode": "effort", "effort": "medium", "effort_options": [ - "minimal", "low", "medium", - "high" + "high", + "xhigh" ], "verbosity": "medium", "verbosity_options": [ @@ -101278,44 +110180,51 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-09-23", - "last_updated": "2025-09-23", + "release_date": "2026-02-10", + "last_updated": "2026-02-10", "cost": { - "input": 1.1, - "output": 9 + "input": 1.6, + "output": 13, + "cache_read": 0.16 }, "type": "chat" }, { - "id": "openai/o3", - "name": "o3", - "display_name": "o3", + "id": "openai/gpt-5.1-codex-mini", + "name": "GPT-5.1-Codex-Mini", + "display_name": "GPT-5.1-Codex-Mini", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 400000, + "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "effort", - "effort": "medium", + "effort": "none", "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ "low", "medium", "high" @@ -101325,59 +110234,30 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "release_date": "2025-11-12", + "last_updated": "2025-11-12", "cost": { - "input": 1.8, - "output": 7.2, - "cache_read": 0.45 - }, - "type": "chat" - }, - { - "id": "openai/sora-2-pro", - "name": "Sora-2-Pro", - "display_name": "Sora-2-Pro", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "video" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "temperature": false, - "tool_call": true, - "reasoning": { - "supported": false + "input": 0.22, + "output": 1.8, + "cache_read": 0.022 }, - "attachment": true, - "open_weights": false, - "release_date": "2025-10-06", - "last_updated": "2025-10-06", "type": "chat" }, { - "id": "openai/gpt-5", - "name": "GPT-5", - "display_name": "GPT-5", + "id": "openai/o4-mini-deep-research", + "name": "o4-mini-deep-research", + "display_name": "o4-mini-deep-research", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 100000 }, "temperature": false, "tool_call": true, @@ -101392,13 +110272,6 @@ "mode": "effort", "effort": "medium", "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ "low", "medium", "high" @@ -101408,51 +110281,19 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "cost": { - "input": 1.1, - "output": 9, - "cache_read": 0.11 - }, - "type": "chat" - }, - { - "id": "openai/gpt-4-classic", - "name": "GPT-4-Classic", - "display_name": "GPT-4-Classic", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 8192, - "output": 4096 - }, - "temperature": false, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "release_date": "2024-03-25", - "last_updated": "2024-03-25", + "release_date": "2025-06-27", + "last_updated": "2025-06-27", "cost": { - "input": 27, - "output": 54 + "input": 1.8, + "output": 7.2, + "cache_read": 0.45 }, "type": "chat" }, { - "id": "openai/gpt-image-1-mini", - "name": "GPT-Image-1-Mini", - "display_name": "GPT-Image-1-Mini", + "id": "openai/gpt-image-1.5", + "name": "gpt-image-1.5", + "display_name": "gpt-image-1.5", "modalities": { "input": [ "text", @@ -101463,77 +110304,24 @@ ] }, "limit": { - "context": 8192, + "context": 128000, "output": 8192 }, "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-08-26", - "last_updated": "2025-08-26", + "release_date": "2025-12-16", + "last_updated": "2025-12-16", "type": "imageGeneration" }, { - "id": "openai/gpt-5.4-pro", - "name": "GPT-5.4-Pro", - "display_name": "GPT-5.4-Pro", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "image" - ] - }, - "limit": { - "context": 1050000, - "output": 128000 - }, - "temperature": false, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, - "open_weights": false, - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "cost": { - "input": 27, - "output": 160 - }, - "type": "chat" - }, - { - "id": "openai/gpt-4.1-mini", - "name": "GPT-4.1-mini", - "display_name": "GPT-4.1-mini", + "id": "openai/gpt-4.1-nano", + "name": "GPT-4.1-nano", + "display_name": "GPT-4.1-nano", "modalities": { "input": [ "text", @@ -101557,16 +110345,16 @@ "release_date": "2025-04-15", "last_updated": "2025-04-15", "cost": { - "input": 0.36, - "output": 1.4, - "cache_read": 0.09 + "input": 0.09, + "output": 0.36, + "cache_read": 0.022 }, "type": "chat" }, { - "id": "openai/gpt-5.2-pro", - "name": "GPT-5.2-Pro", - "display_name": "GPT-5.2-Pro", + "id": "openai/gpt-3.5-turbo-raw", + "name": "GPT-3.5-Turbo-Raw", + "display_name": "GPT-3.5-Turbo-Raw", "modalities": { "input": [ "text", @@ -101577,49 +110365,28 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 4524, + "output": 2048 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2023-09-27", + "last_updated": "2023-09-27", "cost": { - "input": 19, - "output": 150 + "input": 0.45, + "output": 1.4 }, "type": "chat" }, { - "id": "openai/o3-pro", - "name": "o3-pro", - "display_name": "o3-pro", + "id": "openai/o1", + "name": "o1", + "display_name": "o1", "modalities": { "input": [ "text", @@ -101655,18 +110422,18 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-06-10", - "last_updated": "2025-06-10", + "release_date": "2024-12-18", + "last_updated": "2024-12-18", "cost": { - "input": 18, - "output": 72 + "input": 14, + "output": 54 }, "type": "chat" }, { - "id": "openai/o4-mini", - "name": "o4-mini", - "display_name": "o4-mini", + "id": "openai/o1-pro", + "name": "o1-pro", + "display_name": "o1-pro", "modalities": { "input": [ "text", @@ -101702,12 +110469,11 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "release_date": "2025-03-19", + "last_updated": "2025-03-19", "cost": { - "input": 0.99, - "output": 4, - "cache_read": 0.25 + "input": 140, + "output": 540 }, "type": "chat" }, @@ -101769,9 +110535,9 @@ "type": "chat" }, { - "id": "openai/o3-mini", - "name": "o3-mini", - "display_name": "o3-mini", + "id": "openai/gpt-5.4-mini", + "name": "GPT-5.4-Mini", + "display_name": "GPT-5.4-Mini", "modalities": { "input": [ "text", @@ -101782,22 +110548,30 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 400000, + "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "effort", - "effort": "medium", + "effort": "none", "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ "low", "medium", "high" @@ -101807,29 +110581,31 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-01-31", - "last_updated": "2025-01-31", + "release_date": "2026-03-12", + "last_updated": "2026-03-12", "cost": { - "input": 0.99, - "output": 4 + "input": 0.68, + "output": 4, + "cache_read": 0.068 }, "type": "chat" }, { - "id": "openai/dall-e-3", - "name": "DALL-E-3", - "display_name": "DALL-E-3", + "id": "openai/gpt-4.1", + "name": "GPT-4.1", + "display_name": "GPT-4.1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 800, - "output": 8192 + "context": 1047576, + "output": 32768 }, "temperature": false, "tool_call": true, @@ -101838,27 +110614,30 @@ }, "attachment": true, "open_weights": false, - "release_date": "2023-11-06", - "last_updated": "2023-11-06", - "type": "imageGeneration" + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "cost": { + "input": 1.8, + "output": 7.2, + "cache_read": 0.45 + }, + "type": "chat" }, { - "id": "openai/gpt-5.5", - "name": "GPT-5.5", - "display_name": "GPT-5.5", + "id": "openai/o3-deep-research", + "name": "o3-deep-research", + "display_name": "o3-deep-research", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 100000 }, "temperature": false, "tool_call": true, @@ -101873,13 +110652,6 @@ "mode": "effort", "effort": "medium", "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ "low", "medium", "high" @@ -101889,51 +110661,19 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-08", - "last_updated": "2026-04-08", - "cost": { - "input": 4.5455, - "output": 27.2727, - "cache_read": 0.4545 - }, - "type": "chat" - }, - { - "id": "openai/gpt-4o-mini-search", - "name": "GPT-4o-mini-Search", - "display_name": "GPT-4o-mini-Search", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 8192 - }, - "temperature": false, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "release_date": "2025-03-11", - "last_updated": "2025-03-11", + "release_date": "2025-06-27", + "last_updated": "2025-06-27", "cost": { - "input": 0.14, - "output": 0.54 + "input": 9, + "output": 36, + "cache_read": 2.2 }, "type": "chat" }, { - "id": "openai/gpt-5.1", - "name": "GPT-5.1", - "display_name": "GPT-5.1", + "id": "openai/gpt-5-mini", + "name": "GPT-5-mini", + "display_name": "GPT-5-mini", "modalities": { "input": [ "text", @@ -101951,16 +110691,16 @@ "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", - "effort": "none", + "effort": "medium", "effort_options": [ - "none", + "minimal", "low", "medium", "high" @@ -101976,74 +110716,47 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-11-12", - "last_updated": "2025-11-12", + "release_date": "2025-06-25", + "last_updated": "2025-06-25", "cost": { - "input": 1.1, - "output": 9, - "cache_read": 0.11 + "input": 0.22, + "output": 1.8, + "cache_read": 0.022 }, "type": "chat" }, { - "id": "openai/gpt-5-nano", - "name": "GPT-5-nano", - "display_name": "GPT-5-nano", + "id": "openai/gpt-image-1", + "name": "GPT-Image-1", + "display_name": "GPT-Image-1", "modalities": { "input": [ "text", "image" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 8192 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "cost": { - "input": 0.045, - "output": 0.36, - "cache_read": 0.0045 - }, - "type": "chat" + "release_date": "2025-03-31", + "last_updated": "2025-03-31", + "type": "imageGeneration" }, { - "id": "openai/gpt-4o-aug", - "name": "GPT-4o-Aug", - "display_name": "GPT-4o-Aug", + "id": "openai/gpt-4.1-mini", + "name": "GPT-4.1-mini", + "display_name": "GPT-4.1-mini", "modalities": { "input": [ "text", @@ -102054,8 +110767,8 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 1047576, + "output": 32768 }, "temperature": false, "tool_call": true, @@ -102064,19 +110777,19 @@ }, "attachment": true, "open_weights": false, - "release_date": "2024-11-21", - "last_updated": "2024-11-21", + "release_date": "2025-04-15", + "last_updated": "2025-04-15", "cost": { - "input": 2.2, - "output": 9, - "cache_read": 1.1 + "input": 0.36, + "output": 1.4, + "cache_read": 0.09 }, "type": "chat" }, { - "id": "openai/gpt-4o-mini", - "name": "GPT-4o-mini", - "display_name": "GPT-4o-mini", + "id": "openai/gpt-4-turbo", + "name": "GPT-4-Turbo", + "display_name": "GPT-4-Turbo", "modalities": { "input": [ "text", @@ -102087,7 +110800,7 @@ ] }, "limit": { - "context": 124096, + "context": 128000, "output": 4096 }, "temperature": false, @@ -102097,19 +110810,46 @@ }, "attachment": true, "open_weights": false, - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "release_date": "2023-09-13", + "last_updated": "2023-09-13", "cost": { - "input": 0.14, - "output": 0.54, - "cache_read": 0.068 + "input": 9, + "output": 27 }, "type": "chat" }, { - "id": "openai/gpt-5.1-codex-max", - "name": "GPT-5.1-Codex-Max", - "display_name": "GPT-5.1-Codex-Max", + "id": "openai/gpt-image-1-mini", + "name": "GPT-Image-1-Mini", + "display_name": "GPT-Image-1-Mini", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "image" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "type": "imageGeneration" + }, + { + "id": "openai/gpt-5-nano", + "name": "GPT-5-nano", + "display_name": "GPT-5-nano", "modalities": { "input": [ "text", @@ -102127,16 +110867,16 @@ "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", - "effort": "none", + "effort": "medium", "effort_options": [ - "none", + "minimal", "low", "medium", "high" @@ -102152,48 +110892,48 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-12-08", - "last_updated": "2025-12-08", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 1.1, - "output": 9, - "cache_read": 0.11 + "input": 0.045, + "output": 0.36, + "cache_read": 0.0045 }, "type": "chat" }, { - "id": "openai/gpt-5.1-codex-mini", - "name": "GPT-5.1-Codex-Mini", - "display_name": "GPT-5.1-Codex-Mini", + "id": "openai/gpt-5.4-pro", + "name": "GPT-5.4-Pro", + "display_name": "GPT-5.4-Pro", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 400000, + "context": 1050000, "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", - "effort": "none", + "effort": "high", "effort_options": [ - "none", - "low", "medium", - "high" + "high", + "xhigh" ], "verbosity": "medium", "verbosity_options": [ @@ -102206,19 +110946,18 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-11-12", - "last_updated": "2025-11-12", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0.22, - "output": 1.8, - "cache_read": 0.022 + "input": 27, + "output": 160 }, "type": "chat" }, { - "id": "openai/o1-pro", - "name": "o1-pro", - "display_name": "o1-pro", + "id": "openai/o3-mini-high", + "name": "o3-mini-high", + "display_name": "o3-mini-high", "modalities": { "input": [ "text", @@ -102254,18 +110993,91 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-03-19", - "last_updated": "2025-03-19", + "release_date": "2025-01-31", + "last_updated": "2025-01-31", "cost": { - "input": 140, - "output": 540 + "input": 0.99, + "output": 4 }, "type": "chat" }, { - "id": "openai/gpt-4o-search", - "name": "GPT-4o-Search", - "display_name": "GPT-4o-Search", + "id": "openai/gpt-5.5-pro", + "name": "GPT-5.5-Pro", + "display_name": "GPT-5.5-Pro", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text", + "image" + ] + }, + "limit": { + "context": 400000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-08", + "last_updated": "2026-04-08", + "cost": { + "input": 27.2727, + "output": 163.6364 + }, + "type": "chat" + }, + { + "id": "openai/gpt-4o-mini", + "name": "GPT-4o-mini", + "display_name": "GPT-4o-mini", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 124096, + "output": 4096 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "cost": { + "input": 0.14, + "output": 0.54, + "cache_read": 0.068 + }, + "type": "chat" + }, + { + "id": "openai/gpt-4o-mini-search", + "name": "GPT-4o-mini-Search", + "display_name": "GPT-4o-mini-Search", "modalities": { "input": [ "text" @@ -102275,39 +111087,94 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 128000, + "output": 8192 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-03-11", + "last_updated": "2025-03-11", + "cost": { + "input": 0.14, + "output": 0.54 + }, + "type": "chat" + }, + { + "id": "openai/gpt-5-codex", + "name": "GPT-5-Codex", + "display_name": "GPT-5-Codex", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 400000, + "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, "open_weights": false, - "release_date": "2025-03-11", - "last_updated": "2025-03-11", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", "cost": { - "input": 2.2, + "input": 1.1, "output": 9 }, "type": "chat" }, { - "id": "openai/o3-deep-research", - "name": "o3-deep-research", - "display_name": "o3-deep-research", + "id": "openai/gpt-5.2-codex", + "name": "GPT-5.2-Codex", + "display_name": "GPT-5.2-Codex", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 400000, + "output": 128000 }, "temperature": false, "tool_call": true, @@ -102322,6 +111189,13 @@ "mode": "effort", "effort": "medium", "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ "low", "medium", "high" @@ -102331,19 +111205,19 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-06-27", - "last_updated": "2025-06-27", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", "cost": { - "input": 9, - "output": 36, - "cache_read": 2.2 + "input": 1.6, + "output": 13, + "cache_read": 0.16 }, "type": "chat" }, { - "id": "openai/gpt-3.5-turbo-raw", - "name": "GPT-3.5-Turbo-Raw", - "display_name": "GPT-3.5-Turbo-Raw", + "id": "openai/gpt-5.1-instant", + "name": "GPT-5.1-Instant", + "display_name": "GPT-5.1-Instant", "modalities": { "input": [ "text", @@ -102354,61 +111228,84 @@ ] }, "limit": { - "context": 4524, - "output": 2048 + "context": 128000, + "output": 16384 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, "open_weights": false, - "release_date": "2023-09-27", - "last_updated": "2023-09-27", + "release_date": "2025-11-12", + "last_updated": "2025-11-12", "cost": { - "input": 0.45, - "output": 1.4 + "input": 1.1, + "output": 9, + "cache_read": 0.11 }, "type": "chat" }, { - "id": "openai/gpt-4.1", - "name": "GPT-4.1", - "display_name": "GPT-4.1", + "id": "openai/gpt-image-2", + "name": "GPT-Image-2", + "display_name": "GPT-Image-2", "modalities": { "input": [ "text", "image" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 8192, + "output": 8192 }, "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 1.8, - "output": 7.2, - "cache_read": 0.45 + "input": 5.0505, + "output": 32.3232, + "cache_read": 1.2626 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "openai/gpt-5.4-nano", - "name": "GPT-5.4-Nano", - "display_name": "GPT-5.4-Nano", + "id": "openai/gpt-5.1", + "name": "GPT-5.1", + "display_name": "GPT-5.1", "modalities": { "input": [ "text", @@ -102438,8 +111335,7 @@ "none", "low", "medium", - "high", - "xhigh" + "high" ], "verbosity": "medium", "verbosity_options": [ @@ -102452,26 +111348,27 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-03-11", - "last_updated": "2026-03-11", + "release_date": "2025-11-12", + "last_updated": "2025-11-12", "cost": { - "input": 0.18, - "output": 1.1, - "cache_read": 0.018 + "input": 1.1, + "output": 9, + "cache_read": 0.11 }, "type": "chat" }, { - "id": "openai/gpt-5.3-codex", - "name": "GPT-5.3-Codex", - "display_name": "GPT-5.3-Codex", + "id": "openai/gpt-5.5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ "text", "image" ], "output": [ - "text" + "text", + "image" ] }, "limit": { @@ -102507,84 +111404,87 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-02-10", - "last_updated": "2026-02-10", + "knowledge": "2025-12-01", + "release_date": "2026-04-08", + "last_updated": "2026-04-08", "cost": { - "input": 1.6, - "output": 13, - "cache_read": 0.16 + "input": 4.5455, + "output": 27.2727, + "cache_read": 0.4545 }, "type": "chat" }, { - "id": "openai/gpt-5.3-codex-spark", - "name": "GPT-5.3-Codex-Spark", - "display_name": "GPT-5.3-Codex-Spark", + "id": "runwayml/runway", + "name": "Runway", + "display_name": "Runway", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 256, + "output": 8192 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-03-04", - "last_updated": "2026-03-04", - "cost": { - "input": 0, - "output": 0 - }, + "release_date": "2024-10-11", + "last_updated": "2024-10-11", "type": "chat" }, { - "id": "openai/gpt-5.3-instant", - "name": "GPT-5.3-Instant", - "display_name": "GPT-5.3-Instant", + "id": "runwayml/runway-gen-4-turbo", + "name": "Runway-Gen-4-Turbo", + "display_name": "Runway-Gen-4-Turbo", "modalities": { "input": [ "text", "image" ], + "output": [ + "video" + ] + }, + "limit": { + "context": 256, + "output": 8192 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-05-09", + "last_updated": "2025-05-09", + "type": "chat" + }, + { + "id": "cerebras/llama-3.1-8b-cs", + "name": "Llama-3.1-8B-CS", + "display_name": "Llama-3.1-8B-CS", + "modalities": { + "input": [ + "text" + ], "output": [ "text" ] }, "limit": { "context": 128000, - "output": 16384 + "output": 8192 }, "temperature": false, "tool_call": true, @@ -102593,32 +111493,29 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-03-03", - "last_updated": "2026-03-03", + "release_date": "2025-05-13", + "last_updated": "2025-05-13", "cost": { - "input": 1.6, - "output": 13, - "cache_read": 0.16 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "openai/gpt-5.5-pro", - "name": "GPT-5.5-Pro", - "display_name": "GPT-5.5-Pro", + "id": "cerebras/qwen3-235b-2507-cs", + "name": "qwen3-235b-2507-cs", + "display_name": "qwen3-235b-2507-cs", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 8192, + "output": 8192 }, "temperature": false, "tool_call": true, @@ -102626,26 +111523,16 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, "attachment": true, "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-08", - "last_updated": "2026-04-08", - "cost": { - "input": 27.2727, - "output": 163.6364 - }, + "release_date": "2025-08-06", + "last_updated": "2025-08-06", "type": "chat" }, { - "id": "openai/o4-mini-deep-research", - "name": "o4-mini-deep-research", - "display_name": "o4-mini-deep-research", + "id": "cerebras/gpt-oss-120b-cs", + "name": "GPT-OSS-120B-CS", + "display_name": "GPT-OSS-120B-CS", "modalities": { "input": [ "text" @@ -102655,8 +111542,8 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 128000, + "output": 8192 }, "temperature": false, "tool_call": true, @@ -102664,71 +111551,50 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, "attachment": true, "open_weights": false, - "release_date": "2025-06-27", - "last_updated": "2025-06-27", + "release_date": "2025-08-06", + "last_updated": "2025-08-06", "cost": { - "input": 1.8, - "output": 7.2, - "cache_read": 0.45 + "input": 0.35, + "output": 0.75 }, "type": "chat" }, { - "id": "openai/gpt-3.5-turbo", - "name": "GPT-3.5-Turbo", - "display_name": "GPT-3.5-Turbo", + "id": "cerebras/llama-3.3-70b-cs", + "name": "llama-3.3-70b-cs", + "display_name": "llama-3.3-70b-cs", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 2048 + "context": 8192, + "output": 8192 }, "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2023-09-13", - "last_updated": "2023-09-13", - "cost": { - "input": 0.45, - "output": 1.4 - }, + "release_date": "2025-05-13", + "last_updated": "2025-05-13", "type": "chat" }, { - "id": "openai/gpt-4-classic-0314", - "name": "GPT-4-Classic-0314", - "display_name": "GPT-4-Classic-0314", + "id": "cerebras/qwen3-32b-cs", + "name": "qwen3-32b-cs", + "display_name": "qwen3-32b-cs", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -102736,39 +111602,37 @@ }, "limit": { "context": 8192, - "output": 4096 + "output": 8192 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "release_date": "2024-08-26", - "last_updated": "2024-08-26", - "cost": { - "input": 27, - "output": 54 - }, + "release_date": "2025-05-15", + "last_updated": "2025-05-15", "type": "chat" }, { - "id": "openai/gpt-3.5-turbo-instruct", - "name": "GPT-3.5-Turbo-Instruct", - "display_name": "GPT-3.5-Turbo-Instruct", + "id": "anthropic/claude-sonnet-3.5", + "name": "Claude-Sonnet-3.5", + "display_name": "Claude-Sonnet-3.5", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 3500, - "output": 1024 + "context": 189096, + "output": 8192 }, "temperature": false, "tool_call": true, @@ -102777,84 +111641,68 @@ }, "attachment": true, "open_weights": false, - "release_date": "2023-09-20", - "last_updated": "2023-09-20", + "release_date": "2024-06-05", + "last_updated": "2024-06-05", "cost": { - "input": 1.4, - "output": 1.8 + "input": 2.6, + "output": 13, + "cache_read": 0.26, + "cache_write": 3.2 }, "type": "chat" }, { - "id": "openai/gpt-5.1-instant", - "name": "GPT-5.1-Instant", - "display_name": "GPT-5.1-Instant", + "id": "anthropic/claude-sonnet-3.7", + "name": "Claude-Sonnet-3.7", + "display_name": "Claude-Sonnet-3.7", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 196608, + "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "default": true }, "attachment": true, "open_weights": false, - "release_date": "2025-11-12", - "last_updated": "2025-11-12", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", "cost": { - "input": 1.1, - "output": 9, - "cache_read": 0.11 + "input": 2.6, + "output": 13, + "cache_read": 0.26, + "cache_write": 3.2 }, "type": "chat" }, { - "id": "openai/sora-2", - "name": "Sora-2", - "display_name": "Sora-2", + "id": "anthropic/claude-sonnet-3.5-june", + "name": "Claude-Sonnet-3.5-June", + "display_name": "Claude-Sonnet-3.5-June", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, + "context": 189096, "output": 8192 }, "temperature": false, @@ -102864,114 +111712,147 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-10-06", - "last_updated": "2025-10-06", + "release_date": "2024-11-18", + "last_updated": "2024-11-18", + "cost": { + "input": 2.6, + "output": 13, + "cache_read": 0.26, + "cache_write": 3.2 + }, "type": "chat" }, { - "id": "openai/gpt-5.2-codex", - "name": "GPT-5.2-Codex", - "display_name": "GPT-5.2-Codex", + "id": "anthropic/claude-sonnet-4.5", + "name": "Claude-Sonnet-4.5", + "display_name": "Claude-Sonnet-4.5", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 983040, + "output": 32768 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-01-14", - "last_updated": "2026-01-14", + "release_date": "2025-09-26", + "last_updated": "2025-09-26", "cost": { - "input": 1.6, + "input": 2.6, "output": 13, - "cache_read": 0.16 + "cache_read": 0.26, + "cache_write": 3.2 }, "type": "chat" }, { - "id": "openai/gpt-image-2", - "name": "GPT-Image-2", - "display_name": "GPT-Image-2", + "id": "anthropic/claude-sonnet-4", + "name": "Claude-Sonnet-4", + "display_name": "Claude-Sonnet-4", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 983040, + "output": 64000 }, "temperature": false, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "release_date": "2025-05-21", + "last_updated": "2025-05-21", "cost": { - "input": 5.0505, - "output": 32.3232, - "cache_read": 1.2626 + "input": 2.6, + "output": 13, + "cache_read": 0.26, + "cache_write": 3.2 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "openai/gpt-5.1-codex", - "name": "GPT-5.1-Codex", - "display_name": "GPT-5.1-Codex", + "id": "anthropic/claude-haiku-4.5", + "name": "Claude-Haiku-4.5", + "display_name": "Claude-Haiku-4.5", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 192000, + "output": 64000 }, "temperature": false, "tool_call": true, @@ -102983,49 +111864,86 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, "attachment": true, "open_weights": false, - "release_date": "2025-11-12", - "last_updated": "2025-11-12", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 1.1, - "output": 9, - "cache_read": 0.11 + "input": 0.85, + "output": 4.3, + "cache_read": 0.085, + "cache_write": 1.1 }, "type": "chat" }, { - "id": "openai/gpt-5.4-mini", - "name": "GPT-5.4-Mini", - "display_name": "GPT-5.4-Mini", + "id": "anthropic/claude-haiku-3", + "name": "Claude-Haiku-3", + "display_name": "Claude-Haiku-3", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, + "context": 189096, + "output": 8192 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2024-03-09", + "last_updated": "2024-03-09", + "cost": { + "input": 0.21, + "output": 1.1, + "cache_read": 0.021, + "cache_write": 0.26 + }, + "type": "chat" + }, + { + "id": "anthropic/claude-opus-4.7", + "name": "Claude-Opus-4.7", + "display_name": "Claude-Opus-4.7", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, "output": 128000 }, "temperature": false, @@ -103039,50 +111957,56 @@ "supported": true, "default_enabled": false, "mode": "effort", - "effort": "none", + "effort": "high", "effort_options": [ - "none", "low", "medium", "high", - "xhigh" + "xhigh", + "max" ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-03-12", - "last_updated": "2026-03-12", + "release_date": "2026-04-15", + "last_updated": "2026-04-15", "cost": { - "input": 0.68, - "output": 4, - "cache_read": 0.068 + "input": 4.3, + "output": 21, + "cache_read": 0.43, + "cache_write": 5.4 }, "type": "chat" }, { - "id": "openai/gpt-4-turbo", - "name": "GPT-4-Turbo", - "display_name": "GPT-4-Turbo", + "id": "anthropic/claude-haiku-3.5", + "name": "Claude-Haiku-3.5", + "display_name": "Claude-Haiku-3.5", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 189096, + "output": 8192 }, "temperature": false, "tool_call": true, @@ -103091,138 +112015,213 @@ }, "attachment": true, "open_weights": false, - "release_date": "2023-09-13", - "last_updated": "2023-09-13", + "release_date": "2024-10-01", + "last_updated": "2024-10-01", "cost": { - "input": 9, - "output": 27 + "input": 0.68, + "output": 3.4, + "cache_read": 0.068, + "cache_write": 0.85 }, "type": "chat" }, { - "id": "openai/o1", - "name": "o1", - "display_name": "o1", + "id": "anthropic/claude-opus-4.8", + "name": "Claude-Opus-4.8", + "display_name": "Claude-Opus-4.8", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 1048576, + "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "effort", - "effort": "medium", + "effort": "high", "effort_options": [ "low", "medium", - "high" + "high", + "xhigh", + "max" ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] } }, "attachment": true, "open_weights": false, - "release_date": "2024-12-18", - "last_updated": "2024-12-18", + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "cost": { - "input": 14, - "output": 54 + "input": 4.2929, + "output": 21.4646 }, "type": "chat" }, { - "id": "openai/gpt-image-1.5", - "name": "gpt-image-1.5", - "display_name": "gpt-image-1.5", + "id": "anthropic/claude-opus-4.1", + "name": "Claude-Opus-4.1", + "display_name": "Claude-Opus-4.1", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 196608, + "output": 32000 }, "temperature": false, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2025-12-16", - "last_updated": "2025-12-16", - "type": "imageGeneration" + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "cost": { + "input": 13, + "output": 64, + "cache_read": 1.3, + "cache_write": 16 + }, + "type": "chat" }, { - "id": "openai/gpt-4.1-nano", - "name": "GPT-4.1-nano", - "display_name": "GPT-4.1-nano", + "id": "anthropic/claude-opus-4.5", + "name": "Claude-Opus-4.5", + "display_name": "Claude-Opus-4.5", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 196608, + "output": 64000 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", + "release_date": "2025-11-21", + "last_updated": "2025-11-21", "cost": { - "input": 0.09, - "output": 0.36, - "cache_read": 0.022 + "input": 4.3, + "output": 21, + "cache_read": 0.43, + "cache_write": 5.3 }, "type": "chat" }, { - "id": "openai/gpt-5.2-instant", - "name": "GPT-5.2-Instant", - "display_name": "GPT-5.2-Instant", + "id": "anthropic/claude-sonnet-4.6", + "name": "Claude-Sonnet-4.6", + "display_name": "Claude-Sonnet-4.6", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 983040, + "output": 128000 }, "temperature": false, "tool_call": true, @@ -103234,98 +112233,195 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "effort", - "effort": "none", + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", "effort_options": [ - "none", "low", "medium", "high", - "xhigh" + "max" ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] } }, "attachment": true, "open_weights": false, - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 1.6, + "input": 2.6, "output": 13, - "cache_read": 0.16 + "cache_read": 0.26, + "cache_write": 3.2 }, "type": "chat" }, { - "id": "cerebras/gpt-oss-120b-cs", - "name": "GPT-OSS-120B-CS", - "display_name": "GPT-OSS-120B-CS", + "id": "anthropic/claude-opus-4", + "name": "Claude-Opus-4", + "display_name": "Claude-Opus-4", "modalities": { "input": [ + "text", + "image", + "pdf" + ], + "output": [ "text" + ] + }, + "limit": { + "context": 192512, + "output": 28672 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-05-21", + "last_updated": "2025-05-21", + "cost": { + "input": 13, + "output": 64, + "cache_read": 1.3, + "cache_write": 16 + }, + "type": "chat" + }, + { + "id": "anthropic/claude-opus-4.6", + "name": "Claude-Opus-4.6", + "display_name": "Claude-Opus-4.6", + "modalities": { + "input": [ + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 983040, + "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2025-08-06", - "last_updated": "2025-08-06", + "release_date": "2026-02-04", + "last_updated": "2026-02-04", "cost": { - "input": 0.35, - "output": 0.75 + "input": 4.3, + "output": 21, + "cache_read": 0.43, + "cache_write": 5.3 }, "type": "chat" }, { - "id": "cerebras/llama-3.3-70b-cs", - "name": "llama-3.3-70b-cs", - "display_name": "llama-3.3-70b-cs", + "id": "lumalabs/ray2", + "name": "Ray2", + "display_name": "Ray2", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 8192, + "context": 5000, "output": 8192 }, "temperature": false, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-05-13", - "last_updated": "2025-05-13", + "release_date": "2025-02-20", + "last_updated": "2025-02-20", "type": "chat" }, { - "id": "cerebras/llama-3.1-8b-cs", - "name": "Llama-3.1-8B-CS", - "display_name": "Llama-3.1-8B-CS", + "id": "poetools/claude-code", + "name": "claude-code", + "display_name": "claude-code", "modalities": { "input": [ "text" @@ -103335,28 +112431,25 @@ ] }, "limit": { - "context": 128000, + "context": 8192, "output": 8192 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "release_date": "2025-05-13", - "last_updated": "2025-05-13", - "cost": { - "input": 0.1, - "output": 0.1 - }, + "release_date": "2025-11-27", + "last_updated": "2025-11-27", "type": "chat" }, { - "id": "cerebras/qwen3-235b-2507-cs", - "name": "qwen3-235b-2507-cs", - "display_name": "qwen3-235b-2507-cs", + "id": "empiriolabs/deepseek-v4-pro-el", + "name": "DeepSeek-V4-Pro-EL", + "display_name": "DeepSeek-V4-Pro-EL", "modalities": { "input": [ "text" @@ -103366,25 +112459,28 @@ ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 1000000, + "output": 384000 }, - "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": true, - "open_weights": false, - "release_date": "2025-08-06", - "last_updated": "2025-08-06", + "open_weights": true, + "release_date": "2026-04-24", + "last_updated": "2026-05-02", + "cost": { + "input": 1.67, + "output": 3.33 + }, "type": "chat" }, { - "id": "cerebras/qwen3-32b-cs", - "name": "qwen3-32b-cs", - "display_name": "qwen3-32b-cs", + "id": "empiriolabs/deepseek-v4-flash-el", + "name": "DeepSeek-V4-Flash-EL", + "display_name": "DeepSeek-V4-Flash-EL", "modalities": { "input": [ "text" @@ -103394,35 +112490,39 @@ ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 1000000, + "output": 384000 }, - "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": true, - "open_weights": false, - "release_date": "2025-05-15", - "last_updated": "2025-05-15", + "open_weights": true, + "release_date": "2026-04-24", + "last_updated": "2026-05-02", + "cost": { + "input": 0.14, + "output": 0.28 + }, "type": "chat" }, { - "id": "ideogramai/ideogram-v2a", - "name": "Ideogram-v2a", - "display_name": "Ideogram-v2a", + "id": "stabilityai/stablediffusionxl", + "name": "StableDiffusionXL", + "display_name": "StableDiffusionXL", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "image" ] }, "limit": { - "context": 150, + "context": 200, "output": 8192 }, "temperature": false, @@ -103432,8 +112532,8 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-02-27", - "last_updated": "2025-02-27", + "release_date": "2023-07-09", + "last_updated": "2023-07-09", "type": "chat" }, { @@ -103465,9 +112565,9 @@ "type": "chat" }, { - "id": "ideogramai/ideogram-v2a-turbo", - "name": "Ideogram-v2a-Turbo", - "display_name": "Ideogram-v2a-Turbo", + "id": "ideogramai/ideogram-v2a", + "name": "Ideogram-v2a", + "display_name": "Ideogram-v2a", "modalities": { "input": [ "text" @@ -103520,20 +112620,19 @@ "type": "chat" }, { - "id": "lumalabs/ray2", - "name": "Ray2", - "display_name": "Ray2", + "id": "ideogramai/ideogram-v2a-turbo", + "name": "Ideogram-v2a-Turbo", + "display_name": "Ideogram-v2a-Turbo", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "video" + "image" ] }, "limit": { - "context": 5000, + "context": 150, "output": 8192 }, "temperature": false, @@ -103543,37 +112642,27 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-02-20", - "last_updated": "2025-02-20", + "release_date": "2025-02-27", + "last_updated": "2025-02-27", "type": "chat" - } - ] - }, - "umans-ai-coding-plan": { - "id": "umans-ai-coding-plan", - "name": "Umans AI Coding Plan", - "display_name": "Umans AI Coding Plan", - "api": "https://api.code.umans.ai/v1", - "doc": "https://app.umans.ai/offers/code/docs", - "models": [ + }, { - "id": "umans-kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "novita/glm-4.7", + "name": "glm-4.7", + "display_name": "glm-4.7", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 205000, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -103591,22 +112680,15 @@ } }, "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 - }, + "open_weights": false, + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "type": "chat" }, { - "id": "umans-glm-5.1", - "name": "GLM 5.1", - "display_name": "GLM 5.1", + "id": "novita/minimax-m2.1", + "name": "minimax-m2.1", + "display_name": "minimax-m2.1", "modalities": { "input": [ "text" @@ -103616,10 +112698,10 @@ ] }, "limit": { - "context": 204800, + "context": 205000, "output": 131072 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -103627,78 +112709,62 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 - }, + "attachment": true, + "open_weights": false, + "release_date": "2025-12-26", + "last_updated": "2025-12-26", "type": "chat" }, { - "id": "umans-qwen3.6-35b-a3b", - "name": "Qwen3.6 35B A3B", - "display_name": "Qwen3.6 35B A3B", + "id": "novita/glm-4.6", + "name": "GLM-4.6", + "display_name": "GLM-4.6", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 8192, + "output": 8192 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, - "attachment": true, - "open_weights": true, - "release_date": "2026-04-17", - "last_updated": "2026-04-17", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "extra_capabilities": { + "reasoning": { + "supported": true + } }, + "attachment": true, + "open_weights": false, + "release_date": "2025-09-30", + "last_updated": "2025-09-30", "type": "chat" }, { - "id": "umans-coder", - "name": "Umans Coder", - "display_name": "Umans Coder", + "id": "novita/kimi-k2-thinking", + "name": "kimi-k2-thinking", + "display_name": "kimi-k2-thinking", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 256000, + "output": 8192 }, "temperature": false, "tool_call": true, @@ -103718,79 +112784,29 @@ } }, "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 - }, + "open_weights": false, + "release_date": "2025-11-07", + "last_updated": "2025-11-07", "type": "chat" }, { - "id": "umans-flash", - "name": "Umans Flash", - "display_name": "Umans Flash", + "id": "novita/kimi-k2.5", + "name": "Kimi-K2.5", + "display_name": "Kimi-K2.5", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262144, + "context": 128000, "output": 262144 }, - "temperature": false, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": true, - "open_weights": true, - "release_date": "2026-04-17", - "last_updated": "2026-04-17", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 - }, - "type": "chat" - } - ] - }, - "firepass": { - "id": "firepass", - "name": "Fireworks (Firepass)", - "display_name": "Fireworks (Firepass)", - "api": "https://api.fireworks.ai/inference/v1/", - "doc": "https://docs.fireworks.ai/firepass", - "models": [ - { - "id": "accounts/fireworks/routers/kimi-k2p6-turbo", - "name": "Kimi K2.6 Turbo", - "display_name": "Kimi K2.6 Turbo", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262000, - "output": 262000 - }, "temperature": true, "tool_call": true, "reasoning": { @@ -103808,85 +112824,63 @@ ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-04-17", - "last_updated": "2026-04-17", + "attachment": true, + "open_weights": false, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 0.6, + "output": 3, + "cache_read": 0.1 }, "type": "chat" - } - ] - }, - "gmicloud": { - "id": "gmicloud", - "name": "GMI Cloud", - "display_name": "GMI Cloud", - "api": "https://api.gmi-serving.com/v1", - "doc": "https://docs.gmicloud.ai/inference-engine/api-reference/llm-api-reference", - "models": [ + }, { - "id": "zai-org/GLM-5-FP8", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "novita/glm-4.6v", + "name": "glm-4.6v", + "display_name": "glm-4.6v", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 202752, - "output": 131072 + "context": 131000, + "output": 32768 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "cost": { - "input": 0.6, - "output": 1.92, - "cache_read": 0.12 - }, + "attachment": true, + "open_weights": false, + "release_date": "2025-12-09", + "last_updated": "2025-12-09", "type": "chat" }, { - "id": "zai-org/GLM-5.1-FP8", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "novita/kimi-k2.6", + "name": "Kimi-K2.6", + "display_name": "Kimi-K2.6", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 202752, - "output": 131072 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -103896,30 +112890,25 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "knowledge": "2025-04", + "release_date": "2026-04-20", + "last_updated": "2026-05-02", "cost": { - "input": 0.98, - "output": 3.08, - "cache_read": 0.182 + "input": 0.96, + "output": 4.04, + "cache_read": 0.16 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4.6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "novita/glm-4.7-flash", + "name": "glm-4.7-flash", + "display_name": "glm-4.7-flash", "modalities": { "input": [ "text" @@ -103929,59 +112918,30 @@ ] }, "limit": { - "context": 409600, - "output": 64000 + "context": 200000, + "output": 65500 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] + "supported": true } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", - "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3 - }, + "release_date": "2026-01-19", + "last_updated": "2026-01-19", "type": "chat" }, { - "id": "anthropic/claude-opus-4.7", - "name": "Claude Opus 4.7", - "display_name": "Claude Opus 4.7", + "id": "novita/glm-4.7-n", + "name": "glm-4.7-n", + "display_name": "glm-4.7-n", "modalities": { "input": [ "text" @@ -103991,57 +112951,25 @@ ] }, "limit": { - "context": 409600, - "output": 128000 + "context": 205000, + "output": 131072 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] - } + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", - "cost": { - "input": 4.5, - "output": 22.5, - "cache_read": 0.45 - }, + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "type": "chat" }, { - "id": "anthropic/claude-opus-4.6", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", + "id": "novita/glm-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ "text" @@ -104051,59 +112979,41 @@ ] }, "limit": { - "context": 409600, - "output": 128000 + "context": 205000, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-03-13", + "release_date": "2026-02-15", + "last_updated": "2026-02-15", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5 + "input": 1, + "output": 3.2, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "novita/deepseek-v3.2", + "name": "DeepSeek-V3.2", + "display_name": "DeepSeek-V3.2", "modalities": { "input": [ "text" @@ -104113,8 +113023,8 @@ ] }, "limit": { - "context": 65536, - "output": 65536 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -104124,76 +113034,70 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": true, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "cost": { - "input": 0.855, - "output": 3.6, - "cache_read": 0.144 + "input": 0.27, + "output": 0.4, + "cache_read": 0.13 }, "type": "chat" - }, + } + ] + }, + "kimi-for-coding": { + "id": "kimi-for-coding", + "name": "Kimi For Coding", + "display_name": "Kimi For Coding", + "api": "https://api.kimi.com/coding/v1", + "doc": "https://www.kimi.com/code/docs/en/third-party-tools/other-coding-agents.html", + "models": [ { - "id": "deepseek-ai/DeepSeek-V4-Flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "k2p7", + "name": "Kimi K2.7 Code", + "display_name": "Kimi K2.7 Code", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 1048575, - "output": 384000 + "context": 262144, + "output": 32768 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "knowledge": "2025-01", + "release_date": "2026-06-12", + "last_updated": "2026-06-12", "cost": { - "input": 0.112, - "output": 0.224, - "cache_read": 0.022 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V4-Pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "display_name": "Kimi K2 Thinking", "modalities": { "input": [ "text" @@ -104203,8 +113107,8 @@ ] }, "limit": { - "context": 1048576, - "output": 384000 + "context": 262144, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -104225,32 +113129,26 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "knowledge": "2025-07", + "release_date": "2025-11", + "last_updated": "2025-12", "cost": { - "input": 1.392, - "output": 2.784, - "cache_read": 0.116 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" - } - ] - }, - "mixlayer": { - "id": "mixlayer", - "name": "Mixlayer", - "display_name": "Mixlayer", - "api": "https://models.mixlayer.ai/v1", - "doc": "https://docs.mixlayer.com", - "models": [ + }, { - "id": "qwen/qwen3.5-122b-a10b", - "name": "Qwen3.5 122B A10B", - "display_name": "Qwen3.5 122B A10B", + "id": "k2p5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" @@ -104258,7 +113156,7 @@ }, "limit": { "context": 262144, - "output": 262144 + "output": 32768 }, "temperature": true, "tool_call": true, @@ -104266,34 +113164,28 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", "cost": { - "input": 0.4, - "output": 3.2 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen/qwen3.5-9b", - "name": "Qwen3.5 9B", - "display_name": "Qwen3.5 9B", + "id": "k2p6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" @@ -104301,7 +113193,7 @@ }, "limit": { "context": 262144, - "output": 262144 + "output": 32768 }, "temperature": true, "tool_call": true, @@ -104309,34 +113201,28 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "knowledge": "2025-01", + "release_date": "2026-04", + "last_updated": "2026-04", "cost": { - "input": 0.1, - "output": 0.4 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen/qwen3.5-35b-a3b", - "name": "Qwen3.5 35B A3B", - "display_name": "Qwen3.5 35B A3B", + "id": "kimi-k2.7-code", + "name": "Kimi K2.7 Code", + "display_name": "Kimi K2.7 Code", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" @@ -104344,7 +113230,7 @@ }, "limit": { "context": 262144, - "output": 262144 + "output": 32768 }, "temperature": true, "tool_call": true, @@ -104355,6 +113241,8 @@ "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": true, + "mode": "fixed", "interleaved": true, "summaries": true, "visibility": "summary", @@ -104365,21 +113253,26 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "knowledge": "2025-01", + "release_date": "2026-04", + "last_updated": "2026-04", "cost": { - "input": 0.25, - "output": 1.3 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen/qwen3.5-397b-a17b", - "name": "Qwen3.5 397B A17B", - "display_name": "Qwen3.5 397B A17B", + "id": "kimi-k2.7-code-highspeed", + "name": "Kimi K2.7 Code Highspeed", + "display_name": "Kimi K2.7 Code Highspeed", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" @@ -104387,7 +113280,7 @@ }, "limit": { "context": 262144, - "output": 262144 + "output": 32768 }, "temperature": true, "tool_call": true, @@ -104398,6 +113291,8 @@ "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": true, + "mode": "fixed", "interleaved": true, "summaries": true, "visibility": "summary", @@ -104408,21 +113303,26 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "knowledge": "2025-01", + "release_date": "2026-04", + "last_updated": "2026-04", "cost": { - "input": 0.6, - "output": 3.6 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen/qwen3.5-27b", - "name": "Qwen3.5 27B", - "display_name": "Qwen3.5 27B", + "id": "kimi-for-coding", + "name": "K2.7 Code", + "display_name": "K2.7 Code", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" @@ -104430,7 +113330,7 @@ }, "limit": { "context": 262144, - "output": 262144 + "output": 32768 }, "temperature": true, "tool_call": true, @@ -104441,6 +113341,8 @@ "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": true, + "mode": "fixed", "interleaved": true, "summaries": true, "visibility": "summary", @@ -104451,25 +113353,28 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "knowledge": "2025-01", + "release_date": "2026-04", + "last_updated": "2026-04", "cost": { - "input": 0.3, - "output": 2.4 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" } ] }, - "minimax-coding-plan": { - "id": "minimax-coding-plan", - "name": "MiniMax Coding Plan (minimax.io)", - "display_name": "MiniMax Coding Plan (minimax.io)", - "api": "https://api.minimax.io/anthropic/v1", - "doc": "https://platform.minimax.io/docs/coding-plan/intro", + "dinference": { + "id": "dinference", + "name": "DInference", + "display_name": "DInference", + "api": "https://api.dinference.com/v1", + "doc": "https://dinference.com", "models": [ { - "id": "MiniMax-M2.5", + "id": "minimax-m2.5", "name": "MiniMax-M2.5", "display_name": "MiniMax-M2.5", "modalities": { @@ -104481,8 +113386,8 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, @@ -104500,97 +113405,15 @@ "release_date": "2026-02-12", "last_updated": "2026-02-12", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 - }, - "type": "chat" - }, - { - "id": "MiniMax-M3", - "name": "MiniMax-M3", - "display_name": "MiniMax-M3", - "modalities": { - "input": [ - "text", - "image", - "video" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 512000, - "output": 128000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": true, - "open_weights": true, - "release_date": "2026-06-01", - "last_updated": "2026-06-01", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 - }, - "type": "chat" - }, - { - "id": "MiniMax-M2.5-highspeed", - "name": "MiniMax-M2.5-highspeed", - "display_name": "MiniMax-M2.5-highspeed", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 204800, - "output": 131072 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-13", - "last_updated": "2026-02-13", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.22, + "output": 0.88 }, "type": "chat" }, { - "id": "MiniMax-M2.7", - "name": "MiniMax-M2.7", - "display_name": "MiniMax-M2.7", + "id": "glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", "modalities": { "input": [ "text" @@ -104600,8 +113423,8 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 200000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -104622,20 +113445,19 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.45, + "output": 1.65 }, "type": "chat" }, { - "id": "MiniMax-M2", - "name": "MiniMax-M2", - "display_name": "MiniMax-M2", + "id": "glm-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ "text" @@ -104645,7 +113467,7 @@ ] }, "limit": { - "context": 196608, + "context": 200000, "output": 128000 }, "temperature": true, @@ -104654,43 +113476,6 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-10-27", - "last_updated": "2025-10-27", - "cost": { - "input": 0, - "output": 0 - }, - "type": "chat" - }, - { - "id": "MiniMax-M2.7-highspeed", - "name": "MiniMax-M2.7-highspeed", - "display_name": "MiniMax-M2.7-highspeed", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 204800, - "output": 131072 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, "extra_capabilities": { "reasoning": { "supported": true, @@ -104704,69 +113489,20 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 1.25, + "output": 3.89 }, "type": "chat" }, { - "id": "MiniMax-M2.1", - "name": "MiniMax-M2.1", - "display_name": "MiniMax-M2.1", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 204800, - "output": 131072 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "cost": { - "input": 0, - "output": 0 - }, - "type": "chat" - } - ] - }, - "evroc": { - "id": "evroc", - "name": "evroc", - "display_name": "evroc", - "api": "https://models.think.evroc.com/v1", - "doc": "https://docs.evroc.com/products/think/overview.html", - "models": [ - { - "id": "mistralai/Voxtral-Small-24B-2507", - "name": "Voxtral Small 24B", - "display_name": "Voxtral Small 24B", + "id": "gpt-oss-120b", + "name": "GPT OSS 120B", + "display_name": "GPT OSS 120B", "modalities": { "input": [ - "audio", "text" ], "output": [ @@ -104774,28 +113510,33 @@ ] }, "limit": { - "context": 32000, - "output": 32000 + "context": 131072, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": true, - "release_date": "2025-03-01", - "last_updated": "2025-03-01", + "release_date": "2025-08", + "last_updated": "2025-08", "cost": { - "input": 0.00236, - "output": 0.00236, - "output_audio": 2.36 + "input": 0.0675, + "output": 0.27 }, "type": "chat" }, { - "id": "mistralai/devstral-small-2-24b-instruct-2512", - "name": "Devstral Small 2 24B Instruct 2512", - "display_name": "Devstral Small 2 24B Instruct 2512", + "id": "glm-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ "text" @@ -104805,102 +113546,173 @@ ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 200000, + "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 0.12, - "output": 0.47 + "input": 0.75, + "output": 2.4 }, "type": "chat" - }, + } + ] + }, + "perplexity-agent": { + "id": "perplexity-agent", + "name": "Perplexity Agent", + "display_name": "Perplexity Agent", + "api": "https://api.perplexity.ai/v1", + "doc": "https://docs.perplexity.ai/docs/agent-api/models", + "models": [ { - "id": "mistralai/Magistral-Small-2509", - "name": "Magistral Small 1.2 24B", - "display_name": "Magistral Small 1.2 24B", + "id": "xai/grok-4-1-fast-non-reasoning", + "name": "Grok 4.1 Fast (Non-Reasoning)", + "display_name": "Grok 4.1 Fast (Non-Reasoning)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 2000000, + "output": 30000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-06-01", - "last_updated": "2025-06-01", + "attachment": true, + "open_weights": false, + "knowledge": "2025-07", + "release_date": "2025-11-19", + "last_updated": "2025-11-19", "cost": { - "input": 0.59, - "output": 2.36 + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "KBLab/kb-whisper-large", - "name": "KB Whisper", - "display_name": "KB Whisper", + "id": "google/gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "display_name": "Gemini 2.5 Pro", "modalities": { "input": [ - "audio" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 448, - "output": 448 + "context": 1048576, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-10-01", - "last_updated": "2024-10-01", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", "cost": { - "input": 0.00236, - "output": 0.00236, - "output_audio": 2.36 + "input": 1.25, + "output": 10, + "cache_read": 0.125, + "tiers": [ + { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "google/gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "display_name": "Gemini 2.5 Flash", "modalities": { "input": [ "text", "image", - "video" + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1048576, + "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -104909,88 +113721,183 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", "cost": { - "input": 1.47, - "output": 5.9 + "input": 0.3, + "output": 2.5, + "cache_read": 0.03 }, "type": "chat" }, { - "id": "nvidia/Llama-3.3-70B-Instruct-FP8", - "name": "Llama 3.3 70B", - "display_name": "Llama 3.3 70B", + "id": "google/gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "display_name": "Gemini 3.1 Pro Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 1048576, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", "cost": { - "input": 1.18, - "output": 1.18 + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "intfloat/multilingual-e5-large-instruct", - "name": "E5 Multi-Lingual Large Embeddings 0.6B", - "display_name": "E5 Multi-Lingual Large Embeddings 0.6B", + "id": "google/gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "display_name": "Gemini 3 Flash Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 512, - "output": 512 + "context": 1048576, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-06-01", - "last_updated": "2024-06-01", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", "cost": { - "input": 0.12, - "output": 0.12 + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "tiers": [ + { + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 0.5, + "output": 3, + "cache_read": 0.05 + } }, "type": "chat" }, { - "id": "microsoft/Phi-4-multimodal-instruct", - "name": "Phi-4 15B", - "display_name": "Phi-4 15B", + "id": "openai/gpt-5.2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", "modalities": { "input": [ "text", @@ -105001,131 +113908,237 @@ ] }, "limit": { - "context": 32000, - "output": 32000 + "context": 400000, + "output": 128000 }, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.24, - "output": 0.47 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Embedding-8B", - "name": "Qwen3 Embedding 8B", - "display_name": "Qwen3 Embedding 8B", + "id": "openai/gpt-5.4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 40960, - "output": 4096 + "context": 1050000, + "output": 128000 }, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-07-30", - "last_updated": "2025-07-30", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0.12, - "output": 0.12 + "input": 2.5, + "output": 15, + "cache_read": 0.25 }, - "type": "embedding" + "type": "chat" }, { - "id": "Qwen/Qwen3-30B-A3B-Instruct-2507-FP8", - "name": "Qwen3 30B 2507", - "display_name": "Qwen3 30B 2507", + "id": "openai/gpt-5-mini", + "name": "GPT-5 Mini", + "display_name": "GPT-5 Mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 64000, - "output": 64000 + "context": 400000, + "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-07-30", - "last_updated": "2025-07-30", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.35, - "output": 1.42 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "Qwen/Qwen3-VL-30B-A3B-Instruct", - "name": "Qwen3 VL 30B", - "display_name": "Qwen3 VL 30B", + "id": "openai/gpt-5.1", + "name": "GPT-5.1", + "display_name": "GPT-5.1", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 100000, - "output": 100000 + "context": 400000, + "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-07-30", - "last_updated": "2025-07-30", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0.24, - "output": 0.94 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "display_name": "GPT OSS 120B", + "id": "openai/gpt-5.5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 65536, - "output": 65536 + "context": 1050000, + "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -105133,293 +114146,441 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "attachment": true, + "open_weights": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 0.24, - "output": 0.94 + "input": 5, + "output": 30, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "openai/whisper-large-v3", - "name": "Whisper 3 Large", - "display_name": "Whisper 3 Large", + "id": "nvidia/nemotron-3-super-120b-a12b", + "name": "Nemotron 3 Super 120B", + "display_name": "Nemotron 3 Super 120B", "modalities": { "input": [ - "audio" + "text" ], "output": [ "text" ] }, "limit": { - "context": 448, - "output": 4096 + "context": 1000000, + "output": 32000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "release_date": "2024-10-01", - "last_updated": "2024-10-01", + "knowledge": "2026-02", + "release_date": "2026-03-11", + "last_updated": "2026-03-11", "cost": { - "input": 0.00236, - "output": 0.00236, - "output_audio": 2.36 + "input": 0.25, + "output": 2.5 }, "type": "chat" - } - ] - }, - "nvidia": { - "id": "nvidia", - "name": "Nvidia", - "display_name": "Nvidia", - "api": "https://integrate.api.nvidia.com/v1", - "doc": "https://docs.api.nvidia.com/nim/", - "models": [ + }, { - "id": "z-ai/glm-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "anthropic/claude-opus-4-5", + "name": "Claude Opus 4.5", + "display_name": "Claude Opus 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", "cost": { - "input": 0, - "output": 0 + "input": 5, + "output": 25, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "upstage/solar-10_7b-instruct", - "name": "solar-10.7b-instruct", - "display_name": "solar-10.7b-instruct", + "id": "anthropic/claude-sonnet-4-5", + "name": "Claude Sonnet 4.5", + "display_name": "Claude Sonnet 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2024-06-05", - "last_updated": "2025-04-10", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0, - "output": 0 + "input": 3, + "output": 15, + "cache_read": 0.3 }, "type": "chat" }, { - "id": "sarvamai/sarvam-m", - "name": "sarvam-m", - "display_name": "sarvam-m", + "id": "anthropic/claude-opus-4-7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "cost": { - "input": 0, - "output": 0 - }, - "type": "chat" - }, - { - "id": "mistralai/magistral-small-2506", - "name": "Magistral Small 2506", - "display_name": "Magistral Small 2506", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 32768, - "output": 32768 + "supported": true, + "default": false }, - "tool_call": false, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] + } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 0, - "output": 0 + "input": 5, + "output": 25, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "mistralai/mistral-large-3-675b-instruct-2512", - "name": "Mistral Large 3 675B Instruct 2512", - "display_name": "Mistral Large 3 675B Instruct 2512", + "id": "anthropic/claude-haiku-4-5", + "name": "Claude Haiku 4.5", + "display_name": "Claude Haiku 4.5", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2025-12-02", - "last_updated": "2025-12-02", + "open_weights": false, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 0, - "output": 0 + "input": 1, + "output": 5, + "cache_read": 0.1 }, "type": "chat" }, { - "id": "mistralai/mistral-nemotron", - "name": "mistral-nemotron", - "display_name": "mistral-nemotron", + "id": "anthropic/claude-opus-4-6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 200000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2025-06-11", - "last_updated": "2025-06-12", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 0, - "output": 0 + "input": 5, + "output": 25, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "mistralai/mixtral-8x7b-instruct", - "name": "Mistral: Mixtral 8x7B Instruct", - "display_name": "Mistral: Mixtral 8x7B Instruct", + "id": "anthropic/claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 16384 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "release_date": "2023-12-10", - "last_updated": "2026-03-15", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", "cost": { - "input": 0, - "output": 0 + "input": 3, + "output": 15, + "cache_read": 0.3 }, "type": "chat" }, { - "id": "mistralai/mistral-7b-instruct-v03", - "name": "Mistral-7B-Instruct-v0.3", - "display_name": "Mistral-7B-Instruct-v0.3", + "id": "perplexity/sonar", + "name": "Sonar", + "display_name": "Sonar", "modalities": { "input": [ "text" @@ -105429,8 +114590,8 @@ ] }, "limit": { - "context": 65536, - "output": 65536 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -105438,19 +114599,30 @@ "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-04-01", - "last_updated": "2025-04-01", + "open_weights": false, + "knowledge": "2025-09-01", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", "cost": { - "input": 0, - "output": 0 + "input": 0.25, + "output": 2.5, + "cache_read": 0.0625 }, "type": "chat" - }, + } + ] + }, + "siliconflow-com": { + "id": "siliconflow-com", + "name": "SiliconFlow", + "display_name": "SiliconFlow", + "api": "https://api.siliconflow.com/v1", + "doc": "https://cloud.siliconflow.com/models", + "models": [ { - "id": "mistralai/mixtral-8x22b-instruct", - "name": "Mistral: Mixtral 8x22B Instruct", - "display_name": "Mistral: Mixtral 8x22B Instruct", + "id": "THUDM/GLM-Z1-32B-0414", + "name": "THUDM/GLM-Z1-32B-0414", + "display_name": "THUDM/GLM-Z1-32B-0414", "modalities": { "input": [ "text" @@ -105460,92 +114632,91 @@ ] }, "limit": { - "context": 65536, - "output": 13108 + "context": 131000, + "output": 131000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": true, - "release_date": "2024-04-17", - "last_updated": "2024-04-17", + "open_weights": false, + "release_date": "2025-04-18", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.14, + "output": 0.57 }, "type": "chat" }, { - "id": "mistralai/mistral-medium-3-instruct", - "name": "Mistral Medium 3", - "display_name": "Mistral Medium 3", + "id": "THUDM/GLM-4-32B-0414", + "name": "THUDM/GLM-4-32B-0414", + "display_name": "THUDM/GLM-4-32B-0414", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 33000, + "output": 33000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "release_date": "2025-04-18", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.27, + "output": 0.27 }, "type": "chat" }, { - "id": "mistralai/mistral-small-4-119b-2603", - "name": "mistral-small-4-119b-2603", - "display_name": "mistral-small-4-119b-2603", + "id": "THUDM/GLM-4-9B-0414", + "name": "THUDM/GLM-4-9B-0414", + "display_name": "THUDM/GLM-4-9B-0414", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 33000, + "output": 33000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2026-03-16", - "last_updated": "2026-03-16", + "attachment": false, + "open_weights": false, + "release_date": "2025-04-18", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.086, + "output": 0.086 }, "type": "chat" }, { - "id": "qwen/qwen2.5-coder-32b-instruct", - "name": "Qwen2.5 Coder 32b Instruct", - "display_name": "Qwen2.5 Coder 32b Instruct", + "id": "THUDM/GLM-Z1-9B-0414", + "name": "THUDM/GLM-Z1-9B-0414", + "display_name": "THUDM/GLM-Z1-9B-0414", "modalities": { "input": [ "text" @@ -105555,42 +114726,40 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131000, + "output": 131000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": true, - "release_date": "2024-11-06", - "last_updated": "2024-11-06", + "open_weights": false, + "release_date": "2025-04-18", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.086, + "output": 0.086 }, "type": "chat" }, { - "id": "qwen/qwen3.5-122b-a10b", - "name": "Qwen3.5 122B-A10B", - "display_name": "Qwen3.5 122B-A10B", + "id": "moonshotai/Kimi-K2-Thinking", + "name": "moonshotai/Kimi-K2-Thinking", + "display_name": "moonshotai/Kimi-K2-Thinking", "modalities": { "input": [ - "text", - "image", - "video", - "audio" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 262000, + "output": 262000 }, "temperature": true, "tool_call": true, @@ -105609,20 +114778,20 @@ ] } }, - "attachment": true, - "open_weights": true, - "release_date": "2026-02-23", - "last_updated": "2026-02-23", + "attachment": false, + "open_weights": false, + "release_date": "2025-11-07", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.55, + "output": 2.5 }, "type": "chat" }, { - "id": "qwen/qwen3-next-80b-a3b-instruct", - "name": "Qwen3-Next-80B-A3B-Instruct", - "display_name": "Qwen3-Next-80B-A3B-Instruct", + "id": "moonshotai/Kimi-K2-Instruct-0905", + "name": "moonshotai/Kimi-K2-Instruct-0905", + "display_name": "moonshotai/Kimi-K2-Instruct-0905", "modalities": { "input": [ "text" @@ -105632,8 +114801,8 @@ ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 262000, + "output": 262000 }, "temperature": true, "tool_call": true, @@ -105642,51 +114811,18 @@ }, "attachment": false, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2024-12-01", - "last_updated": "2025-09-05", + "release_date": "2025-09-08", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.4, + "output": 2 }, "type": "chat" }, { - "id": "qwen/qwen-image-edit", - "name": "Qwen Image Edit", - "display_name": "Qwen Image Edit", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "image" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "release_date": "2025-08-19", - "last_updated": "2025-08-19", - "cost": { - "input": 0, - "output": 0 - }, - "type": "imageGeneration" - }, - { - "id": "qwen/qwen3-coder-480b-a35b-instruct", - "name": "Qwen3 Coder 480B A35B Instruct", - "display_name": "Qwen3 Coder 480B A35B Instruct", + "id": "moonshotai/Kimi-K2-Instruct", + "name": "moonshotai/Kimi-K2-Instruct", + "display_name": "moonshotai/Kimi-K2-Instruct", "modalities": { "input": [ "text" @@ -105696,8 +114832,8 @@ ] }, "limit": { - "context": 262144, - "output": 66536 + "context": 131000, + "output": 131000 }, "temperature": true, "tool_call": true, @@ -105706,51 +114842,63 @@ }, "attachment": false, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", + "release_date": "2025-07-13", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.58, + "output": 2.29 }, "type": "chat" }, { - "id": "qwen/qwen-image", - "name": "Qwen Image", - "display_name": "Qwen Image", + "id": "moonshotai/Kimi-K2.6", + "name": "moonshotai/Kimi-K2.6", + "display_name": "moonshotai/Kimi-K2.6", "modalities": { "input": [ "text", "image" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 262000, + "output": 262000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0, - "output": 0 + "input": 0.95, + "output": 4, + "cache_read": 0.16 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "qwen/qwen3.5-397b-a17b", - "name": "Qwen3.5-397B-A17B", - "display_name": "Qwen3.5-397B-A17B", + "id": "moonshotai/Kimi-K2.5", + "name": "moonshotai/Kimi-K2.5", + "display_name": "moonshotai/Kimi-K2.5", "modalities": { "input": [ "text", @@ -105761,8 +114909,8 @@ ] }, "limit": { - "context": 262144, - "output": 8192 + "context": 262000, + "output": 262000 }, "temperature": true, "tool_call": true, @@ -105781,155 +114929,122 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2026-01", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 0, - "output": 0 + "input": 0.45, + "output": 2.25 }, "type": "chat" }, { - "id": "black-forest-labs/flux_1-schnell", - "name": "FLUX.1-schnell", - "display_name": "FLUX.1-schnell", + "id": "baidu/ERNIE-4.5-300B-A47B", + "name": "baidu/ERNIE-4.5-300B-A47B", + "display_name": "baidu/ERNIE-4.5-300B-A47B", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 77, - "output": 8192 + "context": 131000, + "output": 131000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2024-08-01", - "last_updated": "2026-02-04", + "open_weights": false, + "release_date": "2025-07-02", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.28, + "output": 1.1 }, "type": "chat" }, { - "id": "black-forest-labs/flux_2-klein-4b", - "name": "FLUX.2 Klein 4B", - "display_name": "FLUX.2 Klein 4B", + "id": "ByteDance-Seed/Seed-OSS-36B-Instruct", + "name": "ByteDance-Seed/Seed-OSS-36B-Instruct", + "display_name": "ByteDance-Seed/Seed-OSS-36B-Instruct", "modalities": { "input": [ - "image", "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 40960, - "output": 40960 + "context": 262000, + "output": 262000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-06", - "release_date": "2026-01-14", - "last_updated": "2026-01-31", - "cost": { - "input": 0, - "output": 0 - }, - "type": "chat" - }, - { - "id": "black-forest-labs/flux_1-kontext-dev", - "name": "FLUX.1-Kontext-dev", - "display_name": "FLUX.1-Kontext-dev", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "image" - ] - }, - "limit": { - "context": 40960, - "output": 40960 + "supported": true }, - "temperature": false, - "tool_call": false, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true + } }, - "attachment": true, - "open_weights": true, - "release_date": "2025-08-12", - "last_updated": "2025-08-12", + "attachment": false, + "open_weights": false, + "release_date": "2025-09-04", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.21, + "output": 0.57 }, "type": "chat" }, { - "id": "black-forest-labs/flux.1-dev", - "name": "FLUX.1-dev", - "display_name": "FLUX.1-dev", + "id": "stepfun-ai/Step-3.5-Flash", + "name": "stepfun-ai/Step-3.5-Flash", + "display_name": "stepfun-ai/Step-3.5-Flash", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 4096, - "output": 8192 + "context": 262000, + "output": 262000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "knowledge": "2024-08", - "release_date": "2024-08-01", - "last_updated": "2025-09-05", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 0, - "output": 0 + "input": 0.1, + "output": 0.3 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "google/gemma-4-31B-it", + "name": "Gemma 4 31B IT", + "display_name": "Gemma 4 31B IT", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" @@ -105942,35 +115057,22 @@ "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "attachment": false, + "open_weights": false, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0, - "output": 0 + "input": 0.13, + "output": 0.4 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2-instruct-0905", - "name": "Kimi K2 0905", - "display_name": "Kimi K2 0905", + "id": "google/gemma-4-26B-A4B-it", + "name": "Gemma 4 26B A4B IT", + "display_name": "Gemma 4 26B A4B IT", "modalities": { "input": [ "text" @@ -105989,20 +115091,19 @@ "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", + "open_weights": false, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0, - "output": 0 + "input": 0.12, + "output": 0.4 }, "type": "chat" }, { - "id": "abacusai/dracarys-llama-3_1-70b-instruct", - "name": "dracarys-llama-3.1-70b-instruct", - "display_name": "dracarys-llama-3.1-70b-instruct", + "id": "inclusionAI/Ling-flash-2.0", + "name": "inclusionAI/Ling-flash-2.0", + "display_name": "inclusionAI/Ling-flash-2.0", "modalities": { "input": [ "text" @@ -106012,8 +115113,8 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 131000, + "output": 131000 }, "temperature": true, "tool_call": true, @@ -106021,30 +115122,32 @@ "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2024-09-11", - "last_updated": "2025-05-22", + "open_weights": false, + "release_date": "2025-09-18", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.14, + "output": 0.57 }, "type": "chat" }, { - "id": "deepseek-ai/deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "Qwen/Qwen3-Omni-30B-A3B-Thinking", + "name": "Qwen/Qwen3-Omni-30B-A3B-Thinking", + "display_name": "Qwen/Qwen3-Omni-30B-A3B-Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 393216 + "context": 66000, + "output": 66000 }, "temperature": true, "tool_call": true, @@ -106063,229 +115166,221 @@ ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "attachment": true, + "open_weights": false, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.0028 + "input": 0.1, + "output": 0.4 }, "type": "chat" }, { - "id": "deepseek-ai/deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "Qwen/Qwen2.5-VL-72B-Instruct", + "name": "Qwen/Qwen2.5-VL-72B-Instruct", + "display_name": "Qwen/Qwen2.5-VL-72B-Instruct", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 393216 + "context": 131000, + "output": 4000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "attachment": true, + "open_weights": false, + "release_date": "2025-01-28", + "last_updated": "2025-11-25", "cost": { - "input": 0.435, - "output": 0.87, - "cache_read": 0.003625 + "input": 0.59, + "output": 0.59 }, "type": "chat" }, { - "id": "nvidia/cosmos-predict1-5b", - "name": "cosmos-predict1-5b", - "display_name": "cosmos-predict1-5b", + "id": "Qwen/Qwen2.5-VL-32B-Instruct", + "name": "Qwen/Qwen2.5-VL-32B-Instruct", + "display_name": "Qwen/Qwen2.5-VL-32B-Instruct", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 4096 + "context": 131000, + "output": 131000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, - "open_weights": true, - "release_date": "2025-03-18", - "last_updated": "2025-03-18", + "open_weights": false, + "release_date": "2025-03-24", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.27, + "output": 0.27 }, "type": "chat" }, { - "id": "nvidia/magpie-tts-zeroshot", - "name": "magpie-tts-zeroshot", - "display_name": "magpie-tts-zeroshot", + "id": "Qwen/Qwen3-30B-A3B-Thinking-2507", + "name": "Qwen/Qwen3-30B-A3B-Thinking-2507", + "display_name": "Qwen/Qwen3-30B-A3B-Thinking-2507", "modalities": { "input": [ - "text", - "audio" + "text" ], "output": [ - "audio" + "text" ] }, "limit": { - "context": 8192, - "output": 4096 + "context": 262000, + "output": 131000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": true, - "release_date": "2025-05-22", - "last_updated": "2025-06-12", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-07-31", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.09, + "output": 0.3 }, "type": "chat" }, { - "id": "nvidia/sparsedrive", - "name": "sparsedrive", - "display_name": "sparsedrive", + "id": "Qwen/Qwen2.5-7B-Instruct", + "name": "Qwen/Qwen2.5-7B-Instruct", + "display_name": "Qwen/Qwen2.5-7B-Instruct", "modalities": { "input": [ - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 33000, + "output": 4000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2025-03-18", - "last_updated": "2025-07-20", + "attachment": false, + "open_weights": false, + "release_date": "2024-09-18", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.05, + "output": 0.05 }, "type": "chat" }, { - "id": "nvidia/streampetr", - "name": "streampetr", - "display_name": "streampetr", + "id": "Qwen/Qwen3-VL-235B-A22B-Instruct", + "name": "Qwen/Qwen3-VL-235B-A22B-Instruct", + "display_name": "Qwen/Qwen3-VL-235B-A22B-Instruct", "modalities": { "input": [ - "video" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 262000, + "output": 262000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, - "open_weights": true, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "open_weights": false, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.3, + "output": 1.5 }, "type": "chat" }, { - "id": "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning", - "name": "Nemotron 3 Nano Omni", - "display_name": "Nemotron 3 Nano Omni", + "id": "Qwen/Qwen2.5-32B-Instruct", + "name": "Qwen/Qwen2.5-32B-Instruct", + "display_name": "Qwen/Qwen2.5-32B-Instruct", "modalities": { "input": [ - "text", - "image", - "video", - "audio" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 65536 + "context": 33000, + "output": 4000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2026-04-28", - "last_updated": "2026-04-28", + "attachment": false, + "open_weights": false, + "release_date": "2024-09-19", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.18, + "output": 0.18 }, "type": "chat" }, { - "id": "nvidia/nemotron-3-nano-30b-a3b", - "name": "nemotron-3-nano-30b-a3b", - "display_name": "nemotron-3-nano-30b-a3b", + "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "name": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "display_name": "Qwen/Qwen3-Next-80B-A3B-Instruct", "modalities": { "input": [ "text" @@ -106295,30 +115390,28 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 262000, + "output": 262000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2024-09", - "release_date": "2024-12", - "last_updated": "2024-12", + "open_weights": false, + "release_date": "2025-09-18", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.14, + "output": 1.4 }, "type": "chat" }, { - "id": "nvidia/nv-embed-v1", - "name": "nv-embed-v1", - "display_name": "nv-embed-v1", + "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", + "name": "Qwen/Qwen3-235B-A22B-Thinking-2507", + "display_name": "Qwen/Qwen3-235B-A22B-Thinking-2507", "modalities": { "input": [ "text" @@ -106328,60 +115421,71 @@ ] }, "limit": { - "context": 32768, - "output": 2048 + "context": 262000, + "output": 262000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": true, - "release_date": "2024-06-07", - "last_updated": "2025-07-22", + "open_weights": false, + "release_date": "2025-07-28", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.13, + "output": 0.6 }, "type": "chat" }, { - "id": "nvidia/llama-nemotron-rerank-vl-1b-v2", - "name": "llama-nemotron-rerank-vl-1b-v2", - "display_name": "llama-nemotron-rerank-vl-1b-v2", + "id": "Qwen/Qwen2.5-72B-Instruct-128K", + "name": "Qwen/Qwen2.5-72B-Instruct-128K", + "display_name": "Qwen/Qwen2.5-72B-Instruct-128K", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131000, + "output": 4000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2026-03-31", - "last_updated": "2026-03-31", + "attachment": false, + "open_weights": false, + "release_date": "2024-09-18", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.59, + "output": 0.59 }, "type": "chat" }, { - "id": "nvidia/studiovoice", - "name": "studiovoice", - "display_name": "studiovoice", + "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "name": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "display_name": "Qwen/Qwen3-Coder-480B-A35B-Instruct", "modalities": { "input": [ "text" @@ -106391,61 +115495,59 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 262000, + "output": 262000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2024-10-03", - "last_updated": "2025-06-13", + "open_weights": false, + "release_date": "2025-07-31", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.25, + "output": 1 }, "type": "chat" }, { - "id": "nvidia/cosmos-transfer2_5-2b", - "name": "cosmos-transfer2.5-2b", - "display_name": "cosmos-transfer2.5-2b", + "id": "Qwen/Qwen3-Coder-30B-A3B-Instruct", + "name": "Qwen/Qwen3-Coder-30B-A3B-Instruct", + "display_name": "Qwen/Qwen3-Coder-30B-A3B-Instruct", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 4096 + "context": 262000, + "output": 262000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2026-02-26", - "last_updated": "2026-02-26", + "attachment": false, + "open_weights": false, + "release_date": "2025-08-01", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.07, + "output": 0.28 }, "type": "chat" }, { - "id": "nvidia/nemotron-3-content-safety", - "name": "nemotron-3-content-safety", - "display_name": "nemotron-3-content-safety", + "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", + "name": "Qwen/Qwen3-30B-A3B-Instruct-2507", + "display_name": "Qwen/Qwen3-30B-A3B-Instruct-2507", "modalities": { "input": [ "text" @@ -106455,90 +115557,116 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 262000, + "output": 262000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "open_weights": false, + "release_date": "2025-07-30", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.09, + "output": 0.3 }, "type": "chat" }, { - "id": "nvidia/usdvalidate", - "name": "usdvalidate", - "display_name": "usdvalidate", + "id": "Qwen/Qwen3-VL-30B-A3B-Thinking", + "name": "Qwen/Qwen3-VL-30B-A3B-Thinking", + "display_name": "Qwen/Qwen3-VL-30B-A3B-Thinking", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 4096 + "context": 262000, + "output": 262000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-07-24", - "last_updated": "2025-01-08", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-10-11", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.29, + "output": 1 }, "type": "chat" }, { - "id": "nvidia/llama-3_2-nemoretriever-300m-embed-v1", - "name": "llama-3_2-nemoretriever-300m-embed-v1", - "display_name": "llama-3_2-nemoretriever-300m-embed-v1", + "id": "Qwen/Qwen3-VL-8B-Thinking", + "name": "Qwen/Qwen3-VL-8B-Thinking", + "display_name": "Qwen/Qwen3-VL-8B-Thinking", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 2048 + "context": 262000, + "output": 262000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-07-24", - "last_updated": "2025-07-24", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-10-15", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.18, + "output": 2 }, "type": "chat" }, { - "id": "nvidia/llama-nemotron-embed-vl-1b-v2", - "name": "llama-nemotron-embed-vl-1b-v2", - "display_name": "llama-nemotron-embed-vl-1b-v2", + "id": "Qwen/Qwen3-VL-8B-Instruct", + "name": "Qwen/Qwen3-VL-8B-Instruct", + "display_name": "Qwen/Qwen3-VL-8B-Instruct", "modalities": { "input": [ "text", @@ -106549,28 +115677,28 @@ ] }, "limit": { - "context": 32768, - "output": 2048 + "context": 262000, + "output": 262000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, - "open_weights": true, - "release_date": "2026-02-10", - "last_updated": "2026-02-10", + "open_weights": false, + "release_date": "2025-10-15", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.18, + "output": 0.68 }, "type": "chat" }, { - "id": "nvidia/usdcode", - "name": "usdcode", - "display_name": "usdcode", + "id": "Qwen/QwQ-32B", + "name": "Qwen/QwQ-32B", + "display_name": "Qwen/QwQ-32B", "modalities": { "input": [ "text" @@ -106580,90 +115708,115 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131000, + "output": 131000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": false, - "release_date": "2026-01-01", - "last_updated": "2026-01-01", + "release_date": "2025-03-06", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.15, + "output": 0.58 }, "type": "chat" }, { - "id": "nvidia/llama-3_1-nemotron-safety-guard-8b-v3", - "name": "llama-3.1-nemotron-safety-guard-8b-v3", - "display_name": "llama-3.1-nemotron-safety-guard-8b-v3", + "id": "Qwen/Qwen3-Omni-30B-A3B-Captioner", + "name": "Qwen/Qwen3-Omni-30B-A3B-Captioner", + "display_name": "Qwen/Qwen3-Omni-30B-A3B-Captioner", "modalities": { "input": [ - "text" + "audio" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 - }, - "temperature": false, - "tool_call": false, - "reasoning": { - "supported": false + "context": 66000, + "output": 66000 }, - "attachment": false, - "open_weights": true, - "release_date": "2025-10-28", - "last_updated": "2025-10-28", + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.1, + "output": 0.4 }, "type": "chat" }, { - "id": "nvidia/rerank-qa-mistral-4b", - "name": "rerank-qa-mistral-4b", - "display_name": "rerank-qa-mistral-4b", + "id": "Qwen/Qwen3-VL-235B-A22B-Thinking", + "name": "Qwen/Qwen3-VL-235B-A22B-Thinking", + "display_name": "Qwen/Qwen3-VL-235B-A22B-Thinking", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 262000, + "output": 262000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-03-17", - "last_updated": "2025-01-17", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.45, + "output": 3.5 }, "type": "chat" }, { - "id": "nvidia/nemotron-3-ultra-550b-a55b", - "name": "Nemotron 3 Ultra 550B A55B", - "display_name": "Nemotron 3 Ultra 550B A55B", + "id": "Qwen/Qwen3-Next-80B-A3B-Thinking", + "name": "Qwen/Qwen3-Next-80B-A3B-Thinking", + "display_name": "Qwen/Qwen3-Next-80B-A3B-Thinking", "modalities": { "input": [ "text" @@ -106673,8 +115826,8 @@ ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 262000, + "output": 262000 }, "temperature": true, "tool_call": true, @@ -106682,21 +115835,31 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, - "open_weights": true, - "release_date": "2026-06-04", - "last_updated": "2026-06-04", + "open_weights": false, + "release_date": "2025-09-25", + "last_updated": "2025-11-25", "cost": { - "input": 0.5, - "output": 2.5, - "cache_read": 0.15 + "input": 0.14, + "output": 0.57 }, "type": "chat" }, { - "id": "nvidia/nvidia-nemotron-nano-9b-v2", - "name": "nvidia-nemotron-nano-9b-v2", - "display_name": "nvidia-nemotron-nano-9b-v2", + "id": "Qwen/Qwen2.5-Coder-32B-Instruct", + "name": "Qwen/Qwen2.5-Coder-32B-Instruct", + "display_name": "Qwen/Qwen2.5-Coder-32B-Instruct", "modalities": { "input": [ "text" @@ -106706,61 +115869,60 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 33000, + "output": 4000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2024-09", - "release_date": "2025-08-18", - "last_updated": "2025-08-18", + "open_weights": false, + "release_date": "2024-11-11", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.18, + "output": 0.18 }, "type": "chat" }, { - "id": "nvidia/synthetic-video-detector", - "name": "synthetic-video-detector", - "display_name": "synthetic-video-detector", + "id": "Qwen/Qwen2.5-VL-7B-Instruct", + "name": "Qwen/Qwen2.5-VL-7B-Instruct", + "display_name": "Qwen/Qwen2.5-VL-7B-Instruct", "modalities": { "input": [ - "video" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 4096 + "context": 33000, + "output": 4000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, - "open_weights": true, - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "open_weights": false, + "release_date": "2025-01-28", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.05, + "output": 0.05 }, "type": "chat" }, { - "id": "nvidia/nv-embedcode-7b-v1", - "name": "nv-embedcode-7b-v1", - "display_name": "nv-embedcode-7b-v1", + "id": "Qwen/Qwen3-8B", + "name": "Qwen/Qwen3-8B", + "display_name": "Qwen/Qwen3-8B", "modalities": { "input": [ "text" @@ -106770,61 +115932,70 @@ ] }, "limit": { - "context": 32768, - "output": 2048 + "context": 131000, + "output": 131000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": true, - "release_date": "2025-03-17", - "last_updated": "2025-05-29", + "open_weights": false, + "release_date": "2025-04-30", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.06, + "output": 0.06 }, "type": "chat" }, { - "id": "nvidia/cosmos-transfer1-7b", - "name": "cosmos-transfer1-7b", - "display_name": "cosmos-transfer1-7b", + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "name": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "display_name": "Qwen/Qwen3-235B-A22B-Instruct-2507", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 4096 + "context": 262000, + "output": 262000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2025-06-13", - "last_updated": "2025-06-30", + "attachment": false, + "open_weights": false, + "release_date": "2025-07-23", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.09, + "output": 0.6 }, "type": "chat" }, { - "id": "nvidia/nemotron-mini-4b-instruct", - "name": "nemotron-mini-4b-instruct", - "display_name": "nemotron-mini-4b-instruct", + "id": "Qwen/Qwen3-32B", + "name": "Qwen/Qwen3-32B", + "display_name": "Qwen/Qwen3-32B", "modalities": { "input": [ "text" @@ -106834,40 +116005,51 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 131000, + "output": 131000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": true, - "release_date": "2024-08-21", - "last_updated": "2024-08-26", + "open_weights": false, + "release_date": "2025-04-30", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.14, + "output": 0.57 }, "type": "chat" }, { - "id": "nvidia/nemotron-voicechat", - "name": "nemotron-voicechat", - "display_name": "nemotron-voicechat", + "id": "Qwen/Qwen3-VL-32B-Instruct", + "name": "Qwen/Qwen3-VL-32B-Instruct", + "display_name": "Qwen/Qwen3-VL-32B-Instruct", "modalities": { "input": [ "text", - "audio" + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 262000, + "output": 262000 }, "temperature": true, "tool_call": true, @@ -106875,19 +116057,19 @@ "supported": false }, "attachment": true, - "open_weights": true, - "release_date": "2026-03-16", - "last_updated": "2026-03-16", + "open_weights": false, + "release_date": "2025-10-21", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.2, + "output": 0.6 }, "type": "chat" }, { - "id": "nvidia/riva-translate-4b-instruct-v1_1", - "name": "riva-translate-4b-instruct-v1_1", - "display_name": "riva-translate-4b-instruct-v1_1", + "id": "Qwen/Qwen2.5-14B-Instruct", + "name": "Qwen/Qwen2.5-14B-Instruct", + "display_name": "Qwen/Qwen2.5-14B-Instruct", "modalities": { "input": [ "text" @@ -106897,28 +116079,28 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 33000, + "output": 4000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-12-12", - "last_updated": "2025-12-12", + "open_weights": false, + "release_date": "2024-09-18", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "nvidia/nemotron-content-safety-reasoning-4b", - "name": "nemotron-content-safety-reasoning-4b", - "display_name": "nemotron-content-safety-reasoning-4b", + "id": "Qwen/Qwen3-14B", + "name": "Qwen/Qwen3-14B", + "display_name": "Qwen/Qwen3-14B", "modalities": { "input": [ "text" @@ -106928,29 +116110,39 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131000, + "output": 131000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": true, - "release_date": "2026-01-22", - "last_updated": "2026-01-22", + "open_weights": false, + "release_date": "2025-04-30", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.07, + "output": 0.28 }, "type": "chat" }, { - "id": "nvidia/nemotron-3-super-120b-a12b", - "name": "Nemotron 3 Super", - "display_name": "Nemotron 3 Super", + "id": "Qwen/Qwen3-235B-A22B", + "name": "Qwen/Qwen3-235B-A22B", + "display_name": "Qwen/Qwen3-235B-A22B", "modalities": { "input": [ "text" @@ -106960,30 +116152,39 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 131000, + "output": 131000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": true, - "knowledge": "2024-04", - "release_date": "2026-03-11", - "last_updated": "2026-03-11", + "open_weights": false, + "release_date": "2025-04-30", + "last_updated": "2025-11-25", "cost": { - "input": 0.2, - "output": 0.8 + "input": 0.35, + "output": 1.42 }, "type": "chat" }, { - "id": "nvidia/gliner-pii", - "name": "gliner-pii", - "display_name": "gliner-pii", + "id": "Qwen/Qwen2.5-72B-Instruct", + "name": "Qwen/Qwen2.5-72B-Instruct", + "display_name": "Qwen/Qwen2.5-72B-Instruct", "modalities": { "input": [ "text" @@ -106993,101 +116194,105 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 33000, + "output": 4000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2026-03-03", - "last_updated": "2026-03-03", + "open_weights": false, + "release_date": "2024-09-18", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.59, + "output": 0.59 }, "type": "chat" }, { - "id": "nvidia/bevformer", - "name": "bevformer", - "display_name": "bevformer", + "id": "Qwen/Qwen3-Omni-30B-A3B-Instruct", + "name": "Qwen/Qwen3-Omni-30B-A3B-Instruct", + "display_name": "Qwen/Qwen3-Omni-30B-A3B-Instruct", "modalities": { "input": [ - "video" + "text", + "image", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 66000, + "output": 66000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, - "open_weights": true, - "release_date": "2025-03-18", - "last_updated": "2025-07-20", + "open_weights": false, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.1, + "output": 0.4 }, "type": "chat" }, { - "id": "nvidia/active-speaker-detection", - "name": "Active Speaker Detection", - "display_name": "Active Speaker Detection", + "id": "Qwen/Qwen3-VL-30B-A3B-Instruct", + "name": "Qwen/Qwen3-VL-30B-A3B-Instruct", + "display_name": "Qwen/Qwen3-VL-30B-A3B-Instruct", "modalities": { "input": [ - "video" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 4096 + "context": 262000, + "output": 262000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, - "open_weights": true, - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "open_weights": false, + "release_date": "2025-10-05", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.29, + "output": 1 }, "type": "chat" }, { - "id": "minimaxai/minimax-m2.7", - "name": "MiniMax-M2.7", - "display_name": "MiniMax-M2.7", + "id": "Qwen/Qwen3-VL-32B-Thinking", + "name": "Qwen/Qwen3-VL-32B-Thinking", + "display_name": "Qwen/Qwen3-VL-32B-Thinking", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 262000, + "output": 262000 }, "temperature": true, "tool_call": true, @@ -107106,20 +116311,20 @@ ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-04-11", + "attachment": true, + "open_weights": false, + "release_date": "2025-10-21", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.2, + "output": 1.5 }, "type": "chat" }, { - "id": "microsoft/phi-4-multimodal-instruct", - "name": "Phi 4 Multimodal", - "display_name": "Phi 4 Multimodal", + "id": "openai/gpt-oss-120b", + "name": "openai/gpt-oss-120b", + "display_name": "openai/gpt-oss-120b", "modalities": { "input": [ "text" @@ -107129,27 +116334,34 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131000, + "output": 8000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": false, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", + "release_date": "2025-08-13", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.05, + "output": 0.45 }, "type": "chat" }, { - "id": "microsoft/phi-4-mini-instruct", - "name": "Phi-4-Mini", - "display_name": "Phi-4-Mini", + "id": "openai/gpt-oss-20b", + "name": "openai/gpt-oss-20b", + "display_name": "openai/gpt-oss-20b", "modalities": { "input": [ "text" @@ -107159,52 +116371,54 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 131000, + "output": 8000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2024-12-01", - "last_updated": "2025-09-05", + "open_weights": false, + "release_date": "2025-08-13", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.04, + "output": 0.18 }, "type": "chat" }, { - "id": "stepfun-ai/step-3.7-flash", - "name": "Step 3.7 Flash", - "display_name": "Step 3.7 Flash", + "id": "tencent/Hunyuan-MT-7B", + "name": "tencent/Hunyuan-MT-7B", + "display_name": "tencent/Hunyuan-MT-7B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 16384 + "context": 33000, + "output": 33000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2026-05-28", - "last_updated": "2026-05-28", + "attachment": false, + "open_weights": false, + "release_date": "2025-09-18", + "last_updated": "2025-11-25", "cost": { "input": 0, "output": 0 @@ -107212,9 +116426,9 @@ "type": "chat" }, { - "id": "stepfun-ai/step-3.5-flash", - "name": "Step 3.5 Flash", - "display_name": "Step 3.5 Flash", + "id": "tencent/Hunyuan-A13B-Instruct", + "name": "tencent/Hunyuan-A13B-Instruct", + "display_name": "tencent/Hunyuan-A13B-Instruct", "modalities": { "input": [ "text" @@ -107224,92 +116438,109 @@ ] }, "limit": { - "context": 256000, - "output": 16384 + "context": 131000, + "output": 131000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2026-02-02", - "last_updated": "2026-02-02", + "open_weights": false, + "release_date": "2025-06-30", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.14, + "output": 0.57 }, "type": "chat" }, { - "id": "meta/llama-3.1-70b-instruct", - "name": "Llama 3.1 70b Instruct", - "display_name": "Llama 3.1 70b Instruct", + "id": "zai-org/GLM-5V-Turbo", + "name": "zai-org/GLM-5V-Turbo", + "display_name": "zai-org/GLM-5V-Turbo", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 200000, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-07-16", - "last_updated": "2024-07-16", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-04-01", + "last_updated": "2026-04-01", "cost": { - "input": 0, - "output": 0 + "input": 1.2, + "output": 4, + "cache_write": 0 }, "type": "chat" }, { - "id": "meta/llama-guard-4-12b", - "name": "Llama Guard 4 12B", - "display_name": "Llama Guard 4 12B", + "id": "zai-org/GLM-4.6", + "name": "zai-org/GLM-4.6", + "display_name": "zai-org/GLM-4.6", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 205000, + "output": 205000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true }, - "attachment": true, - "open_weights": true, - "release_date": "2025-04-05", - "last_updated": "2026-04-30", + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.5, + "output": 1.9 }, "type": "chat" }, { - "id": "meta/llama-4-maverick-17b-128e-instruct", - "name": "Llama 4 Maverick 17b 128e Instruct", - "display_name": "Llama 4 Maverick 17b 128e Instruct", + "id": "zai-org/GLM-4.6V", + "name": "zai-org/GLM-4.6V", + "display_name": "zai-org/GLM-4.6V", "modalities": { "input": [ "text", @@ -107320,29 +116551,29 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131000, + "output": 131000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": true, - "knowledge": "2024-02", - "release_date": "2025-04-01", - "last_updated": "2025-04-01", + "open_weights": false, + "release_date": "2025-12-07", + "last_updated": "2025-12-07", "cost": { - "input": 0, - "output": 0 + "input": 0.3, + "output": 0.9 }, "type": "chat" }, { - "id": "meta/esm2-650m", - "name": "esm2-650m", - "display_name": "esm2-650m", + "id": "zai-org/GLM-5", + "name": "zai-org/GLM-5", + "display_name": "zai-org/GLM-5", "modalities": { "input": [ "text" @@ -107352,28 +116583,40 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 205000, + "output": 205000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2024-08-29", - "last_updated": "2025-03-10", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0, - "output": 0 + "input": 1, + "output": 3.2 }, "type": "chat" }, { - "id": "meta/llama-3.2-3b-instruct", - "name": "Llama 3.2 3B Instruct", - "display_name": "Llama 3.2 3B Instruct", + "id": "zai-org/GLM-4.7", + "name": "zai-org/GLM-4.7", + "display_name": "zai-org/GLM-4.7", "modalities": { "input": [ "text" @@ -107383,28 +116626,40 @@ ] }, "limit": { - "context": 32768, - "output": 32000 + "context": 205000, + "output": 205000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": true, - "release_date": "2024-09-18", - "last_updated": "2024-09-18", + "open_weights": false, + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 0, - "output": 0 + "input": 0.6, + "output": 2.2 }, "type": "chat" }, { - "id": "meta/llama-3.2-11b-vision-instruct", - "name": "Llama 3.2 11b Vision Instruct", - "display_name": "Llama 3.2 11b Vision Instruct", + "id": "zai-org/GLM-4.5V", + "name": "zai-org/GLM-4.5V", + "display_name": "zai-org/GLM-4.5V", "modalities": { "input": [ "text", @@ -107415,8 +116670,8 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 66000, + "output": 66000 }, "temperature": true, "tool_call": true, @@ -107424,20 +116679,19 @@ "supported": false }, "attachment": true, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-09-18", - "last_updated": "2024-09-18", + "open_weights": false, + "release_date": "2025-08-13", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.14, + "output": 0.86 }, "type": "chat" }, { - "id": "meta/llama-3.2-1b-instruct", - "name": "Llama 3.2 1b Instruct", - "display_name": "Llama 3.2 1b Instruct", + "id": "zai-org/GLM-4.5-Air", + "name": "zai-org/GLM-4.5-Air", + "display_name": "zai-org/GLM-4.5-Air", "modalities": { "input": [ "text" @@ -107447,8 +116701,8 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131000, + "output": 131000 }, "temperature": true, "tool_call": true, @@ -107456,20 +116710,19 @@ "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-09-18", - "last_updated": "2024-09-18", + "open_weights": false, + "release_date": "2025-07-28", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.14, + "output": 0.86 }, "type": "chat" }, { - "id": "meta/esmfold", - "name": "esmfold", - "display_name": "esmfold", + "id": "zai-org/GLM-5.1", + "name": "zai-org/GLM-5.1", + "display_name": "zai-org/GLM-5.1", "modalities": { "input": [ "text" @@ -107479,28 +116732,41 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 205000, + "output": 205000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2024-03-15", - "last_updated": "2025-06-12", + "release_date": "2026-04-08", + "last_updated": "2026-04-08", "cost": { - "input": 0, - "output": 0 + "input": 1.4, + "output": 4.4, + "cache_write": 0 }, "type": "chat" }, { - "id": "meta/llama-3.1-8b-instruct", - "name": "Llama 3.1 8B Instruct", - "display_name": "Llama 3.1 8B Instruct", + "id": "zai-org/GLM-4.5", + "name": "zai-org/GLM-4.5", + "display_name": "zai-org/GLM-4.5", "modalities": { "input": [ "text" @@ -107510,8 +116776,8 @@ ] }, "limit": { - "context": 16000, - "output": 4096 + "context": 131000, + "output": 131000 }, "temperature": true, "tool_call": true, @@ -107519,20 +116785,19 @@ "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "open_weights": false, + "release_date": "2025-07-28", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.4, + "output": 2 }, "type": "chat" }, { - "id": "meta/llama-3.3-70b-instruct", - "name": "Llama 3.3 70b Instruct", - "display_name": "Llama 3.3 70b Instruct", + "id": "deepseek-ai/deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ "text" @@ -107542,61 +116807,85 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 1000000, + "output": 384000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2024-11-26", - "last_updated": "2024-11-26", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0, - "output": 0 + "input": 0.14, + "output": 0.28, + "cache_read": 0.028 }, "type": "chat" }, { - "id": "meta/llama-3.2-90b-vision-instruct", - "name": "Llama-3.2-90B-Vision-Instruct", - "display_name": "Llama-3.2-90B-Vision-Instruct", + "id": "deepseek-ai/DeepSeek-R1", + "name": "deepseek-ai/DeepSeek-R1", + "display_name": "deepseek-ai/DeepSeek-R1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 164000, + "output": 164000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-05-28", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.5, + "output": 2.18 }, "type": "chat" }, { - "id": "baai/bge-m3", - "name": "BGE M3", - "display_name": "BGE M3", + "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", + "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", + "display_name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", "modalities": { "input": [ "text" @@ -107606,41 +116895,40 @@ ] }, "limit": { - "context": 8192, - "output": 1024 + "context": 131000, + "output": 131000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": true, - "release_date": "2024-01-30", - "last_updated": "2026-04-30", + "open_weights": false, + "release_date": "2025-01-20", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.18, + "output": 0.18 }, - "type": "embedding" + "type": "chat" }, { - "id": "google/gemma-4-31b-it", - "name": "Gemma-4-31B-IT", - "display_name": "Gemma-4-31B-IT", + "id": "deepseek-ai/DeepSeek-V3.1-Terminus", + "name": "deepseek-ai/DeepSeek-V3.1-Terminus", + "display_name": "deepseek-ai/DeepSeek-V3.1-Terminus", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 16384 + "context": 164000, + "output": 164000 }, "temperature": true, "tool_call": true, @@ -107648,21 +116936,20 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "attachment": false, + "open_weights": false, + "release_date": "2025-09-29", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.27, + "output": 1 }, "type": "chat" }, { - "id": "google/gemma-2-2b-it", - "name": "Gemma 2 2b It", - "display_name": "Gemma 2 2b It", + "id": "deepseek-ai/deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ "text" @@ -107672,93 +116959,106 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 1000000, + "output": 384000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2024-07-16", - "last_updated": "2024-07-16", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0, - "output": 0 + "input": 1.74, + "output": 3.48, + "cache_read": 0.145 }, "type": "chat" }, { - "id": "google/gemma-3n-e4b-it", - "name": "Gemma 3n E4b It", - "display_name": "Gemma 3n E4b It", + "id": "deepseek-ai/DeepSeek-V3.1", + "name": "deepseek-ai/DeepSeek-V3.1", + "display_name": "deepseek-ai/DeepSeek-V3.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 164000, + "output": 164000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": true, - "knowledge": "2024-06", - "release_date": "2025-06-03", - "last_updated": "2025-06-03", + "attachment": false, + "open_weights": false, + "release_date": "2025-08-25", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.27, + "output": 1 }, "type": "chat" }, { - "id": "google/google-paligemma", - "name": "paligemma", - "display_name": "paligemma", + "id": "deepseek-ai/DeepSeek-V3.2-Exp", + "name": "deepseek-ai/DeepSeek-V3.2-Exp", + "display_name": "deepseek-ai/DeepSeek-V3.2-Exp", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 164000, + "output": 164000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": true, - "release_date": "2024-05-14", - "last_updated": "2024-08-26", + "attachment": false, + "open_weights": false, + "release_date": "2025-10-10", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.27, + "output": 0.41 }, "type": "chat" }, { - "id": "google/gemma-3n-e2b-it", - "name": "Gemma 3n E2b It", - "display_name": "Gemma 3n E2b It", + "id": "deepseek-ai/deepseek-vl2", + "name": "deepseek-ai/deepseek-vl2", + "display_name": "deepseek-ai/deepseek-vl2", "modalities": { "input": [ "text", @@ -107769,8 +117069,8 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 4000, + "output": 4000 }, "temperature": true, "tool_call": true, @@ -107778,20 +117078,19 @@ "supported": false }, "attachment": true, - "open_weights": true, - "knowledge": "2024-06", - "release_date": "2025-06-12", - "last_updated": "2025-06-12", + "open_weights": false, + "release_date": "2024-12-13", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.15, + "output": 0.15 }, "type": "chat" }, { - "id": "openai/gpt-oss-120b", - "name": "GPT-OSS-120B", - "display_name": "GPT-OSS-120B", + "id": "deepseek-ai/DeepSeek-V3.2", + "name": "deepseek-ai/DeepSeek-V3.2", + "display_name": "deepseek-ai/DeepSeek-V3.2", "modalities": { "input": [ "text" @@ -107801,8 +117100,8 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 164000, + "output": 164000 }, "temperature": true, "tool_call": true, @@ -107816,20 +117115,19 @@ } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-08", - "release_date": "2025-08-04", - "last_updated": "2025-08-14", + "open_weights": false, + "release_date": "2025-12-03", + "last_updated": "2025-12-03", "cost": { - "input": 0, - "output": 0 + "input": 0.27, + "output": 0.42 }, "type": "chat" }, { - "id": "openai/gpt-oss-20b", - "name": "GPT OSS 20B", - "display_name": "GPT OSS 20B", + "id": "deepseek-ai/DeepSeek-V3", + "name": "deepseek-ai/DeepSeek-V3", + "display_name": "deepseek-ai/DeepSeek-V3", "modalities": { "input": [ "text" @@ -107839,66 +117137,60 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 164000, + "output": 164000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "open_weights": false, + "release_date": "2024-12-26", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.25, + "output": 1 }, "type": "chat" }, { - "id": "openai/whisper-large-v3", - "name": "Whisper Large v3", - "display_name": "Whisper Large v3", + "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", + "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", + "display_name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", "modalities": { "input": [ - "audio" + "text" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 4096 + "context": 131000, + "output": 131000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": true, - "knowledge": "2023-09", - "release_date": "2023-09-01", - "last_updated": "2025-09-05", + "open_weights": false, + "release_date": "2025-01-20", + "last_updated": "2025-11-25", "cost": { - "input": 0, - "output": 0 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "bytedance/seed-oss-36b-instruct", - "name": "ByteDance-Seed/Seed-OSS-36B-Instruct", - "display_name": "ByteDance-Seed/Seed-OSS-36B-Instruct", + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMaxAI/MiniMax-M2.5", + "display_name": "MiniMaxAI/MiniMax-M2.5", "modalities": { "input": [ "text" @@ -107908,8 +117200,8 @@ ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 197000, + "output": 131000 }, "temperature": true, "tool_call": true, @@ -107923,59 +117215,27 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-09-04", - "last_updated": "2025-11-25", + "release_date": "2026-02-15", + "last_updated": "2026-02-15", "cost": { - "input": 0, - "output": 0 + "input": 0.3, + "output": 1.2 }, "type": "chat" } ] }, - "routing-run": { - "id": "routing-run", - "name": "routing.run", - "display_name": "routing.run", - "api": "https://ai.routing.sh/v1", - "doc": "https://docs.routing.run/api-reference/models", + "umans-ai-coding-plan": { + "id": "umans-ai-coding-plan", + "name": "Umans AI Coding Plan", + "display_name": "Umans AI Coding Plan", + "api": "https://api.code.umans.ai/v1", + "doc": "https://app.umans.ai/offers/code/docs", "models": [ { - "id": "route/mistral-large-3", - "name": "Mistral Large 3", - "display_name": "Mistral Large 3", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 32768 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2025-12-02", - "cost": { - "input": 0.5, - "output": 1.5 - }, - "type": "chat" - }, - { - "id": "route/mistral-small-2503", - "name": "Mistral Small 2503", - "display_name": "Mistral Small 2503", + "id": "umans-kimi-k2.7", + "name": "Kimi K2.7 Code", + "display_name": "Kimi K2.7 Code", "modalities": { "input": [ "text", @@ -107987,29 +117247,43 @@ ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 262144, + "output": 262144 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, "open_weights": true, - "knowledge": "2025-06", - "release_date": "2026-03-16", - "last_updated": "2026-03-16", + "knowledge": "2025-01", + "release_date": "2026-06-12", + "last_updated": "2026-06-12", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "route/mimo-v2.5-pro-6bit", - "name": "MiMo V2.5 Pro 6bit", - "display_name": "MiMo V2.5 Pro 6bit", + "id": "umans-kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ "text", @@ -108021,10 +117295,10 @@ ] }, "limit": { - "context": 1000000, + "context": 262144, "output": 262144 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -108043,85 +117317,85 @@ }, "attachment": true, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0.45, - "output": 1.35, - "cache_read": 0.2, - "tiers": [ - { - "input": 2, - "output": 6, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 256000 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.4 - } + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "route/gemma-4-31b-it", - "name": "Gemma 4 31B IT", - "display_name": "Gemma 4 31B IT", + "id": "umans-glm-5.1", + "name": "GLM 5.1", + "display_name": "GLM 5.1", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 65536 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": true, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 0.1, - "output": 0.3 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "route/qwen3.6-27b", - "name": "Qwen3.6 27B", - "display_name": "Qwen3.6 27B", + "id": "umans-coder", + "name": "Umans Coder", + "display_name": "Umans Coder", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 202000, - "output": 32768 + "context": 262144, + "output": 262144 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -108134,35 +117408,37 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 1.1, - "output": 3.3 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "route/deepseek-v3.2", - "name": "DeepSeek V3.2", - "display_name": "DeepSeek V3.2", + "id": "umans-flash", + "name": "Umans Flash", + "display_name": "Umans Flash", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 163840 + "context": 262144, + "output": 262144 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -108181,32 +117457,34 @@ }, "attachment": true, "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { - "input": 0.4928, - "output": 0.7392 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "route/minimax-m2.7-highspeed", - "name": "MiniMax M2.7 Highspeed", - "display_name": "MiniMax M2.7 Highspeed", + "id": "umans-qwen3.6-35b-a3b", + "name": "Qwen3.6 35B A3B", + "display_name": "Qwen3.6 35B A3B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 100000, - "output": 131072 + "context": 262144, + "output": 262144 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -108223,69 +117501,66 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { - "input": 0.33, - "output": 1.32, - "cache_read": 0.06, - "cache_write": 0.375 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" - }, + } + ] + }, + "io-net": { + "id": "io-net", + "name": "IO.NET", + "display_name": "IO.NET", + "api": "https://api.intelligence.io.solutions/api/v1", + "doc": "https://io.net/docs/guides/intelligence/io-intelligence", + "models": [ { - "id": "route/kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", + "name": "Llama 4 Maverick 17B 128E Instruct", + "display_name": "Llama 4 Maverick 17B 128E Instruct", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 430000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "knowledge": "2024-12", + "release_date": "2025-01-15", + "last_updated": "2025-01-15", "cost": { - "input": 0.462, - "output": 2.42, - "cache_read": 0.16 + "input": 0.15, + "output": 0.6, + "cache_read": 0.075, + "cache_write": 0.3 }, "type": "chat" }, { - "id": "route/deepseek-v4-flash-6bit", - "name": "DeepSeek V4 Flash 6bit", - "display_name": "DeepSeek V4 Flash 6bit", + "id": "meta-llama/Llama-3.3-70B-Instruct", + "name": "Llama 3.3 70B Instruct", + "display_name": "Llama 3.3 70B Instruct", "modalities": { "input": [ "text" @@ -108295,84 +117570,66 @@ ] }, "limit": { - "context": 1000000, - "output": 131072 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 0.4928, - "output": 0.7392, - "cache_read": 0.0028 + "input": 0.13, + "output": 0.38, + "cache_read": 0.065, + "cache_write": 0.26 }, "type": "chat" }, { - "id": "route/qwen3.6-27b-202k", - "name": "Qwen3.6 27B 202K", - "display_name": "Qwen3.6 27B 202K", + "id": "meta-llama/Llama-3.2-90B-Vision-Instruct", + "name": "Llama 3.2 90B Vision Instruct", + "display_name": "Llama 3.2 90B Vision Instruct", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 202000, - "output": 32768 + "context": 16000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", "cost": { - "input": 1.1, - "output": 3.3 + "input": 0.35, + "output": 0.4, + "cache_read": 0.175, + "cache_write": 0.7 }, "type": "chat" }, { - "id": "route/deepseek-v4-pro-6bit", - "name": "DeepSeek V4 Pro 6bit", - "display_name": "DeepSeek V4 Pro 6bit", + "id": "moonshotai/Kimi-K2-Thinking", + "name": "Kimi K2 Thinking", + "display_name": "Kimi K2 Thinking", "modalities": { "input": [ "text" @@ -108382,8 +117639,8 @@ ] }, "limit": { - "context": 1000000, - "output": 131072 + "context": 32768, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -108403,102 +117660,91 @@ } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "open_weights": false, + "knowledge": "2024-08", + "release_date": "2024-11-01", + "last_updated": "2024-11-01", "cost": { - "input": 0.4928, - "output": 0.7392, - "cache_read": 0.003625 + "input": 0.55, + "output": 2.25, + "cache_read": 0.275, + "cache_write": 1.1 }, "type": "chat" }, { - "id": "route/kimi-k2.6-6bit", - "name": "Kimi K2.6 6bit", - "display_name": "Kimi K2.6 6bit", + "id": "moonshotai/Kimi-K2-Instruct-0905", + "name": "Kimi K2 Instruct", + "display_name": "Kimi K2 Instruct", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 32768, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "attachment": false, + "open_weights": false, + "knowledge": "2024-08", + "release_date": "2024-09-05", + "last_updated": "2024-09-05", "cost": { - "input": 0.462, - "output": 2.42, - "cache_read": 0.16 + "input": 0.39, + "output": 1.9, + "cache_read": 0.195, + "cache_write": 0.78 }, "type": "chat" }, { - "id": "route/mistral-medium-2505", - "name": "Mistral Medium 2505", - "display_name": "Mistral Medium 2505", + "id": "Qwen/Qwen2.5-VL-32B-Instruct", + "name": "Qwen 2.5 VL 32B Instruct", + "display_name": "Qwen 2.5 VL 32B Instruct", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 32000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-05", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", + "attachment": false, + "open_weights": true, + "knowledge": "2024-09", + "release_date": "2024-11-01", + "last_updated": "2024-11-01", "cost": { - "input": 0.4, - "output": 2 + "input": 0.05, + "output": 0.22, + "cache_read": 0.025, + "cache_write": 0.1 }, "type": "chat" }, { - "id": "route/step-3.5-flash", - "name": "Step 3.5 Flash", - "display_name": "Step 3.5 Flash", + "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "name": "Qwen 3 Next 80B Instruct", + "display_name": "Qwen 3 Next 80B Instruct", "modalities": { "input": [ "text" @@ -108509,41 +117755,30 @@ }, "limit": { "context": 262144, - "output": 65536 + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01-29", - "last_updated": "2026-02-13", + "knowledge": "2024-12", + "release_date": "2025-01-10", + "last_updated": "2025-01-10", "cost": { - "input": 0.096, - "output": 0.288, - "cache_read": 0.019 + "input": 0.1, + "output": 0.8, + "cache_read": 0.05, + "cache_write": 0.2 }, "type": "chat" }, { - "id": "route/glm-5.1-6bit", - "name": "GLM 5.1 6bit", - "display_name": "GLM 5.1 6bit", + "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", + "name": "Qwen 3 235B Thinking", + "display_name": "Qwen 3 235B Thinking", "modalities": { "input": [ "text" @@ -108553,8 +117788,8 @@ ] }, "limit": { - "context": 202752, - "output": 65536 + "context": 262144, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -108575,20 +117810,21 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "knowledge": "2024-12", + "release_date": "2025-07-01", + "last_updated": "2025-07-01", "cost": { - "input": 1, - "output": 3, - "cache_read": 0.26, - "cache_write": 0 + "input": 0.11, + "output": 0.6, + "cache_read": 0.055, + "cache_write": 0.22 }, "type": "chat" }, { - "id": "route/stepfun-3.5-flash", - "name": "StepFun 3.5 Flash", - "display_name": "StepFun 3.5 Flash", + "id": "openai/gpt-oss-120b", + "name": "GPT-OSS 120B", + "display_name": "GPT-OSS 120B", "modalities": { "input": [ "text" @@ -108598,42 +117834,36 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 131072, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01-29", - "last_updated": "2026-02-13", + "knowledge": "2024-10", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", "cost": { - "input": 0.096, - "output": 0.288, - "cache_read": 0.019 + "input": 0.04, + "output": 0.4, + "cache_read": 0.02, + "cache_write": 0.08 }, "type": "chat" }, { - "id": "route/minimax-m2.7", - "name": "MiniMax M2.7", - "display_name": "MiniMax M2.7", + "id": "openai/gpt-oss-20b", + "name": "GPT-OSS 20B", + "display_name": "GPT-OSS 20B", "modalities": { "input": [ "text" @@ -108643,42 +117873,36 @@ ] }, "limit": { - "context": 100000, - "output": 131072 + "context": 64000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "knowledge": "2024-10", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", "cost": { - "input": 0.33, - "output": 1.32, - "cache_read": 0.06, - "cache_write": 0.375 + "input": 0.03, + "output": 0.14, + "cache_read": 0.015, + "cache_write": 0.06 }, "type": "chat" }, { - "id": "route/deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "mistralai/Devstral-Small-2505", + "name": "Devstral Small 2505", + "display_name": "Devstral Small 2505", "modalities": { "input": [ "text" @@ -108688,42 +117912,31 @@ ] }, "limit": { - "context": 1000000, - "output": 131072 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "open_weights": false, + "knowledge": "2024-12", + "release_date": "2025-05-01", + "last_updated": "2025-05-01", "cost": { - "input": 0.4928, - "output": 0.7392, - "cache_read": 0.0028 + "input": 0.05, + "output": 0.22, + "cache_read": 0.025, + "cache_write": 0.1 }, "type": "chat" }, { - "id": "route/step-3.5-flash-2603", - "name": "Step 3.5 Flash 2603", - "display_name": "Step 3.5 Flash 2603", + "id": "mistralai/Magistral-Small-2506", + "name": "Magistral Small 2506", + "display_name": "Magistral Small 2506", "modalities": { "input": [ "text" @@ -108733,42 +117946,66 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, + "open_weights": false, "knowledge": "2025-01", - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "release_date": "2025-06-01", + "last_updated": "2025-06-01", "cost": { - "input": 0.1, - "output": 0.3, - "cache_read": 0.02 + "input": 0.5, + "output": 1.5, + "cache_read": 0.25, + "cache_write": 1 }, "type": "chat" }, { - "id": "route/minimax-m2.5", - "name": "MiniMax M2.5", - "display_name": "MiniMax M2.5", + "id": "mistralai/Mistral-Large-Instruct-2411", + "name": "Mistral Large Instruct 2411", + "display_name": "Mistral Large Instruct 2411", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 4096 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "knowledge": "2024-10", + "release_date": "2024-11-01", + "last_updated": "2024-11-01", + "cost": { + "input": 2, + "output": 6, + "cache_read": 1, + "cache_write": 4 + }, + "type": "chat" + }, + { + "id": "mistralai/Mistral-Nemo-Instruct-2407", + "name": "Mistral Nemo Instruct 2407", + "display_name": "Mistral Nemo Instruct 2407", "modalities": { "input": [ "text" @@ -108778,35 +118015,65 @@ ] }, "limit": { - "context": 100000, - "output": 131072 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "attachment": false, + "open_weights": true, + "knowledge": "2024-05", + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "cost": { + "input": 0.02, + "output": 0.04, + "cache_read": 0.01, + "cache_write": 0.04 + }, + "type": "chat" + }, + { + "id": "Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar", + "name": "Qwen 3 Coder 480B", + "display_name": "Qwen 3 Coder 480B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 106000, + "output": 4096 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "knowledge": "2024-12", + "release_date": "2025-01-15", + "last_updated": "2025-01-15", "cost": { - "input": 0.193, - "output": 1.238, - "cache_read": 0.03, - "cache_write": 0.375 + "input": 0.22, + "output": 0.95, + "cache_read": 0.11, + "cache_write": 0.44 }, "type": "chat" }, { - "id": "route/minimax-m2.5-highspeed", - "name": "MiniMax M2.5 Highspeed", - "display_name": "MiniMax M2.5 Highspeed", + "id": "zai-org/GLM-4.6", + "name": "GLM 4.6", + "display_name": "GLM 4.6", "modalities": { "input": [ "text" @@ -108816,8 +118083,8 @@ ] }, "limit": { - "context": 100000, - "output": 131072 + "context": 200000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -108830,34 +118097,33 @@ } }, "attachment": false, - "open_weights": true, - "release_date": "2026-02-13", - "last_updated": "2026-02-13", + "open_weights": false, + "knowledge": "2024-10", + "release_date": "2024-11-15", + "last_updated": "2024-11-15", "cost": { - "input": 0.193, - "output": 1.238, - "cache_read": 0.06, - "cache_write": 0.375 + "input": 0.4, + "output": 1.75, + "cache_read": 0.2, + "cache_write": 0.8 }, "type": "chat" }, { - "id": "route/mimo-v2.5", - "name": "MiMo V2.5", - "display_name": "MiMo V2.5", + "id": "deepseek-ai/DeepSeek-R1-0528", + "name": "DeepSeek R1", + "display_name": "DeepSeek R1", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 262144 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -108876,38 +118142,32 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-05-28", "cost": { - "input": 0.45, - "output": 1.35, - "cache_read": 0.2, - "tiers": [ - { - "input": 2, - "output": 6, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 256000 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.4 - } + "input": 2, + "output": 8.75, + "cache_read": 1, + "cache_write": 4 }, "type": "chat" - }, + } + ] + }, + "gmicloud": { + "id": "gmicloud", + "name": "GMI Cloud", + "display_name": "GMI Cloud", + "api": "https://api.gmi-serving.com/v1", + "doc": "https://docs.gmicloud.ai/inference-engine/api-reference/llm-api-reference", + "models": [ { - "id": "route/deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "moonshotai/Kimi-K2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ "text" @@ -108917,8 +118177,8 @@ ] }, "limit": { - "context": 1000000, - "output": 131072 + "context": 65536, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -108937,68 +118197,82 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0.4928, - "output": 0.7392, - "cache_read": 0.003625 + "input": 0.855, + "output": 3.6, + "cache_read": 0.144 }, "type": "chat" }, { - "id": "route/kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "anthropic/claude-opus-4.7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 409600, + "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], "interleaved": true, "summaries": true, - "visibility": "summary", + "visibility": "omitted", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01", - "last_updated": "2026-01", + "open_weights": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 0.462, - "output": 2.42, - "cache_read": 0.1 + "input": 4.5, + "output": 22.5, + "cache_read": 0.45 }, "type": "chat" }, { - "id": "route/glm-5.1", - "name": "GLM 5.1", - "display_name": "GLM 5.1", + "id": "anthropic/claude-sonnet-4.6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ "text" @@ -109008,114 +118282,121 @@ ] }, "limit": { - "context": 202752, - "output": 65536 + "context": 409600, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "cost": { - "input": 1, - "output": 3, - "cache_read": 0.26, - "cache_write": 0 + "input": 3, + "output": 15, + "cache_read": 0.3 }, "type": "chat" }, { - "id": "route/mimo-v2.5-pro", - "name": "MiMo V2.5 Pro", - "display_name": "MiMo V2.5 Pro", + "id": "anthropic/claude-opus-4.6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 262144 + "context": 409600, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, "attachment": true, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "open_weights": false, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", "cost": { - "input": 0.45, - "output": 1.35, - "cache_read": 0.2, - "tiers": [ - { - "input": 2, - "output": 6, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 256000 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.4 - } + "input": 5, + "output": 25, + "cache_read": 0.5 }, "type": "chat" - } - ] - }, - "xiaomi-token-plan-ams": { - "id": "xiaomi-token-plan-ams", - "name": "Xiaomi Token Plan (Europe)", - "display_name": "Xiaomi Token Plan (Europe)", - "api": "https://token-plan-ams.xiaomimimo.com/v1", - "doc": "https://platform.xiaomimimo.com/#/docs", - "models": [ + }, { - "id": "mimo-v2.5-pro", - "name": "MiMo-V2.5-Pro", - "display_name": "MiMo-V2.5-Pro", + "id": "zai-org/GLM-5.1-FP8", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ "text" @@ -109125,7 +118406,7 @@ ] }, "limit": { - "context": 1048576, + "context": 202752, "output": 131072 }, "temperature": true, @@ -109147,64 +118428,74 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 0.98, + "output": 3.08, + "cache_read": 0.182 }, "type": "chat" }, { - "id": "mimo-v2.5-tts", - "name": "MiMo-V2.5-TTS", - "display_name": "MiMo-V2.5-TTS", + "id": "zai-org/GLM-5-FP8", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ "text" ], "output": [ - "audio" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 202752, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 0, - "output": 0 + "input": 0.6, + "output": 1.92, + "cache_read": 0.12 }, "type": "chat" }, { - "id": "mimo-v2.5", - "name": "MiMo-V2.5", - "display_name": "MiMo-V2.5", + "id": "deepseek-ai/DeepSeek-V4-Flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ - "text", - "image", - "audio", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 1048575, + "output": 384000 }, "temperature": true, "tool_call": true, @@ -109223,22 +118514,22 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 0.112, + "output": 0.224, + "cache_read": 0.022 }, "type": "chat" }, { - "id": "mimo-v2-pro", - "name": "MiMo-V2-Pro", - "display_name": "MiMo-V2-Pro", + "id": "deepseek-ai/DeepSeek-V4-Pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ "text" @@ -109249,7 +118540,7 @@ }, "limit": { "context": 1048576, - "output": 131072 + "output": 384000 }, "temperature": true, "tool_call": true, @@ -109269,17 +118560,26 @@ } }, "attachment": false, - "open_weights": false, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 1.392, + "output": 2.784, + "cache_read": 0.116 }, "type": "chat" - }, + } + ] + }, + "xiaomi-token-plan-cn": { + "id": "xiaomi-token-plan-cn", + "name": "Xiaomi Token Plan (China)", + "display_name": "Xiaomi Token Plan (China)", + "api": "https://token-plan-cn.xiaomimimo.com/v1", + "doc": "https://platform.xiaomimimo.com/#/docs", + "models": [ { "id": "mimo-v2.5-tts-voiceclone", "name": "MiMo-V2.5-TTS-VoiceClone", @@ -109341,23 +118641,22 @@ "type": "chat" }, { - "id": "mimo-v2-omni", - "name": "MiMo-V2-Omni", - "display_name": "MiMo-V2-Omni", + "id": "mimo-v2.5", + "name": "MiMo-V2.5", + "display_name": "MiMo-V2.5", "modalities": { "input": [ "text", "image", "audio", - "video", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 262144, + "context": 1048576, "output": 131072 }, "temperature": true, @@ -109378,10 +118677,10 @@ } }, "attachment": true, - "open_weights": false, + "open_weights": true, "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { "input": 0, "output": 0, @@ -109390,53 +118689,16 @@ "type": "chat" }, { - "id": "mimo-v2-tts", - "name": "MiMo-V2-TTS", - "display_name": "MiMo-V2-TTS", - "modalities": { - "input": [ - "text" - ], - "output": [ - "audio" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "cost": { - "input": 0, - "output": 0 - }, - "type": "chat" - } - ] - }, - "deepinfra": { - "id": "deepinfra", - "name": "Deep Infra", - "display_name": "Deep Infra", - "doc": "https://deepinfra.com/models", - "models": [ - { - "id": "XiaomiMiMo/MiMo-V2.5", - "name": "MiMo-V2.5", - "display_name": "MiMo-V2.5", + "id": "mimo-v2-omni", + "name": "MiMo-V2-Omni", + "display_name": "MiMo-V2-Omni", "modalities": { "input": [ "text", "image", "audio", - "video" + "video", + "pdf" ], "output": [ "text" @@ -109444,7 +118706,7 @@ }, "limit": { "context": 262144, - "output": 16384 + "output": 131072 }, "temperature": true, "tool_call": true, @@ -109464,98 +118726,51 @@ } }, "attachment": true, - "open_weights": true, + "open_weights": false, "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.4, - "output": 2, - "cache_read": 0.08, - "tiers": [ - { - "input": 0.8, - "output": 4, - "cache_read": 0.16, - "tier": { - "type": "context", - "size": 256000 - } - } - ], - "context_over_200k": { - "input": 0.8, - "output": 4, - "cache_read": 0.16 - } + "input": 0, + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "XiaomiMiMo/MiMo-V2.5-Pro", - "name": "MiMo-V2.5-Pro", - "display_name": "MiMo-V2.5-Pro", + "id": "mimo-v2-tts", + "name": "MiMo-V2-TTS", + "display_name": "MiMo-V2-TTS", "modalities": { "input": [ "text" ], "output": [ - "text" + "audio" ] }, "limit": { - "context": 1048576, - "output": 16384 + "context": 8192, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 1, - "output": 3, - "cache_read": 0.2, - "tiers": [ - { - "input": 2, - "output": 6, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 256000 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.4 - } + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "MiniMaxAI/MiniMax-M2.5", - "name": "MiniMax M2.5", - "display_name": "MiniMax M2.5", + "id": "mimo-v2-pro", + "name": "MiMo-V2-Pro", + "display_name": "MiMo-V2-Pro", "modalities": { "input": [ "text" @@ -109565,7 +118780,7 @@ ] }, "limit": { - "context": 204800, + "context": 1048576, "output": 131072 }, "temperature": true, @@ -109586,22 +118801,21 @@ } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-06", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "open_weights": false, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.27, - "output": 0.95, - "cache_read": 0.03, - "cache_write": 0.375 + "input": 0, + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "zai-org/GLM-4.7", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "mimo-v2.5-pro", + "name": "MiMo-V2.5-Pro", + "display_name": "MiMo-V2.5-Pro", "modalities": { "input": [ "text" @@ -109611,8 +118825,8 @@ ] }, "limit": { - "context": 202752, - "output": 16384 + "context": 1048576, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -109633,76 +118847,72 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 0.43, - "output": 1.75, - "cache_read": 0.08 + "input": 0, + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "zai-org/GLM-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "mimo-v2.5-tts", + "name": "MiMo-V2.5-TTS", + "display_name": "MiMo-V2.5-TTS", "modalities": { "input": [ "text" ], "output": [ - "text" + "audio" ] }, "limit": { - "context": 202752, - "output": 16384 + "context": 8192, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-12", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 0.8, - "output": 2.56, - "cache_read": 0.16 + "input": 0, + "output": 0 }, "type": "chat" - }, + } + ] + }, + "zeldoc": { + "id": "zeldoc", + "name": "Zeldoc", + "display_name": "Zeldoc", + "api": "https://api.zeldoc.ai/v1", + "doc": "https://docs.zeldoc.ai", + "models": [ { - "id": "zai-org/GLM-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "z-code", + "name": "Z-Code", + "display_name": "Z-Code", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 202752, - "output": 16384 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -109721,22 +118931,30 @@ ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-04-07", - "last_updated": "2026-04-07", + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-04-15", + "last_updated": "2026-04-15", "cost": { - "input": 1.4, - "output": 4.4, - "cache_read": 0.26 + "input": 0, + "output": 0 }, "type": "chat" - }, + } + ] + }, + "scaleway": { + "id": "scaleway", + "name": "Scaleway", + "display_name": "Scaleway", + "api": "https://api.scaleway.ai/v1", + "doc": "https://www.scaleway.com/en/docs/generative-apis/", + "models": [ { - "id": "zai-org/GLM-4.7-Flash", - "name": "GLM-4.7-Flash", - "display_name": "GLM-4.7-Flash", + "id": "qwen3-235b-a22b-instruct-2507", + "name": "Qwen3 235B A22B Instruct 2507", + "display_name": "Qwen3 235B A22B Instruct 2507", "modalities": { "input": [ "text" @@ -109746,7 +118964,7 @@ ] }, "limit": { - "context": 202752, + "context": 260000, "output": 16384 }, "temperature": true, @@ -109755,32 +118973,22 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, "open_weights": true, "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", + "release_date": "2025-07-01", + "last_updated": "2026-03-17", "cost": { - "input": 0.06, - "output": 0.4 + "input": 0.75, + "output": 2.25, + "reasoning": 8.4 }, "type": "chat" }, { - "id": "zai-org/GLM-4.6", - "name": "GLM-4.6", - "display_name": "GLM-4.6", + "id": "qwen3-coder-30b-a3b-instruct", + "name": "Qwen3-Coder 30B-A3B Instruct", + "display_name": "Qwen3-Coder 30B-A3B Instruct", "modalities": { "input": [ "text" @@ -109790,135 +118998,29 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 128000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "cost": { - "input": 0.43, - "output": 1.74, - "cache_read": 0.08 - }, - "type": "chat" - }, - { - "id": "moonshotai/Kimi-K2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", - "modalities": { - "input": [ - "text", - "image", - "video" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 16384 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": true, - "open_weights": true, - "knowledge": "2024-04", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", - "cost": { - "input": 0.75, - "output": 3.5, - "cache_read": 0.15 - }, - "type": "chat" - }, - { - "id": "moonshotai/Kimi-K2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", - "modalities": { - "input": [ - "text", - "image", - "video" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 32768 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "release_date": "2025-04", + "last_updated": "2026-03-17", "cost": { - "input": 0.5, - "output": 2.8 + "input": 0.2, + "output": 0.8 }, "type": "chat" }, { - "id": "meta-llama/Llama-3.3-70B-Instruct-Turbo", - "name": "Llama 3.3 70B Turbo", - "display_name": "Llama 3.3 70B Turbo", + "id": "qwen3-embedding-8b", + "name": "Qwen3 Embedding 8B", + "display_name": "Qwen3 Embedding 8B", "modalities": { "input": [ "text" @@ -109928,58 +119030,59 @@ ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 32768, + "output": 4096 }, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "open_weights": false, + "release_date": "2025-25-11", + "last_updated": "2026-03-17", "cost": { "input": 0.1, - "output": 0.32 + "output": 0 }, - "type": "chat" + "type": "embedding" }, { - "id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", - "name": "Llama 4 Maverick 17B FP8", - "display_name": "Llama 4 Maverick 17B FP8", + "id": "bge-multilingual-gemma2", + "name": "BGE Multilingual Gemma2", + "display_name": "BGE Multilingual Gemma2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 16384 + "context": 8191, + "output": 3072 }, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "open_weights": false, + "release_date": "2024-07-26", + "last_updated": "2025-06-15", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.1, + "output": 0 }, "type": "chat" }, { - "id": "meta-llama/Llama-4-Scout-17B-16E-Instruct", - "name": "Llama 4 Scout 17B", - "display_name": "Llama 4 Scout 17B", + "id": "qwen3.6-35b-a3b", + "name": "Qwen3.6 35B A3B", + "display_name": "Qwen3.6 35B A3B", "modalities": { "input": [ "text", @@ -109990,37 +119093,7 @@ ] }, "limit": { - "context": 10000000, - "output": 16384 - }, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "cost": { - "input": 0.08, - "output": 0.3 - }, - "type": "chat" - }, - { - "id": "deepseek-ai/DeepSeek-V4-Flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1048576, + "context": 128000, "output": 16384 }, "temperature": true, @@ -110040,22 +119113,21 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "knowledge": "2025-04", + "release_date": "2026-05-01", + "last_updated": "2026-05-22", "cost": { - "input": 0.1, - "output": 0.2, - "cache_read": 0.02 + "input": 0.25, + "output": 1.5 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V4-Pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "llama-3.3-70b-instruct", + "name": "Llama-3.3-70B-Instruct", + "display_name": "Llama-3.3-70B-Instruct", "modalities": { "input": [ "text" @@ -110065,132 +119137,95 @@ ] }, "limit": { - "context": 1048576, + "context": 100000, "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2026-03-17", "cost": { - "input": 1.3, - "output": 2.6, - "cache_read": 0.1 + "input": 0.9, + "output": 0.9 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.2", - "name": "DeepSeek-V3.2", - "display_name": "DeepSeek-V3.2", + "id": "pixtral-12b-2409", + "name": "Pixtral 12B 2409", + "display_name": "Pixtral 12B 2409", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 64000 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-12", - "release_date": "2025-12-02", - "last_updated": "2025-12-02", + "attachment": true, + "open_weights": true, + "knowledge": "2024-09", + "release_date": "2024-09-25", + "last_updated": "2026-03-17", "cost": { - "input": 0.26, - "output": 0.38, - "cache_read": 0.13 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-R1-0528", - "name": "DeepSeek-R1-0528", - "display_name": "DeepSeek-R1-0528", + "id": "mistral-small-3.2-24b-instruct-2506", + "name": "Mistral Small 3.2 24B Instruct (2506)", + "display_name": "Mistral Small 3.2 24B Instruct (2506)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 64000 + "context": 128000, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2024-07", - "release_date": "2025-05-28", - "last_updated": "2025-05-28", + "open_weights": true, + "knowledge": "2025-03", + "release_date": "2025-06-20", + "last_updated": "2026-03-17", "cost": { - "input": 0.5, - "output": 2.15, - "cache_read": 0.35 + "input": 0.15, + "output": 0.35 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo", - "name": "Qwen3 Coder 480B A35B Instruct Turbo", - "display_name": "Qwen3 Coder 480B A35B Instruct Turbo", + "id": "gpt-oss-120b", + "name": "GPT-OSS 120B", + "display_name": "GPT-OSS 120B", "modalities": { "input": [ "text" @@ -110200,42 +119235,45 @@ ] }, "limit": { - "context": 262144, - "output": 66536 + "context": 128000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", + "release_date": "2024-01-01", + "last_updated": "2026-03-17", "cost": { - "input": 0.3, - "output": 1.2 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "Qwen/Qwen3.6-35B-A3B", - "name": "Qwen3.6 35B A3B", - "display_name": "Qwen3.6 35B A3B", + "id": "gemma-4-26b-a4b-it", + "name": "Gemma 4 26B A4B IT", + "display_name": "Gemma 4 26B A4B IT", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 81920 + "context": 256000, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -110243,44 +119281,33 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": true, "open_weights": true, + "knowledge": "2025-04", "release_date": "2026-04-01", - "last_updated": "2026-04-01", + "last_updated": "2026-05-22", "cost": { - "input": 0.2, - "output": 1 + "input": 0.25, + "output": 0.5 }, "type": "chat" }, { - "id": "Qwen/Qwen3.5-35B-A3B", - "name": "Qwen 3.5 35B A3B", - "display_name": "Qwen 3.5 35B A3B", + "id": "mistral-medium-3.5-128b", + "name": "Mistral Medium 3.5 128B", + "display_name": "Mistral Medium 3.5 128B", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 81920 + "context": 256000, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -110288,32 +119315,20 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": true, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-02-01", - "last_updated": "2026-04-20", + "release_date": "2026-04-29", + "last_updated": "2026-04-29", "cost": { - "input": 0.2, - "output": 0.95 + "input": 1.5, + "output": 7.5 }, "type": "chat" }, { - "id": "Qwen/Qwen3.5-397B-A17B", - "name": "Qwen 3.5 397B A17B", - "display_name": "Qwen 3.5 397B A17B", + "id": "qwen3.5-397b-a17b", + "name": "Qwen3.5 397B A17B", + "display_name": "Qwen3.5 397B A17B", "modalities": { "input": [ "text", @@ -110325,8 +119340,8 @@ ] }, "limit": { - "context": 262144, - "output": 81920 + "context": 256000, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -110347,52 +119362,51 @@ }, "attachment": true, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-02-01", - "last_updated": "2026-04-20", + "knowledge": "2025-04", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0.54, - "output": 3.4 + "input": 0.6, + "output": 3.6 }, "type": "chat" }, { - "id": "google/gemma-4-26B-A4B-it", - "name": "Gemma 4 26B A4B IT", - "display_name": "Gemma 4 26B A4B IT", + "id": "whisper-large-v3", + "name": "Whisper Large v3", + "display_name": "Whisper Large v3", "modalities": { "input": [ - "text", - "image" + "audio" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 8192, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "knowledge": "2023-09", + "release_date": "2023-09-01", + "last_updated": "2026-03-17", "cost": { - "input": 0.07, - "output": 0.34 + "input": 0.003, + "output": 0 }, "type": "chat" }, { - "id": "google/gemma-4-31B-it", - "name": "Gemma 4 31B IT", - "display_name": "Gemma 4 31B IT", + "id": "gemma-3-27b-it", + "name": "Gemma-3-27B-IT", + "display_name": "Gemma-3-27B-IT", "modalities": { "input": [ "text", @@ -110403,8 +119417,8 @@ ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 40000, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -110413,56 +119427,52 @@ "default": true }, "attachment": true, - "open_weights": true, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "open_weights": false, + "knowledge": "2024-12", + "release_date": "2024-12-01", + "last_updated": "2026-03-17", "cost": { - "input": 0.13, - "output": 0.38 + "input": 0.25, + "output": 0.5 }, "type": "chat" }, { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "display_name": "GPT OSS 120B", + "id": "voxtral-small-24b-2507", + "name": "Voxtral Small 24B 2507", + "display_name": "Voxtral Small 24B 2507", "modalities": { "input": [ - "text" + "text", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 131072, + "context": 32000, "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "release_date": "2025-07-01", + "last_updated": "2026-03-17", "cost": { - "input": 0.05, - "output": 0.24 + "input": 0.15, + "output": 0.35 }, "type": "chat" }, { - "id": "openai/gpt-oss-20b", - "name": "GPT OSS 20B", - "display_name": "GPT OSS 20B", + "id": "devstral-2-123b-instruct-2512", + "name": "Devstral 2 123B Instruct (2512)", + "display_name": "Devstral 2 123B Instruct (2512)", "modalities": { "input": [ "text" @@ -110472,91 +119482,69 @@ ] }, "limit": { - "context": 131072, + "context": 256000, "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2025-12", + "release_date": "2026-01-07", + "last_updated": "2026-03-17", "cost": { - "input": 0.03, - "output": 0.14 + "input": 0.4, + "output": 2 }, "type": "chat" } ] }, - "zhipuai": { - "id": "zhipuai", - "name": "Zhipu AI", - "display_name": "Zhipu AI", - "api": "https://open.bigmodel.cn/api/paas/v4", - "doc": "https://docs.z.ai/guides/overview/pricing", + "ovhcloud": { + "id": "ovhcloud", + "name": "OVHcloud AI Endpoints", + "display_name": "OVHcloud AI Endpoints", + "api": "https://oai.endpoints.kepler.ai.cloud.ovh.net/v1", + "doc": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog//", "models": [ { - "id": "glm-5v-turbo", - "name": "GLM-5V-Turbo", - "display_name": "GLM-5V-Turbo", + "id": "llama-3.1-8b-instruct", + "name": "Llama-3.1-8B-Instruct", + "display_name": "Llama-3.1-8B-Instruct", "modalities": { "input": [ - "text", - "image", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, + "context": 131072, "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-01", - "last_updated": "2026-04-01", + "attachment": false, + "open_weights": true, + "release_date": "2025-06-11", + "last_updated": "2025-06-11", "cost": { - "input": 5, - "output": 22, - "cache_read": 1.2, - "cache_write": 0 + "input": 0.11, + "output": 0.11 }, "type": "chat" }, { - "id": "glm-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "qwen3-coder-30b-a3b-instruct", + "name": "Qwen3-Coder-30B-A3B-Instruct", + "display_name": "Qwen3-Coder-30B-A3B-Instruct", "modalities": { "input": [ "text" @@ -110566,42 +119554,28 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "release_date": "2025-10-28", + "last_updated": "2025-10-28", "cost": { - "input": 1, - "output": 3.2, - "cache_read": 0.2, - "cache_write": 0 + "input": 0.07, + "output": 0.26 }, "type": "chat" }, { - "id": "glm-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "qwen3-32b", + "name": "Qwen3-32B", + "display_name": "Qwen3-32B", "modalities": { "input": [ "text" @@ -110611,8 +119585,8 @@ ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 32768, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -110632,21 +119606,73 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "open_weights": true, + "release_date": "2025-07-16", + "last_updated": "2025-07-16", "cost": { - "input": 6, - "output": 24, - "cache_read": 1.3, - "cache_write": 0 + "input": 0.09, + "output": 0.25 }, "type": "chat" }, { - "id": "glm-4.5-air", - "name": "GLM-4.5-Air", - "display_name": "GLM-4.5-Air", + "id": "qwen3guard-gen-8b", + "name": "Qwen3Guard-Gen-8B", + "display_name": "Qwen3Guard-Gen-8B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 32768, + "output": 16384 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-01-22", + "last_updated": "2026-01-22", + "type": "chat" + }, + { + "id": "qwen3guard-gen-0.6b", + "name": "Qwen3Guard-Gen-0.6B", + "display_name": "Qwen3Guard-Gen-0.6B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 32768, + "output": 16384 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-01-22", + "last_updated": "2026-01-22", + "type": "chat" + }, + { + "id": "meta-llama-3_3-70b-instruct", + "name": "Meta-Llama-3_3-70B-Instruct", + "display_name": "Meta-Llama-3_3-70B-Instruct", "modalities": { "input": [ "text" @@ -110657,34 +119683,31 @@ }, "limit": { "context": 131072, - "output": 98304 + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "release_date": "2025-04-01", + "last_updated": "2025-04-01", "cost": { - "input": 0.2, - "output": 1.1, - "cache_read": 0.03, - "cache_write": 0 + "input": 0.74, + "output": 0.74 }, "type": "chat" }, { - "id": "glm-4.5", - "name": "GLM-4.5", - "display_name": "GLM-4.5", + "id": "mistral-small-3.2-24b-instruct-2506", + "name": "Mistral-Small-3.2-24B-Instruct-2506", + "display_name": "Mistral-Small-3.2-24B-Instruct-2506", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -110692,31 +119715,59 @@ }, "limit": { "context": 131072, - "output": 98304 + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "release_date": "2025-07-16", + "last_updated": "2025-07-16", "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11, - "cache_write": 0 + "input": 0.1, + "output": 0.31 }, "type": "chat" }, { - "id": "glm-4.7-flash", - "name": "GLM-4.7-Flash", - "display_name": "GLM-4.7-Flash", + "id": "qwen2.5-vl-72b-instruct", + "name": "Qwen2.5-VL-72B-Instruct", + "display_name": "Qwen2.5-VL-72B-Instruct", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 32768, + "output": 32768 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "release_date": "2025-03-31", + "last_updated": "2025-03-31", + "cost": { + "input": 1.01, + "output": 1.01 + }, + "type": "chat" + }, + { + "id": "gpt-oss-120b", + "name": "gpt-oss-120b", + "display_name": "gpt-oss-120b", "modalities": { "input": [ "text" @@ -110726,10 +119777,9 @@ ] }, "limit": { - "context": 200000, + "context": 131072, "output": 131072 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -110742,102 +119792,92 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", + "release_date": "2025-08-28", + "last_updated": "2025-08-28", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.09, + "output": 0.47 }, "type": "chat" }, { - "id": "glm-4.6v", - "name": "GLM-4.6V", - "display_name": "GLM-4.6V", + "id": "mistral-7b-instruct-v0.3", + "name": "Mistral-7B-Instruct-v0.3", + "display_name": "Mistral-7B-Instruct-v0.3", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 65536, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-08", - "last_updated": "2025-12-08", + "release_date": "2025-04-01", + "last_updated": "2025-04-01", "cost": { - "input": 0.3, - "output": 0.9 + "input": 0.11, + "output": 0.11 }, "type": "chat" }, { - "id": "glm-4.5v", - "name": "GLM-4.5V", - "display_name": "GLM-4.5V", + "id": "mistral-nemo-instruct-2407", + "name": "Mistral-Nemo-Instruct-2407", + "display_name": "Mistral-Nemo-Instruct-2407", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 64000, - "output": 16384 + "context": 65536, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-08-11", - "last_updated": "2025-08-11", + "release_date": "2024-11-20", + "last_updated": "2024-11-20", "cost": { - "input": 0.6, - "output": 1.8 + "input": 0.14, + "output": 0.14 }, "type": "chat" }, { - "id": "glm-4.7", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "qwen3.6-27b", + "name": "Qwen3.6-27B", + "display_name": "Qwen3.6-27B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -110856,34 +119896,32 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "release_date": "2026-06-01", + "last_updated": "2026-06-01", "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11, - "cache_write": 0 + "input": 0.47, + "output": 3.19 }, "type": "chat" }, { - "id": "glm-4.6", - "name": "GLM-4.6", - "display_name": "GLM-4.6", + "id": "qwen3.5-9b", + "name": "Qwen3.5-9B", + "display_name": "Qwen3.5-9B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -110893,37 +119931,41 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11, - "cache_write": 0 + "input": 0.12, + "output": 0.18 }, "type": "chat" }, { - "id": "glm-4.7-flashx", - "name": "GLM-4.7-FlashX", - "display_name": "GLM-4.7-FlashX", + "id": "qwen3.5-397b-a17b", + "name": "Qwen3.5-397B-A17B", + "display_name": "Qwen3.5-397B-A17B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -110931,23 +119973,31 @@ "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", + "release_date": "2026-05-18", + "last_updated": "2026-05-18", "cost": { - "input": 0.07, - "output": 0.4, - "cache_read": 0.01, - "cache_write": 0 + "input": 0.71, + "output": 4.25 }, "type": "chat" }, { - "id": "glm-4.5-flash", - "name": "GLM-4.5-Flash", - "display_name": "GLM-4.5-Flash", + "id": "gpt-oss-20b", + "name": "gpt-oss-20b", + "display_name": "gpt-oss-20b", "modalities": { "input": [ "text" @@ -110958,40 +120008,41 @@ }, "limit": { "context": 131072, - "output": 98304 + "output": 131072 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "release_date": "2025-08-28", + "last_updated": "2025-08-28", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.05, + "output": 0.18 }, "type": "chat" } ] }, - "io-net": { - "id": "io-net", - "name": "IO.NET", - "display_name": "IO.NET", - "api": "https://api.intelligence.io.solutions/api/v1", - "doc": "https://io.net/docs/guides/intelligence/io-intelligence", + "friendli": { + "id": "friendli", + "name": "Friendli", + "display_name": "Friendli", + "api": "https://api.friendli.ai/serverless/v1", + "doc": "https://friendli.ai/docs/guides/serverless_endpoints/introduction", "models": [ { - "id": "mistralai/Magistral-Small-2506", - "name": "Magistral Small 2506", - "display_name": "Magistral Small 2506", + "id": "meta-llama/Llama-3.3-70B-Instruct", + "name": "Llama 3.3 70B Instruct", + "display_name": "Llama 3.3 70B Instruct", "modalities": { "input": [ "text" @@ -111001,8 +120052,8 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -111010,34 +120061,30 @@ "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-06-01", - "last_updated": "2025-06-01", + "open_weights": true, + "release_date": "2024-08-01", + "last_updated": "2025-12-23", "cost": { - "input": 0.5, - "output": 1.5, - "cache_read": 0.25, - "cache_write": 1 + "input": 0.6, + "output": 0.6 }, "type": "chat" }, { - "id": "mistralai/Mistral-Large-Instruct-2411", - "name": "Mistral Large Instruct 2411", - "display_name": "Mistral Large Instruct 2411", + "id": "meta-llama/Llama-3.1-8B-Instruct", + "name": "Llama 3.1 8B Instruct", + "display_name": "Llama 3.1 8B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131072, + "output": 8000 }, "temperature": true, "tool_call": true, @@ -111045,22 +120092,19 @@ "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-11-01", - "last_updated": "2024-11-01", + "open_weights": true, + "release_date": "2024-08-01", + "last_updated": "2025-12-23", "cost": { - "input": 2, - "output": 6, - "cache_read": 1, - "cache_write": 4 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "mistralai/Mistral-Nemo-Instruct-2407", - "name": "Mistral Nemo Instruct 2407", - "display_name": "Mistral Nemo Instruct 2407", + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "name": "Qwen3 235B A22B Instruct 2507", + "display_name": "Qwen3 235B A22B Instruct 2507", "modalities": { "input": [ "text" @@ -111070,8 +120114,8 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -111080,21 +120124,18 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-05", - "release_date": "2024-07-01", - "last_updated": "2024-07-01", + "release_date": "2025-07-29", + "last_updated": "2026-01-29", "cost": { - "input": 0.02, - "output": 0.04, - "cache_read": 0.01, - "cache_write": 0.04 + "input": 0.2, + "output": 0.8 }, "type": "chat" }, { - "id": "mistralai/Devstral-Small-2505", - "name": "Devstral Small 2505", - "display_name": "Devstral Small 2505", + "id": "zai-org/GLM-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ "text" @@ -111104,31 +120145,41 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 202752, + "output": 202752 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "knowledge": "2024-12", - "release_date": "2025-05-01", - "last_updated": "2025-05-01", + "open_weights": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.05, - "output": 0.22, - "cache_read": 0.025, - "cache_write": 0.1 + "input": 1, + "output": 3.2, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "zai-org/GLM-4.6", - "name": "GLM 4.6", - "display_name": "GLM 4.6", + "id": "zai-org/GLM-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ "text" @@ -111138,36 +120189,41 @@ ] }, "limit": { - "context": 200000, - "output": 4096 + "context": 202752, + "output": 202752 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-11-15", - "last_updated": "2024-11-15", + "open_weights": true, + "release_date": "2026-04-07", + "last_updated": "2026-04-07", "cost": { - "input": 0.4, - "output": 1.75, - "cache_read": 0.2, - "cache_write": 0.8 + "input": 1.4, + "output": 4.4, + "cache_read": 0.26 }, "type": "chat" }, { - "id": "Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar", - "name": "Qwen 3 Coder 480B", - "display_name": "Qwen 3 Coder 480B", + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ "text" @@ -111177,31 +120233,50 @@ ] }, "limit": { - "context": 106000, - "output": 4096 + "context": 196608, + "output": 196608 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-01-15", - "last_updated": "2025-01-15", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.22, - "output": 0.95, - "cache_read": 0.11, - "cache_write": 0.44 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 }, "type": "chat" - }, + } + ] + }, + "tencent-tokenhub": { + "id": "tencent-tokenhub", + "name": "Tencent TokenHub", + "display_name": "Tencent TokenHub", + "api": "https://tokenhub.tencentmaas.com/v1", + "doc": "https://cloud.tencent.com/document/product/1823/130050", + "models": [ { - "id": "moonshotai/Kimi-K2-Instruct-0905", - "name": "Kimi K2 Instruct", - "display_name": "Kimi K2 Instruct", + "id": "hy3-preview", + "name": "Hy3 preview", + "display_name": "Hy3 preview", "modalities": { "input": [ "text" @@ -111211,42 +120286,57 @@ ] }, "limit": { - "context": 32768, - "output": 4096 + "context": 256000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": false, - "knowledge": "2024-08", - "release_date": "2024-09-05", - "last_updated": "2024-09-05", + "open_weights": true, + "release_date": "2026-04-20", + "last_updated": "2026-04-20", "cost": { - "input": 0.39, - "output": 1.9, - "cache_read": 0.195, - "cache_write": 0.78 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" - }, + } + ] + }, + "wandb": { + "id": "wandb", + "name": "Weights & Biases", + "display_name": "Weights & Biases", + "api": "https://api.inference.wandb.ai/v1", + "doc": "https://docs.wandb.ai/guides/integrations/inference/", + "models": [ { - "id": "moonshotai/Kimi-K2-Thinking", - "name": "Kimi K2 Thinking", - "display_name": "Kimi K2 Thinking", + "id": "meta-llama/Llama-4-Scout-17B-16E-Instruct", + "name": "Llama 4 Scout 17B 16E Instruct", + "display_name": "Llama 4 Scout 17B 16E Instruct", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 4096 + "context": 64000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -111254,81 +120344,65 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, - "open_weights": false, - "knowledge": "2024-08", - "release_date": "2024-11-01", - "last_updated": "2024-11-01", + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2025-01-31", + "last_updated": "2026-03-12", "cost": { - "input": 0.55, - "output": 2.25, - "cache_read": 0.275, - "cache_write": 1.1 + "input": 0.17, + "output": 0.66 }, "type": "chat" }, { - "id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", - "name": "Llama 4 Maverick 17B 128E Instruct", - "display_name": "Llama 4 Maverick 17B 128E Instruct", + "id": "meta-llama/Llama-3.3-70B-Instruct", + "name": "Llama-3.3-70B-Instruct", + "display_name": "Llama-3.3-70B-Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 430000, - "output": 4096 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-01-15", - "last_updated": "2025-01-15", + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2026-03-12", "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.075, - "cache_write": 0.3 + "input": 0.71, + "output": 0.71 }, "type": "chat" }, { - "id": "meta-llama/Llama-3.2-90B-Vision-Instruct", - "name": "Llama 3.2 90B Vision Instruct", - "display_name": "Llama 3.2 90B Vision Instruct", + "id": "meta-llama/Llama-3.1-70B-Instruct", + "name": "Llama 3.1 70B", + "display_name": "Llama 3.1 70B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 16000, - "output": 4096 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -111337,21 +120411,18 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", + "release_date": "2024-07-23", + "last_updated": "2026-03-12", "cost": { - "input": 0.35, - "output": 0.4, - "cache_read": 0.175, - "cache_write": 0.7 + "input": 0.8, + "output": 0.8 }, "type": "chat" }, { - "id": "meta-llama/Llama-3.3-70B-Instruct", - "name": "Llama 3.3 70B Instruct", - "display_name": "Llama 3.3 70B Instruct", + "id": "meta-llama/Llama-3.1-8B-Instruct", + "name": "Meta-Llama-3.1-8B-Instruct", + "display_name": "Meta-Llama-3.1-8B-Instruct", "modalities": { "input": [ "text" @@ -111362,41 +120433,41 @@ }, "limit": { "context": 128000, - "output": 4096 + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "release_date": "2024-07-23", + "last_updated": "2026-03-12", "cost": { - "input": 0.13, - "output": 0.38, - "cache_read": 0.065, - "cache_write": 0.26 + "input": 0.22, + "output": 0.22 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-R1-0528", - "name": "DeepSeek R1", - "display_name": "DeepSeek R1", + "id": "moonshotai/Kimi-K2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -111415,23 +120486,53 @@ ] } }, + "attachment": true, + "open_weights": true, + "release_date": "2026-01-27", + "last_updated": "2026-03-12", + "cost": { + "input": 0.5, + "output": 2.85 + }, + "type": "chat" + }, + { + "id": "microsoft/Phi-4-mini-instruct", + "name": "Phi-4-mini-instruct", + "display_name": "Phi-4-mini-instruct", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 128000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, "attachment": false, "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-05-28", + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2026-03-12", "cost": { - "input": 2, - "output": 8.75, - "cache_read": 1, - "cache_write": 4 + "input": 0.08, + "output": 0.35 }, "type": "chat" }, { "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen 3 235B Thinking", - "display_name": "Qwen 3 235B Thinking", + "name": "Qwen3-235B-A22B-Thinking-2507", + "display_name": "Qwen3-235B-A22B-Thinking-2507", "modalities": { "input": [ "text" @@ -111442,7 +120543,7 @@ }, "limit": { "context": 262144, - "output": 4096 + "output": 262144 }, "temperature": true, "tool_call": true, @@ -111463,21 +120564,51 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-07-01", - "last_updated": "2025-07-01", + "knowledge": "2025-04", + "release_date": "2025-07-25", + "last_updated": "2026-03-12", "cost": { - "input": 0.11, - "output": 0.6, - "cache_read": 0.055, - "cache_write": 0.22 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", - "name": "Qwen 3 Next 80B Instruct", - "display_name": "Qwen 3 Next 80B Instruct", + "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "name": "Qwen3-Coder-480B-A35B-Instruct", + "display_name": "Qwen3-Coder-480B-A35B-Instruct", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2026-03-12", + "cost": { + "input": 1, + "output": 1.5 + }, + "type": "chat" + }, + { + "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", + "name": "Qwen3 30B A3B Instruct 2507", + "display_name": "Qwen3 30B A3B Instruct 2507", "modalities": { "input": [ "text" @@ -111488,7 +120619,7 @@ }, "limit": { "context": 262144, - "output": 4096 + "output": 262144 }, "temperature": true, "tool_call": true, @@ -111497,33 +120628,29 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-01-10", - "last_updated": "2025-01-10", + "release_date": "2025-07-29", + "last_updated": "2026-03-12", "cost": { "input": 0.1, - "output": 0.8, - "cache_read": 0.05, - "cache_write": 0.2 + "output": 0.3 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-VL-32B-Instruct", - "name": "Qwen 2.5 VL 32B Instruct", - "display_name": "Qwen 2.5 VL 32B Instruct", + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "name": "Qwen3 235B A22B Instruct 2507", + "display_name": "Qwen3 235B A22B Instruct 2507", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 32000, - "output": 4096 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -111532,21 +120659,19 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-09", - "release_date": "2024-11-01", - "last_updated": "2024-11-01", + "knowledge": "2025-04", + "release_date": "2025-04-28", + "last_updated": "2026-03-12", "cost": { - "input": 0.05, - "output": 0.22, - "cache_read": 0.025, - "cache_write": 0.1 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { "id": "openai/gpt-oss-120b", - "name": "GPT-OSS 120B", - "display_name": "GPT-OSS 120B", + "name": "gpt-oss-120b", + "display_name": "gpt-oss-120b", "modalities": { "input": [ "text" @@ -111557,7 +120682,7 @@ }, "limit": { "context": 131072, - "output": 4096 + "output": 131072 }, "temperature": true, "tool_call": true, @@ -111570,22 +120695,19 @@ } }, "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2024-12-01", - "last_updated": "2024-12-01", + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2026-03-12", "cost": { - "input": 0.04, - "output": 0.4, - "cache_read": 0.02, - "cache_write": 0.08 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { "id": "openai/gpt-oss-20b", - "name": "GPT-OSS 20B", - "display_name": "GPT-OSS 20B", + "name": "gpt-oss-20b", + "display_name": "gpt-oss-20b", "modalities": { "input": [ "text" @@ -111595,8 +120717,8 @@ ] }, "limit": { - "context": 64000, - "output": 4096 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -111609,57 +120731,19 @@ } }, "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2024-12-01", - "last_updated": "2024-12-01", + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2026-03-12", "cost": { - "input": 0.03, - "output": 0.14, - "cache_read": 0.015, - "cache_write": 0.06 - }, - "type": "chat" - } - ] - }, - "groq": { - "id": "groq", - "name": "Groq", - "display_name": "Groq", - "doc": "https://console.groq.com/docs/models", - "models": [ - { - "id": "whisper-large-v3-turbo", - "name": "Whisper Large V3 Turbo", - "display_name": "Whisper Large V3 Turbo", - "modalities": { - "input": [ - "audio" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false + "input": 0.05, + "output": 0.2 }, - "attachment": false, - "open_weights": true, - "release_date": "2024-10-01", - "last_updated": "2024-10-01", "type": "chat" }, { - "id": "llama-3.1-8b-instant", - "name": "Llama 3.1 8B", - "display_name": "Llama 3.1 8B", + "id": "nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8", + "name": "NVIDIA Nemotron 3 Super 120B", + "display_name": "NVIDIA Nemotron 3 Super 120B", "modalities": { "input": [ "text" @@ -111669,8 +120753,8 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -111679,46 +120763,49 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "release_date": "2026-03-11", + "last_updated": "2026-03-12", "cost": { - "input": 0.05, - "output": 0.08 + "input": 0.2, + "output": 0.8 }, "type": "chat" }, { - "id": "whisper-large-v3", - "name": "Whisper", - "display_name": "Whisper", + "id": "OpenPipe/Qwen3-14B-Instruct", + "name": "OpenPipe Qwen3 14B Instruct", + "display_name": "OpenPipe Qwen3 14B Instruct", "modalities": { "input": [ - "audio" + "text" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 32768, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2023-09-01", - "last_updated": "2025-09-05", + "release_date": "2025-04-29", + "last_updated": "2026-03-12", + "cost": { + "input": 0.05, + "output": 0.22 + }, "type": "chat" }, { - "id": "llama-3.3-70b-versatile", - "name": "Llama 3.3 70B", - "display_name": "Llama 3.3 70B", + "id": "zai-org/GLM-5-FP8", + "name": "GLM 5", + "display_name": "GLM 5", "modalities": { "input": [ "text" @@ -111728,8 +120815,8 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 200000, + "output": 200000 }, "temperature": true, "tool_call": true, @@ -111738,19 +120825,18 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "release_date": "2026-02-11", + "last_updated": "2026-03-12", "cost": { - "input": 0.59, - "output": 0.79 + "input": 1, + "output": 3.2 }, "type": "chat" }, { - "id": "qwen/qwen3-32b", - "name": "Qwen3-32B", - "display_name": "Qwen3-32B", + "id": "zai-org/GLM-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ "text" @@ -111760,8 +120846,8 @@ ] }, "limit": { - "context": 131072, - "output": 40960 + "context": 200000, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -111782,51 +120868,51 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-06-11", - "last_updated": "2025-06-12", + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 0.29, - "output": 0.59 + "input": 1.4, + "output": 4.4, + "cache_read": 0.26, + "cache_write": 0 }, "type": "chat" }, { - "id": "meta-llama/llama-4-scout-17b-16e-instruct", - "name": "Llama 4 Scout 17B 16E", - "display_name": "Llama 4 Scout 17B 16E", + "id": "deepseek-ai/DeepSeek-V3.1", + "name": "DeepSeek V3.1", + "display_name": "DeepSeek V3.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 161000, + "output": 161000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "release_date": "2025-08-21", + "last_updated": "2026-03-12", "cost": { - "input": 0.11, - "output": 0.34 + "input": 0.55, + "output": 1.65 }, "type": "chat" }, { - "id": "meta-llama/llama-prompt-guard-2-86m", - "name": "Prompt Guard 2 86M", - "display_name": "Prompt Guard 2 86M", + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax M2.5", + "display_name": "MiniMax M2.5", "modalities": { "input": [ "text" @@ -111836,28 +120922,42 @@ ] }, "limit": { - "context": 512, - "output": 512 + "context": 196608, + "output": 196608 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": true, - "release_date": "2025-05-29", - "last_updated": "2025-05-29", + "release_date": "2026-02-12", + "last_updated": "2026-03-12", "cost": { - "input": 0.04, - "output": 0.04 + "input": 0.3, + "output": 1.2 }, "type": "chat" - }, + } + ] + }, + "kuae-cloud-coding-plan": { + "id": "kuae-cloud-coding-plan", + "name": "KUAE Cloud Coding Plan", + "display_name": "KUAE Cloud Coding Plan", + "api": "https://coding-plan-endpoint.kuaecloud.net/v1", + "doc": "https://docs.mthreads.com/kuaecloud/kuaecloud-doc-online/coding_plan/", + "models": [ { - "id": "meta-llama/llama-prompt-guard-2-22m", - "name": "Llama Prompt Guard 2 22M", - "display_name": "Llama Prompt Guard 2 22M", + "id": "GLM-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", "modalities": { "input": [ "text" @@ -111867,223 +120967,282 @@ ] }, "limit": { - "context": 512, - "output": 512 + "context": 204800, + "output": 131072 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2025-05-29", - "last_updated": "2025-05-29", + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 0.03, - "output": 0.03 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" - }, + } + ] + }, + "gitlab": { + "id": "gitlab", + "name": "GitLab Duo", + "display_name": "GitLab Duo", + "doc": "https://docs.gitlab.com/user/duo_agent_platform/", + "models": [ { - "id": "groq/compound-mini", - "name": "Compound Mini", - "display_name": "Compound Mini", + "id": "duo-chat-opus-4-5", + "name": "Agentic Chat (Claude Opus 4.5)", + "display_name": "Agentic Chat (Claude Opus 4.5)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 200000, + "output": 64000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-09-04", - "last_updated": "2025-09-04", + "knowledge": "2025-03-31", + "release_date": "2026-01-08", + "last_updated": "2026-01-08", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + }, "type": "chat" }, { - "id": "groq/compound", - "name": "Compound", - "display_name": "Compound", + "id": "duo-chat-opus-4-8", + "name": "Agentic Chat (Claude Opus 4.8)", + "display_name": "Agentic Chat (Claude Opus 4.8)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 1000000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-09-04", - "last_updated": "2025-09-04", + "knowledge": "2026-01-31", + "release_date": "2026-05-28", + "last_updated": "2026-05-28", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + }, "type": "chat" }, { - "id": "canopylabs/orpheus-v1-english", - "name": "Canopy Labs Orpheus V1 English", - "display_name": "Canopy Labs Orpheus V1 English", + "id": "duo-chat-opus-4-7", + "name": "Agentic Chat (Claude Opus 4.7)", + "display_name": "Agentic Chat (Claude Opus 4.7)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ - "audio" + "text" ] }, "limit": { - "context": 4000, - "output": 50000 + "context": 1000000, + "output": 64000 }, "temperature": false, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-12-19", - "last_updated": "2025-12-19", + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + }, "type": "chat" }, { - "id": "canopylabs/orpheus-arabic-saudi", - "name": "Canopy Labs Orpheus Arabic Saudi", - "display_name": "Canopy Labs Orpheus Arabic Saudi", + "id": "duo-chat-gpt-5-2-codex", + "name": "Agentic Chat (GPT-5.2 Codex)", + "display_name": "Agentic Chat (GPT-5.2 Codex)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ - "audio" + "text" ] }, "limit": { - "context": 4000, - "output": 50000 + "context": 400000, + "output": 128000 }, "temperature": false, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-12-16", - "last_updated": "2025-12-16", + "knowledge": "2025-08-31", + "release_date": "2026-01-22", + "last_updated": "2026-01-22", + "cost": { + "input": 0, + "output": 0 + }, "type": "chat" }, { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "display_name": "GPT OSS 120B", + "id": "duo-chat-fable-5", + "name": "Agentic Chat (Claude Fable 5)", + "display_name": "Agentic Chat (Claude Fable 5)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 65536 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-10-21", + "attachment": true, + "open_weights": false, + "knowledge": "2026-01-31", + "release_date": "2026-06-09", + "last_updated": "2026-06-09", "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.075 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "openai/gpt-oss-20b", - "name": "GPT OSS 20B", - "display_name": "GPT OSS 20B", + "id": "duo-chat-gpt-5-5", + "name": "Agentic Chat (GPT-5.5)", + "display_name": "Agentic Chat (GPT-5.5)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 65536 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-09-25", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 0.075, - "output": 0.3, - "cache_read": 0.0375 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "openai/gpt-oss-safeguard-20b", - "name": "Safety GPT OSS 20B", - "display_name": "Safety GPT OSS 20B", + "id": "duo-chat-opus-4-6", + "name": "Agentic Chat (Claude Opus 4.6)", + "display_name": "Agentic Chat (Claude Opus 4.6)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 65536 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -112091,29 +121250,23 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-10-29", - "last_updated": "2025-10-29", + "attachment": true, + "open_weights": false, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 0.075, - "output": 0.3, - "cache_read": 0.037 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" - } - ] - }, - "sap-ai-core": { - "id": "sap-ai-core", - "name": "SAP AI Core", - "display_name": "SAP AI Core", - "doc": "https://help.sap.com/docs/sap-ai-core", - "models": [ + }, { - "id": "anthropic--claude-3-sonnet", - "name": "anthropic--claude-3-sonnet", - "display_name": "anthropic--claude-3-sonnet", + "id": "duo-chat-gpt-5-4", + "name": "Agentic Chat (GPT-5.4)", + "display_name": "Agentic Chat (GPT-5.4)", "modalities": { "input": [ "text", @@ -112125,31 +121278,30 @@ ] }, "limit": { - "context": 200000, - "output": 4096 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2023-08-31", - "release_date": "2024-03-04", - "last_updated": "2024-03-04", + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gpt-5-mini", - "name": "gpt-5-mini", - "display_name": "gpt-5-mini", + "id": "duo-chat-gpt-5-codex", + "name": "Agentic Chat (GPT-5 Codex)", + "display_name": "Agentic Chat (GPT-5 Codex)", "modalities": { "input": [ "text", @@ -112169,75 +121321,55 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2024-09-30", + "release_date": "2026-01-22", + "last_updated": "2026-01-22", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "sonar", - "name": "sonar", - "display_name": "sonar", + "id": "duo-chat-gpt-5-4-nano", + "name": "Agentic Chat (GPT-5.4 Nano)", + "display_name": "Agentic Chat (GPT-5.4 Nano)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 400000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-09-01", - "release_date": "2024-01-01", - "last_updated": "2025-09-01", + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 1, - "output": 1 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "anthropic--claude-4.6-sonnet", - "name": "anthropic--claude-4.6-sonnet", - "display_name": "anthropic--claude-4.6-sonnet", + "id": "duo-chat-sonnet-4-6", + "name": "Agentic Chat (Claude Sonnet 4.6)", + "display_name": "Agentic Chat (Claude Sonnet 4.6)", "modalities": { "input": [ "text", @@ -112260,36 +121392,35 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-08", + "knowledge": "2025-08-31", "release_date": "2026-02-17", - "last_updated": "2026-03-13", + "last_updated": "2026-02-17", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "anthropic--claude-4.6-opus", - "name": "anthropic--claude-4.6-opus", - "display_name": "anthropic--claude-4.6-opus", + "id": "duo-chat-gpt-5-mini", + "name": "Agentic Chat (GPT-5 Mini)", + "display_name": "Agentic Chat (GPT-5 Mini)", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 400000, "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -112297,36 +121428,33 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-05", - "release_date": "2026-02-05", - "last_updated": "2026-03-13", + "knowledge": "2024-05-30", + "release_date": "2026-01-22", + "last_updated": "2026-01-22", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "anthropic--claude-4.5-sonnet", - "name": "anthropic--claude-4.5-sonnet", - "display_name": "anthropic--claude-4.5-sonnet", + "id": "duo-chat-gpt-5-4-mini", + "name": "Agentic Chat (GPT-5.4 Mini)", + "display_name": "Agentic Chat (GPT-5.4 Mini)", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -112334,25 +121462,24 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gpt-5", - "name": "gpt-5", - "display_name": "gpt-5", + "id": "duo-chat-gpt-5-3-codex", + "name": "Agentic Chat (GPT-5.3 Codex)", + "display_name": "Agentic Chat (GPT-5.3 Codex)", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" @@ -112368,47 +121495,26 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "sonar-pro", - "name": "sonar-pro", - "display_name": "sonar-pro", + "id": "duo-chat-haiku-4-5", + "name": "Agentic Chat (Claude Haiku 4.5)", + "display_name": "Agentic Chat (Claude Haiku 4.5)", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" @@ -112416,63 +121522,65 @@ }, "limit": { "context": 200000, - "output": 8192 + "output": 64000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2025-09-01", - "release_date": "2024-01-01", - "last_updated": "2025-09-01", + "knowledge": "2025-02-28", + "release_date": "2026-01-08", + "last_updated": "2026-01-08", "cost": { - "input": 3, - "output": 15 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "gpt-4.1-mini", - "name": "gpt-4.1-mini", - "display_name": "gpt-4.1-mini", + "id": "duo-chat-gpt-5-2", + "name": "Agentic Chat (GPT-5.2)", + "display_name": "Agentic Chat (GPT-5.2)", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "knowledge": "2025-08-31", + "release_date": "2026-01-23", + "last_updated": "2026-01-23", "cost": { - "input": 0.4, - "output": 1.6, - "cache_read": 0.1 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gpt-5.4", - "name": "gpt-5.4", - "display_name": "gpt-5.4", + "id": "duo-chat-sonnet-4-5", + "name": "Agentic Chat (Claude Sonnet 4.5)", + "display_name": "Agentic Chat (Claude Sonnet 4.5)", "modalities": { "input": [ "text", @@ -112484,65 +121592,43 @@ ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 200000, + "output": 64000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "knowledge": "2025-07-31", + "release_date": "2026-01-08", + "last_updated": "2026-01-08", "cost": { - "input": 2.5, - "output": 15, - "cache_read": 0.25 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "anthropic--claude-4.7-opus", - "name": "anthropic--claude-4.7-opus", - "display_name": "anthropic--claude-4.7-opus", + "id": "duo-chat-gpt-5-1", + "name": "Agentic Chat (GPT-5.1)", + "display_name": "Agentic Chat (GPT-5.1)", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 400000, "output": 128000 }, "temperature": false, @@ -112553,435 +121639,316 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "knowledge": "2024-09-30", + "release_date": "2026-01-22", + "last_updated": "2026-01-22", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0, + "output": 0 }, "type": "chat" - }, + } + ] + }, + "kilo": { + "id": "kilo", + "name": "Kilo Gateway", + "display_name": "Kilo Gateway", + "api": "https://api.kilo.ai/api/gateway", + "doc": "https://kilo.ai", + "models": [ { - "id": "gpt-5.5", - "name": "gpt-5.5", - "display_name": "gpt-5.5", + "id": "inclusionai/ling-2.6-1t", + "name": "inclusionAI: Ling-2.6-1T", + "display_name": "inclusionAI: Ling-2.6-1T", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 262144, + "output": 32768 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-12-01", "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "last_updated": "2026-05-16", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5 + "input": 0.3, + "output": 2.5, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "gpt-5-nano", - "name": "gpt-5-nano", - "display_name": "gpt-5-nano", + "id": "inclusionai/ring-2.6-1t", + "name": "inclusionAI: Ring-2.6-1T", + "display_name": "inclusionAI: Ring-2.6-1T", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "release_date": "2026-05-08", + "last_updated": "2026-05-16", "cost": { - "input": 0.05, - "output": 0.4, - "cache_read": 0.005 + "input": 0.075, + "output": 0.625, + "cache_read": 0.015 }, "type": "chat" }, { - "id": "anthropic--claude-3-haiku", - "name": "anthropic--claude-3-haiku", - "display_name": "anthropic--claude-3-haiku", + "id": "inclusionai/ling-2.6-flash", + "name": "inclusionAI: Ling-2.6 Flash", + "display_name": "inclusionAI: Ling-2.6 Flash", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 4096 + "context": 262144, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2023-08-31", - "release_date": "2024-03-13", - "last_updated": "2024-03-13", - "cost": { - "input": 0.25, - "output": 1.25, - "cache_read": 0.03, - "cache_write": 0.3 + "release_date": "2026-04-21", + "last_updated": "2026-05-01", + "cost": { + "input": 0.08, + "output": 0.24, + "cache_read": 0.016 }, "type": "chat" }, { - "id": "anthropic--claude-3.7-sonnet", - "name": "anthropic--claude-3.7-sonnet", - "display_name": "anthropic--claude-3.7-sonnet", + "id": "ibm-granite/granite-4.0-h-micro", + "name": "IBM: Granite 4.0 Micro", + "display_name": "IBM: Granite 4.0 Micro", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 131000, + "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": false, - "summaries": false, - "visibility": "full", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic uses thinking budget tokens" - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-10-31", - "release_date": "2025-02-24", - "last_updated": "2025-02-24", + "attachment": false, + "open_weights": true, + "release_date": "2025-10-20", + "last_updated": "2026-03-15", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.017, + "output": 0.11 }, "type": "chat" }, { - "id": "gemini-2.5-pro", - "name": "gemini-2.5-pro", - "display_name": "gemini-2.5-pro", + "id": "ibm-granite/granite-4.1-8b", + "name": "IBM: Granite 4.1 8B", + "display_name": "IBM: Granite 4.1 8B", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-25", - "last_updated": "2025-06-05", + "release_date": "2026-04-30", + "last_updated": "2026-05-01", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.05, + "output": 0.1, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "gpt-4.1", - "name": "gpt-4.1", - "display_name": "gpt-4.1", + "id": "meta-llama/llama-3.1-8b-instruct", + "name": "Meta: Llama 3.1 8B Instruct", + "display_name": "Meta: Llama 3.1 8B Instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 16384, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "attachment": false, + "open_weights": true, + "release_date": "2024-07-23", + "last_updated": "2025-12-23", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0.02, + "output": 0.05 }, "type": "chat" }, { - "id": "anthropic--claude-3.5-sonnet", - "name": "anthropic--claude-3.5-sonnet", - "display_name": "anthropic--claude-3.5-sonnet", + "id": "meta-llama/llama-3-70b-instruct", + "name": "Meta: Llama 3 70B Instruct", + "display_name": "Meta: Llama 3 70B Instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 8192, + "output": 8000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04-30", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", + "attachment": false, + "open_weights": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.51, + "output": 0.74 }, "type": "chat" }, { - "id": "anthropic--claude-4.5-opus", - "name": "anthropic--claude-4.5-opus", - "display_name": "anthropic--claude-4.5-opus", + "id": "meta-llama/llama-3.1-70b-instruct", + "name": "Meta: Llama 3.1 70B Instruct", + "display_name": "Meta: Llama 3.1 70B Instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 131072, + "output": 26215 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-05", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", + "attachment": false, + "open_weights": true, + "release_date": "2024-07-16", + "last_updated": "2024-07-23", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.4, + "output": 0.4 }, "type": "chat" }, { - "id": "anthropic--claude-3-opus", - "name": "anthropic--claude-3-opus", - "display_name": "anthropic--claude-3-opus", + "id": "meta-llama/llama-3.2-1b-instruct", + "name": "Meta: Llama 3.2 1B Instruct", + "display_name": "Meta: Llama 3.2 1B Instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 4096 + "context": 60000, + "output": 12000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-08-31", - "release_date": "2024-02-29", - "last_updated": "2024-02-29", + "attachment": false, + "open_weights": true, + "release_date": "2024-09-18", + "last_updated": "2026-01-27", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.027, + "output": 0.2 }, "type": "chat" }, { - "id": "gemini-2.5-flash-lite", - "name": "gemini-2.5-flash-lite", - "display_name": "gemini-2.5-flash-lite", + "id": "meta-llama/llama-4-maverick", + "name": "Meta: Llama 4 Maverick", + "display_name": "Meta: Llama 4 Maverick", "modalities": { "input": [ "text", - "image", - "audio", - "video", - "pdf" + "image" ], "output": [ "text" @@ -112989,220 +121956,153 @@ }, "limit": { "context": 1048576, - "output": 65536 + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "default": -1, - "min": 512, - "max": 24576, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", + "open_weights": true, + "release_date": "2025-04-05", + "last_updated": "2025-12-24", "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.01, - "input_audio": 0.3 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "gemini-2.5-flash", - "name": "gemini-2.5-flash", - "display_name": "gemini-2.5-flash", + "id": "meta-llama/llama-3.2-11b-vision-instruct", + "name": "Meta: Llama 3.2 11B Vision Instruct", + "display_name": "Meta: Llama 3.2 11B Vision Instruct", "modalities": { "input": [ "text", - "image", - "audio", - "video", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 131072, + "output": 16384 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-04-17", - "last_updated": "2025-06-05", + "open_weights": true, + "release_date": "2024-09-25", + "last_updated": "2024-09-25", "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.03, - "input_audio": 1 + "input": 0.049, + "output": 0.049 }, "type": "chat" }, { - "id": "anthropic--claude-4-sonnet", - "name": "anthropic--claude-4-sonnet", - "display_name": "anthropic--claude-4-sonnet", + "id": "meta-llama/llama-3.3-70b-instruct", + "name": "Meta: Llama 3.3 70B Instruct", + "display_name": "Meta: Llama 3.3 70B Instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 131072, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "attachment": false, + "open_weights": true, + "release_date": "2024-08-01", + "last_updated": "2026-02-04", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.1, + "output": 0.32 }, "type": "chat" }, { - "id": "anthropic--claude-4.5-haiku", - "name": "anthropic--claude-4.5-haiku", - "display_name": "anthropic--claude-4.5-haiku", + "id": "meta-llama/llama-guard-3-8b", + "name": "Llama Guard 3 8B", + "display_name": "Llama Guard 3 8B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 131072, + "output": 26215 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "attachment": false, + "open_weights": true, + "release_date": "2024-04-18", + "last_updated": "2026-02-04", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 0.02, + "output": 0.06 }, "type": "chat" }, { - "id": "anthropic--claude-4-opus", - "name": "anthropic--claude-4-opus", - "display_name": "anthropic--claude-4-opus", + "id": "meta-llama/llama-guard-4-12b", + "name": "Meta: Llama Guard 4 12B", + "display_name": "Meta: Llama Guard 4 12B", "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 163840, + "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "open_weights": true, + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.18, + "output": 0.18 }, "type": "chat" }, { - "id": "sonar-deep-research", - "name": "sonar-deep-research", - "display_name": "sonar-deep-research", + "id": "meta-llama/llama-3-8b-instruct", + "name": "Meta: Llama 3 8B Instruct", + "display_name": "Meta: Llama 3 8B Instruct", "modalities": { "input": [ "text" @@ -113212,343 +122112,192 @@ ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 8192, + "output": 16384 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-02-01", - "last_updated": "2025-09-01", + "open_weights": true, + "release_date": "2024-04-25", + "last_updated": "2025-04-03", "cost": { - "input": 2, - "output": 8, - "reasoning": 3 + "input": 0.03, + "output": 0.04 }, "type": "chat" - } - ] - }, - "freemodel": { - "id": "freemodel", - "name": "FreeModel", - "display_name": "FreeModel", - "api": "https://cc.freemodel.dev/v1", - "doc": "https://freemodel.dev", - "models": [ + }, { - "id": "claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "meta-llama/llama-4-scout", + "name": "Meta: Llama 4 Scout", + "display_name": "Meta: Llama 4 Scout", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 327680, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", + "open_weights": true, + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.08, + "output": 0.3 }, "type": "chat" }, { - "id": "claude-haiku-4-5-20251001", - "name": "Claude Haiku 4.5", - "display_name": "Claude Haiku 4.5", + "id": "meta-llama/llama-3.2-3b-instruct", + "name": "Meta: Llama 3.2 3B Instruct", + "display_name": "Meta: Llama 3.2 3B Instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 80000, + "output": 16384 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "attachment": false, + "open_weights": true, + "release_date": "2024-09-18", + "last_updated": "2026-03-15", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 0.051, + "output": 0.34 }, "type": "chat" }, { - "id": "gpt-5.4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "kilo-auto/balanced", + "name": "Kilo Auto Balanced", + "display_name": "Kilo Auto Balanced", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 204800, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "release_date": "2026-03-15", + "last_updated": "2026-03-15", "cost": { - "input": 2.5, - "output": 15, - "cache_read": 0.25, - "cache_write": 2.5 + "input": 0.6, + "output": 3 }, "type": "chat" }, { - "id": "gpt-5.5", - "name": "GPT-5.5", - "display_name": "GPT-5.5", + "id": "kilo-auto/small", + "name": "Kilo Auto Small", + "display_name": "Kilo Auto Small", "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, + "context": 400000, "output": 128000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, "attachment": true, "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "release_date": "2026-03-15", + "last_updated": "2026-03-15", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5, - "cache_write": 5 + "input": 0.05, + "output": 0.4 }, "type": "chat" }, { - "id": "gpt-5.3-codex", - "name": "GPT-5.3 Codex", - "display_name": "GPT-5.3 Codex", + "id": "kilo-auto/free", + "name": "Kilo Auto Free", + "display_name": "Kilo Auto Free", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 204800, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "release_date": "2026-03-15", + "last_updated": "2026-03-15", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175, - "cache_write": 1.75 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "claude-opus-4-8", - "name": "Claude Opus 4.8", - "display_name": "Claude Opus 4.8", + "id": "kilo-auto/frontier", + "name": "Kilo Auto Frontier", + "display_name": "Kilo Auto Frontier", "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ "text" @@ -113558,260 +122307,157 @@ "context": 1000000, "output": 128000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] - } + "default": true }, "attachment": true, "open_weights": false, - "release_date": "2026-05-28", - "last_updated": "2026-05-28", + "release_date": "2026-03-15", + "last_updated": "2026-03-15", "cost": { "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "output": 25 }, "type": "chat" }, { - "id": "gpt-5.4-mini", - "name": "GPT-5.4 mini", - "display_name": "GPT-5.4 mini", + "id": "moonshotai/kimi-k2", + "name": "MoonshotAI: Kimi K2 0711", + "display_name": "MoonshotAI: Kimi K2 0711", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131000, + "output": 26215 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "attachment": false, + "open_weights": true, + "release_date": "2025-07-11", + "last_updated": "2026-03-15", "cost": { - "input": 0.75, - "output": 4.5, - "cache_read": 0.075, - "cache_write": 0.75 + "input": 0.55, + "output": 2.2 }, "type": "chat" }, { - "id": "claude-opus-4-6", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", + "id": "moonshotai/kimi-k2-thinking", + "name": "MoonshotAI: Kimi K2 Thinking", + "display_name": "MoonshotAI: Kimi K2 Thinking", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 65535 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-03-13", + "attachment": false, + "open_weights": true, + "release_date": "2025-11-06", + "last_updated": "2026-03-15", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.47, + "output": 2, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "claude-opus-4-7", - "name": "Claude Opus 4.7", - "display_name": "Claude Opus 4.7", + "id": "moonshotai/kimi-k2.5", + "name": "MoonshotAI: Kimi K2.5", + "display_name": "MoonshotAI: Kimi K2.5", "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 262144, + "output": 65535 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "open_weights": true, + "release_date": "2026-01-27", + "last_updated": "2026-03-15", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.45, + "output": 2.2 }, "type": "chat" - } - ] - }, - "lilac": { - "id": "lilac", - "name": "Lilac", - "display_name": "Lilac", - "api": "https://api.getlilac.com/v1", - "doc": "https://docs.getlilac.com/inference/models", - "models": [ + }, { - "id": "zai-org/glm-5.1", - "name": "GLM 5.1", - "display_name": "GLM 5.1", + "id": "moonshotai/kimi-k2.6", + "name": "MoonshotAI: Kimi K2.6", + "display_name": "MoonshotAI: Kimi K2.6", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 202800, - "output": 131072 + "context": 262144, + "output": 65535 }, "temperature": true, "tool_call": true, @@ -113821,77 +122467,56 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "release_date": "2026-04-20", + "last_updated": "2026-05-12", "cost": { - "input": 0.9, - "output": 3, - "cache_read": 0.27 + "input": 0.75, + "output": 3.5, + "cache_read": 0.375 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "moonshotai/kimi-k2-0905", + "name": "MoonshotAI: Kimi K2 0905", + "display_name": "MoonshotAI: Kimi K2 0905", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 131072, + "output": 26215 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", "cost": { - "input": 0.7, - "output": 3.5, - "cache_read": 0.2 + "input": 0.4, + "output": 2, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "minimaxai/minimax-m2.7", - "name": "MiniMax M2.7", - "display_name": "MiniMax M2.7", + "id": "baidu/ernie-4.5-300b-a47b", + "name": "Baidu: ERNIE 4.5 300B A47B ", + "display_name": "Baidu: ERNIE 4.5 300B A47B ", "modalities": { "input": [ "text" @@ -113901,55 +122526,40 @@ ] }, "limit": { - "context": 204800, - "output": 204800 + "context": 123000, + "output": 12000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "release_date": "2025-06-30", + "last_updated": "2026-01", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.055 + "input": 0.28, + "output": 1.1 }, "type": "chat" }, { - "id": "google/gemma-4-31b-it", - "name": "Gemma 4 31B IT", - "display_name": "Gemma 4 31B IT", + "id": "baidu/ernie-4.5-vl-28b-a3b", + "name": "Baidu: ERNIE 4.5 VL 28B A3B", + "display_name": "Baidu: ERNIE 4.5 VL 28B A3B", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262100, - "output": 262100 + "context": 30000, + "output": 8000 }, "temperature": true, "tool_call": true, @@ -113957,43 +122567,23 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": true, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "release_date": "2025-06-30", + "last_updated": "2025-06-30", "cost": { - "input": 0.11, - "output": 0.35 + "input": 0.14, + "output": 0.56 }, "type": "chat" - } - ] - }, - "stepfun-ai": { - "id": "stepfun-ai", - "name": "StepFun AI", - "display_name": "StepFun AI", - "api": "https://api.stepfun.ai/step_plan/v1", - "doc": "https://platform.stepfun.ai/docs/en/step-plan/integrations/open-code", - "models": [ + }, { - "id": "step-3.5-flash-2603", - "name": "Step 3.5 Flash 2603", - "display_name": "Step 3.5 Flash 2603", + "id": "baidu/ernie-4.5-vl-424b-a47b", + "name": "Baidu: ERNIE 4.5 VL 424B A47B ", + "display_name": "Baidu: ERNIE 4.5 VL 424B A47B ", "modalities": { "input": [ + "image", "text" ], "output": [ @@ -114001,31 +122591,29 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 123000, + "output": 16000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "release_date": "2025-06-30", + "last_updated": "2026-01", "cost": { - "input": 0.1, - "output": 0.3, - "cache_read": 0.02 + "input": 0.42, + "output": 1.25 }, "type": "chat" }, { - "id": "step-3.5-flash", - "name": "Step 3.5 Flash", - "display_name": "Step 3.5 Flash", + "id": "baidu/ernie-4.5-21b-a3b-thinking", + "name": "Baidu: ERNIE 4.5 21B A3B Thinking", + "display_name": "Baidu: ERNIE 4.5 21B A3B Thinking", "modalities": { "input": [ "text" @@ -114035,40 +122623,29 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 131072, + "output": 65536 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01-29", - "last_updated": "2026-02-13", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", "cost": { - "input": 0.096, - "output": 0.288, - "cache_read": 0.019 + "input": 0.07, + "output": 0.28 }, "type": "chat" - } - ] - }, - "tencent-coding-plan": { - "id": "tencent-coding-plan", - "name": "Tencent Coding Plan (China)", - "display_name": "Tencent Coding Plan (China)", - "api": "https://api.lkeap.cloud.tencent.com/coding/v3", - "doc": "https://cloud.tencent.com/document/product/1772/128947", - "models": [ + }, { - "id": "hunyuan-2.0-instruct", - "name": "Tencent HY 2.0 Instruct", - "display_name": "Tencent HY 2.0 Instruct", + "id": "baidu/cobuddy:free", + "name": "Baidu: CoBuddy (free)", + "display_name": "Baidu: CoBuddy (free)", "modalities": { "input": [ "text" @@ -114079,29 +122656,28 @@ }, "limit": { "context": 131072, - "output": 16384 + "output": 65536 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2026-03-08", - "last_updated": "2026-03-08", + "release_date": "2026-05-06", + "last_updated": "2026-05-07", "cost": { "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "output": 0 }, "type": "chat" }, { - "id": "hunyuan-t1", - "name": "Hunyuan-T1", - "display_name": "Hunyuan-T1", + "id": "baidu/ernie-4.5-21b-a3b", + "name": "Baidu: ERNIE 4.5 21B A3B", + "display_name": "Baidu: ERNIE 4.5 21B A3B", "modalities": { "input": [ "text" @@ -114111,44 +122687,31 @@ ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 120000, + "output": 8000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-03-08", - "last_updated": "2026-03-08", + "open_weights": true, + "release_date": "2025-06-30", + "last_updated": "2025-06-30", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.07, + "output": 0.28 }, "type": "chat" }, { - "id": "hunyuan-turbos", - "name": "Hunyuan-TurboS", - "display_name": "Hunyuan-TurboS", + "id": "baidu/qianfan-ocr-fast", + "name": "Baidu: Qianfan-OCR-Fast", + "display_name": "Baidu: Qianfan-OCR-Fast", "modalities": { "input": [ + "image", "text" ], "output": [ @@ -114156,63 +122719,63 @@ ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 65536, + "output": 28672 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-03-08", - "last_updated": "2026-03-08", + "release_date": "2026-04-20", + "last_updated": "2026-05-16", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.68, + "output": 2.81 }, "type": "chat" }, { - "id": "tc-code-latest", - "name": "Auto", - "display_name": "Auto", + "id": "perceptron/perceptron-mk1", + "name": "Perceptron: Perceptron Mk1", + "display_name": "Perceptron: Perceptron Mk1", "modalities": { "input": [ - "text" + "image", + "text", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 32768, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-03-08", - "last_updated": "2026-03-08", + "release_date": "2026-05-12", + "last_updated": "2026-05-16", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.15, + "output": 1.5 }, "type": "chat" }, { - "id": "glm-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "alfredpros/codellama-7b-instruct-solidity", + "name": "AlfredPros: CodeLLaMa 7B Instruct Solidity", + "display_name": "AlfredPros: CodeLLaMa 7B Instruct Solidity", "modalities": { "input": [ "text" @@ -114222,53 +122785,43 @@ ] }, "limit": { - "context": 202752, - "output": 16384 + "context": 4096, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "open_weights": true, + "release_date": "2025-04-14", + "last_updated": "2026-03-15", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.8, + "output": 1.2 }, "type": "chat" }, { - "id": "minimax-m2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "google/gemini-3.1-flash-lite", + "name": "Google: Gemini 3.1 Flash Lite", + "display_name": "Google: Gemini 3.1 Flash Lite", "modalities": { "input": [ - "text" + "audio", + "image", + "pdf", + "text", + "video" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 32768 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -114278,31 +122831,26 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "attachment": true, + "open_weights": false, + "release_date": "2026-05-07", + "last_updated": "2026-05-16", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.25, + "output": 1.5, + "reasoning": 1.5, + "cache_read": 0.025, + "cache_write": 0.08333 }, "type": "chat" }, { - "id": "hunyuan-2.0-thinking", - "name": "Tencent HY 2.0 Think", - "display_name": "Tencent HY 2.0 Think", + "id": "google/gemma-3n-e4b-it", + "name": "Google: Gemma 3n 4B", + "display_name": "Google: Gemma 3n 4B", "modalities": { "input": [ "text" @@ -114312,46 +122860,34 @@ ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 32768, + "output": 6554 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-03-08", - "last_updated": "2026-03-08", + "open_weights": true, + "release_date": "2025-05-20", + "last_updated": "2025-05-20", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.02, + "output": 0.04 }, "type": "chat" }, { - "id": "kimi-k2.5", - "name": "Kimi-K2.5", - "display_name": "Kimi-K2.5", + "id": "google/gemini-2.5-pro", + "name": "Google: Gemini 2.5 Pro", + "display_name": "Google: Gemini 2.5 Pro", "modalities": { "input": [ - "text", + "audio", "image", + "pdf", + "text", "video" ], "output": [ @@ -114359,8 +122895,8 @@ ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -114371,44 +122907,45 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "open_weights": false, + "release_date": "2025-03-20", + "last_updated": "2026-03-15", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 1.25, + "output": 10, + "reasoning": 10, + "cache_read": 0.125, + "cache_write": 0.375 }, "type": "chat" - } - ] - }, - "opencode-go": { - "id": "opencode-go", - "name": "OpenCode Go", - "display_name": "OpenCode Go", - "api": "https://opencode.ai/zen/go/v1", - "doc": "https://opencode.ai/docs/zen", - "models": [ + }, { - "id": "minimax-m3", - "name": "MiniMax M3", - "display_name": "MiniMax M3", + "id": "google/gemini-2.5-flash", + "name": "Google: Gemini 2.5 Flash", + "display_name": "Google: Gemini 2.5 Flash", "modalities": { "input": [ - "text", + "audio", "image", + "pdf", + "text", "video" ], "output": [ @@ -114416,8 +122953,8 @@ ] }, "limit": { - "context": 512000, - "output": 131072 + "context": 1048576, + "output": 65535 }, "temperature": true, "tool_call": true, @@ -114427,29 +122964,47 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-05-31", - "last_updated": "2026-05-31", + "attachment": true, + "open_weights": false, + "release_date": "2025-07-17", + "last_updated": "2026-03-15", "cost": { "input": 0.3, - "output": 1.2, - "cache_read": 0.06 + "output": 2.5, + "reasoning": 2.5, + "cache_read": 0.03, + "cache_write": 0.083333 }, "type": "chat" }, { - "id": "qwen3.5-plus", - "name": "Qwen3.5 Plus", - "display_name": "Qwen3.5 Plus", + "id": "google/gemini-3.5-flash", + "name": "Google: Gemini 3.5 Flash", + "display_name": "Google: Gemini 3.5 Flash", "modalities": { "input": [ - "text", + "audio", "image", + "pdf", + "text", "video" ], "output": [ @@ -114457,7 +123012,7 @@ ] }, "limit": { - "context": 262144, + "context": 1048576, "output": 65536 }, "temperature": true, @@ -114469,83 +123024,80 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", + "release_date": "2026-05-19", + "last_updated": "2026-05-27", "cost": { - "input": 0.2, - "output": 1.2, - "cache_read": 0.02, - "cache_write": 0.25 + "input": 1.5, + "output": 9, + "reasoning": 9, + "cache_read": 0.15, + "cache_write": 0.08333 }, "type": "chat" }, { - "id": "mimo-v2-omni", - "name": "MiMo V2 Omni", - "display_name": "MiMo V2 Omni", + "id": "google/gemini-2.0-flash-lite-001", + "name": "Google: Gemini 2.0 Flash Lite", + "display_name": "Google: Gemini 2.0 Flash Lite", "modalities": { "input": [ - "text", - "image", "audio", - "pdf" + "image", + "pdf", + "text", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 128000 + "context": 1048576, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": true, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "open_weights": false, + "release_date": "2024-12-11", + "last_updated": "2026-03-15", "cost": { - "input": 0.4, - "output": 2, - "cache_read": 0.08 + "input": 0.075, + "output": 0.3 }, "type": "chat" }, { - "id": "kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "google/gemini-2.5-flash-lite-preview-09-2025", + "name": "Google: Gemini 2.5 Flash Lite Preview 09-2025", + "display_name": "Google: Gemini 2.5 Flash Lite Preview 09-2025", "modalities": { "input": [ - "text", + "audio", "image", + "pdf", + "text", "video" ], "output": [ @@ -114553,85 +123105,92 @@ ] }, "limit": { - "context": 262144, + "context": 1048576, "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "default": -1, + "min": 512, + "max": 24576, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, "attachment": true, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "open_weights": false, + "release_date": "2025-09-25", + "last_updated": "2026-03-15", "cost": { - "input": 0.95, - "output": 4, - "cache_read": 0.16 + "input": 0.1, + "output": 0.4, + "reasoning": 0.4, + "cache_read": 0.01, + "cache_write": 0.083333 }, "type": "chat" }, { - "id": "qwen3.7-max", - "name": "Qwen3.7 Max", - "display_name": "Qwen3.7 Max", + "id": "google/gemini-2.0-flash-001", + "name": "Google: Gemini 2.0 Flash", + "display_name": "Google: Gemini 2.0 Flash", "modalities": { "input": [ - "text" + "audio", + "image", + "pdf", + "text", + "video" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 1048576, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-05-21", - "last_updated": "2026-05-21", + "release_date": "2024-12-11", + "last_updated": "2026-03-15", "cost": { - "input": 2.5, - "output": 7.5, - "cache_read": 0.5, - "cache_write": 3.125 + "input": 0.1, + "output": 0.4, + "cache_read": 0.025, + "cache_write": 0.083333 }, "type": "chat" }, { - "id": "qwen3.6-plus", - "name": "Qwen3.6 Plus", - "display_name": "Qwen3.6 Plus", + "id": "google/gemma-4-31b-it", + "name": "Google: Gemma 4 31B", + "display_name": "Google: Gemma 4 31B", "modalities": { "input": [ - "text", "image", + "text", "video" ], "output": [ @@ -114639,8 +123198,8 @@ ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 262144, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -114648,108 +123207,68 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": true, - "open_weights": false, - "knowledge": "2025-04", + "open_weights": true, "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "last_updated": "2026-04-11", "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 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.2, - "cache_write": 2.5 - } + "input": 0.14, + "output": 0.4 }, "type": "chat" }, { - "id": "minimax-m2.7", - "name": "MiniMax M2.7", - "display_name": "MiniMax M2.7", + "id": "google/lyria-3-clip-preview", + "name": "Google: Lyria 3 Clip Preview", + "display_name": "Google: Lyria 3 Clip Preview", "modalities": { "input": [ + "image", "text" ], "output": [ + "audio", "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1048576, + "output": 65536 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "attachment": true, + "open_weights": false, + "release_date": "2026-03-30", + "last_updated": "2026-04-11", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "google/gemini-3.1-pro-preview-customtools", + "name": "Google: Gemini 3.1 Pro Preview Custom Tools", + "display_name": "Google: Gemini 3.1 Pro Preview Custom Tools", "modalities": { "input": [ - "text" + "audio", + "image", + "pdf", + "text", + "video" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -114760,44 +123279,51 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "attachment": true, + "open_weights": false, + "release_date": "2026-02-26", + "last_updated": "2026-03-15", "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.0028 + "input": 2, + "output": 12, + "reasoning": 12 }, "type": "chat" }, { - "id": "glm-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "google/gemini-3-pro-image-preview", + "name": "Google: Nano Banana Pro (Gemini 3 Pro Image Preview)", + "display_name": "Google: Nano Banana Pro (Gemini 3 Pro Image Preview)", "modalities": { "input": [ + "image", "text" ], "output": [ + "image", "text" ] }, "limit": { - "context": 202752, + "context": 65536, "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -114805,72 +123331,75 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "attachment": true, + "open_weights": false, + "release_date": "2025-11-20", + "last_updated": "2026-03-15", "cost": { - "input": 1, - "output": 3.2, - "cache_read": 0.2 + "input": 2, + "output": 12, + "reasoning": 12 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "minimax-m2.5", - "name": "MiniMax M2.5", - "display_name": "MiniMax M2.5", + "id": "google/gemini-2.5-flash-image", + "name": "Google: Nano Banana (Gemini 2.5 Flash Image)", + "display_name": "Google: Nano Banana (Gemini 2.5 Flash Image)", "modalities": { "input": [ + "image", "text" ], "output": [ + "image", "text" ] }, "limit": { - "context": 204800, - "output": 65536 + "context": 32768, + "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "attachment": true, + "open_weights": false, + "release_date": "2025-10-08", + "last_updated": "2026-03-15", "cost": { "input": 0.3, - "output": 1.2, - "cache_read": 0.03 + "output": 2.5 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "mimo-v2-pro", - "name": "MiMo V2 Pro", - "display_name": "MiMo V2 Pro", + "id": "google/gemini-2.5-flash-lite", + "name": "Google: Gemini 2.5 Flash Lite", + "display_name": "Google: Gemini 2.5 Flash Lite", "modalities": { "input": [ - "text" + "audio", + "image", + "pdf", + "text", + "video" ], "output": [ "text" @@ -114878,73 +123407,66 @@ }, "limit": { "context": 1048576, - "output": 128000 + "output": 65535 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "default": -1, + "min": 512, + "max": 24576, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, "attachment": true, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "open_weights": false, + "release_date": "2025-06-17", + "last_updated": "2026-03-15", "cost": { - "input": 1, - "output": 3, - "cache_read": 0.2, - "tiers": [ - { - "input": 2, - "output": 6, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 256000 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.4 - } + "input": 0.1, + "output": 0.4, + "reasoning": 0.4, + "cache_read": 0.01, + "cache_write": 0.083333 }, "type": "chat" }, { - "id": "qwen3.7-plus", - "name": "Qwen3.7 Plus", - "display_name": "Qwen3.7 Plus", + "id": "google/gemini-3.1-flash-image-preview", + "name": "Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)", + "display_name": "Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)", "modalities": { "input": [ - "text", "image", - "video" + "text" ], "output": [ + "image", "text" ] }, "limit": { - "context": 1000000, + "context": 65536, "output": 65536 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -114956,43 +123478,24 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-06-02", - "last_updated": "2026-06-02", + "release_date": "2026-02-26", + "last_updated": "2026-03-15", "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 - } - } - ], - "context_over_200k": { - "input": 1.2, - "output": 4.8, - "cache_read": 0.12, - "cache_write": 1.5 - } + "input": 0.5, + "output": 3 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "mimo-v2.5", - "name": "MiMo V2.5", - "display_name": "MiMo V2.5", + "id": "google/gemini-2.5-pro-preview-05-06", + "name": "Google: Gemini 2.5 Pro Preview 05-06", + "display_name": "Google: Gemini 2.5 Pro Preview 05-06", "modalities": { "input": [ - "text", - "image", "audio", + "image", + "pdf", + "text", "video" ], "output": [ @@ -115000,8 +123503,8 @@ ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 1048576, + "output": 65535 }, "temperature": true, "tool_call": true, @@ -115012,41 +123515,54 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, "attachment": true, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "open_weights": false, + "release_date": "2025-05-06", + "last_updated": "2026-03-15", "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.0028 + "input": 1.25, + "output": 10, + "reasoning": 10, + "cache_read": 0.125, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "google/gemini-3.1-pro-preview", + "name": "Google: Gemini 3.1 Pro Preview", + "display_name": "Google: Gemini 3.1 Pro Preview", "modalities": { "input": [ - "text" + "audio", + "image", + "pdf", + "text", + "video" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -115057,34 +123573,39 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "attachment": true, + "open_weights": false, + "release_date": "2026-02-19", + "last_updated": "2026-03-15", "cost": { - "input": 1.74, - "output": 3.48, - "cache_read": 0.0145 + "input": 2, + "output": 12, + "reasoning": 12 }, "type": "chat" }, { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "google/gemma-4-26b-a4b-it", + "name": "Google: Gemma 4 26B A4B", + "display_name": "Google: Gemma 4 26B A4B", "modalities": { "input": [ - "text", "image", + "text", "video" ], "output": [ @@ -115093,7 +123614,7 @@ }, "limit": { "context": 262144, - "output": 65536 + "output": 262144 }, "temperature": true, "tool_call": true, @@ -115101,35 +123622,25 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": true, "open_weights": true, - "knowledge": "2024-10", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "release_date": "2026-04-03", + "last_updated": "2026-04-11", "cost": { - "input": 0.6, - "output": 3, - "cache_read": 0.1 + "input": 0.12, + "output": 0.4 }, "type": "chat" }, { - "id": "glm-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "google/gemini-2.5-pro-preview", + "name": "Google: Gemini 2.5 Pro Preview 06-05", + "display_name": "Google: Gemini 2.5 Pro Preview 06-05", "modalities": { "input": [ + "audio", + "image", + "pdf", "text" ], "output": [ @@ -115137,8 +123648,8 @@ ] }, "limit": { - "context": 202752, - "output": 32768 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -115149,33 +123660,46 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-04-07", - "last_updated": "2026-04-07", + "attachment": true, + "open_weights": false, + "release_date": "2025-06-05", + "last_updated": "2026-03-15", "cost": { - "input": 1.4, - "output": 4.4, - "cache_read": 0.26 + "input": 1.25, + "output": 10, + "reasoning": 10, + "cache_read": 0.125, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "mimo-v2.5-pro", - "name": "MiMo V2.5 Pro", - "display_name": "MiMo V2.5 Pro", + "id": "google/gemini-3-flash-preview", + "name": "Google: Gemini 3 Flash Preview", + "display_name": "Google: Gemini 3 Flash Preview", "modalities": { "input": [ - "text" + "audio", + "image", + "pdf", + "text", + "video" ], "output": [ "text" @@ -115183,7 +123707,7 @@ }, "limit": { "context": 1048576, - "output": 128000 + "output": 65536 }, "temperature": true, "tool_call": true, @@ -115194,337 +123718,289 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, "attachment": true, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "open_weights": false, + "release_date": "2025-12-17", + "last_updated": "2026-03-15", "cost": { - "input": 1.74, - "output": 3.48, - "cache_read": 0.0145 + "input": 0.5, + "output": 3, + "reasoning": 3, + "cache_read": 0.05, + "cache_write": 0.083333 }, "type": "chat" - } - ] - }, - "gitlab": { - "id": "gitlab", - "name": "GitLab Duo", - "display_name": "GitLab Duo", - "doc": "https://docs.gitlab.com/user/duo_agent_platform/", - "models": [ + }, { - "id": "duo-chat-sonnet-4-5", - "name": "Agentic Chat (Claude Sonnet 4.5)", - "display_name": "Agentic Chat (Claude Sonnet 4.5)", + "id": "google/gemma-3-12b-it", + "name": "Google: Gemma 3 12B", + "display_name": "Google: Gemma 3 12B", "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 131072, + "output": 131072 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2026-01-08", - "last_updated": "2026-01-08", + "open_weights": true, + "release_date": "2025-03-13", + "last_updated": "2026-03-15", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.04, + "output": 0.13, + "cache_read": 0.015 }, "type": "chat" }, { - "id": "duo-chat-gpt-5-4", - "name": "Agentic Chat (GPT-5.4)", - "display_name": "Agentic Chat (GPT-5.4)", + "id": "google/gemma-3-4b-it", + "name": "Google: Gemma 3 4B", + "display_name": "Google: Gemma 3 4B", "modalities": { "input": [ - "text", "image", - "pdf" - ], - "output": [ "text" - ] - }, - "limit": { - "context": 1050000, - "output": 128000 - }, - "temperature": false, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "cost": { - "input": 0, - "output": 0 - }, - "type": "chat" - }, - { - "id": "duo-chat-gpt-5-2", - "name": "Agentic Chat (GPT-5.2)", - "display_name": "Agentic Chat (GPT-5.2)", - "modalities": { - "input": [ - "text", - "image" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 19200 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-01-23", - "last_updated": "2026-01-23", + "open_weights": true, + "release_date": "2025-03-13", + "last_updated": "2026-03-15", "cost": { - "input": 0, - "output": 0 + "input": 0.04, + "output": 0.08 }, "type": "chat" }, { - "id": "duo-chat-opus-4-7", - "name": "Agentic Chat (Claude Opus 4.7)", - "display_name": "Agentic Chat (Claude Opus 4.7)", + "id": "google/gemma-3-27b-it", + "name": "Google: Gemma 3 27B", + "display_name": "Google: Gemma 3 27B", "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 128000, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "open_weights": true, + "release_date": "2025-03-12", + "last_updated": "2026-03-15", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.03, + "output": 0.11, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "duo-chat-opus-4-5", - "name": "Agentic Chat (Claude Opus 4.5)", - "display_name": "Agentic Chat (Claude Opus 4.5)", + "id": "google/lyria-3-pro-preview", + "name": "Google: Lyria 3 Pro Preview", + "display_name": "Google: Lyria 3 Pro Preview", "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ + "audio", "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 1048576, + "output": 65536 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2026-01-08", - "last_updated": "2026-01-08", + "release_date": "2026-03-30", + "last_updated": "2026-04-11", "cost": { "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "output": 0 }, "type": "chat" }, { - "id": "duo-chat-opus-4-8", - "name": "Agentic Chat (Claude Opus 4.8)", - "display_name": "Agentic Chat (Claude Opus 4.8)", + "id": "google/gemma-2-27b-it", + "name": "Google: Gemma 2 27B", + "display_name": "Google: Gemma 2 27B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 8192, + "output": 2048 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-05-28", - "last_updated": "2026-05-28", + "attachment": false, + "open_weights": true, + "release_date": "2024-06-24", + "last_updated": "2024-06-24", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.65, + "output": 0.65 }, "type": "chat" }, { - "id": "duo-chat-gpt-5-4-nano", - "name": "Agentic Chat (GPT-5.4 Nano)", - "display_name": "Agentic Chat (GPT-5.4 Nano)", + "id": "google/gemini-3.1-flash-lite-preview", + "name": "Google: Gemini 3.1 Flash Lite Preview", + "display_name": "Google: Gemini 3.1 Flash Lite Preview", "modalities": { "input": [ + "audio", + "image", + "pdf", "text", - "image" + "video" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1048576, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "release_date": "2026-03-03", + "last_updated": "2026-03-15", "cost": { - "input": 0, - "output": 0 + "input": 0.25, + "output": 1.5, + "reasoning": 1.5 }, "type": "chat" }, { - "id": "duo-chat-gpt-5-4-mini", - "name": "Agentic Chat (GPT-5.4 Mini)", - "display_name": "Agentic Chat (GPT-5.4 Mini)", + "id": "liquid/lfm-2-24b-a2b", + "name": "LiquidAI: LFM2-24B-A2B", + "display_name": "LiquidAI: LFM2-24B-A2B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 32768, + "output": 32768 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-26", + "last_updated": "2026-03-15", "cost": { - "input": 0, - "output": 0 + "input": 0.03, + "output": 0.12 }, "type": "chat" }, { - "id": "duo-chat-gpt-5-mini", - "name": "Agentic Chat (GPT-5 Mini)", - "display_name": "Agentic Chat (GPT-5 Mini)", + "id": "x-ai/grok-4.20", + "name": "xAI: Grok 4.20", + "display_name": "xAI: Grok 4.20", "modalities": { "input": [ - "text", - "image" + "image", + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 2000000, + "output": 2000000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -115532,19 +124008,19 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2026-01-22", - "last_updated": "2026-01-22", + "release_date": "2026-03-31", + "last_updated": "2026-04-11", "cost": { - "input": 0, - "output": 0 + "input": 2, + "output": 6, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "duo-chat-opus-4-6", - "name": "Agentic Chat (Claude Opus 4.6)", - "display_name": "Agentic Chat (Claude Opus 4.6)", + "id": "x-ai/grok-4.3", + "name": "xAI: Grok 4.3", + "display_name": "xAI: Grok 4.3", "modalities": { "input": [ "text", @@ -115557,7 +124033,7 @@ }, "limit": { "context": 1000000, - "output": 64000 + "output": 4096 }, "temperature": true, "tool_call": true, @@ -115565,212 +124041,205 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": true, "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "release_date": "2026-05-01", + "last_updated": "2026-05-01", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 1.25, + "output": 2.5, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "duo-chat-gpt-5-5", - "name": "Agentic Chat (GPT-5.5)", - "display_name": "Agentic Chat (GPT-5.5)", + "id": "x-ai/grok-4.20-multi-agent", + "name": "xAI: Grok 4.20 Multi-Agent", + "display_name": "xAI: Grok 4.20 Multi-Agent", "modalities": { "input": [ - "text", "image", - "pdf" + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 2000000, + "output": 2000000 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "release_date": "2026-03-31", + "last_updated": "2026-04-11", "cost": { - "input": 0, - "output": 0 + "input": 2, + "output": 6, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "duo-chat-gpt-5-1", - "name": "Agentic Chat (GPT-5.1)", - "display_name": "Agentic Chat (GPT-5.1)", + "id": "x-ai/grok-build-0.1", + "name": "xAI: Grok Build 0.1", + "display_name": "xAI: Grok Build 0.1", "modalities": { "input": [ - "text", - "image" + "image", + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 256000, + "output": 256000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2026-01-22", - "last_updated": "2026-01-22", + "release_date": "2026-05-20", + "last_updated": "2026-05-27", "cost": { - "input": 0, - "output": 0 + "input": 1, + "output": 2, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "duo-chat-haiku-4-5", - "name": "Agentic Chat (Claude Haiku 4.5)", - "display_name": "Agentic Chat (Claude Haiku 4.5)", + "id": "microsoft/phi-4-mini-instruct", + "name": "Microsoft: Phi 4 Mini Instruct", + "display_name": "Microsoft: Phi 4 Mini Instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 128000, + "output": 128000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2026-01-08", - "last_updated": "2026-01-08", + "attachment": false, + "open_weights": true, + "release_date": "2025-10-17", + "last_updated": "2026-05-07", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.08, + "output": 0.35, + "cache_read": 0.08 }, "type": "chat" }, { - "id": "duo-chat-gpt-5-2-codex", - "name": "Agentic Chat (GPT-5.2 Codex)", - "display_name": "Agentic Chat (GPT-5.2 Codex)", + "id": "microsoft/phi-4", + "name": "Microsoft: Phi 4", + "display_name": "Microsoft: Phi 4", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 16384, + "output": 16384 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-01-22", - "last_updated": "2026-01-22", + "attachment": false, + "open_weights": true, + "release_date": "2024-12-11", + "last_updated": "2024-12-11", "cost": { - "input": 0, - "output": 0 + "input": 0.06, + "output": 0.14 }, "type": "chat" }, { - "id": "duo-chat-gpt-5-3-codex", - "name": "Agentic Chat (GPT-5.3 Codex)", - "display_name": "Agentic Chat (GPT-5.3 Codex)", + "id": "microsoft/wizardlm-2-8x22b", + "name": "WizardLM-2 8x22B", + "display_name": "WizardLM-2 8x22B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 65535, + "output": 8000 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "attachment": false, + "open_weights": true, + "release_date": "2024-04-24", + "last_updated": "2024-04-24", "cost": { - "input": 0, - "output": 0 + "input": 0.62, + "output": 0.62 }, "type": "chat" }, { - "id": "duo-chat-sonnet-4-6", - "name": "Agentic Chat (Claude Sonnet 4.6)", - "display_name": "Agentic Chat (Claude Sonnet 4.6)", + "id": "poolside/laguna-xs.2:free", + "name": "Poolside: Laguna XS.2 (free)", + "display_name": "Poolside: Laguna XS.2 (free)", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -115778,37 +124247,33 @@ "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-02-17", + "release_date": "2026-04-28", + "last_updated": "2026-05-01", "cost": { "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "output": 0 }, "type": "chat" }, { - "id": "duo-chat-gpt-5-codex", - "name": "Agentic Chat (GPT-5 Codex)", - "display_name": "Agentic Chat (GPT-5 Codex)", + "id": "poolside/laguna-m.1:free", + "name": "Poolside: Laguna M.1 (free)", + "display_name": "Poolside: Laguna M.1 (free)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -115816,128 +124281,105 @@ }, "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2026-01-22", - "last_updated": "2026-01-22", + "release_date": "2026-04-28", + "last_updated": "2026-05-01", "cost": { "input": 0, "output": 0 }, "type": "chat" - } - ] - }, - "cortecs": { - "id": "cortecs", - "name": "Cortecs", - "display_name": "Cortecs", - "api": "https://api.cortecs.ai/v1", - "doc": "https://api.cortecs.ai/v1/models", - "models": [ + }, { - "id": "nova-pro-v1", - "name": "Nova Pro 1.0", - "display_name": "Nova Pro 1.0", + "id": "writer/palmyra-x5", + "name": "Writer: Palmyra X5", + "display_name": "Writer: Palmyra X5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 300000, - "output": 5000 + "context": 1040000, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", + "release_date": "2025-04-28", + "last_updated": "2025-04-28", "cost": { - "input": 1.016, - "output": 4.061 + "input": 0.6, + "output": 6 }, "type": "chat" }, { - "id": "claude-sonnet-4", - "name": "Claude Sonnet 4", - "display_name": "Claude Sonnet 4", + "id": "z-ai/glm-4.7", + "name": "Z.ai: GLM 4.7", + "display_name": "Z.ai: GLM 4.7", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 202752, + "output": 65535 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": false, - "open_weights": false, - "knowledge": "2025-03", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "open_weights": true, + "release_date": "2025-12-22", + "last_updated": "2026-03-15", "cost": { - "input": 3.307, - "output": 16.536 + "input": 0.38, + "output": 1.98, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "deepseek-r1-0528", - "name": "DeepSeek R1 0528", - "display_name": "DeepSeek R1 0528", + "id": "z-ai/glm-4.5v", + "name": "Z.ai: GLM 4.5V", + "display_name": "Z.ai: GLM 4.5V", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 164000, - "output": 164000 + "context": 65536, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -115945,32 +124387,21 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-05-28", - "last_updated": "2025-05-28", + "release_date": "2025-08-11", + "last_updated": "2025-08-11", "cost": { - "input": 0.585, - "output": 2.307 + "input": 0.6, + "output": 1.8, + "cache_read": 0.11 }, "type": "chat" }, { - "id": "qwen3.5-122b-a10b", - "name": "Qwen3.5 122B A10B", - "display_name": "Qwen3.5 122B A10B", + "id": "z-ai/glm-4.5", + "name": "Z.ai: GLM 4.5", + "display_name": "Z.ai: GLM 4.5", "modalities": { "input": [ "text" @@ -115980,8 +124411,8 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 131072, + "output": 98304 }, "temperature": true, "tool_call": true, @@ -115989,32 +124420,21 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, "open_weights": true, - "knowledge": "2026-01", - "release_date": "2026-02-24", - "last_updated": "2026-02-24", + "release_date": "2025-07-28", + "last_updated": "2026-03-15", "cost": { - "input": 0.444, - "output": 3.106 + "input": 0.6, + "output": 2.2, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "llama-3.1-405b-instruct", - "name": "Llama 3.1 405B Instruct", - "display_name": "Llama 3.1 405B Instruct", + "id": "z-ai/glm-5.1", + "name": "Z.ai: GLM 5.1", + "display_name": "Z.ai: GLM 5.1", "modalities": { "input": [ "text" @@ -116024,29 +124444,34 @@ ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 202752, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 0, - "output": 0 + "input": 1.26, + "output": 3.96 }, "type": "chat" }, { - "id": "qwen3-32b", - "name": "Qwen3 32B", - "display_name": "Qwen3 32B", + "id": "z-ai/glm-4.6", + "name": "Z.ai: GLM 4.6", + "display_name": "Z.ai: GLM 4.6", "modalities": { "input": [ "text" @@ -116056,40 +124481,35 @@ ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 204800, + "output": 204800 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-04-29", - "last_updated": "2025-04-29", + "release_date": "2025-09-30", + "last_updated": "2026-03-15", "cost": { - "input": 0.099, - "output": 0.33 + "input": 0.39, + "output": 1.9, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "hermes-4-70b", - "name": "Hermes 4 70B", - "display_name": "Hermes 4 70B", + "id": "z-ai/glm-4-32b", + "name": "Z.ai: GLM 4 32B ", + "display_name": "Z.ai: GLM 4 32B ", "modalities": { "input": [ "text" @@ -116100,72 +124520,74 @@ }, "limit": { "context": 128000, - "output": 128000 + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2025-08-26", - "last_updated": "2025-08-26", + "release_date": "2025-07-25", + "last_updated": "2026-03-15", "cost": { - "input": 0.116, - "output": 0.358 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "deepseek-v3-0324", - "name": "DeepSeek V3 0324", - "display_name": "DeepSeek V3 0324", + "id": "z-ai/glm-4.6v", + "name": "Z.ai: GLM 4.6V", + "display_name": "Z.ai: GLM 4.6V", "modalities": { "input": [ - "text" + "image", + "text", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-03-24", - "last_updated": "2025-03-24", + "release_date": "2025-09-30", + "last_updated": "2026-01-10", "cost": { - "input": 0.551, - "output": 1.654 + "input": 0.3, + "output": 0.9 }, "type": "chat" }, { - "id": "qwen3-coder-30b-a3b-instruct", - "name": "Qwen3 Coder 30B A3B Instruct", - "display_name": "Qwen3 Coder 30B A3B Instruct", + "id": "z-ai/glm-5v-turbo", + "name": "Z.ai: GLM 5V Turbo", + "display_name": "Z.ai: GLM 5V Turbo", "modalities": { "input": [ - "text" + "image", + "text", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 202752, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -116173,21 +124595,21 @@ "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-31", - "last_updated": "2025-07-31", + "release_date": "2026-04-01", + "last_updated": "2026-04-11", "cost": { - "input": 0.053, - "output": 0.222 + "input": 1.2, + "output": 4, + "cache_read": 0.24 }, "type": "chat" }, { - "id": "kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "display_name": "Kimi K2 Thinking", + "id": "z-ai/glm-4.5-air", + "name": "Z.ai: GLM 4.5 Air", + "display_name": "Z.ai: GLM 4.5 Air", "modalities": { "input": [ "text" @@ -116197,8 +124619,8 @@ ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 131072, + "output": 98304 }, "temperature": true, "tool_call": true, @@ -116206,121 +124628,102 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2025-12", - "release_date": "2025-12-08", - "last_updated": "2025-12-08", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 0.656, - "output": 2.731 + "input": 0.13, + "output": 0.85, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "devstral-small-2512", - "name": "Devstral Small 2 2512", - "display_name": "Devstral Small 2 2512", + "id": "z-ai/glm-4.7-flash", + "name": "Z.ai: GLM 4.7 Flash", + "display_name": "Z.ai: GLM 4.7 Flash", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 202752, + "output": 40551 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": true, - "knowledge": "2025-12", - "release_date": "2025-12-09", - "last_updated": "2025-12-09", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", "cost": { - "input": 0, - "output": 0 + "input": 0.06, + "output": 0.4, + "cache_read": 0.01 }, "type": "chat" }, { - "id": "claude-haiku-4-5", - "name": "Claude Haiku 4.5", - "display_name": "Claude Haiku 4.5", + "id": "z-ai/glm-5", + "name": "Z.ai: GLM 5", + "display_name": "Z.ai: GLM 5", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 200000 + "context": 202752, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-12", + "last_updated": "2026-03-15", "cost": { - "input": 1.09, - "output": 5.43 + "input": 0.72, + "output": 2.3 }, "type": "chat" }, { - "id": "deepseek-v3.2", - "name": "DeepSeek V3.2", - "display_name": "DeepSeek V3.2", + "id": "z-ai/glm-5-turbo", + "name": "Z.ai: GLM 5 Turbo", + "display_name": "Z.ai: GLM 5 Turbo", "modalities": { "input": [ "text" @@ -116330,8 +124733,8 @@ ] }, "limit": { - "context": 163840, - "output": 163840 + "context": 202752, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -116346,77 +124749,52 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "cost": { - "input": 0.266, - "output": 0.444 + "release_date": "2026-03-15", + "last_updated": "2026-04-11", + "cost": { + "input": 1.2, + "output": 4, + "cache_read": 0.24 }, "type": "chat" }, { - "id": "gpt-5.4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "openai/gpt-4o-mini-2024-07-18", + "name": "OpenAI: GPT-4o-mini (2024-07-18)", + "display_name": "OpenAI: GPT-4o-mini (2024-07-18)", "modalities": { "input": [ - "text", "image", - "pdf" + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 128000, + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "release_date": "2024-07-18", + "last_updated": "2026-03-15", "cost": { - "input": 3, - "output": 16.13, - "cache_read": 0.25 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "kimi-k2-instruct", - "name": "Kimi K2 Instruct", - "display_name": "Kimi K2 Instruct", + "id": "openai/gpt-oss-safeguard-20b", + "name": "OpenAI: gpt-oss-safeguard-20b", + "display_name": "OpenAI: gpt-oss-safeguard-20b", "modalities": { "input": [ "text" @@ -116426,29 +124804,30 @@ ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 131072, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-07-11", - "last_updated": "2025-09-05", + "open_weights": false, + "release_date": "2025-10-29", + "last_updated": "2025-10-29", "cost": { - "input": 0.551, - "output": 2.646 + "input": 0.075, + "output": 0.3, + "cache_read": 0.037 }, "type": "chat" }, { - "id": "minimax-m2.1", - "name": "MiniMax-M2.1", - "display_name": "MiniMax-M2.1", + "id": "openai/gpt-3.5-turbo-instruct", + "name": "OpenAI: GPT-3.5 Turbo Instruct", + "display_name": "OpenAI: GPT-3.5 Turbo Instruct", "modalities": { "input": [ "text" @@ -116458,42 +124837,32 @@ ] }, "limit": { - "context": 196000, - "output": 196000 + "context": 4095, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "open_weights": false, + "release_date": "2023-03-01", + "last_updated": "2023-09-21", "cost": { - "input": 0.34, - "output": 1.34 + "input": 1.5, + "output": 2 }, "type": "chat" }, { - "id": "intellect-3", - "name": "INTELLECT 3", - "display_name": "INTELLECT 3", + "id": "openai/gpt-5.2-chat", + "name": "OpenAI: GPT-5.2 Chat", + "display_name": "OpenAI: GPT-5.2 Chat", "modalities": { "input": [ + "image", + "pdf", "text" ], "output": [ @@ -116502,43 +124871,43 @@ }, "limit": { "context": 128000, - "output": 128000 + "output": 16384 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, - "open_weights": true, - "knowledge": "2025-11", - "release_date": "2025-11-26", - "last_updated": "2025-11-26", + "open_weights": false, + "release_date": "2025-12-11", + "last_updated": "2026-03-15", "cost": { - "input": 0.219, - "output": 1.202 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "openai/o3", + "name": "OpenAI: o3", + "display_name": "OpenAI: o3", "modalities": { "input": [ - "text", - "image" + "image", + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -116547,109 +124916,116 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-04-17", - "last_updated": "2026-04-17", + "attachment": true, + "open_weights": false, + "release_date": "2025-04-16", + "last_updated": "2026-03-15", "cost": { - "input": 0.81, - "output": 3.54, - "cache_read": 0.2 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "mistral-large-2512", - "name": "Mistral Large 3 2512", - "display_name": "Mistral Large 3 2512", + "id": "openai/o4-mini-high", + "name": "OpenAI: o4 Mini High", + "display_name": "OpenAI: o4 Mini High", "modalities": { "input": [ - "text", - "image" + "image", + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 200000, + "output": 100000 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, - "open_weights": true, - "knowledge": "2025-12", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "open_weights": false, + "release_date": "2025-04-17", + "last_updated": "2026-03-15", "cost": { - "input": 0.5, - "output": 1.5, - "cache_read": 0.05 + "input": 1.1, + "output": 4.4 }, "type": "chat" }, { - "id": "glm-4.7", - "name": "GLM 4.7", - "display_name": "GLM 4.7", + "id": "openai/gpt-audio", + "name": "OpenAI: GPT Audio", + "display_name": "OpenAI: GPT Audio", "modalities": { "input": [ + "audio", "text" ], "output": [ + "audio", "text" ] }, "limit": { - "context": 198000, - "output": 198000 + "context": 128000, + "output": 16384 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "open_weights": false, + "release_date": "2026-01-20", + "last_updated": "2026-03-15", "cost": { - "input": 0.45, - "output": 2.23 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "gpt-oss-120b", - "name": "GPT Oss 120b", - "display_name": "GPT Oss 120b", + "id": "openai/gpt-5.2-pro", + "name": "OpenAI: GPT-5.2 Pro", + "display_name": "OpenAI: GPT-5.2 Pro", "modalities": { "input": [ + "image", + "pdf", "text" ], "output": [ @@ -116657,34 +125033,49 @@ ] }, "limit": { - "context": 128000, + "context": 400000, "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-01", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "attachment": true, + "open_weights": false, + "release_date": "2025-12-11", + "last_updated": "2026-03-15", "cost": { - "input": 0, - "output": 0 + "input": 21, + "output": 168 }, "type": "chat" }, { - "id": "qwen3-coder-next", - "name": "Qwen3 Coder Next 80B", - "display_name": "Qwen3 Coder Next 80B", + "id": "openai/gpt-4o-mini-search-preview", + "name": "OpenAI: GPT-4o-mini Search Preview", + "display_name": "OpenAI: GPT-4o-mini Search Preview", "modalities": { "input": [ "text" @@ -116694,44 +125085,43 @@ ] }, "limit": { - "context": 256000, - "output": 65536 + "context": 128000, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-02-04", - "last_updated": "2026-02-04", + "open_weights": false, + "release_date": "2025-01", + "last_updated": "2025-01", "cost": { - "input": 0.158, - "output": 0.84 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "display_name": "Gemini 2.5 Pro", + "id": "openai/gpt-5", + "name": "OpenAI: GPT-5", + "display_name": "OpenAI: GPT-5", "modalities": { "input": [ - "text", - "image" + "image", + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65535 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -116741,69 +125131,72 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-17", + "release_date": "2025-08-07", + "last_updated": "2026-03-15", "cost": { - "input": 1.654, - "output": 11.024 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "gpt-4.1", - "name": "GPT 4.1", - "display_name": "GPT 4.1", + "id": "openai/gpt-5-chat", + "name": "OpenAI: GPT-5 Chat", + "display_name": "OpenAI: GPT-5 Chat", "modalities": { "input": [ - "text", - "image" + "image", + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 128000, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-06", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "release_date": "2025-08-07", + "last_updated": "2026-03-15", "cost": { - "input": 2.354, - "output": 9.417 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "qwen3-coder-480b-a35b-instruct", - "name": "Qwen3 Coder 480B A35B Instruct", - "display_name": "Qwen3 Coder 480B A35B Instruct", + "id": "openai/gpt-3.5-turbo", + "name": "OpenAI: GPT-3.5 Turbo", + "display_name": "OpenAI: GPT-3.5 Turbo", "modalities": { "input": [ "text" @@ -116813,8 +125206,8 @@ ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 16385, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -116822,57 +125215,72 @@ "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", + "open_weights": false, + "release_date": "2023-03-01", + "last_updated": "2023-11-06", "cost": { - "input": 0.441, - "output": 1.984 + "input": 0.5, + "output": 1.5 }, "type": "chat" }, { - "id": "claude-opus4-5", - "name": "Claude Opus 4.5", - "display_name": "Claude Opus 4.5", + "id": "openai/gpt-5-pro", + "name": "OpenAI: GPT-5 Pro", + "display_name": "OpenAI: GPT-5 Pro", "modalities": { "input": [ - "text", "image", - "pdf" + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 200000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "fixed", + "effort": "high", + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, "attachment": true, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", + "release_date": "2025-10-06", + "last_updated": "2026-03-15", "cost": { - "input": 5.98, - "output": 29.89 + "input": 15, + "output": 120 }, "type": "chat" }, { - "id": "qwen3-next-80b-a3b-thinking", - "name": "Qwen3 Next 80B A3B Thinking", - "display_name": "Qwen3 Next 80B A3B Thinking", + "id": "openai/gpt-4o", + "name": "OpenAI: GPT-4o", + "display_name": "OpenAI: GPT-4o", "modalities": { "input": [ + "image", + "pdf", "text" ], "output": [ @@ -116881,40 +125289,28 @@ }, "limit": { "context": 128000, - "output": 128000 + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09-11", - "last_updated": "2025-09-11", + "attachment": true, + "open_weights": false, + "release_date": "2024-05-13", + "last_updated": "2026-03-15", "cost": { - "input": 0.164, - "output": 1.311 + "input": 2.5, + "output": 10, + "cache_read": 1.25 }, "type": "chat" }, { - "id": "mixtral-8x7B-instruct-v0.1", - "name": "Mixtral 8x7B Instruct v0.1", - "display_name": "Mixtral 8x7B Instruct v0.1", + "id": "openai/gpt-4", + "name": "OpenAI: GPT-4", + "display_name": "OpenAI: GPT-4", "modalities": { "input": [ "text" @@ -116924,32 +125320,32 @@ ] }, "limit": { - "context": 32000, - "output": 32000 + "context": 8191, + "output": 4096 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2023-09", - "release_date": "2023-12-11", - "last_updated": "2023-12-11", + "open_weights": false, + "release_date": "2023-03-14", + "last_updated": "2024-04-09", "cost": { - "input": 0.438, - "output": 0.68 + "input": 30, + "output": 60 }, "type": "chat" }, { - "id": "glm-4.7-flash", - "name": "GLM-4.7-Flash", - "display_name": "GLM-4.7-Flash", + "id": "openai/o4-mini", + "name": "OpenAI: o4 Mini", + "display_name": "OpenAI: o4 Mini", "modalities": { "input": [ + "image", + "pdf", "text" ], "output": [ @@ -116957,10 +125353,10 @@ ] }, "limit": { - "context": 203000, - "output": 203000 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -116969,66 +125365,67 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-08-08", - "last_updated": "2025-08-08", + "attachment": true, + "open_weights": false, + "release_date": "2025-04-16", + "last_updated": "2026-03-15", "cost": { - "input": 0.09, - "output": 0.53 + "input": 1.1, + "output": 4.4, + "cache_read": 0.275 }, "type": "chat" }, { - "id": "claude-opus4-6", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", + "id": "openai/gpt-3.5-turbo-16k", + "name": "OpenAI: GPT-3.5 Turbo 16k", + "display_name": "OpenAI: GPT-3.5 Turbo 16k", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 1000000 + "context": 16385, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-03-13", + "release_date": "2023-08-28", + "last_updated": "2026-03-15", "cost": { - "input": 5.98, - "output": 29.89 + "input": 3, + "output": 4 }, "type": "chat" }, { - "id": "minimax-m2.7", - "name": "MiniMax-m2.7", - "display_name": "MiniMax-m2.7", + "id": "openai/o3-pro", + "name": "OpenAI: o3 Pro", + "display_name": "OpenAI: o3 Pro", "modalities": { "input": [ + "image", + "pdf", "text" ], "output": [ @@ -117036,10 +125433,10 @@ ] }, "limit": { - "context": 202752, - "output": 196072 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -117048,30 +125445,35 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "attachment": true, + "open_weights": false, + "release_date": "2025-04-16", + "last_updated": "2026-03-15", "cost": { - "input": 0.47, - "output": 1.4 + "input": 20, + "output": 80 }, "type": "chat" }, { - "id": "deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "openai/gpt-5.1-chat", + "name": "OpenAI: GPT-5.1 Chat", + "display_name": "OpenAI: GPT-5.1 Chat", "modalities": { "input": [ + "image", + "pdf", "text" ], "output": [ @@ -117079,44 +125481,33 @@ ] }, "limit": { - "context": 1048576, - "output": 384000 + "context": 128000, + "output": 16384 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "attachment": true, + "open_weights": false, + "release_date": "2025-11-13", + "last_updated": "2026-03-15", "cost": { - "input": 0.133, - "output": 0.266, - "cache_read": 0.0028 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "glm-5", - "name": "GLM 5", - "display_name": "GLM 5", + "id": "openai/gpt-4o-2024-05-13", + "name": "OpenAI: GPT-4o (2024-05-13)", + "display_name": "OpenAI: GPT-4o (2024-05-13)", "modalities": { "input": [ + "image", + "pdf", "text" ], "output": [ @@ -117124,40 +125515,28 @@ ] }, "limit": { - "context": 202752, - "output": 202752 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "attachment": true, + "open_weights": false, + "release_date": "2024-05-13", + "last_updated": "2026-03-15", "cost": { - "input": 1.08, - "output": 3.44 + "input": 5, + "output": 15 }, "type": "chat" }, { - "id": "devstral-2512", - "name": "Devstral 2 2512", - "display_name": "Devstral 2 2512", + "id": "openai/gpt-4-0314", + "name": "OpenAI: GPT-4 (older v0314)", + "display_name": "OpenAI: GPT-4 (older v0314)", "modalities": { "input": [ "text" @@ -117167,8 +125546,8 @@ ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 8191, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -117176,22 +125555,23 @@ "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-12", - "release_date": "2025-12-09", - "last_updated": "2025-12-09", + "open_weights": false, + "release_date": "2023-05-28", + "last_updated": "2026-03-15", "cost": { - "input": 0, - "output": 0 + "input": 30, + "output": 60 }, "type": "chat" }, { - "id": "glm-4.5", - "name": "GLM 4.5", - "display_name": "GLM 4.5", + "id": "openai/gpt-5.4-nano", + "name": "OpenAI: GPT-5.4 Nano", + "display_name": "OpenAI: GPT-5.4 Nano", "modalities": { "input": [ + "image", + "pdf", "text" ], "output": [ @@ -117199,43 +125579,56 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-29", - "last_updated": "2025-07-29", + "attachment": true, + "open_weights": false, + "release_date": "2026-03-17", + "last_updated": "2026-04-11", "cost": { - "input": 0.67, - "output": 2.46 + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "qwen3-235b-a22b-instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "display_name": "Qwen3 235B A22B Instruct 2507", + "id": "openai/gpt-5.3-chat", + "name": "OpenAI: GPT-5.3 Chat", + "display_name": "OpenAI: GPT-5.3 Chat", "modalities": { "input": [ + "image", + "pdf", "text" ], "output": [ @@ -117243,76 +125636,72 @@ ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 128000, + "output": 16384 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", + "attachment": true, + "open_weights": false, + "release_date": "2026-03-04", + "last_updated": "2026-03-15", "cost": { - "input": 0.062, - "output": 0.408 + "input": 1.75, + "output": 14 }, "type": "chat" }, { - "id": "claude-4-6-sonnet", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "openai/gpt-3.5-turbo-0613", + "name": "OpenAI: GPT-3.5 Turbo (older v0613)", + "display_name": "OpenAI: GPT-3.5 Turbo (older v0613)", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 1000000 + "context": 4095, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", + "release_date": "2023-06-13", + "last_updated": "2023-06-13", "cost": { - "input": 3.59, - "output": 17.92 + "input": 1, + "output": 2 }, "type": "chat" }, { - "id": "qwen3.5-397b-a17b", - "name": "Qwen3.5 397B A17B", - "display_name": "Qwen3.5 397B A17B", + "id": "openai/gpt-5-image-mini", + "name": "OpenAI: GPT-5 Image Mini", + "display_name": "OpenAI: GPT-5 Image Mini", "modalities": { "input": [ + "image", + "pdf", "text" ], "output": [ + "image", "text" ] }, "limit": { - "context": 250000, - "output": 250000 + "context": 400000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -117320,104 +125709,134 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2026-01", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", + "attachment": true, + "open_weights": false, + "release_date": "2025-10-16", + "last_updated": "2026-03-15", "cost": { - "input": 0.6, - "output": 3.6 + "input": 2.5, + "output": 2 }, "type": "chat" }, { - "id": "claude-opus4-7", - "name": "Claude Opus 4.7", - "display_name": "Claude Opus 4.7", + "id": "openai/gpt-5.1-codex", + "name": "OpenAI: GPT-5.1-Codex", + "display_name": "OpenAI: GPT-5.1-Codex", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 400000, "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 5.6, - "output": 27.99, - "cache_read": 0.56, - "cache_write": 6.99 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "codestral-2508", - "name": "Codestral 2508", - "display_name": "Codestral 2508", + "id": "openai/gpt-5.1-codex-max", + "name": "OpenAI: GPT-5.1-Codex-Max", + "display_name": "OpenAI: GPT-5.1-Codex-Max", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-03", - "release_date": "2025-07-30", - "last_updated": "2025-07-30", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0.3, - "output": 0.9, - "cache_read": 0.03 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, - { - "id": "minimax-m2", - "name": "MiniMax-M2", - "display_name": "MiniMax-M2", + { + "id": "openai/gpt-4o-2024-08-06", + "name": "OpenAI: GPT-4o (2024-08-06)", + "display_name": "OpenAI: GPT-4o (2024-08-06)", "modalities": { "input": [ + "image", + "pdf", "text" ], "output": [ @@ -117425,43 +125844,32 @@ ] }, "limit": { - "context": 400000, - "output": 400000 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-11", - "release_date": "2025-10-27", - "last_updated": "2025-10-27", + "attachment": true, + "open_weights": false, + "release_date": "2024-08-06", + "last_updated": "2026-03-15", "cost": { - "input": 0.39, - "output": 1.57 + "input": 2.5, + "output": 10, + "cache_read": 1.25 }, "type": "chat" }, { - "id": "minimax-m2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "openai/o3-mini", + "name": "OpenAI: o3 Mini", + "display_name": "OpenAI: o3 Mini", "modalities": { "input": [ + "pdf", "text" ], "output": [ @@ -117469,10 +125877,10 @@ ] }, "limit": { - "context": 196608, - "output": 196608 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -117481,65 +125889,92 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "attachment": true, + "open_weights": false, + "release_date": "2024-12-20", + "last_updated": "2026-03-15", "cost": { - "input": 0.32, - "output": 1.18 + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 }, "type": "chat" }, { - "id": "claude-4-5-sonnet", - "name": "Claude 4.5 Sonnet", - "display_name": "Claude 4.5 Sonnet", + "id": "openai/gpt-5.2", + "name": "OpenAI: GPT-5.2", + "display_name": "OpenAI: GPT-5.2", "modalities": { "input": [ - "text", "image", - "pdf" + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 200000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "release_date": "2025-12-11", + "last_updated": "2026-03-15", "cost": { - "input": 3.259, - "output": 16.296 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "nemotron-3-super-120b-a12b", - "name": "Nemotron 3 Super 120B A12B", - "display_name": "Nemotron 3 Super 120B A12B", + "id": "openai/gpt-5.3-codex", + "name": "OpenAI: GPT-5.3-Codex", + "display_name": "OpenAI: GPT-5.3-Codex", "modalities": { "input": [ + "image", "text" ], "output": [ @@ -117547,65 +125982,85 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 400000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-12", - "release_date": "2026-03-11", - "last_updated": "2026-03-11", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-02-25", + "last_updated": "2026-03-15", "cost": { - "input": 0.266, - "output": 0.799 + "input": 1.75, + "output": 14 }, "type": "chat" }, { - "id": "llama-3.3-70b-instruct", - "name": "Llama 3.3 70B Instruct", - "display_name": "Llama 3.3 70B Instruct", + "id": "openai/gpt-audio-mini", + "name": "OpenAI: GPT Audio Mini", + "display_name": "OpenAI: GPT Audio Mini", "modalities": { "input": [ + "audio", "text" ], "output": [ + "audio", "text" ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 128000, + "output": 16384 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "open_weights": false, + "release_date": "2026-01-20", + "last_updated": "2026-03-15", "cost": { - "input": 0.089, - "output": 0.275 + "input": 0.6, + "output": 2.4 }, "type": "chat" }, { - "id": "deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "openai/gpt-5.1-codex-mini", + "name": "OpenAI: GPT-5.1-Codex-Mini", + "display_name": "OpenAI: GPT-5.1-Codex-Mini", "modalities": { "input": [ + "image", "text" ], "output": [ @@ -117613,55 +126068,64 @@ ] }, "limit": { - "context": 1048576, - "output": 384000 + "context": 400000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "attachment": true, + "open_weights": false, + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 1.553, - "output": 3.106, - "cache_read": 0.003625 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "openai/o4-mini-deep-research", + "name": "OpenAI: o4 Mini Deep Research", + "display_name": "OpenAI: o4 Mini Deep Research", "modalities": { "input": [ - "text", "image", - "video" + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 200000, + "output": 100000 }, "temperature": true, "tool_call": true, @@ -117672,31 +126136,36 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "attachment": true, + "open_weights": false, + "release_date": "2024-06-26", + "last_updated": "2026-03-15", "cost": { - "input": 0.55, - "output": 2.76 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "glm-4.5-air", - "name": "GLM 4.5 Air", - "display_name": "GLM 4.5 Air", + "id": "openai/gpt-4.1-nano", + "name": "OpenAI: GPT-4.1 Nano", + "display_name": "OpenAI: GPT-4.1 Nano", "modalities": { "input": [ + "image", + "pdf", "text" ], "output": [ @@ -117704,30 +126173,29 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-08-01", - "last_updated": "2025-08-01", + "attachment": true, + "open_weights": false, + "release_date": "2025-04-14", + "last_updated": "2026-03-15", "cost": { - "input": 0.22, - "output": 1.34 + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "glm-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "openai/gpt-oss-120b", + "name": "OpenAI: gpt-oss-120b", + "display_name": "OpenAI: gpt-oss-120b", "modalities": { "input": [ "text" @@ -117737,8 +126205,8 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 131072, + "output": 26215 }, "temperature": true, "tool_call": true, @@ -117748,32 +126216,27 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": true, - "release_date": "2026-04-14", - "last_updated": "2026-04-14", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 1.31, - "output": 4.1, - "cache_read": 0.24 + "input": 0.039, + "output": 0.19 }, "type": "chat" }, { - "id": "qwen-2.5-72b-instruct", - "name": "Qwen2.5 72B Instruct", - "display_name": "Qwen2.5 72B Instruct", + "id": "openai/gpt-4o-2024-11-20", + "name": "OpenAI: GPT-4o (2024-11-20)", + "display_name": "OpenAI: GPT-4o (2024-11-20)", "modalities": { "input": [ + "image", + "pdf", "text" ], "output": [ @@ -117781,40 +126244,33 @@ ] }, "limit": { - "context": 33000, - "output": 33000 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-06", - "release_date": "2024-09-19", - "last_updated": "2024-09-19", + "attachment": true, + "open_weights": false, + "release_date": "2024-11-20", + "last_updated": "2026-03-15", "cost": { - "input": 0.062, - "output": 0.231 + "input": 2.5, + "output": 10, + "cache_read": 1.25 }, "type": "chat" - } - ] - }, - "auriko": { - "id": "auriko", - "name": "Auriko", - "display_name": "Auriko", - "api": "https://api.auriko.ai/v1", - "doc": "https://docs.auriko.ai", - "models": [ + }, { - "id": "minimax-m2-7", - "name": "MiniMax-M2.7", - "display_name": "MiniMax-M2.7", + "id": "openai/o1", + "name": "OpenAI: o1", + "display_name": "OpenAI: o1", "modalities": { "input": [ + "image", + "pdf", "text" ], "output": [ @@ -117822,97 +126278,96 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2024-12-05", + "last_updated": "2026-03-15", "cost": { - "input": 0.3, - "output": 1.2, - "cache_write": 0.375 + "input": 15, + "output": 60, + "cache_read": 7.5 }, "type": "chat" }, { - "id": "claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "openai/o1-pro", + "name": "OpenAI: o1-pro", + "display_name": "OpenAI: o1-pro", "modalities": { "input": [ - "text", "image", - "pdf" + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 200000, + "output": 100000 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", + "default_enabled": true, + "mode": "effort", + "effort": "medium", "effort_options": [ "low", "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" + "high" ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", + "release_date": "2025-03-19", + "last_updated": "2026-03-15", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 150, + "output": 600 }, "type": "chat" }, { - "id": "minimax-m2-7-highspeed", - "name": "MiniMax-M2.7-highspeed", - "display_name": "MiniMax-M2.7-highspeed", + "id": "openai/gpt-chat-latest", + "name": "OpenAI: GPT Chat Latest", + "display_name": "OpenAI: GPT Chat Latest", "modalities": { "input": [ + "image", + "pdf", "text" ], "output": [ @@ -117920,43 +126375,49 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-05-05", + "last_updated": "2026-05-07", "cost": { - "input": 0.6, - "output": 2.4, - "cache_write": 0.375 + "input": 5, + "output": 30, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "openai/gpt-5-image", + "name": "OpenAI: GPT-5 Image", + "display_name": "OpenAI: GPT-5 Image", "modalities": { "input": [ - "text", "image", - "video" + "pdf", + "text" ], "output": [ + "image", "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 400000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -117964,304 +126425,212 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "open_weights": false, + "release_date": "2025-10-14", + "last_updated": "2026-03-15", "cost": { - "input": 0.95, - "output": 4, - "cache_read": 0.16 + "input": 10, + "output": 10 }, "type": "chat" }, { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "display_name": "Gemini 2.5 Pro", + "id": "openai/gpt-5.4", + "name": "OpenAI: GPT-5.4", + "display_name": "OpenAI: GPT-5.4", "modalities": { "input": [ - "text", "image", - "audio", - "video", - "pdf" + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 1050000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "release_date": "2026-03-06", + "last_updated": "2026-03-15", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 15, - "cache_read": 0.25 - } + "input": 2.5, + "output": 15 }, "type": "chat" }, { - "id": "grok-4.3", - "name": "Grok 4.3", - "display_name": "Grok 4.3", + "id": "openai/gpt-5.4-mini", + "name": "OpenAI: GPT-5.4 Mini", + "display_name": "OpenAI: GPT-5.4 Mini", "modalities": { "input": [ - "text", "image", - "pdf" + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 30000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "release_date": "2026-04-17", - "last_updated": "2026-04-17", + "release_date": "2026-03-17", + "last_updated": "2026-04-11", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 5, - "cache_read": 0.4 - } + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "display_name": "Gemini 3.1 Pro Preview", + "id": "openai/gpt-4.1", + "name": "OpenAI: GPT-4.1", + "display_name": "OpenAI: GPT-4.1", "modalities": { "input": [ - "text", "image", - "video", - "audio", - "pdf" + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", + "release_date": "2025-04-14", + "last_updated": "2026-03-15", "cost": { "input": 2, - "output": 12, - "cache_read": 0.2, - "tiers": [ - { - "input": 4, - "output": 18, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 4, - "output": 18, - "cache_read": 0.4 - } + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "display_name": "Gemini 2.5 Flash", + "id": "openai/gpt-4o-audio-preview", + "name": "OpenAI: GPT-4o Audio", + "display_name": "OpenAI: GPT-4o Audio", "modalities": { "input": [ - "text", - "image", "audio", - "video", - "pdf" + "text" ], "output": [ + "audio", "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "release_date": "2025-08-15", + "last_updated": "2026-03-15", "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.03 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "qwen-3.6-plus", - "name": "Qwen3.6 Plus", - "display_name": "Qwen3.6 Plus", + "id": "openai/o3-deep-research", + "name": "OpenAI: o3 Deep Research", + "display_name": "OpenAI: o3 Deep Research", "modalities": { "input": [ - "text", "image", - "video" + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 200000, + "output": 100000 }, "temperature": true, "tool_call": true, @@ -118269,40 +126638,35 @@ "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "release_date": "2024-06-26", + "last_updated": "2026-03-15", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.1, - "tiers": [ - { - "input": 2, - "output": 6, - "cache_read": 0.2, - "cache_write": 2.5, - "tier": { - "type": "context", - "size": 256000 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 6, - "cache_read": 0.2, - "cache_write": 2.5 - } + "input": 10, + "output": 40, + "cache_read": 2.5 }, "type": "chat" }, { - "id": "deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "openai/gpt-4-turbo-preview", + "name": "OpenAI: GPT-4 Turbo Preview", + "display_name": "OpenAI: GPT-4 Turbo Preview", "modalities": { "input": [ "text" @@ -118312,109 +126676,88 @@ ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "open_weights": false, + "release_date": "2024-01-25", + "last_updated": "2026-03-15", "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.0028 + "input": 10, + "output": 30 }, "type": "chat" }, { - "id": "claude-opus-4-6", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", + "id": "openai/gpt-5-mini", + "name": "OpenAI: GPT-5 Mini", + "display_name": "OpenAI: GPT-5 Mini", "modalities": { "input": [ - "text", "image", - "pdf" + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 400000, "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", + "default_enabled": true, + "mode": "effort", + "effort": "medium", "effort_options": [ + "minimal", "low", "medium", - "high", - "max" + "high" ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-03-13", + "release_date": "2025-08-07", + "last_updated": "2026-03-15", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "openai/gpt-4.1-mini", + "name": "OpenAI: GPT-4.1 Mini", + "display_name": "OpenAI: GPT-4.1 Mini", "modalities": { "input": [ + "image", + "pdf", "text" ], "output": [ @@ -118422,55 +126765,74 @@ ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "attachment": true, + "open_weights": false, + "release_date": "2025-04-14", + "last_updated": "2026-03-15", + "cost": { + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "type": "chat" + }, + { + "id": "openai/gpt-4-turbo", + "name": "OpenAI: GPT-4 Turbo", + "display_name": "OpenAI: GPT-4 Turbo", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 4096 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2023-09-13", + "last_updated": "2024-04-09", "cost": { - "input": 0.435, - "output": 0.87, - "cache_read": 0.003625 + "input": 10, + "output": 30 }, "type": "chat" }, { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "openai/gpt-5-nano", + "name": "OpenAI: GPT-5 Nano", + "display_name": "OpenAI: GPT-5 Nano", "modalities": { "input": [ - "text", "image", - "video" + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 400000, + "output": 128000 }, "temperature": false, "tool_call": true, @@ -118481,94 +126843,95 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01", - "last_updated": "2026-01", + "attachment": true, + "open_weights": false, + "release_date": "2025-08-07", + "last_updated": "2026-03-15", "cost": { - "input": 0.5, - "output": 2.8 + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 }, "type": "chat" }, { - "id": "claude-opus-4-7", - "name": "Claude Opus 4.7", - "display_name": "Claude Opus 4.7", + "id": "openai/gpt-5.4-pro", + "name": "OpenAI: GPT-5.4 Pro", + "display_name": "OpenAI: GPT-5.4 Pro", "modalities": { "input": [ - "text", "image", - "pdf" + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 1050000, "output": 128000 }, - "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", "effort": "high", "effort_options": [ - "low", "medium", "high", - "xhigh", - "max" + "xhigh" ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "release_date": "2026-03-06", + "last_updated": "2026-03-15", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 30, + "output": 180 }, "type": "chat" }, { - "id": "glm-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "openai/o3-mini-high", + "name": "OpenAI: o3 Mini High", + "display_name": "OpenAI: o3 Mini High", "modalities": { "input": [ + "pdf", "text" ], "output": [ @@ -118577,9 +126940,9 @@ }, "limit": { "context": 200000, - "output": 131072 + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -118588,72 +126951,90 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "attachment": true, + "open_weights": false, + "release_date": "2025-01-31", + "last_updated": "2026-03-15", "cost": { - "input": 1.4, + "input": 1.1, "output": 4.4, - "cache_read": 0.26 + "cache_read": 0.55 }, "type": "chat" - } - ] - }, - "berget": { - "id": "berget", - "name": "Berget.AI", - "display_name": "Berget.AI", - "api": "https://api.berget.ai/v1", - "doc": "https://api.berget.ai", - "models": [ + }, { - "id": "mistralai/Mistral-Medium-3.5-128B", - "name": "Mistral Medium 3.5 128B", - "display_name": "Mistral Medium 3.5 128B", + "id": "openai/gpt-5.4-image-2", + "name": "OpenAI: GPT-5.4 Image 2", + "display_name": "OpenAI: GPT-5.4 Image 2", "modalities": { "input": [ "image", - "text" + "text", + "pdf" ], "output": [ + "image", "text" ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 272000, + "output": 128000 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, - "open_weights": true, - "knowledge": "2026-04", - "release_date": "2026-04-29", - "last_updated": "2026-04-29", + "open_weights": false, + "release_date": "2026-04-21", + "last_updated": "2026-05-01", "cost": { - "input": 1.65, - "output": 5.5 + "input": 8, + "output": 15, + "cache_read": 2 }, "type": "chat" }, { - "id": "mistralai/Mistral-Small-3.2-24B-Instruct-2506", - "name": "Mistral Small 3.2 24B Instruct 2506", - "display_name": "Mistral Small 3.2 24B Instruct 2506", + "id": "openai/gpt-4o-search-preview", + "name": "OpenAI: GPT-4o Search Preview", + "display_name": "OpenAI: GPT-4o Search Preview", "modalities": { "input": [ "text" @@ -118663,43 +127044,42 @@ ] }, "limit": { - "context": 32000, - "output": 8192 + "context": 128000, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-09", - "release_date": "2025-10-01", - "last_updated": "2025-10-01", + "open_weights": false, + "release_date": "2025-03-13", + "last_updated": "2026-03-15", "cost": { - "input": 0.33, - "output": 0.33 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "zai-org/GLM-4.7", - "name": "GLM 4.7", - "display_name": "GLM 4.7", + "id": "openai/gpt-5.5-pro", + "name": "OpenAI: GPT-5.5 Pro", + "display_name": "OpenAI: GPT-5.5 Pro", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -118707,77 +127087,57 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-12", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", + "attachment": true, + "open_weights": false, + "release_date": "2026-04-24", + "last_updated": "2026-05-01", "cost": { - "input": 0.77, - "output": 2.75 + "input": 30, + "output": 180 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "openai/gpt-4o-mini", + "name": "OpenAI: GPT-4o-mini", + "display_name": "OpenAI: GPT-4o-mini", "modalities": { "input": [ - "text", "image", - "video" + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-05-07", - "last_updated": "2026-05-07", + "open_weights": false, + "release_date": "2024-07-18", + "last_updated": "2026-03-15", "cost": { - "input": 0.83, - "output": 3.85, - "cache_read": 0.16 + "input": 0.15, + "output": 0.6, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "meta-llama/Llama-3.3-70B-Instruct", - "name": "Llama 3.3 70B Instruct", - "display_name": "Llama 3.3 70B Instruct", + "id": "openai/gpt-oss-20b", + "name": "OpenAI: gpt-oss-20b", + "display_name": "OpenAI: gpt-oss-20b", "modalities": { "input": [ "text" @@ -118787,8 +127147,8 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 131072, + "output": 26215 }, "temperature": true, "tool_call": true, @@ -118796,27 +127156,28 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": false, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2025-04-27", - "last_updated": "2025-04-27", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.99, - "output": 0.99 + "input": 0.03, + "output": 0.14 }, "type": "chat" }, { - "id": "google/gemma-4-31B-it", - "name": "Gemma 4 31B Instruct", - "display_name": "Gemma 4 31B Instruct", + "id": "openai/gpt-4-1106-preview", + "name": "OpenAI: GPT-4 Turbo (older v1106)", + "display_name": "OpenAI: GPT-4 Turbo (older v1106)", "modalities": { "input": [ - "audio", - "image", - "text", - "video" + "text" ], "output": [ "text" @@ -118824,42 +127185,41 @@ }, "limit": { "context": 128000, - "output": 8192 + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-12", - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "attachment": false, + "open_weights": false, + "release_date": "2023-11-06", + "last_updated": "2026-03-15", "cost": { - "input": 0.275, - "output": 0.55 + "input": 10, + "output": 30 }, "type": "chat" }, { - "id": "openai/gpt-oss-120b", - "name": "GPT-OSS-120B", - "display_name": "GPT-OSS-120B", + "id": "openai/gpt-5-codex", + "name": "OpenAI: GPT-5 Codex", + "display_name": "OpenAI: GPT-5 Codex", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -118867,111 +127227,110 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-08", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "attachment": true, + "open_weights": false, + "release_date": "2025-09-15", + "last_updated": "2025-09-15", "cost": { - "input": 0.44, - "output": 0.99 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" - } - ] - }, - "cloudflare-ai-gateway": { - "id": "cloudflare-ai-gateway", - "name": "Cloudflare AI Gateway", - "display_name": "Cloudflare AI Gateway", - "doc": "https://developers.cloudflare.com/ai-gateway/", - "models": [ + }, { - "id": "anthropic/claude-opus-4-5", - "name": "Claude Opus 4.5 (latest)", - "display_name": "Claude Opus 4.5 (latest)", + "id": "openai/gpt-5.2-codex", + "name": "OpenAI: GPT-5.2-Codex", + "display_name": "OpenAI: GPT-5.2-Codex", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", + "default_enabled": true, + "mode": "effort", + "effort": "medium", "effort_options": [ "low", "medium", - "high" + "high", + "xhigh" ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." - ] + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4", - "name": "Claude Sonnet 4 (latest)", - "display_name": "Claude Sonnet 4 (latest)", + "id": "openai/gpt-5.1", + "name": "OpenAI: GPT-5.1", + "display_name": "OpenAI: GPT-5.1", "modalities": { "input": [ - "text", "image", - "pdf" + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -118981,40 +127340,38 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "release_date": "2025-11-13", + "last_updated": "2026-03-15", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "openai/gpt-5.5", + "name": "OpenAI: GPT-5.5", + "display_name": "OpenAI: GPT-5.5", "modalities": { "input": [ "text", @@ -119026,315 +127383,252 @@ ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", + "default_enabled": true, + "mode": "effort", + "effort": "medium", "effort_options": [ "low", "medium", "high", - "max" + "xhigh" ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-02-17", + "release_date": "2026-04-24", + "last_updated": "2026-05-01", "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 - } - } - ], - "context_over_200k": { - "input": 6, - "output": 22.5, - "cache_read": 0.6, - "cache_write": 7.5 - } + "input": 5, + "output": 30, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "anthropic/claude-3-sonnet", - "name": "Claude Sonnet 3", - "display_name": "Claude Sonnet 3", + "id": "thedrummer/cydonia-24b-v4.1", + "name": "TheDrummer: Cydonia 24B V4.1", + "display_name": "TheDrummer: Cydonia 24B V4.1", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 4096 + "context": 131072, + "output": 131072 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-08-31", - "release_date": "2024-03-04", - "last_updated": "2024-03-04", + "attachment": false, + "open_weights": true, + "release_date": "2025-09-27", + "last_updated": "2026-03-15", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 0.3 + "input": 0.3, + "output": 0.5 }, "type": "chat" }, { - "id": "anthropic/claude-haiku-4-5", - "name": "Claude Haiku 4.5 (latest)", - "display_name": "Claude Haiku 4.5 (latest)", + "id": "thedrummer/skyfall-36b-v2", + "name": "TheDrummer: Skyfall 36B V2", + "display_name": "TheDrummer: Skyfall 36B V2", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 32768, + "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "attachment": false, + "open_weights": true, + "release_date": "2025-03-11", + "last_updated": "2026-03-15", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 0.55, + "output": 0.8 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4-1", - "name": "Claude Opus 4.1 (latest)", - "display_name": "Claude Opus 4.1 (latest)", + "id": "thedrummer/unslopnemo-12b", + "name": "TheDrummer: UnslopNemo 12B", + "display_name": "TheDrummer: UnslopNemo 12B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 32768, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "attachment": false, + "open_weights": true, + "release_date": "2024-11-09", + "last_updated": "2026-03-15", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.4, + "output": 0.4 }, "type": "chat" }, { - "id": "anthropic/claude-3.5-haiku", - "name": "Claude Haiku 3.5 (latest)", - "display_name": "Claude Haiku 3.5 (latest)", + "id": "thedrummer/rocinante-12b", + "name": "TheDrummer: Rocinante 12B", + "display_name": "TheDrummer: Rocinante 12B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 32768, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-07-31", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", + "attachment": false, + "open_weights": true, + "release_date": "2024-09-30", + "last_updated": "2026-03-15", "cost": { - "input": 0.8, - "output": 4, - "cache_read": 0.08, - "cache_write": 1 + "input": 0.17, + "output": 0.43 }, "type": "chat" }, { - "id": "anthropic/claude-3.5-sonnet", - "name": "Claude Sonnet 3.5 v2", - "display_name": "Claude Sonnet 3.5 v2", + "id": "bytedance/ui-tars-1.5-7b", + "name": "ByteDance: UI-TARS 7B ", + "display_name": "ByteDance: UI-TARS 7B ", "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 128000, + "output": 2048 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2024-04-30", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", + "release_date": "2025-07-23", + "last_updated": "2026-03-15", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.1, + "output": 0.2 }, "type": "chat" }, { - "id": "anthropic/claude-3-haiku", - "name": "Claude Haiku 3", - "display_name": "Claude Haiku 3", + "id": "rekaai/reka-flash-3", + "name": "Reka Flash 3", + "display_name": "Reka Flash 3", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 65536, + "output": 65536 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-03-12", + "last_updated": "2026-04-11", + "cost": { + "input": 0.1, + "output": 0.2 + }, + "type": "chat" + }, + { + "id": "rekaai/reka-edge", + "name": "Reka Edge", + "display_name": "Reka Edge", "modalities": { "input": [ - "text", "image", - "pdf" + "text", + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 4096 + "context": 16384, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -119342,98 +127636,62 @@ "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2023-08-31", - "release_date": "2024-03-13", - "last_updated": "2024-03-13", + "open_weights": true, + "release_date": "2026-03-20", + "last_updated": "2026-04-11", "cost": { - "input": 0.25, - "output": 1.25, - "cache_read": 0.03, - "cache_write": 0.3 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "anthropic/claude-fable-5", - "name": "Claude Fable 5", - "display_name": "Claude Fable 5", + "id": "mistralai/mistral-large-2407", + "name": "Mistral Large 2407", + "display_name": "Mistral Large 2407", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 32768 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Adaptive thinking is always on for Claude Fable 5 and Claude Mythos 5; thinking.type = \"disabled\" is rejected.", - "Manual budget_tokens requests return 400 on Claude Fable 5 and Claude Mythos 5.", - "thinking.display defaults to omitted; set display to summarized to receive readable thinking summaries." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-06-09", - "last_updated": "2026-06-09", + "attachment": false, + "open_weights": true, + "release_date": "2024-11-19", + "last_updated": "2026-03-15", "cost": { - "input": 10, - "output": 50, - "cache_read": 1, - "cache_write": 12.5 + "input": 2, + "output": 6 }, "type": "chat" }, { - "id": "anthropic/claude-3-5-haiku", - "name": "Claude Haiku 3.5 (latest)", - "display_name": "Claude Haiku 3.5 (latest)", + "id": "mistralai/mistral-small-3.2-24b-instruct", + "name": "Mistral: Mistral Small 3.2 24B", + "display_name": "Mistral: Mistral Small 3.2 24B", "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -119441,386 +127699,214 @@ "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2024-07-31", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", + "open_weights": true, + "release_date": "2025-06-20", + "last_updated": "2025-06-20", "cost": { - "input": 0.8, - "output": 4, - "cache_read": 0.08, - "cache_write": 1 + "input": 0.06, + "output": 0.18, + "cache_read": 0.03 }, "type": "chat" }, { - "id": "anthropic/claude-3-opus", - "name": "Claude Opus 3", - "display_name": "Claude Opus 3", + "id": "mistralai/mistral-nemo", + "name": "Mistral: Mistral Nemo", + "display_name": "Mistral: Mistral Nemo", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 4096 + "context": 131072, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-08-31", - "release_date": "2024-02-29", - "last_updated": "2024-02-29", + "attachment": false, + "open_weights": true, + "release_date": "2024-07-01", + "last_updated": "2024-07-30", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.02, + "output": 0.04 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4-8", - "name": "Claude Opus 4.8", - "display_name": "Claude Opus 4.8", + "id": "mistralai/mistral-medium-3-5", + "name": "Mistral: Mistral Medium 3.5", + "display_name": "Mistral: Mistral Medium 3.5", "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 262144, + "output": 262144 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] - } + "default": true }, "attachment": true, "open_weights": false, - "release_date": "2026-05-28", - "last_updated": "2026-05-28", + "release_date": "2026-04-30", + "last_updated": "2026-05-07", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 1.5, + "output": 7.5 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4-5", - "name": "Claude Sonnet 4.5 (latest)", - "display_name": "Claude Sonnet 4.5 (latest)", + "id": "mistralai/ministral-8b-2512", + "name": "Mistral: Ministral 3 8B 2512", + "display_name": "Mistral: Ministral 3 8B 2512", "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 262144, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "open_weights": true, + "release_date": "2025-12-02", + "last_updated": "2026-03-15", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.15, + "output": 0.15 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4-6", - "name": "Claude Opus 4.6 (latest)", - "display_name": "Claude Opus 4.6 (latest)", + "id": "mistralai/devstral-small", + "name": "Mistral: Devstral Small 1.1", + "display_name": "Mistral: Devstral Small 1.1", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 26215 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "attachment": false, + "open_weights": true, + "release_date": "2025-05-07", + "last_updated": "2025-07-10", "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 - } - } - ], - "context_over_200k": { - "input": 10, - "output": 37.5, - "cache_read": 1, - "cache_write": 12.5 - } + "input": 0.1, + "output": 0.3 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4-7", - "name": "Claude Opus 4.7", - "display_name": "Claude Opus 4.7", + "id": "mistralai/mistral-small-3.1-24b-instruct", + "name": "Mistral: Mistral Small 3.1 24B", + "display_name": "Mistral: Mistral Small 3.1 24B", "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 128000, + "output": 131072 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2026-01", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "open_weights": true, + "release_date": "2025-03-17", + "last_updated": "2026-03-15", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.35, + "output": 0.56, + "cache_read": 0.015 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4", - "name": "Claude Opus 4 (latest)", - "display_name": "Claude Opus 4 (latest)", + "id": "mistralai/mistral-saba", + "name": "Mistral: Saba", + "display_name": "Mistral: Saba", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 32768, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "attachment": false, + "open_weights": true, + "release_date": "2025-02-17", + "last_updated": "2026-03-15", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.2, + "output": 0.6 }, "type": "chat" }, { - "id": "openai/gpt-4o", - "name": "GPT-4o", - "display_name": "GPT-4o", + "id": "mistralai/mistral-large", + "name": "Mistral Large", + "display_name": "Mistral Large", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -119828,29 +127914,27 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 25600 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-08-06", + "attachment": false, + "open_weights": true, + "release_date": "2024-07-24", + "last_updated": "2025-12-02", "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 + "input": 2, + "output": 6 }, "type": "chat" }, { - "id": "openai/gpt-5.2", - "name": "GPT-5.2", - "display_name": "GPT-5.2", + "id": "mistralai/mistral-medium-3.1", + "name": "Mistral: Mistral Medium 3.1", + "display_name": "Mistral: Mistral Medium 3.1", "modalities": { "input": [ "text", @@ -119861,259 +127945,157 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 26215 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2025-08-12", + "last_updated": "2025-08-12", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.4, + "output": 2 }, "type": "chat" }, { - "id": "openai/o3", - "name": "o3", - "display_name": "o3", + "id": "mistralai/pixtral-large-2411", + "name": "Mistral: Pixtral Large 2411", + "display_name": "Mistral: Pixtral Large 2411", "modalities": { "input": [ - "text", - "image" + "image", + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 131072, + "output": 32768 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "open_weights": true, + "release_date": "2024-11-19", + "last_updated": "2026-03-15", "cost": { "input": 2, - "output": 8, - "cache_read": 0.5 + "output": 6 }, "type": "chat" }, { - "id": "openai/o3-pro", - "name": "o3-pro", - "display_name": "o3-pro", + "id": "mistralai/devstral-medium", + "name": "Mistral: Devstral Medium", + "display_name": "Mistral: Devstral Medium", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 131072, + "output": 26215 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-06-10", - "last_updated": "2025-06-10", + "attachment": false, + "open_weights": true, + "release_date": "2025-07-10", + "last_updated": "2025-07-10", "cost": { - "input": 20, - "output": 80 + "input": 0.4, + "output": 2 }, "type": "chat" }, { - "id": "openai/o4-mini", - "name": "o4-mini", - "display_name": "o4-mini", + "id": "mistralai/mistral-small-24b-instruct-2501", + "name": "Mistral: Mistral Small 3", + "display_name": "Mistral: Mistral Small 3", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 32768, + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "attachment": false, + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-01-10", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.28 + "input": 0.05, + "output": 0.08 }, "type": "chat" }, { - "id": "openai/gpt-5.4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "mistralai/ministral-3b-2512", + "name": "Mistral: Ministral 3 3B 2512", + "display_name": "Mistral: Ministral 3 3B 2512", "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 131072, + "output": 32768 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "open_weights": true, + "release_date": "2025-12-02", + "last_updated": "2026-03-15", "cost": { - "input": 2.5, - "output": 15, - "cache_read": 0.25 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "openai/o3-mini", - "name": "o3-mini", - "display_name": "o3-mini", + "id": "mistralai/mistral-small-2603", + "name": "Mistral: Mistral Small 4", + "display_name": "Mistral: Mistral Small 4", "modalities": { "input": [ + "image", "text" ], "output": [ @@ -120121,174 +128103,92 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 262144, + "output": 262144 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2024-12-20", - "last_updated": "2025-01-29", + "attachment": true, + "open_weights": true, + "release_date": "2026-03-16", + "last_updated": "2026-04-11", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.55 + "input": 0.15, + "output": 0.6, + "cache_read": 0.015 }, "type": "chat" }, { - "id": "openai/gpt-5.5", - "name": "GPT-5.5", - "display_name": "GPT-5.5", + "id": "mistralai/mistral-large-2411", + "name": "Mistral Large 2411", + "display_name": "Mistral Large 2411", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 131072, + "output": 26215 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "attachment": false, + "open_weights": true, + "release_date": "2024-07-24", + "last_updated": "2024-11-04", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5, - "tiers": [ - { - "input": 10, - "output": 45, - "cache_read": 1, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 10, - "output": 45, - "cache_read": 1 - } + "input": 2, + "output": 6 }, "type": "chat" }, { - "id": "openai/gpt-5.1", - "name": "GPT-5.1", - "display_name": "GPT-5.1", + "id": "mistralai/mistral-7b-instruct-v0.1", + "name": "Mistral: Mistral 7B Instruct v0.1", + "display_name": "Mistral: Mistral 7B Instruct v0.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 2824, + "output": 565 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "release_date": "2025-04-03", + "last_updated": "2025-04-03", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.13 + "input": 0.11, + "output": 0.19 }, "type": "chat" }, { - "id": "openai/gpt-4o-mini", - "name": "GPT-4o mini", - "display_name": "GPT-4o mini", + "id": "mistralai/ministral-14b-2512", + "name": "Mistral: Ministral 3 14B 2512", + "display_name": "Mistral: Ministral 3 14B 2512", "modalities": { "input": [ "text", @@ -120299,8 +128199,8 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 262144, + "output": 52429 }, "temperature": true, "tool_call": true, @@ -120309,77 +128209,50 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "release_date": "2025-12-16", + "last_updated": "2025-12-16", "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.08 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "openai/gpt-5.3-codex", - "name": "GPT-5.3 Codex", - "display_name": "GPT-5.3 Codex", + "id": "mistralai/devstral-2512", + "name": "Mistral: Devstral 2 2512", + "display_name": "Mistral: Devstral 2 2512", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "attachment": false, + "open_weights": true, + "release_date": "2025-09-12", + "last_updated": "2026-03-15", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.4, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "openai/gpt-3.5-turbo", - "name": "GPT-3.5-turbo", - "display_name": "GPT-3.5-turbo", + "id": "mistralai/mixtral-8x22b-instruct", + "name": "Mistral: Mixtral 8x22B Instruct", + "display_name": "Mistral: Mixtral 8x22B Instruct", "modalities": { "input": [ "text" @@ -120389,143 +128262,92 @@ ] }, "limit": { - "context": 16385, - "output": 4096 + "context": 65536, + "output": 13108 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2021-09-01", - "release_date": "2023-03-01", - "last_updated": "2023-11-06", + "open_weights": true, + "release_date": "2024-04-17", + "last_updated": "2024-04-17", "cost": { - "input": 0.5, - "output": 1.5, - "cache_read": 1.25 + "input": 2, + "output": 6 }, "type": "chat" }, { - "id": "openai/gpt-5.2-codex", - "name": "GPT-5.2 Codex", - "display_name": "GPT-5.2 Codex", + "id": "mistralai/mistral-medium-3", + "name": "Mistral: Mistral Medium 3", + "display_name": "Mistral: Mistral Medium 3", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 26215 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.4, + "output": 2 }, "type": "chat" }, { - "id": "openai/gpt-5.1-codex", - "name": "GPT-5.1 Codex", - "display_name": "GPT-5.1 Codex", + "id": "mistralai/voxtral-small-24b-2507", + "name": "Mistral: Voxtral Small 24B 2507", + "display_name": "Mistral: Voxtral Small 24B 2507", "modalities": { "input": [ "text", - "image" + "audio" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 32000, + "output": 6400 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "attachment": false, + "open_weights": true, + "release_date": "2025-07-01", + "last_updated": "2025-07-01", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.1, + "output": 0.3 }, "type": "chat" }, { - "id": "openai/gpt-4-turbo", - "name": "GPT-4 Turbo", - "display_name": "GPT-4 Turbo", + "id": "mistralai/mistral-large-2512", + "name": "Mistral: Mistral Large 3 2512", + "display_name": "Mistral: Mistral Large 3 2512", "modalities": { "input": [ "text", @@ -120536,8 +128358,8 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 262144, + "output": 52429 }, "temperature": true, "tool_call": true, @@ -120545,69 +128367,50 @@ "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2023-12", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", + "open_weights": true, + "release_date": "2024-11-01", + "last_updated": "2025-12-16", "cost": { - "input": 10, - "output": 30 + "input": 0.5, + "output": 1.5 }, "type": "chat" }, { - "id": "openai/o1", - "name": "o1", - "display_name": "o1", + "id": "mistralai/codestral-2508", + "name": "Mistral: Codestral 2508", + "display_name": "Mistral: Codestral 2508", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 256000, + "output": 51200 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-12-05", - "last_updated": "2024-12-05", + "attachment": false, + "open_weights": true, + "release_date": "2025-08-01", + "last_updated": "2025-08-01", "cost": { - "input": 15, - "output": 60, - "cache_read": 7.5 + "input": 0.3, + "output": 0.9 }, "type": "chat" }, { - "id": "openai/gpt-4", - "name": "GPT-4", - "display_name": "GPT-4", + "id": "morph/morph-v3-fast", + "name": "Morph: Morph V3 Fast", + "display_name": "Morph: Morph V3 Fast", "modalities": { "input": [ "text" @@ -120617,626 +128420,336 @@ ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 81920, + "output": 38000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2023-11", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", + "release_date": "2024-08-15", + "last_updated": "2024-08-15", "cost": { - "input": 30, - "output": 60 + "input": 0.8, + "output": 1.2 }, "type": "chat" - } - ] - }, - "requesty": { - "id": "requesty", - "name": "Requesty", - "display_name": "Requesty", - "api": "https://router.requesty.ai/v1", - "doc": "https://requesty.ai/solution/llm-routing/models", - "models": [ + }, { - "id": "anthropic/claude-opus-4-5", - "name": "Claude Opus 4.5", - "display_name": "Claude Opus 4.5", + "id": "morph/morph-v3-large", + "name": "Morph: Morph V3 Large", + "display_name": "Morph: Morph V3 Large", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 262144, + "output": 131072 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", + "release_date": "2024-08-15", + "last_updated": "2024-08-15", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.9, + "output": 1.9 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4", - "name": "Claude Sonnet 4", - "display_name": "Claude Sonnet 4", + "id": "bytedance-seed/seed-1.6-flash", + "name": "ByteDance Seed: Seed 1.6 Flash", + "display_name": "ByteDance Seed: Seed 1.6 Flash", "modalities": { "input": [ - "text", "image", - "pdf" + "text", + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 262144, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "default": true }, "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "open_weights": true, + "release_date": "2025-12-23", + "last_updated": "2026-03-15", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.075, + "output": 0.3 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "bytedance-seed/seed-1.6", + "name": "ByteDance Seed: Seed 1.6", + "display_name": "ByteDance Seed: Seed 1.6", "modalities": { "input": [ + "image", "text", - "image" + "video" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 262144, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-02-17", + "release_date": "2025-09", + "last_updated": "2025-09", "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 - } - } - ], - "context_over_200k": { - "input": 6, - "output": 22.5, - "cache_read": 0.6, - "cache_write": 7.5 - } + "input": 0.25, + "output": 2 }, "type": "chat" }, { - "id": "anthropic/claude-haiku-4-5", - "name": "Claude Haiku 4.5", - "display_name": "Claude Haiku 4.5", + "id": "bytedance-seed/seed-2.0-mini", + "name": "ByteDance Seed: Seed-2.0-Mini", + "display_name": "ByteDance Seed: Seed-2.0-Mini", "modalities": { "input": [ - "text", "image", - "pdf" + "text", + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 62000 + "context": 262144, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "default": true }, "attachment": true, - "open_weights": false, - "knowledge": "2025-02-01", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "open_weights": true, + "release_date": "2026-02-27", + "last_updated": "2026-03-15", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 0.1, + "output": 0.4 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4-1", - "name": "Claude Opus 4.1", - "display_name": "Claude Opus 4.1", + "id": "bytedance-seed/seed-2.0-lite", + "name": "ByteDance Seed: Seed-2.0-Lite", + "display_name": "ByteDance Seed: Seed-2.0-Lite", "modalities": { "input": [ - "text", "image", - "pdf" + "text", + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 262144, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "default": true }, "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "open_weights": true, + "release_date": "2026-03-10", + "last_updated": "2026-03-15", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.25, + "output": 2 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4-5", - "name": "Claude Sonnet 4.5", - "display_name": "Claude Sonnet 4.5", + "id": "anthracite-org/magnum-v4-72b", + "name": "Magnum v4 72B", + "display_name": "Magnum v4 72B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 16384, + "output": 2048 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "attachment": false, + "open_weights": true, + "release_date": "2024-10-22", + "last_updated": "2026-03-15", "cost": { "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "output": 5 }, "type": "chat" }, { - "id": "anthropic/claude-3-7-sonnet", - "name": "Claude Sonnet 3.7", - "display_name": "Claude Sonnet 3.7", + "id": "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free", + "name": "NVIDIA: Nemotron 3 Nano Omni (free)", + "display_name": "NVIDIA: Nemotron 3 Nano Omni (free)", "modalities": { "input": [ "text", + "audio", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 256000, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": false, - "summaries": false, - "visibility": "full", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic uses thinking budget tokens" - ] - } + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2024-01", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", + "release_date": "2026-04-28", + "last_updated": "2026-05-01", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4-6", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", + "id": "nvidia/nemotron-3-nano-30b-a3b", + "name": "NVIDIA: Nemotron 3 Nano 30B A3B", + "display_name": "NVIDIA: Nemotron 3 Nano 30B A3B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 262144, + "output": 52429 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "attachment": false, + "open_weights": true, + "release_date": "2024-12", + "last_updated": "2026-02-04", "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 - } - } - ], - "context_over_200k": { - "input": 10, - "output": 37.5, - "cache_read": 1, - "cache_write": 12.5 - } + "input": 0.05, + "output": 0.2 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4", - "name": "Claude Opus 4", - "display_name": "Claude Opus 4", + "id": "nvidia/llama-3.3-nemotron-super-49b-v1.5", + "name": "NVIDIA: Llama 3.3 Nemotron Super 49B V1.5", + "display_name": "NVIDIA: Llama 3.3 Nemotron Super 49B V1.5", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 131072, + "output": 26215 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "release_date": "2025-03-16", + "last_updated": "2025-03-16", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.1, + "output": 0.4 }, "type": "chat" }, { - "id": "xai/grok-4", - "name": "Grok 4", - "display_name": "Grok 4", + "id": "nvidia/nemotron-nano-9b-v2", + "name": "NVIDIA: Nemotron Nano 9B V2", + "display_name": "NVIDIA: Nemotron Nano 9B V2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 64000 + "context": 131072, + "output": 26215 }, "temperature": true, "tool_call": true, @@ -121244,28 +128757,20 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-09-09", - "last_updated": "2025-09-09", + "attachment": false, + "open_weights": true, + "release_date": "2025-08-18", + "last_updated": "2025-08-18", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.75, - "cache_write": 3 + "input": 0.04, + "output": 0.16 }, "type": "chat" }, { - "id": "xai/grok-4-fast", - "name": "Grok 4 Fast", - "display_name": "Grok 4 Fast", + "id": "nvidia/nemotron-3-super-120b-a12b:free", + "name": "NVIDIA: Nemotron 3 Super (free)", + "display_name": "NVIDIA: Nemotron 3 Super (free)", "modalities": { "input": [ "text" @@ -121275,8 +128780,8 @@ ] }, "limit": { - "context": 2000000, - "output": 64000 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -121284,38 +128789,31 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-09-19", - "last_updated": "2025-09-19", + "attachment": false, + "open_weights": true, + "release_date": "2026-03-12", + "last_updated": "2026-03-15", "cost": { - "input": 0.2, - "output": 0.5, - "cache_read": 0.05, - "cache_write": 0.2 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemini-3-flash-preview", - "name": "Gemini 3 Flash", - "display_name": "Gemini 3 Flash", + "id": "nvidia/nemotron-3-super-120b-a12b", + "name": "NVIDIA: Nemotron 3 Super", + "display_name": "NVIDIA: Nemotron 3 Super", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -121323,49 +128821,27 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "attachment": false, + "open_weights": true, + "release_date": "2026-03-11", + "last_updated": "2026-04-11", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.05, - "cache_write": 1 + "input": 0.1, + "output": 0.5, + "cache_read": 0.1 }, "type": "chat" }, { - "id": "google/gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "display_name": "Gemini 2.5 Pro", + "id": "xiaomi/mimo-v2.5", + "name": "Xiaomi: MiMo-V2.5", + "display_name": "Xiaomi: MiMo-V2.5", "modalities": { "input": [ "text", "image", "audio", - "video", - "pdf" + "video" ], "output": [ "text" @@ -121373,7 +128849,7 @@ }, "limit": { "context": 1048576, - "output": 65536 + "output": 131072 }, "temperature": true, "tool_call": true, @@ -121384,55 +128860,46 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.31, - "cache_write": 2.375, + "input": 0.4, + "output": 2, + "cache_read": 0.08, "tiers": [ { - "input": 2.5, - "output": 15, - "cache_read": 0.25, + "input": 0.8, + "output": 4, + "cache_read": 0.16, "tier": { "type": "context", - "size": 200000 + "size": 256000 } } ], "context_over_200k": { - "input": 2.5, - "output": 15, - "cache_read": 0.25 + "input": 0.8, + "output": 4, + "cache_read": 0.16 } }, "type": "chat" }, { - "id": "google/gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "display_name": "Gemini 2.5 Flash", + "id": "xiaomi/mimo-v2-omni", + "name": "Xiaomi: MiMo-V2-Omni", + "display_name": "Xiaomi: MiMo-V2-Omni", "modalities": { "input": [ "text", @@ -121446,7 +128913,7 @@ ] }, "limit": { - "context": 1048576, + "context": 262144, "output": 65536 }, "temperature": true, @@ -121455,57 +128922,32 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.075, - "cache_write": 0.55 + "input": 0.4, + "output": 2, + "cache_read": 0.08 }, "type": "chat" }, { - "id": "google/gemini-3-pro-preview", - "name": "Gemini 3 Pro", - "display_name": "Gemini 3 Pro", + "id": "xiaomi/mimo-v2-flash", + "name": "Xiaomi: MiMo-V2-Flash", + "display_name": "Xiaomi: MiMo-V2-Flash", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, + "context": 262144, "output": 65536 }, "temperature": true, @@ -121514,103 +128956,85 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", + "attachment": false, + "open_weights": true, + "knowledge": "2024-12-01", + "release_date": "2025-12-16", + "last_updated": "2026-02-04", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "cache_write": 4.5 + "input": 0.09, + "output": 0.29, + "cache_read": 0.045 }, "type": "chat" }, { - "id": "openai/gpt-5-pro", - "name": "GPT-5 Pro", - "display_name": "GPT-5 Pro", + "id": "xiaomi/mimo-v2-pro", + "name": "Xiaomi: MiMo-V2-Pro", + "display_name": "Xiaomi: MiMo-V2-Pro", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 272000 + "context": 1048576, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "fixed", - "effort": "high", - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-10-06", - "last_updated": "2025-10-06", + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 15, - "output": 120 + "input": 1, + "output": 3, + "cache_read": 0.2, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "openai/gpt-5-mini", - "name": "GPT-5 Mini", - "display_name": "GPT-5 Mini", + "id": "xiaomi/mimo-v2.5-pro", + "name": "Xiaomi: MiMo V2.5 Pro", + "display_name": "Xiaomi: MiMo V2.5 Pro", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32000 + "context": 1048576, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -121619,74 +129043,79 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "attachment": false, + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.03 + "input": 1, + "output": 3, + "cache_read": 0.2, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "openai/gpt-5-chat", - "name": "GPT-5 Chat (latest)", - "display_name": "GPT-5 Chat (latest)", + "id": "inception/mercury-2", + "name": "Inception: Mercury 2", + "display_name": "Inception: Mercury 2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 50000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", "cost": { - "input": 1.25, - "output": 10 + "input": 0.25, + "output": 0.75, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "openai/gpt-5.2", - "name": "GPT-5.2", - "display_name": "GPT-5.2", + "id": "anthropic/claude-3.5-haiku", + "name": "Anthropic: Claude 3.5 Haiku", + "display_name": "Anthropic: Claude 3.5 Haiku", "modalities": { "input": [ "text", @@ -121697,414 +129126,403 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 }, "type": "chat" }, { - "id": "openai/gpt-5-codex", - "name": "GPT-5 Codex", - "display_name": "GPT-5 Codex", + "id": "anthropic/claude-sonnet-4.5", + "name": "Anthropic: Claude Sonnet 4.5", + "display_name": "Anthropic: Claude Sonnet 4.5", "modalities": { "input": [ - "text", - "image" + "image", + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2024-10-01", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", + "release_date": "2025-09-29", + "last_updated": "2026-03-15", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "openai/gpt-5-image", - "name": "GPT-5 Image", - "display_name": "GPT-5 Image", + "id": "anthropic/claude-sonnet-4", + "name": "Anthropic: Claude Sonnet 4", + "display_name": "Anthropic: Claude Sonnet 4", "modalities": { "input": [ - "text", "image", - "pdf" + "pdf", + "text" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true - }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-10-01", - "release_date": "2025-10-14", - "last_updated": "2025-10-14", - "cost": { - "input": 5, - "output": 10, - "cache_read": 1.25 - }, - "type": "chat" - }, - { - "id": "openai/gpt-5", - "name": "GPT-5", - "display_name": "GPT-5", - "modalities": { - "input": [ - "text", - "audio", - "image", - "video" - ], - "output": [ - "text", - "audio", - "image" - ] - }, - "limit": { - "context": 400000, - "output": 128000 - }, - "temperature": false, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "release_date": "2025-05-22", + "last_updated": "2026-03-15", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.13 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "openai/gpt-5.4-pro", - "name": "GPT-5.4 Pro", - "display_name": "GPT-5.4 Pro", + "id": "anthropic/claude-opus-4.6-fast", + "name": "Anthropic: Claude Opus 4.6 (Fast)", + "display_name": "Anthropic: Claude Opus 4.6 (Fast)", "modalities": { "input": [ - "text", "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, + "context": 1000000, "output": 128000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, "effort": "high", "effort_options": [ + "low", "medium", "high", - "xhigh" + "max" ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "knowledge": "2025-05-31", + "release_date": "2026-04-07", + "last_updated": "2026-04-11", "cost": { "input": 30, - "output": 180, - "cache_read": 30 + "output": 150, + "cache_read": 3, + "cache_write": 37.5 }, "type": "chat" }, { - "id": "openai/gpt-4.1-mini", - "name": "GPT-4.1 Mini", - "display_name": "GPT-4.1 Mini", + "id": "anthropic/claude-haiku-4.5", + "name": "Anthropic: Claude Haiku 4.5", + "display_name": "Anthropic: Claude Haiku 4.5", "modalities": { "input": [ - "text", - "image" + "image", + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 0.4, - "output": 1.6, - "cache_read": 0.1 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "openai/gpt-5.2-pro", - "name": "GPT-5.2 Pro", - "display_name": "GPT-5.2 Pro", + "id": "anthropic/claude-opus-4.7-fast", + "name": "Anthropic: Claude Opus 4.7 (Fast)", + "display_name": "Anthropic: Claude Opus 4.7 (Fast)", "modalities": { "input": [ - "text", - "image" + "image", + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, + "context": 1000000, "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "effort", "effort": "high", "effort_options": [ + "low", "medium", "high", - "xhigh" + "xhigh", + "max" ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2026-05-12", + "last_updated": "2026-05-16", "cost": { - "input": 21, - "output": 168 + "input": 30, + "output": 150, + "cache_read": 3, + "cache_write": 37.5 }, "type": "chat" }, { - "id": "openai/o4-mini", - "name": "o4 Mini", - "display_name": "o4 Mini", + "id": "anthropic/claude-opus-4.7", + "name": "Anthropic: Claude Opus 4.7", + "display_name": "Anthropic: Claude Opus 4.7", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "effort", - "effort": "medium", + "effort": "high", "effort_options": [ "low", "medium", - "high" + "high", + "xhigh", + "max" ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2024-06", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "release_date": "2026-04-16", + "last_updated": "2026-05-01", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.28 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "openai/gpt-5.4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "anthropic/claude-opus-4.1", + "name": "Anthropic: Claude Opus 4.1", + "display_name": "Anthropic: Claude Opus 4.1", "modalities": { "input": [ - "text", "image", - "pdf" + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 200000, + "output": 32000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -122114,68 +129532,52 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "release_date": "2025-08-05", + "last_updated": "2026-03-15", "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 - } - } - ], - "context_over_200k": { - "input": 5, - "output": 22.5, - "cache_read": 0.5 - } + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "openai/gpt-5.1", - "name": "GPT-5.1", - "display_name": "GPT-5.1", + "id": "anthropic/claude-opus-4.5", + "name": "Anthropic: Claude Opus 4.5", + "display_name": "Anthropic: Claude Opus 4.5", "modalities": { "input": [ - "text", - "image" + "image", + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -122187,41 +129589,48 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "effort", - "effort": "none", + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", "effort_options": [ - "none", "low", "medium", "high" ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "release_date": "2025-11-24", + "last_updated": "2026-03-15", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "openai/gpt-5-nano", - "name": "GPT-5 Nano", - "display_name": "GPT-5 Nano", + "id": "anthropic/claude-sonnet-4.6", + "name": "Anthropic: Claude Sonnet 4.6", + "display_name": "Anthropic: Claude Sonnet 4.6", "modalities": { "input": [ + "image", "text" ], "output": [ @@ -122229,52 +129638,58 @@ ] }, "limit": { - "context": 16000, - "output": 4000 + "context": 1000000, + "output": 128000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", "effort_options": [ - "minimal", "low", "medium", - "high" + "high", + "max" ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-15", "cost": { - "input": 0.05, - "output": 0.4, - "cache_read": 0.01 + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "openai/gpt-4o-mini", - "name": "GPT-4o Mini", - "display_name": "GPT-4o Mini", + "id": "anthropic/claude-3-haiku", + "name": "Anthropic: Claude 3 Haiku", + "display_name": "Anthropic: Claude 3 Haiku", "modalities": { "input": [ "text", @@ -122285,8 +129700,8 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -122295,32 +129710,33 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "release_date": "2024-03-07", + "last_updated": "2024-03-07", "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.08 + "input": 0.25, + "output": 1.25, + "cache_read": 0.03, + "cache_write": 0.3 }, "type": "chat" }, { - "id": "openai/gpt-5.1-codex-max", - "name": "GPT-5.1-Codex-Max", - "display_name": "GPT-5.1-Codex-Max", + "id": "anthropic/claude-opus-4", + "name": "Anthropic: Claude Opus 4", + "display_name": "Anthropic: Claude Opus 4", "modalities": { "input": [ - "text", - "image" + "image", + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, @@ -122332,39 +129748,39 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "release_date": "2025-05-22", + "last_updated": "2026-03-15", "cost": { - "input": 1.1, - "output": 9, - "cache_read": 0.11 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "openai/gpt-5.1-codex-mini", - "name": "GPT-5.1-Codex-Mini", - "display_name": "GPT-5.1-Codex-Mini", + "id": "anthropic/claude-opus-4.6", + "name": "Anthropic: Claude Opus 4.6", + "display_name": "Anthropic: Claude Opus 4.6", "modalities": { "input": [ "text", @@ -122375,8 +129791,8 @@ ] }, "limit": { - "context": 400000, - "output": 100000 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -122388,88 +129804,92 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "effort", - "effort": "none", + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", "effort_options": [ - "none", "low", "medium", - "high" + "high", + "max" ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "openai/gpt-4.1", - "name": "GPT-4.1", - "display_name": "GPT-4.1", + "id": "tencent/hunyuan-a13b-instruct", + "name": "Tencent: Hunyuan A13B Instruct", + "display_name": "Tencent: Hunyuan A13B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 131072, + "output": 131072 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "release_date": "2025-06-30", + "last_updated": "2025-11-25", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0.14, + "output": 0.57 }, "type": "chat" }, { - "id": "openai/gpt-5.3-codex", - "name": "GPT-5.3-Codex", - "display_name": "GPT-5.3-Codex", + "id": "tencent/hy3-preview", + "name": "Tencent: Hy3 Preview", + "display_name": "Tencent: Hy3 Preview", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 262144 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -122477,45 +129897,27 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-24", - "last_updated": "2026-02-24", + "release_date": "2026-04-22", + "last_updated": "2026-05-16", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.066, + "output": 0.26, + "cache_read": 0.029 }, "type": "chat" }, { - "id": "openai/gpt-5.2-chat", - "name": "GPT-5.2 Chat", - "display_name": "GPT-5.2 Chat", + "id": "deepcogito/cogito-v2.1-671b", + "name": "Deep Cogito: Cogito v2.1 671B", + "display_name": "Deep Cogito: Cogito v2.1 671B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -122523,146 +129925,93 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 32768 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "attachment": false, + "open_weights": true, + "release_date": "2025-11-14", + "last_updated": "2026-03-15", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 1.25, + "output": 1.25 }, "type": "chat" }, { - "id": "openai/gpt-5.2-codex", - "name": "GPT-5.2-Codex", - "display_name": "GPT-5.2-Codex", + "id": "cohere/command-a", + "name": "Cohere: Command A", + "display_name": "Cohere: Command A", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 256000, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-01-14", - "last_updated": "2026-01-14", + "attachment": false, + "open_weights": true, + "release_date": "2025-03-13", + "last_updated": "2025-03-13", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "openai/gpt-5.1-codex", - "name": "GPT-5.1-Codex", - "display_name": "GPT-5.1-Codex", + "id": "cohere/command-r-08-2024", + "name": "Cohere: Command R (08-2024)", + "display_name": "Cohere: Command R (08-2024)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 4000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "attachment": false, + "open_weights": true, + "release_date": "2024-08-30", + "last_updated": "2024-08-30", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "openai/gpt-5.1-chat", - "name": "GPT-5.1 Chat", - "display_name": "GPT-5.1 Chat", + "id": "cohere/command-r7b-12-2024", + "name": "Cohere: Command R7B (12-2024)", + "display_name": "Cohere: Command R7B (12-2024)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -122670,38 +130019,27 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 4000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "attachment": false, + "open_weights": true, + "release_date": "2024-12-02", + "last_updated": "2024-12-02", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.0375, + "output": 0.15 }, "type": "chat" - } - ] - }, - "venice": { - "id": "venice", - "name": "Venice AI", - "display_name": "Venice AI", - "doc": "https://docs.venice.ai", - "models": [ + }, { - "id": "nvidia-nemotron-cascade-2-30b-a3b", - "name": "Nemotron Cascade 2 30B A3B", - "display_name": "Nemotron Cascade 2 30B A3B", + "id": "cohere/command-r-plus-08-2024", + "name": "Cohere: Command R+ (08-2024)", + "display_name": "Cohere: Command R+ (08-2024)", "modalities": { "input": [ "text" @@ -122711,29 +130049,28 @@ ] }, "limit": { - "context": 256000, - "output": 32768 + "context": 128000, + "output": 4000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2026-03-24", - "last_updated": "2026-04-09", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", "cost": { - "input": 0.14, - "output": 0.8 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "zai-org-glm-4.7-flash", - "name": "GLM 4.7 Flash", - "display_name": "GLM 4.7 Flash", + "id": "gryphe/mythomax-l2-13b", + "name": "MythoMax 13B", + "display_name": "MythoMax 13B", "modalities": { "input": [ "text" @@ -122743,8 +130080,39 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 4096, + "output": 4096 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2024-04-25", + "last_updated": "2024-04-25", + "cost": { + "input": 0.06, + "output": 0.06 + }, + "type": "chat" + }, + { + "id": "stepfun/step-3.5-flash", + "name": "StepFun: Step 3.5 Flash", + "display_name": "StepFun: Step 3.5 Flash", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 256000, + "output": 256000 }, "temperature": true, "tool_call": true, @@ -122755,17 +130123,18 @@ "attachment": false, "open_weights": true, "release_date": "2026-01-29", - "last_updated": "2026-03-12", + "last_updated": "2026-01-29", "cost": { - "input": 0.125, - "output": 0.5 + "input": 0.1, + "output": 0.3, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "openai-gpt-52", - "name": "GPT-5.2", - "display_name": "GPT-5.2", + "id": "prime-intellect/intellect-3", + "name": "Prime Intellect: INTELLECT-3", + "display_name": "Prime Intellect: INTELLECT-3", "modalities": { "input": [ "text" @@ -122775,8 +130144,8 @@ ] }, "limit": { - "context": 256000, - "output": 65536 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -122785,242 +130154,204 @@ "default": true }, "attachment": false, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-13", - "last_updated": "2026-03-12", + "open_weights": true, + "release_date": "2025-11-26", + "last_updated": "2026-02-04", "cost": { - "input": 2.19, - "output": 17.5, - "cache_read": 0.219 + "input": 0.2, + "output": 1.1 }, "type": "chat" }, { - "id": "claude-opus-4-5", - "name": "Claude Opus 4.5", - "display_name": "Claude Opus 4.5", + "id": "nex-agi/deepseek-v3.1-nex-n1", + "name": "Nex AGI: DeepSeek V3.1 Nex N1", + "display_name": "Nex AGI: DeepSeek V3.1 Nex N1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 198000, - "output": 32768 + "context": 131072, + "output": 163840 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-12-06", - "last_updated": "2026-04-12", + "release_date": "2025-01-01", + "last_updated": "2025-11-25", "cost": { - "input": 6, - "output": 30, - "cache_read": 0.6, - "cache_write": 7.5 + "input": 0.27, + "output": 1 }, "type": "chat" }, { - "id": "claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "undi95/remm-slerp-l2-13b", + "name": "ReMM SLERP 13B", + "display_name": "ReMM SLERP 13B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 6144, + "output": 4096 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2023-07-22", + "last_updated": "2026-03-15", + "cost": { + "input": 0.45, + "output": 0.65 + }, + "type": "chat" + }, + { + "id": "relace/relace-search", + "name": "Relace: Relace Search", + "display_name": "Relace: Relace Search", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 256000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "attachment": false, + "open_weights": false, + "release_date": "2025-12-09", + "last_updated": "2026-03-15", + "cost": { + "input": 1, + "output": 3 }, - "attachment": true, + "type": "chat" + }, + { + "id": "relace/relace-apply-3", + "name": "Relace: Relace Apply 3", + "display_name": "Relace: Relace Apply 3", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 256000, + "output": 128000 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-16", + "release_date": "2025-09-26", + "last_updated": "2026-03-15", "cost": { - "input": 3.6, - "output": 18, - "cache_read": 0.36, - "cache_write": 4.5 + "input": 0.85, + "output": 1.25 }, "type": "chat" }, { - "id": "claude-opus-4-8-fast", - "name": "Claude Opus 4.8 Fast", - "display_name": "Claude Opus 4.8 Fast", + "id": "ai21/jamba-large-1.7", + "name": "AI21: Jamba Large 1.7", + "display_name": "AI21: Jamba Large 1.7", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 256000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-05-28", - "last_updated": "2026-05-28", + "release_date": "2025-08-09", + "last_updated": "2026-03-15", "cost": { - "input": 12, - "output": 60, - "cache_read": 1.2, - "cache_write": 15 + "input": 2, + "output": 8 }, "type": "chat" }, { - "id": "openai-gpt-54", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "arcee-ai/coder-large", + "name": "Arcee AI: Coder Large", + "display_name": "Arcee AI: Coder Large", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 131072 + "context": 32768, + "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-03-05", - "last_updated": "2026-03-09", + "attachment": false, + "open_weights": true, + "release_date": "2025-05-06", + "last_updated": "2026-03-15", "cost": { - "input": 3.13, - "output": 18.8, - "cache_read": 0.313 + "input": 0.5, + "output": 0.8 }, "type": "chat" }, { - "id": "qwen3-next-80b", - "name": "Qwen 3 Next 80b", - "display_name": "Qwen 3 Next 80b", + "id": "arcee-ai/virtuoso-large", + "name": "Arcee AI: Virtuoso Large", + "display_name": "Arcee AI: Virtuoso Large", "modalities": { "input": [ "text" @@ -123030,8 +130361,8 @@ ] }, "limit": { - "context": 256000, - "output": 16384 + "context": 131072, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -123040,64 +130371,61 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-07", - "release_date": "2025-04-29", - "last_updated": "2026-03-12", + "release_date": "2025-05-06", + "last_updated": "2026-03-15", "cost": { - "input": 0.35, - "output": 1.9 + "input": 0.75, + "output": 1.2 }, "type": "chat" }, { - "id": "openai-gpt-4o-mini-2024-07-18", - "name": "GPT-4o Mini", - "display_name": "GPT-4o Mini", + "id": "arcee-ai/spotlight", + "name": "Arcee AI: Spotlight", + "display_name": "Arcee AI: Spotlight", "modalities": { "input": [ - "text", - "image" + "image", + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 65537 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, - "open_weights": false, - "release_date": "2026-02-28", - "last_updated": "2026-03-06", + "open_weights": true, + "release_date": "2025-05-06", + "last_updated": "2026-03-15", "cost": { - "input": 0.1875, - "output": 0.75, - "cache_read": 0.09375 + "input": 0.18, + "output": 0.18 }, "type": "chat" }, { - "id": "mistral-small-2603", - "name": "Mistral Small 4", - "display_name": "Mistral Small 4", + "id": "arcee-ai/trinity-large-thinking", + "name": "Arcee AI: Trinity Large Thinking", + "display_name": "Arcee AI: Trinity Large Thinking", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 65536 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -123105,52 +130433,51 @@ "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-03-16", - "last_updated": "2026-04-09", + "release_date": "2026-04-01", + "last_updated": "2026-04-11", "cost": { - "input": 0.1875, - "output": 0.75 + "input": 0.22, + "output": 0.85 }, "type": "chat" }, { - "id": "gemma-4-uncensored", - "name": "Gemma 4 Uncensored", - "display_name": "Gemma 4 Uncensored", + "id": "arcee-ai/maestro-reasoning", + "name": "Arcee AI: Maestro Reasoning", + "display_name": "Arcee AI: Maestro Reasoning", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 8192 + "context": 131072, + "output": 32000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-04-13", - "last_updated": "2026-04-19", + "release_date": "2025-05-06", + "last_updated": "2026-03-15", "cost": { - "input": 0.1625, - "output": 0.5 + "input": 0.9, + "output": 3.3 }, "type": "chat" }, { - "id": "openai-gpt-oss-120b", - "name": "OpenAI GPT OSS 120B", - "display_name": "OpenAI GPT OSS 120B", + "id": "arcee-ai/trinity-mini", + "name": "Arcee AI: Trinity Mini", + "display_name": "Arcee AI: Trinity Mini", "modalities": { "input": [ "text" @@ -123160,8 +130487,8 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -123171,19 +130498,18 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-07", - "release_date": "2025-11-06", - "last_updated": "2026-05-06", + "release_date": "2025-12", + "last_updated": "2026-01-28", "cost": { - "input": 0.07, - "output": 0.3 + "input": 0.045, + "output": 0.15 }, "type": "chat" }, { - "id": "hermes-3-llama-3.1-405b", - "name": "Hermes 3 Llama 3.1 405b", - "display_name": "Hermes 3 Llama 3.1 405b", + "id": "mancer/weaver", + "name": "Mancer: Weaver (alpha)", + "display_name": "Mancer: Weaver (alpha)", "modalities": { "input": [ "text" @@ -123193,8 +130519,8 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 8000, + "output": 2000 }, "temperature": true, "tool_call": false, @@ -123202,20 +130528,19 @@ "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2024-04", - "release_date": "2025-09-25", - "last_updated": "2026-03-12", + "open_weights": false, + "release_date": "2023-08-02", + "last_updated": "2026-03-15", "cost": { - "input": 1.1, - "output": 3 + "input": 0.75, + "output": 1 }, "type": "chat" }, { - "id": "claude-opus-4-7-fast", - "name": "Claude Opus 4.7 Fast", - "display_name": "Claude Opus 4.7 Fast", + "id": "perplexity/sonar-reasoning-pro", + "name": "Perplexity: Sonar Reasoning Pro", + "display_name": "Perplexity: Sonar Reasoning Pro", "modalities": { "input": [ "text", @@ -123226,57 +130551,29 @@ ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 128000, + "output": 25600 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] - } + "default": true }, "attachment": true, "open_weights": false, - "release_date": "2026-05-14", - "last_updated": "2026-05-14", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", "cost": { - "input": 36, - "output": 180, - "cache_read": 3.6, - "cache_write": 45 + "input": 2, + "output": 8 }, "type": "chat" }, { - "id": "openai-gpt-4o-2024-11-20", - "name": "GPT-4o", - "display_name": "GPT-4o", + "id": "perplexity/sonar", + "name": "Perplexity: Sonar", + "display_name": "Perplexity: Sonar", "modalities": { "input": [ "text", @@ -123287,172 +130584,199 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 127072, + "output": 25415 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-02-28", - "last_updated": "2026-03-06", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", "cost": { - "input": 3.125, - "output": 12.5 + "input": 1, + "output": 1 }, "type": "chat" }, { - "id": "google-gemma-4-26b-a4b-it", - "name": "Google Gemma 4 26B A4B Instruct", - "display_name": "Google Gemma 4 26B A4B Instruct", + "id": "perplexity/sonar-pro", + "name": "Perplexity: Sonar Pro", + "display_name": "Perplexity: Sonar Pro", "modalities": { "input": [ "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 8000 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2024-01-01", + "last_updated": "2025-09-01", + "cost": { + "input": 3, + "output": 15 + }, + "type": "chat" + }, + { + "id": "perplexity/sonar-pro-search", + "name": "Perplexity: Sonar Pro Search", + "display_name": "Perplexity: Sonar Pro Search", + "modalities": { + "input": [ "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 8192 + "context": 200000, + "output": 8000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "attachment": true, - "open_weights": true, - "release_date": "2026-04-02", - "last_updated": "2026-04-12", + "open_weights": false, + "release_date": "2025-10-31", + "last_updated": "2026-03-15", "cost": { - "input": 0.1625, - "output": 0.5 + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "claude-opus-4-6-fast", - "name": "Claude Opus 4.6 Fast", - "display_name": "Claude Opus 4.6 Fast", + "id": "perplexity/sonar-deep-research", + "name": "Perplexity: Sonar Deep Research", + "display_name": "Perplexity: Sonar Deep Research", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 128000, + "output": 25600 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-04-08", - "last_updated": "2026-04-08", + "release_date": "2025-01-27", + "last_updated": "2025-01-27", "cost": { - "input": 36, - "output": 180, - "cache_read": 3.6, - "cache_write": 45 + "input": 2, + "output": 8 }, "type": "chat" }, { - "id": "google-gemma-3-27b-it", - "name": "Google Gemma 3 27B Instruct", - "display_name": "Google Gemma 3 27B Instruct", + "id": "switchpoint/router", + "name": "Switchpoint Router", + "display_name": "Switchpoint Router", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 198000, - "output": 16384 + "context": 131072, + "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-07-12", + "last_updated": "2026-03-15", + "cost": { + "input": 0.85, + "output": 3.4 + }, + "type": "chat" + }, + { + "id": "openrouter/bodybuilder", + "name": "Body Builder (beta)", + "display_name": "Body Builder (beta)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 32768 + }, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-07", - "release_date": "2025-11-04", - "last_updated": "2026-03-12", + "attachment": false, + "open_weights": false, + "release_date": "2026-03-15", + "last_updated": "2026-03-15", "cost": { - "input": 0.12, - "output": 0.2 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "minimax-m3", - "name": "MiniMax M3", - "display_name": "MiniMax M3", + "id": "openrouter/free", + "name": "Free Models Router", + "display_name": "Free Models Router", "modalities": { "input": [ - "text", "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 500000, - "output": 131072 + "context": 200000, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -123460,58 +130784,52 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, "attachment": true, "open_weights": false, - "release_date": "2026-06-01", - "last_updated": "2026-06-04", + "release_date": "2026-02-01", + "last_updated": "2026-03-15", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "venice-uncensored-role-play", - "name": "Venice Role Play Uncensored", - "display_name": "Venice Role Play Uncensored", + "id": "openrouter/owl-alpha", + "name": "Owl Alpha", + "display_name": "Owl Alpha", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 1048756, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": true, - "release_date": "2026-02-20", - "last_updated": "2026-03-16", + "attachment": false, + "open_weights": false, + "release_date": "2026-04-28", + "last_updated": "2026-04-30", "cost": { - "input": 0.5, - "output": 2 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "deepseek-v3.2", - "name": "DeepSeek V3.2", - "display_name": "DeepSeek V3.2", + "id": "openrouter/pareto-code", + "name": "Pareto Code Router", + "display_name": "Pareto Code Router", "modalities": { "input": [ "text" @@ -123521,7 +130839,43 @@ ] }, "limit": { - "context": 160000, + "context": 200000, + "output": 65536 + }, + "temperature": false, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2026-04-21", + "last_updated": "2026-05-01", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, + { + "id": "openrouter/auto", + "name": "Auto Router", + "display_name": "Auto Router", + "modalities": { + "input": [ + "audio", + "image", + "pdf", + "text", + "video" + ], + "output": [ + "image", + "text" + ] + }, + "limit": { + "context": 2000000, "output": 32768 }, "temperature": true, @@ -123530,41 +130884,32 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-10", - "release_date": "2025-12-04", - "last_updated": "2026-03-24", + "attachment": true, + "open_weights": false, + "release_date": "2026-03-15", + "last_updated": "2026-03-15", "cost": { - "input": 0.33, - "output": 0.48, - "cache_read": 0.16 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "gemini-3-flash-preview", - "name": "Gemini 3 Flash Preview", - "display_name": "Gemini 3 Flash Preview", + "id": "qwen/qwen3.5-plus-20260420", + "name": "Qwen: Qwen3.5 Plus 2026-04-20", + "display_name": "Qwen: Qwen3.5 Plus 2026-04-20", "modalities": { "input": [ "text", "image", - "audio", - "video", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 256000, + "context": 1000000, "output": 65536 }, "temperature": true, @@ -123576,15 +130921,6 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], "interleaved": true, "summaries": true, "visibility": "summary", @@ -123595,22 +130931,21 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-12-19", - "last_updated": "2026-03-12", + "release_date": "2026-04-27", + "last_updated": "2026-05-01", "cost": { - "input": 0.7, - "output": 3.75, - "cache_read": 0.07 + "input": 0.4, + "output": 2.4 }, "type": "chat" }, { - "id": "zai-org-glm-5-1", - "name": "GLM 5.1", - "display_name": "GLM 5.1", + "id": "qwen/qwen3-vl-235b-a22b-thinking", + "name": "Qwen: Qwen3 VL 235B A22B Thinking", + "display_name": "Qwen: Qwen3 VL 235B A22B Thinking", "modalities": { "input": [ + "image", "text" ], "output": [ @@ -123618,8 +130953,8 @@ ] }, "limit": { - "context": 200000, - "output": 24000 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -123638,33 +130973,32 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2026-04-07", - "last_updated": "2026-04-08", + "release_date": "2025-09-24", + "last_updated": "2026-03-15", "cost": { - "input": 1.75, - "output": 5.5, - "cache_read": 0.325 + "input": 0.26, + "output": 2.6 }, "type": "chat" }, { - "id": "grok-build-0-1", - "name": "Grok Build 0.1", - "display_name": "Grok Build 0.1", + "id": "qwen/qwen3-vl-30b-a3b-thinking", + "name": "Qwen: Qwen3 VL 30B A3B Thinking", + "display_name": "Qwen: Qwen3 VL 30B A3B Thinking", "modalities": { "input": [ - "text", - "image" + "image", + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 65536 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -123672,71 +131006,63 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": true, - "open_weights": false, - "release_date": "2026-05-21", - "last_updated": "2026-05-22", + "open_weights": true, + "release_date": "2025-10-11", + "last_updated": "2026-03-15", "cost": { - "input": 1, - "output": 2, - "cache_read": 0.2, - "tiers": [ - { - "input": 2, - "output": 4, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 2, - "output": 4, - "cache_read": 0.4 - } + "input": 0.13, + "output": 1.56 }, "type": "chat" }, { - "id": "qwen3-6-27b", - "name": "Qwen 3.6 27B", - "display_name": "Qwen 3.6 27B", + "id": "qwen/qwen3-coder-plus", + "name": "Qwen: Qwen3 Coder Plus", + "display_name": "Qwen: Qwen3 Coder Plus", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, + "context": 1000000, "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-24", - "last_updated": "2026-04-29", + "attachment": false, + "open_weights": true, + "release_date": "2025-07-01", + "last_updated": "2026-03-15", "cost": { - "input": 0.325, - "output": 3.25 + "input": 0.65, + "output": 3.25, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "zai-org-glm-4.6", - "name": "GLM 4.6", - "display_name": "GLM 4.6", + "id": "qwen/qwen-plus", + "name": "Qwen: Qwen-Plus", + "display_name": "Qwen: Qwen-Plus", "modalities": { "input": [ "text" @@ -123746,14 +131072,13 @@ ] }, "limit": { - "context": 198000, - "output": 16384 + "context": 1000000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -123767,90 +131092,68 @@ } }, "attachment": false, - "open_weights": true, - "release_date": "2024-04-01", - "last_updated": "2026-04-04", + "open_weights": false, + "release_date": "2024-01-25", + "last_updated": "2025-09-11", "cost": { - "input": 0.85, - "output": 2.75, - "cache_read": 0.3 + "input": 0.4, + "output": 1.2, + "cache_read": 0.08 }, "type": "chat" }, { - "id": "gemini-3-1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "display_name": "Gemini 3.1 Pro Preview", + "id": "qwen/qwen3-coder-30b-a3b-instruct", + "name": "Qwen: Qwen3 Coder 30B A3B Instruct", + "display_name": "Qwen: Qwen3 Coder 30B A3B Instruct", "modalities": { "input": [ - "text", - "image", - "audio", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 160000, "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-02-19", - "last_updated": "2026-03-12", + "attachment": false, + "open_weights": true, + "release_date": "2025-07-31", + "last_updated": "2025-07-31", "cost": { - "input": 2.5, - "output": 15, - "cache_read": 0.5, - "cache_write": 0.5, - "tiers": [ - { - "input": 5, - "output": 22.5, - "cache_read": 0.5, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 5, - "output": 22.5, - "cache_read": 0.5 - } + "input": 0.07, + "output": 0.27 }, "type": "chat" }, { - "id": "qwen3-vl-235b-a22b", - "name": "Qwen3 VL 235B", - "display_name": "Qwen3 VL 235B", + "id": "qwen/qwen3-32b", + "name": "Qwen: Qwen3 32B", + "display_name": "Qwen: Qwen3 32B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 16384 + "context": 40960, + "output": 40960 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -123863,113 +131166,100 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-01-16", - "last_updated": "2026-03-12", + "release_date": "2024-12-01", + "last_updated": "2026-02-04", "cost": { - "input": 0.25, - "output": 1.5 + "input": 0.08, + "output": 0.24, + "cache_read": 0.04 }, "type": "chat" }, { - "id": "openai-gpt-55-pro", - "name": "GPT-5.5 Pro", - "display_name": "GPT-5.5 Pro", + "id": "qwen/qwen3-next-80b-a3b-instruct", + "name": "Qwen: Qwen3 Next 80B A3B Instruct", + "display_name": "Qwen: Qwen3 Next 80B A3B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 52429 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-24", - "last_updated": "2026-04-25", + "attachment": false, + "open_weights": true, + "release_date": "2025-09-11", + "last_updated": "2026-03-15", "cost": { - "input": 37.5, - "output": 225 + "input": 0.09, + "output": 1.1 }, "type": "chat" }, { - "id": "kimi-k2-5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "qwen/qwen3-vl-8b-instruct", + "name": "Qwen: Qwen3 VL 8B Instruct", + "display_name": "Qwen: Qwen3 VL 8B Instruct", "modalities": { "input": [ - "text", - "image" + "image", + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 65536 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2026-01-27", - "last_updated": "2026-04-30", + "open_weights": true, + "release_date": "2025-10-15", + "last_updated": "2025-11-25", "cost": { - "input": 0.56, - "output": 3.5, - "cache_read": 0.22 + "input": 0.08, + "output": 0.5 }, "type": "chat" }, { - "id": "qwen3-235b-a22b-thinking-2507", - "name": "Qwen 3 235B A22B Thinking 2507", - "display_name": "Qwen 3 235B A22B Thinking 2507", + "id": "qwen/qwen3.6-35b-a3b", + "name": "Qwen: Qwen3.6 35B A3B", + "display_name": "Qwen: Qwen3.6 35B A3B", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 262144, + "output": 65536 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -123985,100 +131275,114 @@ ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-07", - "release_date": "2025-04-29", - "last_updated": "2026-03-12", + "attachment": true, + "open_weights": false, + "release_date": "2026-04-27", + "last_updated": "2026-05-01", "cost": { - "input": 0.45, - "output": 3.5 + "input": 0.1612, + "output": 0.96525, + "cache_read": 0.1612 }, "type": "chat" }, { - "id": "venice-uncensored-1-2", - "name": "Venice Uncensored 1.2", - "display_name": "Venice Uncensored 1.2", + "id": "qwen/qwen3.7-max", + "name": "Qwen: Qwen3.7 Max", + "display_name": "Qwen: Qwen3.7 Max", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": true, - "release_date": "2026-04-01", - "last_updated": "2026-04-19", + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-08-26", + "last_updated": "2026-05-27", "cost": { - "input": 0.2, - "output": 0.9 + "input": 1.625, + "output": 4.875, + "cache_read": 0.1625, + "cache_write": 2.03125 }, "type": "chat" }, { - "id": "nvidia-nemotron-3-ultra-550b-a55b", - "name": "NVIDIA Nemotron 3 Ultra", - "display_name": "NVIDIA Nemotron 3 Ultra", + "id": "qwen/qwen3-max", + "name": "Qwen: Qwen3 Max", + "display_name": "Qwen: Qwen3 Max", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, + "context": 262144, "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, - "attachment": true, - "open_weights": true, - "release_date": "2026-06-04", - "last_updated": "2026-06-08", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-09-05", + "last_updated": "2026-03-15", "cost": { - "input": 0.625, - "output": 3.125, - "cache_read": 0.1875 + "input": 1.2, + "output": 6, + "cache_read": 0.24 }, "type": "chat" }, { - "id": "qwen3-5-397b-a17b", - "name": "Qwen 3.5 397B", - "display_name": "Qwen 3.5 397B", + "id": "qwen/qwen3-8b", + "name": "Qwen: Qwen3 8B", + "display_name": "Qwen: Qwen3 8B", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 40960, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -124086,25 +131390,35 @@ "supported": true, "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": true, - "release_date": "2026-02-16", - "last_updated": "2026-04-16", + "release_date": "2025-04", + "last_updated": "2026-03-15", "cost": { - "input": 0.75, - "output": 4.5 + "input": 0.05, + "output": 0.4, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "qwen-3-6-plus", - "name": "Qwen 3.6 Plus Uncensored", - "display_name": "Qwen 3.6 Plus Uncensored", + "id": "qwen/qwen-plus-2025-07-28", + "name": "Qwen: Qwen Plus 0728", + "display_name": "Qwen: Qwen Plus 0728", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" @@ -124112,59 +131426,51 @@ }, "limit": { "context": 1000000, - "output": 65536 + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-06", - "last_updated": "2026-04-12", - "cost": { - "input": 0.625, - "output": 3.75, - "cache_read": 0.0625, - "cache_write": 0.78, - "tiers": [ - { - "input": 2.5, - "output": 7.5, - "cache_read": 0.0625, - "cache_write": 0.78, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 7.5, - "cache_read": 0.0625, - "cache_write": 0.78 + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, + "attachment": false, + "open_weights": true, + "release_date": "2025-09-09", + "last_updated": "2026-03-15", + "cost": { + "input": 0.26, + "output": 0.78 + }, "type": "chat" }, { - "id": "zai-org-glm-5", - "name": "GLM 5", - "display_name": "GLM 5", + "id": "qwen/qwen3.5-flash-02-23", + "name": "Qwen: Qwen3.5-Flash", + "display_name": "Qwen: Qwen3.5-Flash", "modalities": { "input": [ - "text" + "image", + "text", + "video" ], "output": [ "text" ] }, "limit": { - "context": 198000, - "output": 32000 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -124183,103 +131489,84 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-03-12", + "release_date": "2026-02-26", + "last_updated": "2026-03-15", "cost": { - "input": 1, - "output": 3.2, - "cache_read": 0.2 + "input": 0.1, + "output": 0.4 }, "type": "chat" }, { - "id": "qwen3-5-35b-a3b", - "name": "Qwen 3.5 35B A3B", - "display_name": "Qwen 3.5 35B A3B", + "id": "qwen/qwen3-30b-a3b-instruct-2507", + "name": "Qwen: Qwen3 30B A3B Instruct 2507", + "display_name": "Qwen: Qwen3 30B A3B Instruct 2507", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 16384 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-02-25", - "last_updated": "2026-05-25", + "release_date": "2025-07-29", + "last_updated": "2026-03-15", "cost": { - "input": 0.3125, - "output": 1.25, - "cache_read": 0.15625 + "input": 0.09, + "output": 0.3, + "cache_read": 0.04 }, "type": "chat" }, { - "id": "openai-gpt-54-pro", - "name": "GPT-5.4 Pro", - "display_name": "GPT-5.4 Pro", + "id": "qwen/qwen-2.5-coder-32b-instruct", + "name": "Qwen2.5 Coder 32B Instruct", + "display_name": "Qwen2.5 Coder 32B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 32768, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-03-05", - "last_updated": "2026-03-09", + "attachment": false, + "open_weights": true, + "release_date": "2024-11-11", + "last_updated": "2026-03-15", "cost": { - "input": 37.5, - "output": 225, - "tiers": [ - { - "input": 75, - "output": 337.5, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 75, - "output": 337.5 - } + "input": 0.2, + "output": 0.2, + "cache_read": 0.015 }, "type": "chat" }, { - "id": "minimax-m25", - "name": "MiniMax M2.5", - "display_name": "MiniMax M2.5", + "id": "qwen/qwen3-next-80b-a3b-thinking", + "name": "Qwen: Qwen3 Next 80B A3B Thinking", + "display_name": "Qwen: Qwen3 Next 80B A3B Thinking", "modalities": { "input": [ "text" @@ -124289,7 +131576,7 @@ ] }, "limit": { - "context": 198000, + "context": 131072, "output": 32768 }, "temperature": true, @@ -124310,32 +131597,30 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2026-02-12", - "last_updated": "2026-04-12", + "open_weights": true, + "release_date": "2025-09-11", + "last_updated": "2026-03-15", "cost": { - "input": 0.34, - "output": 1.19, - "cache_read": 0.04 + "input": 0.0975, + "output": 0.78 }, "type": "chat" }, { - "id": "kimi-k2-6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "qwen/qwen3-235b-a22b-thinking-2507", + "name": "Qwen: Qwen3 235B A22B Thinking 2507", + "display_name": "Qwen: Qwen3 235B A22B Thinking 2507", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 65536 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -124354,21 +131639,20 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-04-20", - "last_updated": "2026-04-30", + "release_date": "2025-07-25", + "last_updated": "2026-03-15", "cost": { - "input": 0.85, - "output": 4.655, - "cache_read": 0.22 + "input": 0.11, + "output": 0.6 }, "type": "chat" }, { - "id": "openai-gpt-53-codex", - "name": "GPT-5.3 Codex", - "display_name": "GPT-5.3 Codex", + "id": "qwen/qwen3-vl-32b-instruct", + "name": "Qwen: Qwen3 VL 32B Instruct", + "display_name": "Qwen: Qwen3 VL 32B Instruct", "modalities": { "input": [ "text", @@ -124379,30 +131663,28 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-02-24", - "last_updated": "2026-03-12", + "release_date": "2025-10-21", + "last_updated": "2025-11-25", "cost": { - "input": 2.19, - "output": 17.5, - "cache_read": 0.219 + "input": 0.104, + "output": 0.416 }, "type": "chat" }, { - "id": "mistral-small-3-2-24b-instruct", - "name": "Mistral Small 3.2 24B Instruct", - "display_name": "Mistral Small 3.2 24B Instruct", + "id": "qwen/qwen3-coder", + "name": "Qwen: Qwen3 Coder 480B A35B", + "display_name": "Qwen: Qwen3 Coder 480B A35B", "modalities": { "input": [ "text" @@ -124412,8 +131694,8 @@ ] }, "limit": { - "context": 256000, - "output": 16384 + "context": 262144, + "output": 52429 }, "temperature": true, "tool_call": true, @@ -124422,21 +131704,24 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-01-15", - "last_updated": "2026-03-16", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", "cost": { - "input": 0.09375, - "output": 0.25 + "input": 0.22, + "output": 1, + "cache_read": 0.022 }, "type": "chat" }, { - "id": "qwen-3-7-max", - "name": "Qwen 3.7 Max", - "display_name": "Qwen 3.7 Max", + "id": "qwen/qwen3.6-flash", + "name": "Qwen: Qwen3.6 Flash", + "display_name": "Qwen: Qwen3.6 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" @@ -124452,34 +131737,45 @@ "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-05-22", - "last_updated": "2026-05-25", + "release_date": "2026-04-27", + "last_updated": "2026-05-01", "cost": { - "input": 2.7, - "output": 8.05, - "cache_read": 0.27, - "cache_write": 3.35 + "input": 0.25, + "output": 1.5, + "cache_write": 0.3125 }, "type": "chat" }, { - "id": "z-ai-glm-5v-turbo", - "name": "GLM 5V Turbo", - "display_name": "GLM 5V Turbo", + "id": "qwen/qwen3.5-plus-02-15", + "name": "Qwen: Qwen3.5 Plus 2026-02-15", + "display_name": "Qwen: Qwen3.5 Plus 2026-02-15", "modalities": { "input": [ + "image", "text", - "image" + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32768 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -124487,33 +131783,74 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": true, "open_weights": false, - "release_date": "2026-04-01", - "last_updated": "2026-04-12", + "release_date": "2026-02-15", + "last_updated": "2026-03-15", "cost": { - "input": 1.5, - "output": 5, - "cache_read": 0.3 + "input": 0.26, + "output": 1.56 }, "type": "chat" }, { - "id": "openai-gpt-54-mini", - "name": "GPT-5.4 Mini", - "display_name": "GPT-5.4 Mini", + "id": "qwen/qwen-2.5-7b-instruct", + "name": "Qwen: Qwen2.5 7B Instruct", + "display_name": "Qwen: Qwen2.5 7B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 32768, + "output": 6554 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2024-09", + "last_updated": "2025-04-16", + "cost": { + "input": 0.04, + "output": 0.1 + }, + "type": "chat" + }, + { + "id": "qwen/qwen3-vl-8b-thinking", + "name": "Qwen: Qwen3 VL 8B Thinking", + "display_name": "Qwen: Qwen3 VL 8B Thinking", + "modalities": { + "input": [ + "image", + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -124521,21 +131858,31 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": true, "open_weights": false, - "release_date": "2026-03-27", - "last_updated": "2026-03-31", + "release_date": "2025-10-15", + "last_updated": "2025-11-25", "cost": { - "input": 0.9375, - "output": 5.625, - "cache_read": 0.09375 + "input": 0.117, + "output": 1.365 }, "type": "chat" }, { - "id": "nvidia-nemotron-3-nano-30b-a3b", - "name": "NVIDIA Nemotron 3 Nano 30B", - "display_name": "NVIDIA Nemotron 3 Nano 30B", + "id": "qwen/qwen3-max-thinking", + "name": "Qwen: Qwen3 Max Thinking", + "display_name": "Qwen: Qwen3 Max Thinking", "modalities": { "input": [ "text" @@ -124545,28 +131892,40 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 262144, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": true, - "release_date": "2026-01-27", - "last_updated": "2026-03-12", + "open_weights": false, + "release_date": "2026-01-23", + "last_updated": "2026-03-15", "cost": { - "input": 0.075, - "output": 0.3 + "input": 0.78, + "output": 3.9 }, "type": "chat" }, { - "id": "llama-3.3-70b", - "name": "Llama 3.3 70B", - "display_name": "Llama 3.3 70B", + "id": "qwen/qwen3-30b-a3b-thinking-2507", + "name": "Qwen: Qwen3 30B A3B Thinking 2507", + "display_name": "Qwen: Qwen3 30B A3B Thinking 2507", "modalities": { "input": [ "text" @@ -124576,31 +131935,43 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 32768, + "output": 6554 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2025-04-06", - "last_updated": "2026-03-12", + "release_date": "2025-07-29", + "last_updated": "2025-07-29", "cost": { - "input": 0.7, - "output": 2.8 + "input": 0.051, + "output": 0.34 }, "type": "chat" }, { - "id": "llama-3.2-3b", - "name": "Llama 3.2 3B", - "display_name": "Llama 3.2 3B", + "id": "qwen/qwen2.5-vl-72b-instruct", + "name": "Qwen: Qwen2.5 VL 72B Instruct", + "display_name": "Qwen: Qwen2.5 VL 72B Instruct", "modalities": { "input": [ + "image", "text" ], "output": [ @@ -124608,61 +131979,74 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 32768, + "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-10-03", - "last_updated": "2026-03-12", + "release_date": "2025-02-01", + "last_updated": "2026-03-15", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.8, + "output": 0.8, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "qwen3-coder-480b-a35b-instruct-turbo", - "name": "Qwen 3 Coder 480B Turbo", - "display_name": "Qwen 3 Coder 480B Turbo", + "id": "qwen/qwen3.5-27b", + "name": "Qwen: Qwen3.5-27B", + "display_name": "Qwen: Qwen3.5-27B", "modalities": { "input": [ - "text" + "image", + "text", + "video" ], "output": [ "text" ] }, "limit": { - "context": 256000, + "context": 262144, "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": true, - "release_date": "2026-01-27", - "last_updated": "2026-02-26", + "release_date": "2026-02-26", + "last_updated": "2026-03-15", "cost": { - "input": 0.35, - "output": 1.5, - "cache_read": 0.04 + "input": 0.195, + "output": 1.56 }, "type": "chat" }, { - "id": "deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "qwen/qwen3-235b-a22b", + "name": "Qwen: Qwen3 235B A22B", + "display_name": "Qwen: Qwen3 235B A22B", "modalities": { "input": [ "text" @@ -124672,8 +132056,8 @@ ] }, "limit": { - "context": 1000000, - "output": 32768 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -124694,81 +132078,61 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-04-24", - "last_updated": "2026-04-29", + "release_date": "2024-12-01", + "last_updated": "2026-03-15", "cost": { - "input": 0.17, - "output": 0.35, - "cache_read": 0.028 + "input": 0.455, + "output": 1.82, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "grok-4-20-multi-agent", - "name": "Grok 4.20 Multi-Agent", - "display_name": "Grok 4.20 Multi-Agent", + "id": "qwen/qwen-2.5-72b-instruct", + "name": "Qwen2.5 72B Instruct", + "display_name": "Qwen2.5 72B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 128000 + "context": 32768, + "output": 16384 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2026-03-12", - "last_updated": "2026-05-07", + "attachment": false, + "open_weights": true, + "release_date": "2024-09", + "last_updated": "2026-01-10", "cost": { - "input": 1.42, - "output": 2.83, - "cache_read": 0.23, - "tiers": [ - { - "input": 2.83, - "output": 5.67, - "cache_read": 0.45, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 2.83, - "output": 5.67, - "cache_read": 0.45 - } + "input": 0.12, + "output": 0.39 }, "type": "chat" }, { - "id": "openai-gpt-52-codex", - "name": "GPT-5.2 Codex", - "display_name": "GPT-5.2 Codex", + "id": "qwen/qwen-plus-2025-07-28:thinking", + "name": "Qwen: Qwen Plus 0728 (thinking)", + "display_name": "Qwen: Qwen Plus 0728 (thinking)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 65536 + "context": 1000000, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -124776,22 +132140,20 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08", - "release_date": "2025-01-15", - "last_updated": "2026-03-12", + "attachment": false, + "open_weights": true, + "release_date": "2025-09-09", + "last_updated": "2026-03-15", "cost": { - "input": 2.19, - "output": 17.5, - "cache_read": 0.219 + "input": 0.26, + "output": 0.78 }, "type": "chat" }, { - "id": "minimax-m27", - "name": "MiniMax M2.7", - "display_name": "MiniMax M2.7", + "id": "qwen/qwen3-coder-next", + "name": "Qwen: Qwen3 Coder Next", + "display_name": "Qwen: Qwen3 Coder Next", "modalities": { "input": [ "text" @@ -124801,101 +132163,86 @@ ] }, "limit": { - "context": 198000, - "output": 32768 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-03-18", - "last_updated": "2026-04-12", + "open_weights": true, + "release_date": "2026-02-02", + "last_updated": "2026-03-15", "cost": { - "input": 0.375, - "output": 1.5, - "cache_read": 0.075 + "input": 0.12, + "output": 0.75, + "cache_read": 0.035 }, "type": "chat" }, { - "id": "claude-opus-4-8", - "name": "Claude Opus 4.8", - "display_name": "Claude Opus 4.8", + "id": "qwen/qwen3.6-27b", + "name": "Qwen: Qwen3.6 27B", + "display_name": "Qwen: Qwen3.6 27B", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 256000, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-05-28", - "last_updated": "2026-05-28", + "release_date": "2026-04-27", + "last_updated": "2026-05-01", "cost": { - "input": 6, - "output": 30, - "cache_read": 0.6, - "cache_write": 7.5 + "input": 0.325, + "output": 3.25 }, "type": "chat" }, { - "id": "arcee-trinity-large-thinking", - "name": "Trinity Large Thinking", - "display_name": "Trinity Large Thinking", + "id": "qwen/qwen3.5-35b-a3b", + "name": "Qwen: Qwen3.5-35B-A3B", + "display_name": "Qwen: Qwen3.5-35B-A3B", "modalities": { "input": [ - "text" + "image", + "text", + "video" ], "output": [ "text" ] }, "limit": { - "context": 256000, + "context": 262144, "output": 65536 }, "temperature": true, @@ -124915,65 +132262,78 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2026-04-02", - "last_updated": "2026-04-04", + "release_date": "2026-02-26", + "last_updated": "2026-03-15", "cost": { - "input": 0.3125, - "output": 1.125, - "cache_read": 0.075 + "input": 0.1625, + "output": 1.3 }, "type": "chat" }, { - "id": "qwen3-235b-a22b-instruct-2507", - "name": "Qwen 3 235B A22B Instruct 2507", - "display_name": "Qwen 3 235B A22B Instruct 2507", + "id": "qwen/qwen3.5-9b", + "name": "Qwen: Qwen3.5-9B", + "display_name": "Qwen: Qwen3.5-9B", "modalities": { "input": [ - "text" + "image", + "text", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 256000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": true, - "knowledge": "2025-07", - "release_date": "2025-04-29", - "last_updated": "2026-03-12", + "release_date": "2026-03-10", + "last_updated": "2026-03-15", "cost": { - "input": 0.15, - "output": 0.75 + "input": 0.05, + "output": 0.15 }, "type": "chat" }, { - "id": "grok-4-3", - "name": "Grok 4.3", - "display_name": "Grok 4.3", + "id": "qwen/qwen3.5-397b-a17b", + "name": "Qwen: Qwen3.5 397B A17B", + "display_name": "Qwen: Qwen3.5 397B A17B", "modalities": { "input": [ + "image", "text", - "image" + "video" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 32000 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -124981,37 +132341,31 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": true, "open_weights": false, - "release_date": "2026-04-18", - "last_updated": "2026-05-04", + "release_date": "2026-02-15", + "last_updated": "2026-03-15", "cost": { - "input": 1.42, - "output": 2.83, - "cache_read": 0.23, - "tiers": [ - { - "input": 2.83, - "output": 5.67, - "cache_read": 0.45, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 2.83, - "output": 5.67, - "cache_read": 0.45 - } + "input": 0.39, + "output": 2.34 }, "type": "chat" }, { - "id": "qwen3-5-9b", - "name": "Qwen 3.5 9B", - "display_name": "Qwen 3.5 9B", + "id": "qwen/qwen3-vl-30b-a3b-instruct", + "name": "Qwen: Qwen3 VL 30B A3B Instruct", + "display_name": "Qwen: Qwen3 VL 30B A3B Instruct", "modalities": { "input": [ "text", @@ -125022,42 +132376,39 @@ ] }, "limit": { - "context": 256000, + "context": 131072, "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": true, - "release_date": "2026-03-05", - "last_updated": "2026-04-19", + "release_date": "2025-10-05", + "last_updated": "2025-11-25", "cost": { - "input": 0.1, - "output": 0.15 + "input": 0.13, + "output": 0.52 }, "type": "chat" }, { - "id": "qwen-3-7-plus", - "name": "Qwen 3.7 Plus", - "display_name": "Qwen 3.7 Plus", + "id": "qwen/qwen3-235b-a22b-2507", + "name": "Qwen: Qwen3 235B A22B Instruct 2507", + "display_name": "Qwen: Qwen3 235B A22B Instruct 2507", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 262144, + "output": 52429 }, "temperature": true, "tool_call": true, @@ -125065,110 +132416,63 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2026-06-02", - "last_updated": "2026-06-04", + "attachment": false, + "open_weights": true, + "release_date": "2025-04", + "last_updated": "2026-01", "cost": { - "input": 0.5, - "output": 2, - "cache_read": 0.05, - "cache_write": 0.625, - "tiers": [ - { - "input": 1.5, - "output": 6, - "cache_read": 0.15, - "cache_write": 1.875, - "tier": { - "type": "context", - "size": 256000 - } - } - ], - "context_over_200k": { - "input": 1.5, - "output": 6, - "cache_read": 0.15, - "cache_write": 1.875 - } + "input": 0.071, + "output": 0.1 }, "type": "chat" }, { - "id": "claude-sonnet-4-5", - "name": "Claude Sonnet 4.5", - "display_name": "Claude Sonnet 4.5", + "id": "qwen/qwen3-coder-flash", + "name": "Qwen: Qwen3 Coder Flash", + "display_name": "Qwen: Qwen3 Coder Flash", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 198000, - "output": 64000 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-01-15", - "last_updated": "2026-04-12", + "release_date": "2025-07-23", + "last_updated": "2026-03-15", "cost": { - "input": 3.75, - "output": 18.75, - "cache_read": 0.375, - "cache_write": 4.69 + "input": 0.195, + "output": 0.975, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "gemini-3-5-flash", - "name": "Gemini 3.5 Flash", - "display_name": "Gemini 3.5 Flash", + "id": "qwen/qwen3-14b", + "name": "Qwen: Qwen3 14B", + "display_name": "Qwen: Qwen3 14B", "modalities": { "input": [ - "text", - "image", - "audio", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 40960, + "output": 40960 }, "temperature": true, "tool_call": true, @@ -125176,22 +132480,32 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2026-05-22", - "last_updated": "2026-05-25", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-04", + "last_updated": "2026-03-15", "cost": { - "input": 1.55, - "output": 9.45, - "cache_read": 0.155, - "cache_write": 0.086 + "input": 0.06, + "output": 0.24, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "claude-opus-4-6", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", + "id": "qwen/qwen3-vl-235b-a22b-instruct", + "name": "Qwen: Qwen3 VL 235B A22B Instruct", + "display_name": "Qwen: Qwen3 VL 235B A22B Instruct", "modalities": { "input": [ "text", @@ -125202,60 +132516,29 @@ ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 262144, + "output": 52429 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-03-16", + "open_weights": true, + "release_date": "2025-09-23", + "last_updated": "2026-01-10", "cost": { - "input": 6, - "output": 30, - "cache_read": 0.6, - "cache_write": 7.5 + "input": 0.2, + "output": 0.88, + "cache_read": 0.11 }, "type": "chat" }, { - "id": "olafangensan-glm-4.7-flash-heretic", - "name": "GLM 4.7 Flash Heretic", - "display_name": "GLM 4.7 Flash Heretic", + "id": "qwen/qwen3-30b-a3b", + "name": "Qwen: Qwen3 30B A3B", + "display_name": "Qwen: Qwen3 30B A3B", "modalities": { "input": [ "text" @@ -125265,8 +132548,8 @@ ] }, "limit": { - "context": 200000, - "output": 24000 + "context": 40960, + "output": 40960 }, "temperature": true, "tool_call": true, @@ -125274,20 +132557,32 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": true, - "release_date": "2026-02-04", - "last_updated": "2026-03-12", + "release_date": "2025-04", + "last_updated": "2026-03-15", "cost": { - "input": 0.14, - "output": 0.8 + "input": 0.08, + "output": 0.28, + "cache_read": 0.03 }, "type": "chat" }, { - "id": "deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "qwen/qwen3.6-max-preview", + "name": "Qwen: Qwen3.6 Max Preview", + "display_name": "Qwen: Qwen3.6 Max Preview", "modalities": { "input": [ "text" @@ -125297,8 +132592,8 @@ ] }, "limit": { - "context": 1000000, - "output": 32768 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -125318,57 +132613,69 @@ } }, "attachment": false, - "open_weights": true, - "release_date": "2026-04-24", - "last_updated": "2026-04-29", + "open_weights": false, + "release_date": "2026-04-27", + "last_updated": "2026-05-01", "cost": { - "input": 1.73, - "output": 3.796, - "cache_read": 0.33 + "input": 1.04, + "output": 6.24, + "cache_write": 1.3 }, "type": "chat" }, { - "id": "aion-labs-aion-2-0", - "name": "Aion 2.0", - "display_name": "Aion 2.0", + "id": "qwen/qwen3.5-122b-a10b", + "name": "Qwen: Qwen3.5-122B-A10B", + "display_name": "Qwen: Qwen3.5-122B-A10B", "modalities": { "input": [ - "text" + "image", + "text", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 262144, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2026-03-24", - "last_updated": "2026-04-12", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-02-26", + "last_updated": "2026-03-15", "cost": { - "input": 1, - "output": 2, - "cache_read": 0.25 + "input": 0.26, + "output": 2.08 }, "type": "chat" }, { - "id": "claude-opus-4-7", - "name": "Claude Opus 4.7", - "display_name": "Claude Opus 4.7", + "id": "qwen/qwen3.6-plus", + "name": "Qwen: Qwen3.6 Plus", + "display_name": "Qwen: Qwen3.6 Plus", "modalities": { "input": [ - "text", - "image" + "image", + "text" ], "output": [ "text" @@ -125376,93 +132683,76 @@ }, "limit": { "context": 1000000, - "output": 128000 + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "release_date": "2025-08-26", + "last_updated": "2026-04-11", "cost": { - "input": 6, - "output": 30, - "cache_read": 0.6, - "cache_write": 7.5 + "input": 0.325, + "output": 1.95, + "cache_read": 0.0325, + "cache_write": 0.40625 }, "type": "chat" }, { - "id": "google-gemma-4-31b-it", - "name": "Google Gemma 4 31B Instruct", - "display_name": "Google Gemma 4 31B Instruct", + "id": "amazon/nova-lite-v1", + "name": "Amazon: Nova Lite 1.0", + "display_name": "Amazon: Nova Lite 1.0", "modalities": { "input": [ - "text", "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 8192 + "context": 300000, + "output": 5120 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, - "open_weights": true, - "release_date": "2026-04-03", - "last_updated": "2026-06-08", + "open_weights": false, + "release_date": "2024-12-06", + "last_updated": "2026-03-15", "cost": { - "input": 0.12, - "output": 0.36, - "cache_read": 0.09 + "input": 0.06, + "output": 0.24 }, "type": "chat" }, { - "id": "z-ai-glm-5-turbo", - "name": "GLM 5 Turbo", - "display_name": "GLM 5 Turbo", + "id": "amazon/nova-premier-v1", + "name": "Amazon: Nova Premier 1.0", + "display_name": "Amazon: Nova Premier 1.0", "modalities": { "input": [ + "image", "text" ], "output": [ @@ -125470,30 +132760,28 @@ ] }, "limit": { - "context": 200000, - "output": 32768 + "context": 1000000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-15", - "last_updated": "2026-04-12", + "attachment": true, + "open_weights": false, + "release_date": "2025-11-01", + "last_updated": "2026-03-15", "cost": { - "input": 1.2, - "output": 4, - "cache_read": 0.24 + "input": 2.5, + "output": 12.5 }, "type": "chat" }, { - "id": "grok-4-20", - "name": "Grok 4.20", - "display_name": "Grok 4.20", + "id": "amazon/nova-pro-v1", + "name": "Amazon: Nova Pro 1.0", + "display_name": "Amazon: Nova Pro 1.0", "modalities": { "input": [ "text", @@ -125504,46 +132792,28 @@ ] }, "limit": { - "context": 2000000, - "output": 128000 + "context": 300000, + "output": 5120 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-03-12", - "last_updated": "2026-05-07", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", "cost": { - "input": 1.42, - "output": 2.83, - "cache_read": 0.23, - "tiers": [ - { - "input": 2.83, - "output": 5.67, - "cache_read": 0.45, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 2.83, - "output": 5.67, - "cache_read": 0.45 - } + "input": 0.8, + "output": 3.2 }, "type": "chat" }, { - "id": "mercury-2", - "name": "Mercury 2", - "display_name": "Mercury 2", + "id": "amazon/nova-micro-v1", + "name": "Amazon: Nova Micro 1.0", + "display_name": "Amazon: Nova Micro 1.0", "modalities": { "input": [ "text" @@ -125554,40 +132824,41 @@ }, "limit": { "context": 128000, - "output": 50000 + "output": 5120 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-02-20", - "last_updated": "2026-04-09", + "release_date": "2024-12-06", + "last_updated": "2026-03-15", "cost": { - "input": 0.3125, - "output": 0.9375, - "cache_read": 0.03125 + "input": 0.035, + "output": 0.14 }, "type": "chat" }, { - "id": "zai-org-glm-4.7", - "name": "GLM 4.7", - "display_name": "GLM 4.7", + "id": "amazon/nova-2-lite-v1", + "name": "Amazon: Nova 2 Lite", + "display_name": "Amazon: Nova 2 Lite", "modalities": { "input": [ - "text" + "image", + "pdf", + "text", + "video" ], "output": [ "text" ] }, "limit": { - "context": 198000, - "output": 16384 + "context": 1000000, + "output": 65535 }, "temperature": true, "tool_call": true, @@ -125595,91 +132866,51 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-24", - "last_updated": "2026-03-12", + "attachment": true, + "open_weights": false, + "release_date": "2024-12-01", + "last_updated": "2026-03-15", "cost": { - "input": 0.55, - "output": 2.65, - "cache_read": 0.11 + "input": 0.3, + "output": 2.5 }, "type": "chat" }, { - "id": "openai-gpt-55", - "name": "GPT-5.5", - "display_name": "GPT-5.5", + "id": "aion-labs/aion-rp-llama-3.1-8b", + "name": "AionLabs: Aion-RP 1.0 (8B)", + "display_name": "AionLabs: Aion-RP 1.0 (8B)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 131072 + "context": 32768, + "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-23", - "last_updated": "2026-04-25", + "release_date": "2025-02-05", + "last_updated": "2026-03-15", "cost": { - "input": 6.25, - "output": 37.5, - "cache_read": 0.625, - "tiers": [ - { - "input": 12.5, - "output": 56.25, - "cache_read": 1.25, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 12.5, - "output": 56.25, - "cache_read": 1.25 - } + "input": 0.8, + "output": 1.6 }, "type": "chat" - } - ] - }, - "azure": { - "id": "azure", - "name": "Azure", - "display_name": "Azure", - "doc": "https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models", - "models": [ + }, { - "id": "mistral-large-2411", - "name": "Mistral Large 24.11", - "display_name": "Mistral Large 24.11", + "id": "aion-labs/aion-1.0-mini", + "name": "AionLabs: Aion-1.0-Mini", + "display_name": "AionLabs: Aion-1.0-Mini", "modalities": { "input": [ "text" @@ -125689,29 +132920,29 @@ ] }, "limit": { - "context": 128000, + "context": 131072, "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "knowledge": "2024-09", - "release_date": "2024-11-01", - "last_updated": "2024-11-01", + "release_date": "2025-02-05", + "last_updated": "2026-03-15", "cost": { - "input": 2, - "output": 6 + "input": 0.7, + "output": 1.4 }, "type": "chat" }, { - "id": "gpt-3.5-turbo-1106", - "name": "GPT-3.5 Turbo 1106", - "display_name": "GPT-3.5 Turbo 1106", + "id": "aion-labs/aion-2.0", + "name": "AionLabs: Aion-2.0", + "display_name": "AionLabs: Aion-2.0", "modalities": { "input": [ "text" @@ -125721,173 +132952,123 @@ ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "knowledge": "2021-08", - "release_date": "2023-11-06", - "last_updated": "2023-11-06", + "release_date": "2026-02-24", + "last_updated": "2026-03-15", "cost": { - "input": 1, - "output": 2 + "input": 0.8, + "output": 1.6 }, "type": "chat" }, { - "id": "claude-opus-4-5", - "name": "Claude Opus 4.5", - "display_name": "Claude Opus 4.5", + "id": "aion-labs/aion-1.0", + "name": "AionLabs: Aion-1.0", + "display_name": "AionLabs: Aion-1.0", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 131072, + "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." - ] - } + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-08-01", + "release_date": "2025-02-05", + "last_updated": "2026-03-15", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 4, + "output": 8 }, "type": "chat" }, { - "id": "model-router", - "name": "Model Router", - "display_name": "Model Router", + "id": "inflection/inflection-3-pi", + "name": "Inflection: Inflection 3 Pi", + "display_name": "Inflection: Inflection 3 Pi", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 8000, + "output": 1024 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-05-19", - "last_updated": "2025-11-18", + "release_date": "2024-10-11", + "last_updated": "2026-03-15", "cost": { - "input": 0.14, - "output": 0 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "gpt-5-pro", - "name": "GPT-5 Pro", - "display_name": "GPT-5 Pro", + "id": "inflection/inflection-3-productivity", + "name": "Inflection: Inflection 3 Productivity", + "display_name": "Inflection: Inflection 3 Productivity", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 272000 + "context": 8000, + "output": 1024 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "fixed", - "effort": "high", - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-10-06", - "last_updated": "2025-10-06", + "release_date": "2024-10-11", + "last_updated": "2026-03-15", "cost": { - "input": 15, - "output": 120 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "deepseek-r1-0528", - "name": "DeepSeek-R1-0528", - "display_name": "DeepSeek-R1-0528", + "id": "sao10k/l3.1-euryale-70b", + "name": "Sao10K: Llama 3.1 Euryale 70B v2.2", + "display_name": "Sao10K: Llama 3.1 Euryale 70B v2.2", "modalities": { "input": [ "text" @@ -125897,162 +133078,90 @@ ] }, "limit": { - "context": 163840, - "output": 163840 + "context": 131072, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-05-28", - "last_updated": "2025-05-28", + "release_date": "2024-08-28", + "last_updated": "2026-03-15", "cost": { - "input": 1.35, - "output": 5.4 + "input": 0.85, + "output": 0.85 }, "type": "chat" }, { - "id": "claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "sao10k/l3.3-euryale-70b", + "name": "Sao10K: Llama 3.3 Euryale 70B", + "display_name": "Sao10K: Llama 3.3 Euryale 70B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 131072, + "output": 16384 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", + "attachment": false, + "open_weights": true, + "release_date": "2024-12-18", + "last_updated": "2026-03-15", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.65, + "output": 0.75 }, "type": "chat" }, { - "id": "gpt-5-mini", - "name": "GPT-5 Mini", - "display_name": "GPT-5 Mini", + "id": "sao10k/l3-lunaris-8b", + "name": "Sao10K: Llama 3 8B Lunaris", + "display_name": "Sao10K: Llama 3 8B Lunaris", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 272000, - "output": 128000 + "context": 8192, + "output": 8192 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "attachment": false, + "open_weights": true, + "release_date": "2024-08-13", + "last_updated": "2026-03-15", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.03 + "input": 0.04, + "output": 0.05 }, "type": "chat" }, { - "id": "ministral-3b", - "name": "Ministral 3B", - "display_name": "Ministral 3B", + "id": "sao10k/l3-euryale-70b", + "name": "Sao10k: Llama 3 Euryale 70B v2.1", + "display_name": "Sao10k: Llama 3 Euryale 70B v2.1", "modalities": { "input": [ "text" @@ -126062,7 +133171,7 @@ ] }, "limit": { - "context": 128000, + "context": 8192, "output": 8192 }, "temperature": true, @@ -126072,52 +133181,49 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-03", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", + "release_date": "2024-06-18", + "last_updated": "2026-03-15", "cost": { - "input": 0.04, - "output": 0.04 + "input": 1.48, + "output": 1.48 }, "type": "chat" }, { - "id": "gpt-4-turbo-vision", - "name": "GPT-4 Turbo Vision", - "display_name": "GPT-4 Turbo Vision", + "id": "sao10k/l3.1-70b-hanami-x1", + "name": "Sao10K: Llama 3.1 70B Hanami x1", + "display_name": "Sao10K: Llama 3.1 70B Hanami x1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 16000, + "output": 16000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-11", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", + "attachment": false, + "open_weights": true, + "release_date": "2025-01-08", + "last_updated": "2026-03-15", "cost": { - "input": 10, - "output": 30 + "input": 3, + "output": 3 }, "type": "chat" }, { - "id": "meta-llama-3.1-405b-instruct", - "name": "Meta-Llama-3.1-405B-Instruct", - "display_name": "Meta-Llama-3.1-405B-Instruct", + "id": "upstage/solar-pro-3", + "name": "Upstage: Solar Pro 3", + "display_name": "Upstage: Solar Pro 3", "modalities": { "input": [ "text" @@ -126133,163 +133239,143 @@ "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "open_weights": false, + "release_date": "2026-01-27", + "last_updated": "2026-03-15", "cost": { - "input": 5.33, - "output": 16 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "gpt-5-chat", - "name": "GPT-5 Chat", - "display_name": "GPT-5 Chat", + "id": "allenai/olmo-3-32b-think", + "name": "AllenAI: Olmo 3 32B Think", + "display_name": "AllenAI: Olmo 3 32B Think", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 65536, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": false, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-10-24", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "attachment": false, + "open_weights": true, + "release_date": "2025-11-22", + "last_updated": "2026-03-15", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.13 + "input": 0.15, + "output": 0.5 }, "type": "chat" }, { - "id": "gpt-4o", - "name": "GPT-4o", - "display_name": "GPT-4o", + "id": "essentialai/rnj-1-instruct", + "name": "EssentialAI: Rnj 1 Instruct", + "display_name": "EssentialAI: Rnj 1 Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 32768, + "output": 6554 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-08-06", + "attachment": false, + "open_weights": true, + "release_date": "2025-12-05", + "last_updated": "2026-03-15", "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 + "input": 0.15, + "output": 0.15 }, "type": "chat" }, { - "id": "gpt-5.2", - "name": "GPT-5.2", - "display_name": "GPT-5.2", + "id": "deepseek/deepseek-r1-0528", + "name": "DeepSeek: R1 0528", + "display_name": "DeepSeek: R1 0528", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 163840, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "attachment": false, + "open_weights": true, + "release_date": "2025-05-28", + "last_updated": "2026-03-15", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.125 + "input": 0.45, + "output": 2.15, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "gpt-5-codex", - "name": "GPT-5-Codex", - "display_name": "GPT-5-Codex", + "id": "deepseek/deepseek-v4-flash", + "name": "DeepSeek: DeepSeek V4 Flash", + "display_name": "DeepSeek: DeepSeek V4 Flash", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1048576, + "output": 384000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -126298,89 +133384,62 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", + "release_date": "2026-04-24", + "last_updated": "2026-05-01", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.13 + "input": 0.14, + "output": 0.28, + "cache_read": 0.0028 }, "type": "chat" }, { - "id": "o3", - "name": "o3", - "display_name": "o3", + "id": "deepseek/deepseek-v3.1-terminus", + "name": "DeepSeek: DeepSeek V3.1 Terminus", + "display_name": "DeepSeek: DeepSeek V3.1 Terminus", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 163840, + "output": 32768 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "attachment": false, + "open_weights": true, + "release_date": "2025-09-22", + "last_updated": "2025-09-22", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0.21, + "output": 0.79, + "cache_read": 0.13 }, "type": "chat" }, { - "id": "phi-3-medium-128k-instruct", - "name": "Phi-3-medium-instruct (128k)", - "display_name": "Phi-3-medium-instruct (128k)", + "id": "deepseek/deepseek-r1-distill-llama-70b", + "name": "DeepSeek: R1 Distill Llama 70B", + "display_name": "DeepSeek: R1 Distill Llama 70B", "modalities": { "input": [ "text" @@ -126390,29 +133449,35 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131072, + "output": 16384 }, "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", + "release_date": "2025-01-23", + "last_updated": "2026-03-15", "cost": { - "input": 0.17, - "output": 0.68 + "input": 0.7, + "output": 0.8, + "cache_read": 0.015 }, "type": "chat" }, { - "id": "deepseek-v3-0324", - "name": "DeepSeek-V3-0324", - "display_name": "DeepSeek-V3-0324", + "id": "deepseek/deepseek-v4-pro", + "name": "DeepSeek: DeepSeek V4 Pro", + "display_name": "DeepSeek: DeepSeek V4 Pro", "modalities": { "input": [ "text" @@ -126422,29 +133487,41 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 1048576, + "output": 384000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-03-24", - "last_updated": "2025-03-24", + "open_weights": false, + "release_date": "2026-04-24", + "last_updated": "2026-05-01", "cost": { - "input": 1.14, - "output": 4.56 + "input": 0.435, + "output": 0.87, + "cache_read": 0.003625 }, "type": "chat" }, { - "id": "kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "display_name": "Kimi K2 Thinking", + "id": "deepseek/deepseek-r1", + "name": "DeepSeek: R1", + "display_name": "DeepSeek: R1", "modalities": { "input": [ "text" @@ -126454,8 +133531,8 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 64000, + "output": 16000 }, "temperature": true, "tool_call": true, @@ -126476,53 +133553,83 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-12-02", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "cost": { + "input": 0.7, + "output": 2.5 + }, + "type": "chat" + }, + { + "id": "deepseek/deepseek-v3.2-speciale", + "name": "DeepSeek: DeepSeek V3.2 Speciale", + "display_name": "DeepSeek: DeepSeek V3.2 Speciale", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 163840, + "output": 163840 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-12-01", + "last_updated": "2026-03-15", "cost": { - "input": 0.6, - "output": 2.5, - "cache_read": 0.15 + "input": 0.4, + "output": 1.2, + "cache_read": 0.135 }, "type": "chat" }, { - "id": "mistral-small-2503", - "name": "Mistral Small 3.1", - "display_name": "Mistral Small 3.1", + "id": "deepseek/deepseek-v3.2-exp", + "name": "DeepSeek: DeepSeek V3.2 Exp", + "display_name": "DeepSeek: DeepSeek V3.2 Exp", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 163840, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09", - "release_date": "2025-03-01", - "last_updated": "2025-03-01", + "attachment": false, + "open_weights": true, + "release_date": "2025-01-01", + "last_updated": "2025-09-29", "cost": { - "input": 0.1, - "output": 0.3 + "input": 0.27, + "output": 0.41 }, "type": "chat" }, { - "id": "text-embedding-3-small", - "name": "text-embedding-3-small", - "display_name": "text-embedding-3-small", + "id": "deepseek/deepseek-chat-v3-0324", + "name": "DeepSeek: DeepSeek V3 0324", + "display_name": "DeepSeek: DeepSeek V3 0324", "modalities": { "input": [ "text" @@ -126532,155 +133639,107 @@ ] }, "limit": { - "context": 8191, - "output": 1536 + "context": 163840, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2024-01-25", - "last_updated": "2024-01-25", + "open_weights": true, + "release_date": "2025-03-24", + "last_updated": "2026-03-15", "cost": { - "input": 0.02, - "output": 0 + "input": 0.2, + "output": 0.77, + "cache_read": 0.095 }, - "type": "embedding" + "type": "chat" }, { - "id": "gpt-5", - "name": "GPT-5", - "display_name": "GPT-5", + "id": "deepseek/deepseek-r1-distill-qwen-32b", + "name": "DeepSeek: R1 Distill Qwen 32B", + "display_name": "DeepSeek: R1 Distill Qwen 32B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 272000, - "output": 128000 + "context": 32768, + "output": 32768 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "attachment": false, + "open_weights": true, + "release_date": "2025-01-01", + "last_updated": "2025-11-25", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.13 + "input": 0.29, + "output": 0.29 }, "type": "chat" }, { - "id": "claude-haiku-4-5", - "name": "Claude Haiku 4.5", - "display_name": "Claude Haiku 4.5", + "id": "deepseek/deepseek-chat", + "name": "DeepSeek: DeepSeek V3", + "display_name": "DeepSeek: DeepSeek V3", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 163840, + "output": 163840 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-02-31", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", + "attachment": false, + "open_weights": true, + "release_date": "2024-12-01", + "last_updated": "2026-03-15", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 0.32, + "output": 0.89, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "gpt-5.4-pro", - "name": "GPT-5.4 Pro", - "display_name": "GPT-5.4 Pro", + "id": "deepseek/deepseek-v3.2", + "name": "DeepSeek: DeepSeek V3.2", + "display_name": "DeepSeek: DeepSeek V3.2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 163840, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -126688,87 +133747,56 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "attachment": false, + "open_weights": true, + "release_date": "2025-12-01", + "last_updated": "2026-03-15", "cost": { - "input": 30, - "output": 180, - "tiers": [ - { - "input": 60, - "output": 270, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 60, - "output": 270 - } + "input": 0.26, + "output": 0.38, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "gpt-4.1-mini", - "name": "GPT-4.1 mini", - "display_name": "GPT-4.1 mini", + "id": "deepseek/deepseek-chat-v3.1", + "name": "DeepSeek: DeepSeek V3.1", + "display_name": "DeepSeek: DeepSeek V3.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 32768, + "output": 7168 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "attachment": false, + "open_weights": true, + "release_date": "2025-08-21", + "last_updated": "2025-08-21", "cost": { - "input": 0.4, - "output": 1.6, - "cache_read": 0.1 + "input": 0.15, + "output": 0.75 }, "type": "chat" }, { - "id": "deepseek-v3.2", - "name": "DeepSeek-V3.2", - "display_name": "DeepSeek-V3.2", + "id": "minimax/minimax-m2.5", + "name": "MiniMax: MiniMax M2.5", + "display_name": "MiniMax: MiniMax M2.5", "modalities": { "input": [ "text" @@ -126778,8 +133806,8 @@ ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 196608, + "output": 196608 }, "temperature": true, "tool_call": true, @@ -126794,19 +133822,19 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "release_date": "2026-02-12", + "last_updated": "2026-03-15", "cost": { - "input": 0.58, - "output": 1.68 + "input": 0.25, + "output": 1.2, + "cache_read": 0.029 }, "type": "chat" }, { - "id": "text-embedding-3-large", - "name": "text-embedding-3-large", - "display_name": "text-embedding-3-large", + "id": "minimax/minimax-m2.1", + "name": "MiniMax: MiniMax M2.1", + "display_name": "MiniMax: MiniMax M2.1", "modalities": { "input": [ "text" @@ -126816,27 +133844,35 @@ ] }, "limit": { - "context": 8191, - "output": 3072 + "context": 196608, + "output": 39322 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": false, - "release_date": "2024-01-25", - "last_updated": "2024-01-25", + "open_weights": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "cost": { - "input": 0.13, - "output": 0 + "input": 0.27, + "output": 0.95, + "cache_read": 0.03 }, - "type": "embedding" + "type": "chat" }, { - "id": "o4-mini", - "name": "o4-mini", - "display_name": "o4-mini", + "id": "minimax/minimax-01", + "name": "MiniMax: MiniMax-01", + "display_name": "MiniMax: MiniMax-01", "modalities": { "input": [ "text", @@ -126847,119 +133883,66 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 1000192, + "output": 1000192 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "open_weights": true, + "release_date": "2025-01-15", + "last_updated": "2025-01-15", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.275 + "input": 0.2, + "output": 1.1 }, "type": "chat" }, { - "id": "gpt-5.4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "minimax/minimax-m2", + "name": "MiniMax: MiniMax M2", + "display_name": "MiniMax: MiniMax M2", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 196608, + "output": 196608 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "attachment": false, + "open_weights": true, + "release_date": "2025-10-23", + "last_updated": "2026-03-15", "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 - } - } - ], - "context_over_200k": { - "input": 5, - "output": 22.5, - "cache_read": 0.5 - } + "input": 0.255, + "output": 1, + "cache_read": 0.03 }, "type": "chat" }, { - "id": "o3-mini", - "name": "o3-mini", - "display_name": "o3-mini", + "id": "minimax/minimax-m2-her", + "name": "MiniMax: MiniMax M2-her", + "display_name": "MiniMax: MiniMax M2-her", "modalities": { "input": [ "text" @@ -126969,45 +133952,28 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 65536, + "output": 2048 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2024-12-20", - "last_updated": "2025-01-29", + "open_weights": true, + "release_date": "2026-01-23", + "last_updated": "2026-03-15", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.55 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "phi-4-reasoning", - "name": "Phi-4-reasoning", - "display_name": "Phi-4-reasoning", + "id": "minimax/minimax-m2.7", + "name": "MiniMax: MiniMax M2.7", + "display_name": "MiniMax: MiniMax M2.7", "modalities": { "input": [ "text" @@ -127017,30 +133983,41 @@ ] }, "limit": { - "context": 32000, - "output": 4096 + "context": 204800, + "output": 131072 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.125, - "output": 0.5 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "phi-4", - "name": "Phi-4", - "display_name": "Phi-4", + "id": "minimax/minimax-m1", + "name": "MiniMax: MiniMax M1", + "display_name": "MiniMax: MiniMax M1", "modalities": { "input": [ "text" @@ -127050,104 +134027,95 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 1000000, + "output": 40000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 0.125, - "output": 0.5 + "input": 0.4, + "output": 2.2 }, "type": "chat" }, { - "id": "gpt-5.5", - "name": "GPT-5.5", - "display_name": "GPT-5.5", + "id": "stealth/claude-opus-4.7", + "name": "Stealth: Claude Opus 4.7 (20% off)", + "display_name": "Stealth: Claude Opus 4.7 (20% off)", "modalities": { "input": [ - "text", "image", - "pdf" + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, + "context": 1000000, "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "effort", - "effort": "medium", + "effort": "high", "effort_options": [ "low", "medium", "high", - "xhigh" + "xhigh", + "max" ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "release_date": "2026-04-16", + "last_updated": "2026-05-27", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5, - "tiers": [ - { - "input": 10, - "output": 45, - "cache_read": 1, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 10, - "output": 45, - "cache_read": 1 - } + "input": 4, + "output": 20, + "cache_read": 0.4, + "cache_write": 5 }, "type": "chat" }, { - "id": "mistral-nemo", - "name": "Mistral Nemo", - "display_name": "Mistral Nemo", + "id": "stealth/claude-sonnet-4.6", + "name": "Stealth: Claude Sonnet 4.6 (20% off)", + "display_name": "Stealth: Claude Sonnet 4.6 (20% off)", "modalities": { "input": [ + "image", + "pdf", "text" ], "output": [ @@ -127155,69 +134123,123 @@ ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-02-17", + "last_updated": "2026-05-27", "cost": { - "input": 0.15, - "output": 0.15 + "input": 2.4, + "output": 12, + "cache_read": 0.24, + "cache_write": 3 }, "type": "chat" }, { - "id": "kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "stealth/claude-opus-4.6", + "name": "Stealth: Claude Opus 4.6 (20% off)", + "display_name": "Stealth: Claude Opus 4.6 (20% off)", "modalities": { "input": [ - "text", - "image" + "image", + "pdf", + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "attachment": true, + "open_weights": false, + "release_date": "2026-02-05", + "last_updated": "2026-05-27", "cost": { - "input": 0.95, - "output": 4 + "input": 4, + "output": 20, + "cache_read": 0.4, + "cache_write": 5 }, "type": "chat" }, { - "id": "gpt-4-32k", - "name": "GPT-4 32K", - "display_name": "GPT-4 32K", + "id": "kwaipilot/kat-coder-pro-v2", + "name": "Kwaipilot: KAT-Coder-Pro V2", + "display_name": "Kwaipilot: KAT-Coder-Pro V2", "modalities": { "input": [ "text" @@ -127227,8 +134249,8 @@ ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 256000, + "output": 80000 }, "temperature": true, "tool_call": true, @@ -127236,20 +134258,20 @@ "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2023-11", - "release_date": "2023-03-14", - "last_updated": "2023-03-14", + "open_weights": true, + "release_date": "2026-03-27", + "last_updated": "2026-04-11", "cost": { - "input": 60, - "output": 120 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "meta-llama-3.1-8b-instruct", - "name": "Meta-Llama-3.1-8B-Instruct", - "display_name": "Meta-Llama-3.1-8B-Instruct", + "id": "nousresearch/hermes-2-pro-llama-3-8b", + "name": "NousResearch: Hermes 2 Pro - Llama-3 8B", + "display_name": "NousResearch: Hermes 2 Pro - Llama-3 8B", "modalities": { "input": [ "text" @@ -127259,62 +134281,60 @@ ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 8192, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "release_date": "2024-05-27", + "last_updated": "2024-06-27", "cost": { - "input": 0.3, - "output": 0.61 + "input": 0.14, + "output": 0.14 }, "type": "chat" }, { - "id": "llama-4-scout-17b-16e-instruct", - "name": "Llama 4 Scout 17B 16E Instruct", - "display_name": "Llama 4 Scout 17B 16E Instruct", + "id": "nousresearch/hermes-4-405b", + "name": "Nous: Hermes 4 405B", + "display_name": "Nous: Hermes 4 405B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 131072, + "output": 26215 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "release_date": "2025-08-25", + "last_updated": "2025-08-25", "cost": { - "input": 0.2, - "output": 0.78 + "input": 1, + "output": 3 }, "type": "chat" }, { - "id": "phi-3-mini-128k-instruct", - "name": "Phi-3-mini-instruct (128k)", - "display_name": "Phi-3-mini-instruct (128k)", + "id": "nousresearch/hermes-3-llama-3.1-70b", + "name": "Nous: Hermes 3 70B Instruct", + "display_name": "Nous: Hermes 3 70B Instruct", "modalities": { "input": [ "text" @@ -127324,8 +134344,8 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": false, @@ -127334,19 +134354,18 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", + "release_date": "2024-08-18", + "last_updated": "2026-03-15", "cost": { - "input": 0.13, - "output": 0.52 + "input": 0.3, + "output": 0.3 }, "type": "chat" }, { - "id": "phi-3-small-128k-instruct", - "name": "Phi-3-small-instruct (128k)", - "display_name": "Phi-3-small-instruct (128k)", + "id": "nousresearch/hermes-3-llama-3.1-405b", + "name": "Nous: Hermes 3 405B Instruct", + "display_name": "Nous: Hermes 3 405B Instruct", "modalities": { "input": [ "text" @@ -127356,8 +134375,8 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131072, + "output": 16384 }, "temperature": true, "tool_call": false, @@ -127366,19 +134385,18 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", + "release_date": "2024-08-16", + "last_updated": "2024-08-16", "cost": { - "input": 0.15, - "output": 0.6 + "input": 1, + "output": 1 }, "type": "chat" }, { - "id": "phi-4-mini", - "name": "Phi-4-mini", - "display_name": "Phi-4-mini", + "id": "nousresearch/hermes-4-70b", + "name": "Nous: Hermes 4 70B", + "display_name": "Nous: Hermes 4 70B", "modalities": { "input": [ "text" @@ -127388,100 +134406,83 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131072, + "output": 131072 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "release_date": "2025-08-25", + "last_updated": "2026-03-15", "cost": { - "input": 0.075, - "output": 0.3 + "input": 0.13, + "output": 0.4, + "cache_read": 0.055 }, "type": "chat" - }, + } + ] + }, + "lucidquery": { + "id": "lucidquery", + "name": "LucidQuery AI", + "display_name": "LucidQuery AI", + "api": "https://lucidquery.com/api/v1", + "doc": "https://lucidquery.com/api/docs", + "models": [ { - "id": "gpt-5.1", - "name": "GPT-5.1", - "display_name": "GPT-5.1", + "id": "lucidnova-rf1-100b", + "name": "LucidNova RF1 100B", + "display_name": "LucidNova RF1 100B", "modalities": { "input": [ - "text", - "image", - "audio" + "text" ], "output": [ - "text", - "image", - "audio" + "text" ] }, "limit": { - "context": 272000, - "output": 128000 + "context": 120000, + "output": 8000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-14", - "last_updated": "2025-11-14", + "knowledge": "2025-09-16", + "release_date": "2024-12-28", + "last_updated": "2025-09-10", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 2, + "output": 5 }, "type": "chat" }, { - "id": "gpt-5-nano", - "name": "GPT-5 Nano", - "display_name": "GPT-5 Nano", + "id": "lucidquery-nexus-coder", + "name": "LucidQuery Nexus Coder", + "display_name": "LucidQuery Nexus Coder", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 272000, - "output": 128000 + "context": 250000, + "output": 60000 }, "temperature": false, "tool_call": true, @@ -127489,54 +134490,40 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, "attachment": true, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2025-08-01", + "release_date": "2025-09-01", + "last_updated": "2025-09-01", "cost": { - "input": 0.05, - "output": 0.4, - "cache_read": 0.01 + "input": 2, + "output": 5 }, "type": "chat" - }, + } + ] + }, + "meganova": { + "id": "meganova", + "name": "Meganova", + "display_name": "Meganova", + "api": "https://api.meganova.ai/v1", + "doc": "https://docs.meganova.ai", + "models": [ { - "id": "gpt-4o-mini", - "name": "GPT-4o mini", - "display_name": "GPT-4o mini", + "id": "meta-llama/Llama-3.3-70B-Instruct", + "name": "Llama 3.3 70B Instruct", + "display_name": "Llama 3.3 70B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, + "context": 131072, "output": 16384 }, "temperature": true, @@ -127544,80 +134531,64 @@ "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "attachment": false, + "open_weights": true, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.075 + "input": 0.1, + "output": 0.3 }, "type": "chat" }, { - "id": "claude-opus-4-1", - "name": "Claude Opus 4.1", - "display_name": "Claude Opus 4.1", + "id": "moonshotai/Kimi-K2-Thinking", + "name": "Kimi K2 Thinking", + "display_name": "Kimi K2 Thinking", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", + "attachment": false, + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.6, + "output": 2.6 }, "type": "chat" }, { - "id": "gpt-5.1-codex-max", - "name": "GPT-5.1 Codex Max", - "display_name": "GPT-5.1 Codex Max", + "id": "moonshotai/Kimi-K2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ "text", @@ -127628,52 +134599,41 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 262144 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "attachment": false, + "open_weights": true, + "knowledge": "2026-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.45, + "output": 2.8 }, "type": "chat" }, { - "id": "grok-4-fast-reasoning", - "name": "Grok 4 Fast (Reasoning)", - "display_name": "Grok 4 Fast (Reasoning)", + "id": "Qwen/Qwen2.5-VL-32B-Instruct", + "name": "Qwen2.5 VL 32B Instruct", + "display_name": "Qwen2.5 VL 32B Instruct", "modalities": { "input": [ "text", @@ -127684,92 +134644,75 @@ ] }, "limit": { - "context": 2000000, - "output": 30000 + "context": 16384, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-07", - "release_date": "2025-09-19", - "last_updated": "2025-09-19", + "open_weights": true, + "release_date": "2025-03-24", + "last_updated": "2025-03-24", "cost": { "input": 0.2, - "output": 0.5, - "cache_read": 0.05 + "output": 0.6 }, "type": "chat" }, { - "id": "gpt-5.1-codex-mini", - "name": "GPT-5.1 Codex Mini", - "display_name": "GPT-5.1 Codex Mini", + "id": "Qwen/Qwen3.5-Plus", + "name": "Qwen3.5 Plus", + "display_name": "Qwen3.5 Plus", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1000000, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-14", - "last_updated": "2025-11-14", + "knowledge": "2025-04", + "release_date": "2026-02", + "last_updated": "2026-02", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 0.4, + "output": 2.4, + "reasoning": 2.4 }, "type": "chat" }, { - "id": "text-embedding-ada-002", - "name": "text-embedding-ada-002", - "display_name": "text-embedding-ada-002", + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "name": "Qwen3 235B A22B Instruct 2507", + "display_name": "Qwen3 235B A22B Instruct 2507", "modalities": { "input": [ "text" @@ -127779,27 +134722,28 @@ ] }, "limit": { - "context": 8192, - "output": 1536 + "context": 262000, + "output": 262000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2022-12-15", - "last_updated": "2022-12-15", + "open_weights": true, + "release_date": "2025-07-23", + "last_updated": "2025-07-23", "cost": { - "input": 0.1, - "output": 0 + "input": 0.09, + "output": 0.6 }, - "type": "embedding" + "type": "chat" }, { - "id": "phi-4-reasoning-plus", - "name": "Phi-4-reasoning-plus", - "display_name": "Phi-4-reasoning-plus", + "id": "XiaomiMiMo/MiMo-V2-Flash", + "name": "MiMo V2 Flash", + "display_name": "MiMo V2 Flash", "modalities": { "input": [ "text" @@ -127809,30 +134753,30 @@ ] }, "limit": { - "context": 32000, - "output": 4096 + "context": 262144, + "output": 32000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": false, "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "knowledge": "2024-12-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", "cost": { - "input": 0.125, - "output": 0.5 + "input": 0.1, + "output": 0.3 }, "type": "chat" }, { - "id": "grok-4-1-fast-non-reasoning", - "name": "Grok 4.1 Fast (Non-Reasoning)", - "display_name": "Grok 4.1 Fast (Non-Reasoning)", + "id": "mistralai/Mistral-Small-3.2-24B-Instruct-2506", + "name": "Mistral Small 3.2 24B Instruct", + "display_name": "Mistral Small 3.2 24B Instruct", "modalities": { "input": [ "text", @@ -127843,7 +134787,7 @@ ] }, "limit": { - "context": 128000, + "context": 32768, "output": 8192 }, "temperature": true, @@ -127852,20 +134796,20 @@ "supported": false }, "attachment": true, - "open_weights": false, - "release_date": "2025-06-27", - "last_updated": "2025-06-27", + "open_weights": true, + "knowledge": "2024-10", + "release_date": "2025-06-20", + "last_updated": "2025-06-20", "cost": { - "input": 0.2, - "output": 0.5, - "cache_read": 0.05 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "deepseek-r1", - "name": "DeepSeek-R1", - "display_name": "DeepSeek-R1", + "id": "mistralai/Mistral-Nemo-Instruct-2407", + "name": "Mistral Nemo Instruct 2407", + "display_name": "Mistral Nemo Instruct 2407", "modalities": { "input": [ "text" @@ -127875,11 +134819,42 @@ ] }, "limit": { - "context": 163840, - "output": 163840 + "context": 131072, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "cost": { + "input": 0.02, + "output": 0.04 + }, + "type": "chat" + }, + { + "id": "zai-org/GLM-4.6", + "name": "GLM-4.6", + "display_name": "GLM-4.6", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 202752, + "output": 131072 + }, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -127897,85 +134872,106 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", + "knowledge": "2025-04", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", "cost": { - "input": 1.35, - "output": 5.4 + "input": 0.45, + "output": 1.9 }, "type": "chat" }, { - "id": "mistral-medium-2505", - "name": "Mistral Medium 3", - "display_name": "Mistral Medium 3", + "id": "zai-org/GLM-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 202752, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-05", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 0.4, - "output": 2 + "input": 0.8, + "output": 2.56 }, "type": "chat" }, { - "id": "llama-4-maverick-17b-128e-instruct-fp8", - "name": "Llama 4 Maverick 17B 128E Instruct FP8", - "display_name": "Llama 4 Maverick 17B 128E Instruct FP8", + "id": "zai-org/GLM-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 202752, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 0.25, - "output": 1 + "input": 0.2, + "output": 0.8 }, "type": "chat" }, { - "id": "cohere-command-r-plus-08-2024", - "name": "Command R+", - "display_name": "Command R+", + "id": "deepseek-ai/DeepSeek-V3-0324", + "name": "DeepSeek V3 0324", + "display_name": "DeepSeek V3 0324", "modalities": { "input": [ "text" @@ -127985,8 +134981,8 @@ ] }, "limit": { - "context": 128000, - "output": 4000 + "context": 163840, + "output": 163840 }, "temperature": true, "tool_call": true, @@ -127995,53 +134991,62 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-06-01", - "release_date": "2024-08-30", - "last_updated": "2024-08-30", + "release_date": "2025-03-24", + "last_updated": "2025-03-24", "cost": { - "input": 2.5, - "output": 10 + "input": 0.25, + "output": 0.88 }, "type": "chat" }, { - "id": "gpt-4.1", - "name": "GPT-4.1", - "display_name": "GPT-4.1", + "id": "deepseek-ai/DeepSeek-R1-0528", + "name": "DeepSeek R1 0528", + "display_name": "DeepSeek R1 0528", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 163840, + "output": 64000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2025-05-28", + "last_updated": "2025-05-28", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0.5, + "output": 2.15 }, "type": "chat" }, { - "id": "phi-3-small-8k-instruct", - "name": "Phi-3-small-instruct (8k)", - "display_name": "Phi-3-small-instruct (8k)", + "id": "deepseek-ai/DeepSeek-V3.1", + "name": "DeepSeek V3.1", + "display_name": "DeepSeek V3.1", "modalities": { "input": [ "text" @@ -128051,29 +135056,28 @@ ] }, "limit": { - "context": 8192, - "output": 2048 + "context": 164000, + "output": 164000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", + "release_date": "2025-08-25", + "last_updated": "2025-08-25", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.27, + "output": 1 }, "type": "chat" }, { - "id": "meta-llama-3-8b-instruct", - "name": "Meta-Llama-3-8B-Instruct", - "display_name": "Meta-Llama-3-8B-Instruct", + "id": "deepseek-ai/DeepSeek-V3.2-Exp", + "name": "DeepSeek V3.2 Exp", + "display_name": "DeepSeek V3.2 Exp", "modalities": { "input": [ "text" @@ -128083,87 +135087,64 @@ ] }, "limit": { - "context": 8192, - "output": 2048 + "context": 164000, + "output": 164000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-04-18", - "last_updated": "2024-04-18", + "release_date": "2025-10-10", + "last_updated": "2025-10-10", "cost": { - "input": 0.3, - "output": 0.61 + "input": 0.27, + "output": 0.4 }, "type": "chat" }, { - "id": "gpt-5.4-nano", - "name": "GPT-5.4 Nano", - "display_name": "GPT-5.4 Nano", + "id": "deepseek-ai/DeepSeek-V3.2", + "name": "DeepSeek V3.2", + "display_name": "DeepSeek V3.2", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 164000, + "output": 164000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "attachment": false, + "open_weights": true, + "release_date": "2025-12-03", + "last_updated": "2025-12-03", "cost": { - "input": 0.2, - "output": 1.25, - "cache_read": 0.02 + "input": 0.26, + "output": 0.38 }, "type": "chat" }, { - "id": "phi-3.5-mini-instruct", - "name": "Phi-3.5-mini-instruct", - "display_name": "Phi-3.5-mini-instruct", + "id": "MiniMaxAI/MiniMax-M2.1", + "name": "MiniMax M2.1", + "display_name": "MiniMax M2.1", "modalities": { "input": [ "text" @@ -128173,29 +135154,40 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 196608, + "output": 131072 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "cost": { - "input": 0.13, - "output": 0.52 + "input": 0.28, + "output": 1.2 }, "type": "chat" }, { - "id": "cohere-embed-v3-english", - "name": "Embed v3 English", - "display_name": "Embed v3 English", + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax M2.5", + "display_name": "MiniMax M2.5", "modalities": { "input": [ "text" @@ -128205,60 +135197,82 @@ ] }, "limit": { - "context": 512, - "output": 1024 + "context": 204800, + "output": 131072 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2023-11-07", - "last_updated": "2023-11-07", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.1, - "output": 0 + "input": 0.3, + "output": 1.2 }, "type": "chat" - }, + } + ] + }, + "perplexity": { + "id": "perplexity", + "name": "Perplexity", + "display_name": "Perplexity", + "doc": "https://docs.perplexity.ai", + "models": [ { - "id": "phi-3-mini-4k-instruct", - "name": "Phi-3-mini-instruct (4k)", - "display_name": "Phi-3-mini-instruct (4k)", + "id": "sonar-reasoning-pro", + "name": "Sonar Reasoning Pro", + "display_name": "Sonar Reasoning Pro", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 4096, - "output": 1024 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", + "attachment": true, + "open_weights": false, + "knowledge": "2025-09-01", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", "cost": { - "input": 0.13, - "output": 0.52 + "input": 2, + "output": 8 }, "type": "chat" }, { - "id": "meta-llama-3.1-70b-instruct", - "name": "Meta-Llama-3.1-70B-Instruct", - "display_name": "Meta-Llama-3.1-70B-Instruct", + "id": "sonar", + "name": "Sonar", + "display_name": "Sonar", "modalities": { "input": [ "text" @@ -128269,60 +135283,61 @@ }, "limit": { "context": 128000, - "output": 32768 + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "open_weights": false, + "knowledge": "2025-09-01", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", "cost": { - "input": 2.68, - "output": 3.54 + "input": 1, + "output": 1 }, "type": "chat" }, { - "id": "phi-3-medium-4k-instruct", - "name": "Phi-3-medium-instruct (4k)", - "display_name": "Phi-3-medium-instruct (4k)", + "id": "sonar-pro", + "name": "Sonar Pro", + "display_name": "Sonar Pro", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 4096, - "output": 1024 + "context": 200000, + "output": 8192 }, "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", + "attachment": true, + "open_weights": false, + "knowledge": "2025-09-01", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", "cost": { - "input": 0.17, - "output": 0.68 + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "deepseek-v3.2-speciale", - "name": "DeepSeek-V3.2-Speciale", - "display_name": "DeepSeek-V3.2-Speciale", + "id": "sonar-deep-research", + "name": "Perplexity Sonar Deep Research", + "display_name": "Perplexity Sonar Deep Research", "modalities": { "input": [ "text" @@ -128333,152 +135348,154 @@ }, "limit": { "context": 128000, - "output": 128000 + "output": 32768 }, - "temperature": true, + "temperature": false, "tool_call": false, "reasoning": { "supported": true, "default": true }, "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-02-01", + "last_updated": "2025-09-01", "cost": { - "input": 0.58, - "output": 1.68 + "input": 2, + "output": 8, + "reasoning": 3 }, "type": "chat" - }, + } + ] + }, + "amazon-bedrock": { + "id": "amazon-bedrock", + "name": "Amazon Bedrock", + "display_name": "Amazon Bedrock", + "doc": "https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html", + "models": [ { - "id": "gpt-5.3-codex", - "name": "GPT-5.3 Codex", - "display_name": "GPT-5.3 Codex", + "id": "global.anthropic.claude-haiku-4-5-20251001-v1:0", + "name": "Claude Haiku 4.5 (Global)", + "display_name": "Claude Haiku 4.5 (Global)", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 64000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-24", - "last_updated": "2026-02-24", + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "phi-4-multimodal", - "name": "Phi-4-multimodal", - "display_name": "Phi-4-multimodal", + "id": "global.anthropic.claude-sonnet-4-5-20250929-v1:0", + "name": "Claude Sonnet 4.5 (Global)", + "display_name": "Claude Sonnet 4.5 (Global)", "modalities": { "input": [ "text", "image", - "audio" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 200000, + "output": 64000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "cost": { - "input": 0.08, - "output": 0.32, - "input_audio": 4 - }, - "type": "chat" - }, - { - "id": "gpt-3.5-turbo-0125", - "name": "GPT-3.5 Turbo 0125", - "display_name": "GPT-3.5 Turbo 0125", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 16384, - "output": 16384 + "supported": true, + "default": false }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2021-08", - "release_date": "2024-01-25", - "last_updated": "2024-01-25", + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0.5, - "output": 1.5 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "llama-3.2-11b-vision-instruct", - "name": "Llama-3.2-11B-Vision-Instruct", - "display_name": "Llama-3.2-11B-Vision-Instruct", + "id": "us.meta.llama4-scout-17b-instruct-v1:0", + "name": "Llama 4 Scout 17B Instruct (US)", + "display_name": "Llama 4 Scout 17B Instruct (US)", "modalities": { "input": [ "text", @@ -128489,8 +135506,8 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 3500000, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -128499,51 +135516,19 @@ }, "attachment": true, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "cost": { - "input": 0.37, - "output": 0.37 - }, - "type": "chat" - }, - { - "id": "phi-3.5-moe-instruct", - "name": "Phi-3.5-MoE-instruct", - "display_name": "Phi-3.5-MoE-instruct", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 4096 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { - "input": 0.16, - "output": 0.64 + "input": 0.17, + "output": 0.66 }, "type": "chat" }, { - "id": "cohere-command-r-08-2024", - "name": "Command R", - "display_name": "Command R", + "id": "minimax.minimax-m2", + "name": "MiniMax M2", + "display_name": "MiniMax M2", "modalities": { "input": [ "text" @@ -128553,225 +135538,258 @@ ] }, "limit": { - "context": 128000, - "output": 4000 + "context": 204608, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "knowledge": "2024-06-01", - "release_date": "2024-08-30", - "last_updated": "2024-08-30", + "release_date": "2025-10-27", + "last_updated": "2025-10-27", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "gpt-5.2-chat", - "name": "GPT-5.2 Chat", - "display_name": "GPT-5.2 Chat", + "id": "anthropic.claude-opus-4-7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 1000000, + "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] + } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "meta-llama-3-70b-instruct", - "name": "Meta-Llama-3-70B-Instruct", - "display_name": "Meta-Llama-3-70B-Instruct", + "id": "eu.anthropic.claude-sonnet-4-6", + "name": "Claude Sonnet 4.6 (EU)", + "display_name": "Claude Sonnet 4.6 (EU)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 2048 + "context": 1000000, + "output": 64000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-04-18", - "last_updated": "2024-04-18", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "cost": { - "input": 2.68, - "output": 3.54 + "input": 3.3, + "output": 16.5, + "cache_read": 0.33, + "cache_write": 4.125 }, "type": "chat" }, { - "id": "grok-4-20-reasoning", - "name": "Grok 4.20 (Reasoning)", - "display_name": "Grok 4.20 (Reasoning)", + "id": "mistral.voxtral-small-24b-2507", + "name": "Voxtral Small 24B 2507", + "display_name": "Voxtral Small 24B 2507", "modalities": { "input": [ - "text" + "text", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 262000, + "context": 32000, "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-09", - "release_date": "2026-04-08", - "last_updated": "2026-04-08", + "attachment": true, + "open_weights": true, + "release_date": "2025-07-01", + "last_updated": "2025-07-01", "cost": { - "input": 2, - "output": 6 + "input": 0.15, + "output": 0.35 }, "type": "chat" }, { - "id": "gpt-3.5-turbo-instruct", - "name": "GPT-3.5 Turbo Instruct", - "display_name": "GPT-3.5 Turbo Instruct", + "id": "mistral.ministral-3-3b-instruct", + "name": "Ministral 3 3B", + "display_name": "Ministral 3 3B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 4096, - "output": 4096 + "context": 256000, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2021-08", - "release_date": "2023-09-21", - "last_updated": "2023-09-21", + "open_weights": true, + "release_date": "2025-12-02", + "last_updated": "2025-12-02", "cost": { - "input": 1.5, - "output": 2 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "gpt-5.2-codex", - "name": "GPT-5.2 Codex", - "display_name": "GPT-5.2 Codex", + "id": "openai.gpt-oss-20b", + "name": "gpt-oss-20b", + "display_name": "gpt-oss-20b", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-01-14", - "last_updated": "2026-01-14", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.07, + "output": 0.3 }, "type": "chat" }, { - "id": "deepseek-v4-flash", - "name": "DeepSeek-V4-Flash", - "display_name": "DeepSeek-V4-Flash", + "id": "anthropic.claude-opus-4-6-v1", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" @@ -128779,40 +135797,59 @@ }, "limit": { "context": 1000000, - "output": 384000 + "output": 128000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "attachment": true, + "open_weights": false, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", "cost": { - "input": 1.74, - "output": 3.48 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "o1-mini", - "name": "o1-mini", - "display_name": "o1-mini", + "id": "openai.gpt-oss-safeguard-20b", + "name": "GPT OSS Safeguard 20B", + "display_name": "GPT OSS Safeguard 20B", "modalities": { "input": [ "text" @@ -128823,61 +135860,42 @@ }, "limit": { "context": 128000, - "output": 65536 + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-09-12", - "last_updated": "2024-09-12", + "release_date": "2025-10-29", + "last_updated": "2025-10-29", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.55 + "input": 0.07, + "output": 0.2 }, "type": "chat" }, { - "id": "gpt-5.1-codex", - "name": "GPT-5.1 Codex", - "display_name": "GPT-5.1 Codex", + "id": "anthropic.claude-opus-4-5-20251101-v1:0", + "name": "Claude Opus 4.5", + "display_name": "Claude Opus 4.5", "modalities": { "input": [ "text", "image", - "audio" + "pdf" ], "output": [ - "text", - "image", - "audio" + "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 64000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -128887,87 +135905,58 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "effort", - "effort": "none", + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", "effort_options": [ - "none", "low", "medium", "high" ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 - }, - "type": "chat" - }, - { - "id": "phi-4-mini-reasoning", - "name": "Phi-4-mini-reasoning", - "display_name": "Phi-4-mini-reasoning", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 4096 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-08-01", "cost": { - "input": 0.075, - "output": 0.3 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "gpt-5.1-chat", - "name": "GPT-5.1 Chat", - "display_name": "GPT-5.1 Chat", + "id": "global.anthropic.claude-fable-5", + "name": "Claude Fable 5 (Global)", + "display_name": "Claude Fable 5 (Global)", "modalities": { "input": [ "text", - "image", - "audio" + "image" ], "output": [ - "text", - "image", - "audio" + "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 1000000, + "output": 128000 }, "temperature": false, "tool_call": true, @@ -128975,22 +135964,49 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Adaptive thinking is always on for Claude Fable 5 and Claude Mythos 5; thinking.type = \"disabled\" is rejected.", + "Manual budget_tokens requests return 400 on Claude Fable 5 and Claude Mythos 5.", + "thinking.display defaults to omitted; set display to summarized to receive readable thinking summaries." + ] + } + }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-14", - "last_updated": "2025-11-14", + "knowledge": "2026-01-31", + "release_date": "2026-06-09", + "last_updated": "2026-06-09", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 10, + "output": 50, + "cache_read": 1, + "cache_write": 12.5 }, "type": "chat" }, { - "id": "gpt-3.5-turbo-0613", - "name": "GPT-3.5 Turbo 0613", - "display_name": "GPT-3.5 Turbo 0613", + "id": "openai.gpt-oss-120b-1:0", + "name": "gpt-oss-120b", + "display_name": "gpt-oss-120b", "modalities": { "input": [ "text" @@ -129000,27 +136016,27 @@ ] }, "limit": { - "context": 16384, + "context": 128000, "output": 16384 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "knowledge": "2021-08", - "release_date": "2023-06-13", - "last_updated": "2023-06-13", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 3, - "output": 4 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "claude-sonnet-4-5", + "id": "anthropic.claude-sonnet-4-5-20250929-v1:0", "name": "Claude Sonnet 4.5", "display_name": "Claude Sonnet 4.5", "modalities": { @@ -129067,8 +136083,8 @@ "attachment": true, "open_weights": false, "knowledge": "2025-07-31", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { "input": 3, "output": 15, @@ -129078,100 +136094,76 @@ "type": "chat" }, { - "id": "gpt-5.4-mini", - "name": "GPT-5.4 Mini", - "display_name": "GPT-5.4 Mini", + "id": "amazon.nova-pro-v1:0", + "name": "Nova Pro", + "display_name": "Nova Pro", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 300000, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "knowledge": "2024-10", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", "cost": { - "input": 0.75, - "output": 4.5, - "cache_read": 0.075 + "input": 0.8, + "output": 3.2, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "gpt-4-turbo", - "name": "GPT-4 Turbo", - "display_name": "GPT-4 Turbo", + "id": "qwen.qwen3-coder-next", + "name": "Qwen3 Coder Next", + "display_name": "Qwen3 Coder Next", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131072, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-12", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-06", + "last_updated": "2026-02-06", "cost": { - "input": 10, - "output": 30 + "input": 0.22, + "output": 1.8 }, "type": "chat" }, { - "id": "claude-opus-4-6", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", + "id": "us.anthropic.claude-opus-4-7", + "name": "Claude Opus 4.7 (US)", + "display_name": "Claude Opus 4.7 (US)", "modalities": { "input": [ "text", @@ -129183,10 +136175,10 @@ ] }, "limit": { - "context": 200000, + "context": 1000000, "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -129196,65 +136188,45 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, + "mode": "effort", "effort": "high", "effort_options": [ "low", "medium", "high", + "xhigh", "max" ], "interleaved": true, "summaries": true, - "visibility": "summary", + "visibility": "omitted", "continuation": [ "thinking_blocks" ], "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "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 - } - } - ], - "context_over_200k": { - "input": 10, - "output": 37.5, - "cache_read": 1, - "cache_write": 12.5 - } + "cache_write": 6.25 }, "type": "chat" }, { - "id": "llama-3.3-70b-instruct", - "name": "Llama-3.3-70B-Instruct", - "display_name": "Llama-3.3-70B-Instruct", + "id": "nvidia.nemotron-nano-9b-v2", + "name": "NVIDIA Nemotron Nano 9B v2", + "display_name": "NVIDIA Nemotron Nano 9B v2", "modalities": { "input": [ "text" @@ -129265,7 +136237,7 @@ }, "limit": { "context": 128000, - "output": 32768 + "output": 4096 }, "temperature": true, "tool_call": true, @@ -129273,178 +136245,182 @@ "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "open_weights": false, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", "cost": { - "input": 0.71, - "output": 0.71 + "input": 0.06, + "output": 0.23 }, "type": "chat" }, { - "id": "llama-3.2-90b-vision-instruct", - "name": "Llama-3.2-90B-Vision-Instruct", - "display_name": "Llama-3.2-90B-Vision-Instruct", + "id": "qwen.qwen3-32b-v1:0", + "name": "Qwen3 32B (dense)", + "display_name": "Qwen3 32B (dense)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 16384, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", + "knowledge": "2024-04", + "release_date": "2025-09-18", + "last_updated": "2025-09-18", "cost": { - "input": 2.04, - "output": 2.04 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "gpt-3.5-turbo-0301", - "name": "GPT-3.5 Turbo 0301", - "display_name": "GPT-3.5 Turbo 0301", + "id": "jp.anthropic.claude-sonnet-4-6", + "name": "Claude Sonnet 4.6 (JP)", + "display_name": "Claude Sonnet 4.6 (JP)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 4096, - "output": 4096 + "context": 1000000, + "output": 64000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2021-08", - "release_date": "2023-03-01", - "last_updated": "2023-03-01", + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "cost": { - "input": 1.5, - "output": 2 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "o1", - "name": "o1", - "display_name": "o1", + "id": "deepseek.r1-v1:0", + "name": "DeepSeek-R1", + "display_name": "DeepSeek-R1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 128000, + "output": 32768 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, "attachment": false, "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-12-05", - "last_updated": "2024-12-05", + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-05-29", "cost": { - "input": 15, - "output": 60, - "cache_read": 7.5 + "input": 1.35, + "output": 5.4 }, "type": "chat" }, { - "id": "deepseek-v4-pro", - "name": "DeepSeek-V4-Pro", - "display_name": "DeepSeek-V4-Pro", + "id": "mistral.mistral-large-3-675b-instruct", + "name": "Mistral Large 3", + "display_name": "Mistral Large 3", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 256000, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", "cost": { - "input": 0.19, - "output": 0.51 + "input": 0.5, + "output": 1.5 }, "type": "chat" }, { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "google.gemma-3-27b-it", + "name": "Google Gemma 3 27B Instruct", + "display_name": "Google Gemma 3 27B Instruct", "modalities": { "input": [ "text", @@ -129455,86 +136431,107 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 202752, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-02-06", - "last_updated": "2026-02-06", + "knowledge": "2025-07", + "release_date": "2025-07-27", + "last_updated": "2025-07-27", "cost": { - "input": 0.6, - "output": 3 + "input": 0.12, + "output": 0.2 }, "type": "chat" }, { - "id": "codex-mini", - "name": "Codex Mini", - "display_name": "Codex Mini", + "id": "anthropic.claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 1000000, + "output": 64000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } }, "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-05-16", - "last_updated": "2025-05-16", + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "cost": { - "input": 1.5, - "output": 6, - "cache_read": 0.375 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "deepseek-v3.1", - "name": "DeepSeek-V3.1", - "display_name": "DeepSeek-V3.1", + "id": "amazon.nova-2-lite-v1:0", + "name": "Nova 2 Lite", + "display_name": "Nova 2 Lite", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -129543,20 +136540,19 @@ "default": true }, "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-08-21", - "last_updated": "2025-08-21", + "open_weights": false, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", "cost": { - "input": 0.56, - "output": 1.68 + "input": 0.33, + "output": 2.75 }, "type": "chat" }, { - "id": "cohere-command-a", - "name": "Command A", - "display_name": "Command A", + "id": "openai.gpt-oss-safeguard-120b", + "name": "GPT OSS Safeguard 120B", + "display_name": "GPT OSS Safeguard 120B", "modalities": { "input": [ "text" @@ -129566,30 +136562,28 @@ ] }, "limit": { - "context": 256000, - "output": 8000 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2024-06-01", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", + "open_weights": false, + "release_date": "2025-10-29", + "last_updated": "2025-10-29", "cost": { - "input": 2.5, - "output": 10 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "gpt-4", - "name": "GPT-4", - "display_name": "GPT-4", + "id": "mistral.ministral-3-8b-instruct", + "name": "Ministral 3 8B", + "display_name": "Ministral 3 8B", "modalities": { "input": [ "text" @@ -129599,8 +136593,8 @@ ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -129609,93 +136603,148 @@ }, "attachment": false, "open_weights": false, - "knowledge": "2023-11", - "release_date": "2023-03-14", - "last_updated": "2023-03-14", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", "cost": { - "input": 60, - "output": 120 + "input": 0.15, + "output": 0.15 }, "type": "chat" }, { - "id": "gpt-5.3-chat", - "name": "GPT-5.3 Chat", - "display_name": "GPT-5.3 Chat", + "id": "eu.anthropic.claude-opus-4-6-v1", + "name": "Claude Opus 4.6 (EU)", + "display_name": "Claude Opus 4.6 (EU)", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 1000000, + "output": 128000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-03", - "last_updated": "2026-03-03", + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 5.5, + "output": 27.5, + "cache_read": 0.55, + "cache_write": 6.875 }, "type": "chat" }, { - "id": "grok-4-1-fast-reasoning", - "name": "Grok 4.1 Fast (Reasoning)", - "display_name": "Grok 4.1 Fast (Reasoning)", + "id": "au.anthropic.claude-opus-4-6-v1", + "name": "AU Anthropic Claude Opus 4.6", + "display_name": "AU Anthropic Claude Opus 4.6", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] } }, "attachment": true, "open_weights": false, - "release_date": "2025-06-27", - "last_updated": "2025-06-27", + "knowledge": "2025-05", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 0.2, - "output": 0.5, - "cache_read": 0.05 + "input": 16.5, + "output": 82.5, + "cache_read": 1.65, + "cache_write": 20.625 }, "type": "chat" }, { - "id": "codestral-2501", - "name": "Codestral 25.01", - "display_name": "Codestral 25.01", + "id": "openai.gpt-oss-120b", + "name": "gpt-oss-120b", + "display_name": "gpt-oss-120b", "modalities": { "input": [ "text" @@ -129705,66 +136754,91 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "knowledge": "2024-03", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.3, - "output": 0.9 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "grok-4-20-non-reasoning", - "name": "Grok 4.20 (Non-Reasoning)", - "display_name": "Grok 4.20 (Non-Reasoning)", + "id": "global.anthropic.claude-opus-4-8", + "name": "Claude Opus 4.8 (Global)", + "display_name": "Claude Opus 4.8 (Global)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 8192 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-09", - "release_date": "2026-04-08", - "last_updated": "2026-04-08", + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "cost": { - "input": 2, - "output": 6 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "gpt-4.1-nano", - "name": "GPT-4.1 nano", - "display_name": "GPT-4.1 nano", + "id": "us.meta.llama4-maverick-17b-instruct-v1:0", + "name": "Llama 4 Maverick 17B Instruct (US)", + "display_name": "Llama 4 Maverick 17B Instruct (US)", "modalities": { "input": [ "text", @@ -129775,8 +136849,8 @@ ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 1000000, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -129784,93 +136858,87 @@ "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.025 + "input": 0.24, + "output": 0.97 }, "type": "chat" }, { - "id": "cohere-embed-v3-multilingual", - "name": "Embed v3 Multilingual", - "display_name": "Embed v3 Multilingual", + "id": "openai.gpt-5.4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 512, - "output": 1024 + "context": 272000, + "output": 128000 }, "temperature": false, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2023-11-07", - "last_updated": "2023-11-07", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-06-01", "cost": { - "input": 0.1, - "output": 0 + "input": 2.75, + "output": 16.5, + "cache_read": 0.275 }, "type": "chat" }, { - "id": "cohere-embed-v-4-0", - "name": "Embed v4", - "display_name": "Embed v4", + "id": "mistral.devstral-2-123b", + "name": "Devstral 2 123B", + "display_name": "Devstral 2 123B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 1536 + "context": 256000, + "output": 8192 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", "cost": { - "input": 0.12, - "output": 0 + "input": 0.4, + "output": 2 }, "type": "chat" - } - ] - }, - "atomic-chat": { - "id": "atomic-chat", - "name": "Atomic Chat", - "display_name": "Atomic Chat", - "api": "http://127.0.0.1:1337/v1", - "doc": "https://atomic.chat", - "models": [ + }, { - "id": "Meta-Llama-3_1-8B-Instruct-GGUF", - "name": "Meta Llama 3.1 8B Instruct (GGUF)", - "display_name": "Meta Llama 3.1 8B Instruct (GGUF)", + "id": "zai.glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", "modalities": { "input": [ "text" @@ -129880,28 +136948,41 @@ ] }, "limit": { - "context": 131072, - "output": 4096 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 0, - "output": 0 + "input": 0.6, + "output": 2.2 }, "type": "chat" }, { - "id": "gemma-4-E4B-it-IQ4_XS", - "name": "Gemma 4 E4B Instruct (IQ4_XS)", - "display_name": "Gemma 4 E4B Instruct (IQ4_XS)", + "id": "writer.palmyra-x4-v1:0", + "name": "Palmyra X4", + "display_name": "Palmyra X4", "modalities": { "input": [ "text" @@ -129911,28 +136992,29 @@ ] }, "limit": { - "context": 32768, + "context": 122880, "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": true, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "open_weights": false, + "release_date": "2025-04-28", + "last_updated": "2025-04-28", "cost": { - "input": 0, - "output": 0 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "Qwen3_5-9B-MLX-4bit", - "name": "Qwen 3.5 9B (MLX 4-bit)", - "display_name": "Qwen 3.5 9B (MLX 4-bit)", + "id": "mistral.magistral-small-2509", + "name": "Magistral Small 1.2", + "display_name": "Magistral Small 1.2", "modalities": { "input": [ "text", @@ -129943,28 +137025,29 @@ ] }, "limit": { - "context": 32768, - "output": 8192 + "context": 128000, + "output": 40000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-03-05", - "last_updated": "2026-04-04", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", "cost": { - "input": 0, - "output": 0 + "input": 0.5, + "output": 1.5 }, "type": "chat" }, { - "id": "gemma-4-E4B-it-MLX-4bit", - "name": "Gemma 4 E4B Instruct (MLX 4-bit)", - "display_name": "Gemma 4 E4B Instruct (MLX 4-bit)", + "id": "qwen.qwen3-coder-480b-a35b-v1:0", + "name": "Qwen3 Coder 480B A35B Instruct", + "display_name": "Qwen3 Coder 480B A35B Instruct", "modalities": { "input": [ "text" @@ -129974,39 +137057,39 @@ ] }, "limit": { - "context": 32768, - "output": 8192 + "context": 131072, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "knowledge": "2024-04", + "release_date": "2025-09-18", + "last_updated": "2025-09-18", "cost": { - "input": 0, - "output": 0 + "input": 0.22, + "output": 1.8 }, "type": "chat" }, { - "id": "Qwen3_5-9B-Q4_K_M", - "name": "Qwen 3.5 9B (Q4_K_M)", - "display_name": "Qwen 3.5 9B (Q4_K_M)", + "id": "amazon.nova-micro-v1:0", + "name": "Nova Micro", + "display_name": "Nova Micro", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 32768, + "context": 128000, "output": 8192 }, "temperature": true, @@ -130014,76 +137097,59 @@ "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2026-03-05", - "last_updated": "2026-04-04", + "attachment": false, + "open_weights": false, + "knowledge": "2024-10", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", "cost": { - "input": 0, - "output": 0 + "input": 0.035, + "output": 0.14, + "cache_read": 0.00875 }, "type": "chat" - } - ] - }, - "merge-gateway": { - "id": "merge-gateway", - "name": "Merge Gateway", - "display_name": "Merge Gateway", - "doc": "https://docs.merge.dev/merge-gateway", - "models": [ + }, { - "id": "deepseek/deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "mistral.pixtral-large-2502-v1:0", + "name": "Pixtral Large (25.02)", + "display_name": "Pixtral Large (25.02)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "open_weights": false, + "release_date": "2025-04-08", + "last_updated": "2025-04-08", "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.0028 + "input": 2, + "output": 6 }, "type": "chat" }, { - "id": "deepseek/deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "us.anthropic.claude-opus-4-6-v1", + "name": "Claude Opus 4.6 (US)", + "display_name": "Claude Opus 4.6 (US)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" @@ -130091,41 +137157,59 @@ }, "limit": { "context": 1000000, - "output": 384000 + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "attachment": true, + "open_weights": false, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", "cost": { - "input": 0.435, - "output": 0.87, - "cache_read": 0.003625 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "jp.anthropic.claude-opus-4-7", + "name": "Claude Opus 4.7 (JP)", + "display_name": "Claude Opus 4.7 (JP)", "modalities": { "input": [ "text", @@ -130138,9 +137222,9 @@ }, "limit": { "context": 1000000, - "output": 64000 + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -130150,47 +137234,45 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, + "mode": "effort", "effort": "high", "effort_options": [ "low", "medium", "high", + "xhigh", "max" ], "interleaved": true, "summaries": true, - "visibility": "summary", + "visibility": "omitted", "continuation": [ "thinking_blocks" ], "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "anthropic/claude-haiku-4-5-20251001", - "name": "Claude Haiku 4.5", - "display_name": "Claude Haiku 4.5", + "id": "au.anthropic.claude-sonnet-4-5-20250929-v1:0", + "name": "Claude Sonnet 4.5 (AU)", + "display_name": "Claude Sonnet 4.5 (AU)", "modalities": { "input": [ "text", @@ -130234,21 +137316,54 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4-20250514", - "name": "Claude Opus 4", - "display_name": "Claude Opus 4", + "id": "deepseek.v3-v1:0", + "name": "DeepSeek-V3.1", + "display_name": "DeepSeek-V3.1", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 163840, + "output": 81920 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2025-09-18", + "last_updated": "2025-09-18", + "cost": { + "input": 0.58, + "output": 1.68 + }, + "type": "chat" + }, + { + "id": "anthropic.claude-opus-4-1-20250805-v1:0", + "name": "Claude Opus 4.1", + "display_name": "Claude Opus 4.1", "modalities": { "input": [ "text", @@ -130293,8 +137408,8 @@ "attachment": true, "open_weights": false, "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { "input": 15, "output": 75, @@ -130304,9 +137419,9 @@ "type": "chat" }, { - "id": "anthropic/claude-sonnet-4-5-20250929", - "name": "Claude Sonnet 4.5", - "display_name": "Claude Sonnet 4.5", + "id": "jp.anthropic.claude-sonnet-4-5-20250929-v1:0", + "name": "Claude Sonnet 4.5 (JP)", + "display_name": "Claude Sonnet 4.5 (JP)", "modalities": { "input": [ "text", @@ -130362,9 +137477,41 @@ "type": "chat" }, { - "id": "anthropic/claude-opus-4-1-20250805", - "name": "Claude Opus 4.1", - "display_name": "Claude Opus 4.1", + "id": "google.gemma-3-4b-it", + "name": "Gemma 3 4B IT", + "display_name": "Gemma 3 4B IT", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 4096 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "cost": { + "input": 0.04, + "output": 0.08 + }, + "type": "chat" + }, + { + "id": "eu.anthropic.claude-sonnet-4-5-20250929-v1:0", + "name": "Claude Sonnet 4.5 (EU)", + "display_name": "Claude Sonnet 4.5 (EU)", "modalities": { "input": [ "text", @@ -130377,7 +137524,7 @@ }, "limit": { "context": 200000, - "output": 32000 + "output": 64000 }, "temperature": true, "tool_call": true, @@ -130408,143 +137555,85 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 3.3, + "output": 16.5, + "cache_read": 0.33, + "cache_write": 4.125 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4-5-20251101", - "name": "Claude Opus 4.5", - "display_name": "Claude Opus 4.5", + "id": "qwen.qwen3-vl-235b-a22b", + "name": "Qwen/Qwen3-VL-235B-A22B-Instruct", + "display_name": "Qwen/Qwen3-VL-235B-A22B-Instruct", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 262000, + "output": 262000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-01", - "last_updated": "2025-11-01", + "release_date": "2025-10-04", + "last_updated": "2025-11-25", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.3, + "output": 1.5 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4-20250514", - "name": "Claude Sonnet 4", - "display_name": "Claude Sonnet 4", + "id": "writer.palmyra-x5-v1:0", + "name": "Palmyra X5", + "display_name": "Palmyra X5", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 1040000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "release_date": "2025-04-28", + "last_updated": "2025-04-28", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.6, + "output": 6 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4-6", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", + "id": "us.anthropic.claude-sonnet-4-6", + "name": "Claude Sonnet 4.6 (US)", + "display_name": "Claude Sonnet 4.6 (US)", "modalities": { "input": [ "text", @@ -130557,7 +137646,7 @@ }, "limit": { "context": 1000000, - "output": 128000 + "output": 64000 }, "temperature": true, "tool_call": true, @@ -130595,21 +137684,21 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", + "knowledge": "2025-08-31", + "release_date": "2026-02-17", "last_updated": "2026-03-13", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4-7", - "name": "Claude Opus 4.7", - "display_name": "Claude Opus 4.7", + "id": "au.anthropic.claude-haiku-4-5-20251001-v1:0", + "name": "Claude Haiku 4.5 (AU)", + "display_name": "Claude Haiku 4.5 (AU)", "modalities": { "input": [ "text", @@ -130621,10 +137710,10 @@ ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 200000, + "output": 64000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -130634,241 +137723,40 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" ], "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", - "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 - }, - "type": "chat" - }, - { - "id": "mistral/mistral-large-2411", - "name": "Mistral Large 2.1", - "display_name": "Mistral Large 2.1", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 16384 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2024-11-04", - "cost": { - "input": 2, - "output": 6 - }, - "type": "chat" - }, - { - "id": "mistral/mistral-medium-latest", - "name": "Mistral Medium (latest)", - "display_name": "Mistral Medium (latest)", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 262144 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-05", - "release_date": "2025-08-12", - "last_updated": "2025-08-12", - "cost": { - "input": 0.4, - "output": 2 - }, - "type": "chat" - }, - { - "id": "mistral/devstral-medium-latest", - "name": "Devstral 2 (latest)", - "display_name": "Devstral 2 (latest)", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 262144 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-12", - "release_date": "2025-12-02", - "last_updated": "2025-12-02", - "cost": { - "input": 0.4, - "output": 2 - }, - "type": "chat" - }, - { - "id": "mistral/mistral-large-2512", - "name": "Mistral Large 3", - "display_name": "Mistral Large 3", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 262144 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2025-12-02", - "cost": { - "input": 0.5, - "output": 1.5 - }, - "type": "chat" - }, - { - "id": "mistral/mistral-large-latest", - "name": "Mistral Large (latest)", - "display_name": "Mistral Large (latest)", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 262144 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2025-12-02", - "cost": { - "input": 0.5, - "output": 1.5 - }, - "type": "chat" - }, - { - "id": "mistral/mistral-medium-2505", - "name": "Mistral Medium 3", - "display_name": "Mistral Medium 3", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 131072 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-05", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 0.4, - "output": 2 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "mistral/devstral-small-2507", - "name": "Devstral Small", - "display_name": "Devstral Small", + "id": "meta.llama3-3-70b-instruct-v1:0", + "name": "Llama 3.3 70B Instruct", + "display_name": "Llama 3.3 70B Instruct", "modalities": { "input": [ "text" @@ -130879,70 +137767,6 @@ }, "limit": { "context": 128000, - "output": 128000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2025-07-10", - "last_updated": "2025-07-10", - "cost": { - "input": 0.1, - "output": 0.3 - }, - "type": "chat" - }, - { - "id": "mistral/devstral-2512", - "name": "Devstral 2", - "display_name": "Devstral 2", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 262144 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-12", - "release_date": "2025-12-09", - "last_updated": "2025-12-09", - "cost": { - "input": 0.4, - "output": 2 - }, - "type": "chat" - }, - { - "id": "mistral/codestral-latest", - "name": "Codestral (latest)", - "display_name": "Codestral (latest)", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 256000, "output": 4096 }, "temperature": true, @@ -130952,52 +137776,19 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-10", - "release_date": "2024-05-29", - "last_updated": "2025-01-04", - "cost": { - "input": 0.3, - "output": 0.9 - }, - "type": "chat" - }, - { - "id": "mistral/pixtral-large-latest", - "name": "Pixtral Large (latest)", - "display_name": "Pixtral Large (latest)", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 128000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2024-11-04", + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 2, - "output": 6 + "input": 0.72, + "output": 0.72 }, "type": "chat" }, { - "id": "mistral/magistral-medium-latest", - "name": "Magistral Medium (latest)", - "display_name": "Magistral Medium (latest)", + "id": "zai.glm-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ "text" @@ -131007,8 +137798,8 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 202752, + "output": 101376 }, "temperature": true, "tool_call": true, @@ -131016,87 +137807,93 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-06", - "release_date": "2025-03-17", - "last_updated": "2025-03-20", - "cost": { - "input": 2, - "output": 5 - }, - "type": "chat" - }, - { - "id": "mistral/mistral-small-latest", - "name": "Mistral Small (latest)", - "display_name": "Mistral Small (latest)", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 256000, - "output": 256000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-06", - "release_date": "2026-03-16", - "last_updated": "2026-03-16", + "attachment": false, + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.15, - "output": 0.6 + "input": 1, + "output": 3.2 }, "type": "chat" }, { - "id": "mistral/devstral-medium-2507", - "name": "Devstral Medium", - "display_name": "Devstral Medium", + "id": "us.anthropic.claude-opus-4-8", + "name": "Claude Opus 4.8 (US)", + "display_name": "Claude Opus 4.8 (US)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, + "context": 1000000, "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2025-05", - "release_date": "2025-07-10", - "last_updated": "2025-07-10", + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "cost": { - "input": 0.4, - "output": 2 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "xai/grok-4.20-0309-reasoning", - "name": "Grok 4.20 (Reasoning)", - "display_name": "Grok 4.20 (Reasoning)", + "id": "global.anthropic.claude-opus-4-7", + "name": "Claude Opus 4.7 (Global)", + "display_name": "Claude Opus 4.7 (Global)", "modalities": { "input": [ "text", @@ -131109,50 +137906,61 @@ }, "limit": { "context": 1000000, - "output": 30000 + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2026-03-09", - "last_updated": "2026-03-09", + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 5, - "cache_read": 0.4 - } + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "xai/grok-4.3", - "name": "Grok 4.3", - "display_name": "Grok 4.3", + "id": "us.anthropic.claude-fable-5", + "name": "Claude Fable 5 (US)", + "display_name": "Claude Fable 5 (US)", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -131160,9 +137968,9 @@ }, "limit": { "context": 1000000, - "output": 30000 + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -131170,106 +137978,143 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Adaptive thinking is always on for Claude Fable 5 and Claude Mythos 5; thinking.type = \"disabled\" is rejected.", + "Manual budget_tokens requests return 400 on Claude Fable 5 and Claude Mythos 5.", + "thinking.display defaults to omitted; set display to summarized to receive readable thinking summaries." + ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-04-17", - "last_updated": "2026-04-17", + "knowledge": "2026-01-31", + "release_date": "2026-06-09", + "last_updated": "2026-06-09", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 5, - "cache_read": 0.4 - } + "input": 10, + "output": 50, + "cache_read": 1, + "cache_write": 12.5 }, "type": "chat" }, { - "id": "cohere/command-r-plus-08-2024", - "name": "Command R+", - "display_name": "Command R+", + "id": "amazon.nova-lite-v1:0", + "name": "Nova Lite", + "display_name": "Nova Lite", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4000 + "context": 300000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-06-01", - "release_date": "2024-08-30", - "last_updated": "2024-08-30", + "attachment": true, + "open_weights": false, + "knowledge": "2024-10", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", "cost": { - "input": 2.5, - "output": 10 + "input": 0.06, + "output": 0.24, + "cache_read": 0.015 }, "type": "chat" }, { - "id": "cohere/command-r-08-2024", - "name": "Command R", - "display_name": "Command R", + "id": "us.anthropic.claude-haiku-4-5-20251001-v1:0", + "name": "Claude Haiku 4.5 (US)", + "display_name": "Claude Haiku 4.5 (US)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4000 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-06-01", - "release_date": "2024-08-30", - "last_updated": "2024-08-30", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 0.15, - "output": 0.6 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "cohere/command-r7b-12-2024", - "name": "Command R7B", - "display_name": "Command R7B", + "id": "mistral.voxtral-mini-3b-2507", + "name": "Voxtral Mini 3B 2507", + "display_name": "Voxtral Mini 3B 2507", "modalities": { "input": [ + "audio", "text" ], "output": [ @@ -131278,7 +138123,7 @@ }, "limit": { "context": 128000, - "output": 4000 + "output": 4096 }, "temperature": true, "tool_call": true, @@ -131286,20 +138131,19 @@ "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2024-06-01", - "release_date": "2024-02-27", - "last_updated": "2024-02-27", + "open_weights": false, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", "cost": { - "input": 0.0375, - "output": 0.15 + "input": 0.04, + "output": 0.04 }, "type": "chat" }, { - "id": "cohere/command-a-03-2025", - "name": "Command A", - "display_name": "Command A", + "id": "moonshot.kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "display_name": "Kimi K2 Thinking", "modalities": { "input": [ "text" @@ -131309,29 +138153,35 @@ ] }, "limit": { - "context": 256000, - "output": 8000 + "context": 262143, + "output": 16000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true + } }, "attachment": false, "open_weights": true, - "knowledge": "2024-06-01", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", "cost": { - "input": 2.5, - "output": 10 + "input": 0.6, + "output": 2.5 }, "type": "chat" }, { - "id": "zai/glm-4.7-flashx", - "name": "GLM-4.7-FlashX", - "display_name": "GLM-4.7-FlashX", + "id": "meta.llama3-1-70b-instruct-v1:0", + "name": "Llama 3.1 70B Instruct", + "display_name": "Llama 3.1 70B Instruct", "modalities": { "input": [ "text" @@ -131341,32 +138191,29 @@ ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 0.07, - "output": 0.4, - "cache_read": 0.01, - "cache_write": 0 + "input": 0.72, + "output": 0.72 }, "type": "chat" }, { - "id": "zai/glm-4.6", - "name": "GLM-4.6", - "display_name": "GLM-4.6", + "id": "us.deepseek.r1-v1:0", + "name": "DeepSeek-R1 (US)", + "display_name": "DeepSeek-R1 (US)", "modalities": { "input": [ "text" @@ -131376,8 +138223,8 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 128000, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -131385,130 +138232,156 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-05-29", "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11, - "cache_write": 0 + "input": 1.35, + "output": 5.4 }, "type": "chat" }, { - "id": "zai/glm-4.7", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "global.anthropic.claude-sonnet-4-6", + "name": "Claude Sonnet 4.6 (Global)", + "display_name": "Claude Sonnet 4.6 (Global)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11, - "cache_write": 0 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "zai/glm-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "anthropic.claude-haiku-4-5-20251001-v1:0", + "name": "Claude Haiku 4.5", + "display_name": "Claude Haiku 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "attachment": true, + "open_weights": false, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { "input": 1, - "output": 3.2, - "cache_read": 0.2, - "cache_write": 0 + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "zai/glm-5-turbo", - "name": "GLM-5-Turbo", - "display_name": "GLM-5-Turbo", + "id": "moonshotai.kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 262143, + "output": 16000 }, "temperature": true, "tool_call": true, @@ -131519,100 +138392,117 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "interleaved": true } }, "attachment": false, - "open_weights": false, - "release_date": "2026-03-16", - "last_updated": "2026-03-16", + "open_weights": true, + "release_date": "2026-02-06", + "last_updated": "2026-02-06", "cost": { - "input": 1.2, - "output": 4, - "cache_read": 0.24, - "cache_write": 0 + "input": 0.6, + "output": 3 }, "type": "chat" }, { - "id": "zai/glm-4.5", - "name": "GLM-4.5", - "display_name": "GLM-4.5", + "id": "au.anthropic.claude-opus-4-8", + "name": "Claude Opus 4.8 (AU)", + "display_name": "Claude Opus 4.8 (AU)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 98304 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11, - "cache_write": 0 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "zai/glm-4.5-air", - "name": "GLM-4.5-Air", - "display_name": "GLM-4.5-Air", + "id": "nvidia.nemotron-nano-12b-v2", + "name": "NVIDIA Nemotron Nano 12B v2 VL BF16", + "display_name": "NVIDIA Nemotron Nano 12B v2 VL BF16", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 98304 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "open_weights": false, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", "cost": { "input": 0.2, - "output": 1.1, - "cache_read": 0.03, - "cache_write": 0 + "output": 0.6 }, "type": "chat" }, { - "id": "zai/glm-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "zai.glm-4.7-flash", + "name": "GLM-4.7-Flash", + "display_name": "GLM-4.7-Flash", "modalities": { "input": [ "text" @@ -131631,81 +138521,57 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", "cost": { - "input": 1.4, - "output": 4.4, - "cache_read": 0.26, - "cache_write": 0 + "input": 0.07, + "output": 0.4 }, "type": "chat" }, { - "id": "google/gemini-3.1-flash-lite-preview", - "name": "Gemini 3.1 Flash Lite Preview", - "display_name": "Gemini 3.1 Flash Lite Preview", + "id": "meta.llama4-scout-17b-instruct-v1:0", + "name": "Llama 4 Scout 17B Instruct", + "display_name": "Llama 4 Scout 17B Instruct", "modalities": { "input": [ "text", - "image", - "video", - "audio", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 3500000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-03-03", - "last_updated": "2026-03-03", + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.025, - "input_audio": 0.5 + "input": 0.17, + "output": 0.66 }, "type": "chat" }, { - "id": "google/gemma-4-31b-it", - "name": "Gemma 4 31B IT", - "display_name": "Gemma 4 31B IT", + "id": "qwen.qwen3-235b-a22b-2507-v1:0", + "name": "Qwen3 235B A22B 2507", + "display_name": "Qwen3 235B A22B 2507", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -131713,30 +138579,32 @@ }, "limit": { "context": 262144, - "output": 32768 + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "knowledge": "2024-04", + "release_date": "2025-09-18", + "last_updated": "2025-09-18", + "cost": { + "input": 0.22, + "output": 0.88 + }, "type": "chat" }, { - "id": "google/gemini-flash-lite-latest", - "name": "Gemini Flash-Lite Latest", - "display_name": "Gemini Flash-Lite Latest", + "id": "eu.anthropic.claude-haiku-4-5-20251001-v1:0", + "name": "Claude Haiku 4.5 (EU)", + "display_name": "Claude Haiku 4.5 (EU)", "modalities": { "input": [ "text", "image", - "audio", - "video", "pdf" ], "output": [ @@ -131744,46 +138612,64 @@ ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.025 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "google/gemini-3-flash-preview", - "name": "Gemini 3 Flash Preview", - "display_name": "Gemini 3 Flash Preview", + "id": "openai.gpt-oss-20b-1:0", + "name": "gpt-oss-20b", + "display_name": "gpt-oss-20b", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -131791,48 +138677,24 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.05, - "input_audio": 1 + "input": 0.07, + "output": 0.3 }, "type": "chat" }, { - "id": "google/gemini-3.1-pro-preview-customtools", - "name": "Gemini 3.1 Pro Preview Custom Tools", - "display_name": "Gemini 3.1 Pro Preview Custom Tools", + "id": "jp.anthropic.claude-opus-4-8", + "name": "Claude Opus 4.8 (JP)", + "display_name": "Claude Opus 4.8 (JP)", "modalities": { "input": [ "text", "image", - "video", - "audio", "pdf" ], "output": [ @@ -131840,70 +138702,61 @@ ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ "low", - "high" + "medium", + "high", + "xhigh", + "max" ], + "interleaved": true, "summaries": true, - "visibility": "summary", + "visibility": "omitted", "continuation": [ - "thought_signatures" + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "tiers": [ - { - "input": 4, - "output": 18, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 4, - "output": 18, - "cache_read": 0.4 - } + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "google/gemini-flash-latest", - "name": "Gemini Flash Latest", - "display_name": "Gemini Flash Latest", + "id": "anthropic.claude-opus-4-8", + "name": "Claude Opus 4.8", + "display_name": "Claude Opus 4.8", "modalities": { "input": [ "text", "image", - "audio", - "video", "pdf" ], "output": [ @@ -131911,182 +138764,124 @@ ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] + } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.075, - "input_audio": 1 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "google/gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "display_name": "Gemini 2.5 Pro", + "id": "qwen.qwen3-coder-30b-a3b-v1:0", + "name": "Qwen3 Coder 30B A3B Instruct", + "display_name": "Qwen3 Coder 30B A3B Instruct", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 262144, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "knowledge": "2024-04", + "release_date": "2025-09-18", + "last_updated": "2025-09-18", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 15, - "cache_read": 0.25 - } + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "google/gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "display_name": "Gemini 3.1 Pro Preview", + "id": "qwen.qwen3-next-80b-a3b", + "name": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "display_name": "Qwen/Qwen3-Next-80B-A3B-Instruct", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", - "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "tiers": [ - { - "input": 4, - "output": 18, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 4, - "output": 18, - "cache_read": 0.4 - } + "context": 262000, + "output": 262000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-09-18", + "last_updated": "2025-11-25", + "cost": { + "input": 0.14, + "output": 1.4 }, "type": "chat" }, { - "id": "google/gemini-3.1-flash-lite", - "name": "Gemini 3.1 Flash Lite", - "display_name": "Gemini 3.1 Flash Lite", + "id": "openai.gpt-5.5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ "text", "image", - "video", - "audio", "pdf" ], "output": [ @@ -132094,43 +138889,35 @@ ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 272000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-05-07", - "last_updated": "2026-05-07", + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-06-01", "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.025, - "input_audio": 0.5 + "input": 5.5, + "output": 33, + "cache_read": 0.55 }, "type": "chat" }, { - "id": "google/gemini-2.5-flash-lite", - "name": "Gemini 2.5 Flash-Lite", - "display_name": "Gemini 2.5 Flash-Lite", + "id": "au.anthropic.claude-sonnet-4-6", + "name": "AU Anthropic Claude Sonnet 4.6", + "display_name": "AU Anthropic Claude Sonnet 4.6", "modalities": { "input": [ "text", "image", - "audio", - "video", "pdf" ], "output": [ @@ -132138,8 +138925,8 @@ ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -132151,44 +138938,51 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "budget", + "mode": "mixed", "budget": { - "default": -1, - "min": 512, - "max": 24576, - "auto": -1, + "min": 1024, "unit": "tokens" }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", + "knowledge": "2025-08", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.01, - "input_audio": 0.3 + "input": 3.3, + "output": 16.5, + "cache_read": 0.33, + "cache_write": 4.125 }, "type": "chat" }, { - "id": "google/gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "display_name": "Gemini 2.5 Flash", + "id": "us.anthropic.claude-opus-4-5-20251101-v1:0", + "name": "Claude Opus 4.5 (US)", + "display_name": "Claude Opus 4.5 (US)", "modalities": { "input": [ "text", "image", - "audio", - "video", "pdf" ], "output": [ @@ -132196,64 +138990,70 @@ ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", + "default_enabled": false, + "mode": "mixed", "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, + "min": 1024, "unit": "tokens" }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-08-01", "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.03, - "input_audio": 1 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "google/gemma-4-26b-a4b-it", - "name": "Gemma 4 26B A4B IT", - "display_name": "Gemma 4 26B A4B IT", + "id": "minimax.minimax-m2.5", + "name": "MiniMax M2.5", + "display_name": "MiniMax M2.5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 196608, + "output": 98304 }, "temperature": true, "tool_call": true, @@ -132261,22 +139061,24 @@ "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "cost": { + "input": 0.3, + "output": 1.2 + }, "type": "chat" }, { - "id": "google/gemini-3.5-flash", - "name": "Gemini 3.5 Flash", - "display_name": "Gemini 3.5 Flash", + "id": "eu.anthropic.claude-opus-4-8", + "name": "Claude Opus 4.8 (EU)", + "display_name": "Claude Opus 4.8 (EU)", "modalities": { "input": [ "text", "image", - "video", - "audio", "pdf" ], "output": [ @@ -132284,57 +139086,61 @@ ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ "low", "medium", - "high" + "high", + "xhigh", + "max" ], + "interleaved": true, "summaries": true, - "visibility": "summary", + "visibility": "omitted", "continuation": [ - "thought_signatures" + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-05-19", - "last_updated": "2026-05-19", + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "cost": { - "input": 1.5, - "output": 9, - "cache_read": 0.15, - "input_audio": 1.5 + "input": 5.5, + "output": 27.5, + "cache_read": 0.55, + "cache_write": 6.875 }, "type": "chat" }, { - "id": "google/gemini-3-pro-preview", - "name": "Gemini 3 Pro Preview", - "display_name": "Gemini 3 Pro Preview", + "id": "eu.anthropic.claude-opus-4-7", + "name": "Claude Opus 4.7 (EU)", + "display_name": "Claude Opus 4.7 (EU)", "modalities": { "input": [ "text", "image", - "video", - "audio", "pdf" ], "output": [ @@ -132342,68 +139148,61 @@ ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ "low", - "high" + "medium", + "high", + "xhigh", + "max" ], + "interleaved": true, "summaries": true, - "visibility": "summary", + "visibility": "omitted", "continuation": [ - "thought_signatures" + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "tiers": [ - { - "input": 4, - "output": 18, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 4, - "output": 18, - "cache_read": 0.4 - } + "input": 5.5, + "output": 27.5, + "cache_read": 0.55, + "cache_write": 6.875 }, "type": "chat" }, { - "id": "openai/gpt-4o-2024-08-06", - "name": "GPT-4o (2024-08-06)", - "display_name": "GPT-4o (2024-08-06)", + "id": "meta.llama3-1-8b-instruct-v1:0", + "name": "Llama 3.1 8B Instruct", + "display_name": "Llama 3.1 8B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -132411,97 +139210,97 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-08-06", - "last_updated": "2024-08-06", + "attachment": false, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 + "input": 0.22, + "output": 0.22 }, "type": "chat" }, { - "id": "openai/gpt-5-mini", - "name": "GPT-5 Mini", - "display_name": "GPT-5 Mini", + "id": "us.anthropic.claude-opus-4-1-20250805-v1:0", + "name": "Claude Opus 4.1 (US)", + "display_name": "Claude Opus 4.1 (US)", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 32000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "openai/gpt-4o", - "name": "GPT-4o", - "display_name": "GPT-4o", + "id": "meta.llama4-maverick-17b-instruct-v1:0", + "name": "Llama 4 Maverick 17B Instruct", + "display_name": "Llama 4 Maverick 17B Instruct", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, + "context": 1000000, "output": 16384 }, "temperature": true, @@ -132510,35 +139309,35 @@ "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-08-06", + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 + "input": 0.24, + "output": 0.97 }, "type": "chat" }, { - "id": "openai/gpt-5.2", - "name": "GPT-5.2", - "display_name": "GPT-5.2", + "id": "global.anthropic.claude-opus-4-5-20251101-v1:0", + "name": "Claude Opus 4.5 (Global)", + "display_name": "Claude Opus 4.5 (Global)", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 64000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -132548,75 +139347,110 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "effort", - "effort": "none", + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ "low", "medium", "high" ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-08-01", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "openai/gpt-5-chat-latest", - "name": "GPT-5 Chat (latest)", - "display_name": "GPT-5 Chat (latest)", + "id": "nvidia.nemotron-super-3-120b", + "name": "NVIDIA Nemotron 3 Super 120B A12B", + "display_name": "NVIDIA Nemotron 3 Super 120B A12B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 131072 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "attachment": false, + "open_weights": true, + "release_date": "2026-03-11", + "last_updated": "2026-03-11", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.15, + "output": 0.65 }, "type": "chat" }, { - "id": "openai/o3", - "name": "o3", - "display_name": "o3", + "id": "nvidia.nemotron-nano-3-30b", + "name": "NVIDIA Nemotron Nano 3 30B", + "display_name": "NVIDIA Nemotron Nano 3 30B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 4096 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "cost": { + "input": 0.06, + "output": 0.24 + }, + "type": "chat" + }, + { + "id": "eu.anthropic.claude-opus-4-5-20251101-v1:0", + "name": "Claude Opus 4.5 (EU)", + "display_name": "Claude Opus 4.5 (EU)", "modalities": { "input": [ "text", @@ -132629,112 +139463,181 @@ }, "limit": { "context": 200000, - "output": 100000 + "output": 64000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", "effort_options": [ "low", "medium", "high" ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-08-01", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "openai/gpt-5.3-chat-latest", - "name": "GPT-5.3 Chat (latest)", - "display_name": "GPT-5.3 Chat (latest)", + "id": "global.anthropic.claude-opus-4-6-v1", + "name": "Claude Opus 4.6 (Global)", + "display_name": "Claude Opus 4.6 (Global)", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-03", - "last_updated": "2026-03-03", + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "openai/gpt-4o-2024-11-20", - "name": "GPT-4o (2024-11-20)", - "display_name": "GPT-4o (2024-11-20)", + "id": "us.anthropic.claude-sonnet-4-5-20250929-v1:0", + "name": "Claude Sonnet 4.5 (US)", + "display_name": "Claude Sonnet 4.5 (US)", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, "attachment": true, "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-11-20", - "last_updated": "2024-11-20", + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "openai/gpt-5", - "name": "GPT-5", - "display_name": "GPT-5", + "id": "google.gemma-3-12b-it", + "name": "Google Gemma 3 12B", + "display_name": "Google Gemma 3 12B", "modalities": { "input": [ "text", @@ -132745,87 +139648,61 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 8192 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2024-12", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.049999999999999996, + "output": 0.09999999999999999 }, "type": "chat" }, { - "id": "openai/gpt-4.1-mini", - "name": "GPT-4.1 mini", - "display_name": "GPT-4.1 mini", + "id": "minimax.minimax-m2.1", + "name": "MiniMax M2.1", + "display_name": "MiniMax M2.1", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "attachment": false, + "open_weights": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "cost": { - "input": 0.4, - "output": 1.6, - "cache_read": 0.1 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "openai/o4-mini", - "name": "o4-mini", - "display_name": "o4-mini", + "id": "eu.anthropic.claude-fable-5", + "name": "Claude Fable 5 (EU)", + "display_name": "Claude Fable 5 (EU)", "modalities": { "input": [ "text", @@ -132836,8 +139713,8 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 1000000, + "output": 128000 }, "temperature": false, "tool_call": true, @@ -132850,105 +139727,77 @@ "supported": true, "default_enabled": true, "mode": "effort", - "effort": "medium", + "effort": "high", "effort_options": [ "low", "medium", - "high" + "high", + "xhigh", + "max" ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Adaptive thinking is always on for Claude Fable 5 and Claude Mythos 5; thinking.type = \"disabled\" is rejected.", + "Manual budget_tokens requests return 400 on Claude Fable 5 and Claude Mythos 5.", + "thinking.display defaults to omitted; set display to summarized to receive readable thinking summaries." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "knowledge": "2026-01-31", + "release_date": "2026-06-09", + "last_updated": "2026-06-09", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.275 + "input": 11, + "output": 55, + "cache_read": 1.1, + "cache_write": 13.75 }, "type": "chat" }, { - "id": "openai/gpt-5.4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "deepseek.v3.2", + "name": "DeepSeek-V3.2", + "display_name": "DeepSeek-V3.2", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 163840, + "output": 81920 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "attachment": false, + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2026-02-06", + "last_updated": "2026-02-06", "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 - } - } - ], - "context_over_200k": { - "input": 5, - "output": 22.5, - "cache_read": 0.5 - } + "input": 0.62, + "output": 1.85 }, "type": "chat" }, { - "id": "openai/o3-mini", - "name": "o3-mini", - "display_name": "o3-mini", + "id": "mistral.ministral-3-14b-instruct", + "name": "Ministral 14B 3.0", + "display_name": "Ministral 14B 3.0", "modalities": { "input": [ "text" @@ -132958,8 +139807,50 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 128000, + "output": 4096 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "cost": { + "input": 0.2, + "output": 0.2 + }, + "type": "chat" + } + ] + }, + "umans-ai": { + "id": "umans-ai", + "name": "Umans AI", + "display_name": "Umans AI", + "api": "https://api.code.umans.ai/v1", + "doc": "https://app.umans.ai/offers/code/docs/orgs", + "models": [ + { + "id": "umans-kimi-k2.7", + "name": "Kimi K2.7 Code", + "display_name": "Kimi K2.7 Code", + "modalities": { + "input": [ + "text", + "image", + "video" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 32768 }, "temperature": false, "tool_call": true, @@ -132970,46 +139861,43 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2024-12-20", - "last_updated": "2025-01-29", + "attachment": true, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-06-12", + "last_updated": "2026-06-12", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.55 + "input": 0.95, + "output": 4, + "cache_read": 0.19 }, "type": "chat" }, { - "id": "openai/gpt-5.5", - "name": "GPT-5.5", - "display_name": "GPT-5.5", + "id": "umans-kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 262144, + "output": 32768 }, "temperature": false, "tool_call": true, @@ -133020,56 +139908,30 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5, - "tiers": [ - { - "input": 10, - "output": 45, - "cache_read": 1, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 10, - "output": 45, - "cache_read": 1 - } + "input": 0.95, + "output": 4, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "openai/gpt-5.2-chat-latest", - "name": "GPT-5.2 Chat", - "display_name": "GPT-5.2 Chat", + "id": "umans-glm-5.1", + "name": "GLM 5.1", + "display_name": "GLM 5.1", "modalities": { "input": [ "text", @@ -133080,31 +139942,41 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 204800, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 1.4, + "output": 4.4, + "cache_read": 0.29 }, "type": "chat" }, { - "id": "openai/gpt-5.1", - "name": "GPT-5.1", - "display_name": "GPT-5.1", + "id": "umans-coder", + "name": "Umans Coder", + "display_name": "Umans Coder", "modalities": { "input": [ "text", @@ -133115,52 +139987,42 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 32768 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.95, + "output": 4, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "openai/gpt-5-nano", - "name": "GPT-5 Nano", - "display_name": "GPT-5 Nano", + "id": "umans-flash", + "name": "Umans Flash", + "display_name": "Umans Flash", "modalities": { "input": [ "text", @@ -133171,8 +140033,8 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 32768 }, "temperature": false, "tool_call": true, @@ -133183,200 +140045,172 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "open_weights": true, + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { - "input": 0.05, - "output": 0.4, - "cache_read": 0.005 + "input": 0.15, + "output": 1, + "cache_read": 0.05 }, "type": "chat" - }, + } + ] + }, + "togetherai": { + "id": "togetherai", + "name": "Together AI", + "display_name": "Together AI", + "doc": "https://docs.together.ai/docs/serverless-models", + "models": [ { - "id": "openai/gpt-4o-mini", - "name": "GPT-4o mini", - "display_name": "GPT-4o mini", + "id": "LiquidAI/LFM2-24B-A2B", + "name": "LFM2-24B-A2B", + "display_name": "LFM2-24B-A2B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 32768, + "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-25", + "last_updated": "2026-02-25", "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.075 + "input": 0.03, + "output": 0.12 }, "type": "chat" }, { - "id": "openai/gpt-4.1", - "name": "GPT-4.1", - "display_name": "GPT-4.1", + "id": "meta-llama/Meta-Llama-3-8B-Instruct-Lite", + "name": "Meta Llama 3 8B Instruct Lite", + "display_name": "Meta Llama 3 8B Instruct Lite", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 8192, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "attachment": false, + "open_weights": true, + "release_date": "2024-04-18", + "last_updated": "2024-04-18", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0.14, + "output": 0.14 }, "type": "chat" }, { - "id": "openai/gpt-5.4-nano", - "name": "GPT-5.4 nano", - "display_name": "GPT-5.4 nano", + "id": "meta-llama/Llama-3.3-70B-Instruct-Turbo", + "name": "Llama 3.3 70B", + "display_name": "Llama 3.3 70B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "attachment": false, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 0.2, - "output": 1.25, - "cache_read": 0.02 + "input": 0.88, + "output": 0.88 }, "type": "chat" }, { - "id": "openai/gpt-4o-2024-05-13", - "name": "GPT-4o (2024-05-13)", - "display_name": "GPT-4o (2024-05-13)", + "id": "moonshotai/Kimi-K2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 262144, + "output": 131000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-05-13", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 5, - "output": 15 + "input": 1.2, + "output": 4.5, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "openai/gpt-5.4-mini", - "name": "GPT-5.4 mini", - "display_name": "GPT-5.4 mini", + "id": "moonshotai/Kimi-K2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ "text", @@ -133387,172 +140221,144 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 262144 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "attachment": false, + "open_weights": true, + "knowledge": "2026-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 0.75, - "output": 4.5, - "cache_read": 0.075 + "input": 0.5, + "output": 2.8 }, "type": "chat" }, { - "id": "openai/gpt-5.1-chat-latest", - "name": "GPT-5.1 Chat", - "display_name": "GPT-5.1 Chat", + "id": "moonshotai/Kimi-K2.7-Code", + "name": "Kimi K2.7 Code", + "display_name": "Kimi K2.7 Code", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 262144, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-06-14", + "last_updated": "2026-06-14", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.95, + "output": 4, + "cache_read": 0.19 }, "type": "chat" }, { - "id": "openai/o1", - "name": "o1", - "display_name": "o1", + "id": "google/gemma-4-31B-it", + "name": "Gemma 4 31B Instruct", + "display_name": "Gemma 4 31B Instruct", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 262144, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-12-05", - "last_updated": "2024-12-05", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-07", + "last_updated": "2026-04-07", "cost": { - "input": 15, - "output": 60, - "cache_read": 7.5 + "input": 0.39, + "output": 0.97 }, "type": "chat" }, { - "id": "openai/gpt-4.1-nano", - "name": "GPT-4.1 nano", - "display_name": "GPT-4.1 nano", + "id": "google/gemma-3n-E4B-it", + "name": "Gemma 3N E4B Instruct", + "display_name": "Gemma 3N E4B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, + "context": 32768, "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "attachment": false, + "open_weights": true, + "release_date": "2025-05-20", + "last_updated": "2025-05-20", "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.025 + "input": 0.06, + "output": 0.12 }, "type": "chat" }, { - "id": "minimax/minimax-m2.7-highspeed", - "name": "MiniMax-M2.7-highspeed", - "display_name": "MiniMax-M2.7-highspeed", + "id": "Qwen/Qwen3.7-Max", + "name": "Qwen3.7 Max", + "display_name": "Qwen3.7 Max", "modalities": { "input": [ "text" @@ -133562,42 +140368,33 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1000000, + "output": 500000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "open_weights": false, + "release_date": "2026-05-21", + "last_updated": "2026-05-21", "cost": { - "input": 0.6, - "output": 2.4, - "cache_read": 0.06, - "cache_write": 0.375 + "input": 2.5, + "output": 7.5 }, "type": "chat" }, { - "id": "minimax/minimax-m2.1", - "name": "MiniMax-M2.1", - "display_name": "MiniMax-M2.1", + "id": "Qwen/Qwen3.6-Plus", + "name": "Qwen3.6 Plus", + "display_name": "Qwen3.6 Plus", "modalities": { "input": [ "text" @@ -133607,8 +140404,8 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1000000, + "output": 500000 }, "temperature": true, "tool_call": true, @@ -133618,34 +140415,41 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, "open_weights": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "release_date": "2026-04-30", + "last_updated": "2026-04-30", "cost": { - "input": 0.3, - "output": 1.2 + "input": 0.5, + "output": 3 }, "type": "chat" }, { - "id": "minimax/minimax-m2.7", - "name": "MiniMax-M2.7", - "display_name": "MiniMax-M2.7", + "id": "Qwen/Qwen3.5-397B-A17B", + "name": "Qwen3.5 397B A17B", + "display_name": "Qwen3.5 397B A17B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 262144, + "output": 130000 }, "temperature": true, "tool_call": true, @@ -133666,20 +140470,18 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06, - "cache_write": 0.375 + "input": 0.6, + "output": 3.6 }, "type": "chat" }, { - "id": "minimax/minimax-m2", - "name": "MiniMax-M2", - "display_name": "MiniMax-M2", + "id": "Qwen/Qwen3-Coder-Next-FP8", + "name": "Qwen3 Coder Next FP8", + "display_name": "Qwen3 Coder Next FP8", "modalities": { "input": [ "text" @@ -133689,34 +140491,29 @@ ] }, "limit": { - "context": 196608, - "output": 128000 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-10-27", - "last_updated": "2025-10-27", + "knowledge": "2026-02-03", + "release_date": "2026-02-03", + "last_updated": "2026-02-03", "cost": { - "input": 0.3, + "input": 0.5, "output": 1.2 }, "type": "chat" }, { - "id": "minimax/minimax-m2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8", + "name": "Qwen3 Coder 480B A35B Instruct", + "display_name": "Qwen3 Coder 480B A35B Instruct", "modalities": { "input": [ "text" @@ -133726,36 +140523,29 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.03, - "cache_write": 0.375 + "input": 2, + "output": 2 }, "type": "chat" }, { - "id": "minimax/minimax-m2.5-highspeed", - "name": "MiniMax-M2.5-highspeed", - "display_name": "MiniMax-M2.5-highspeed", + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507-tput", + "name": "Qwen3 235B A22B Instruct 2507 FP8", + "display_name": "Qwen3 235B A22B Instruct 2507 FP8", "modalities": { "input": [ "text" @@ -133765,45 +140555,29 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2026-02-13", - "last_updated": "2026-02-13", + "knowledge": "2025-07", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", "cost": { - "input": 0.6, - "output": 2.4, - "cache_read": 0.06, - "cache_write": 0.375 + "input": 0.2, + "output": 0.6 }, "type": "chat" - } - ] - }, - "stepfun": { - "id": "stepfun", - "name": "StepFun", - "display_name": "StepFun", - "api": "https://api.stepfun.com/v1", - "doc": "https://platform.stepfun.com/docs/zh/overview/concept", - "models": [ + }, { - "id": "step-2-16k", - "name": "Step 2 (16K)", - "display_name": "Step 2 (16K)", + "id": "Qwen/Qwen2.5-7B-Instruct-Turbo", + "name": "Qwen 2.5 7B Instruct Turbo", + "display_name": "Qwen 2.5 7B Instruct Turbo", "modalities": { "input": [ "text" @@ -133813,8 +140587,40 @@ ] }, "limit": { - "context": 16384, - "output": 8192 + "context": 32768, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2024-09-19", + "last_updated": "2024-09-19", + "cost": { + "input": 0.3, + "output": 0.3 + }, + "type": "chat" + }, + { + "id": "Qwen/Qwen3.5-9B", + "name": "Qwen3.5 9B", + "display_name": "Qwen3.5 9B", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -133822,22 +140628,31 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-06", - "release_date": "2025-01-01", - "last_updated": "2026-02-13", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-03-03", + "last_updated": "2026-03-03", "cost": { - "input": 5.21, - "output": 16.44, - "cache_read": 1.04 + "input": 0.17, + "output": 0.25 }, "type": "chat" }, { - "id": "step-1-32k", - "name": "Step 1 (32K)", - "display_name": "Step 1 (32K)", + "id": "openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "display_name": "GPT OSS 120B", "modalities": { "input": [ "text" @@ -133847,8 +140662,8 @@ ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -133856,22 +140671,26 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": false, - "open_weights": false, - "knowledge": "2024-06", - "release_date": "2025-01-01", - "last_updated": "2026-02-13", + "open_weights": true, + "knowledge": "2025-08", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 2.05, - "output": 9.59, - "cache_read": 0.41 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "step-3.5-flash", - "name": "Step 3.5 Flash", - "display_name": "Step 3.5 Flash", + "id": "openai/gpt-oss-20b", + "name": "GPT OSS 20B", + "display_name": "GPT OSS 20B", "modalities": { "input": [ "text" @@ -133881,8 +140700,8 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -133890,22 +140709,25 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01-29", - "last_updated": "2026-02-13", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.096, - "output": 0.288, - "cache_read": 0.019 + "input": 0.05, + "output": 0.2 }, "type": "chat" }, { - "id": "step-3.5-flash-2603", - "name": "Step 3.5 Flash 2603", - "display_name": "Step 3.5 Flash 2603", + "id": "pearl-ai/gemma-4-31b-it", + "name": "Pearl AI Gemma 4 31B Instruct", + "display_name": "Pearl AI Gemma 4 31B Instruct", "modalities": { "input": [ "text" @@ -133915,69 +140737,62 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 32000, + "output": 32000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "open_weights": false, + "release_date": "2026-04-07", + "last_updated": "2026-04-07", "cost": { - "input": 0.1, - "output": 0.3, - "cache_read": 0.02 + "input": 0.28, + "output": 0.86 }, "type": "chat" - } - ] - }, - "anyapi": { - "id": "anyapi", - "name": "AnyAPI", - "display_name": "AnyAPI", - "api": "https://api.anyapi.ai/v1", - "doc": "https://docs.anyapi.ai", - "models": [ + }, { - "id": "mistralai/mistral-large-2512", - "name": "Mistral Large 3", - "display_name": "Mistral Large 3", + "id": "nvidia/nemotron-3-ultra-550b-a55b", + "name": "Nemotron 3 Ultra 550B A55B", + "display_name": "Nemotron 3 Ultra 550B A55B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 512300, + "output": 512300 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2025-12-02", + "release_date": "2026-06-04", + "last_updated": "2026-06-04", + "cost": { + "input": 0.6, + "output": 3.6, + "cache_read": 0.2 + }, "type": "chat" }, { - "id": "mistralai/devstral-2512", - "name": "Devstral 2", - "display_name": "Devstral 2", + "id": "deepcogito/cogito-v2-1-671b", + "name": "Cogito v2.1 671B", + "display_name": "Cogito v2.1 671B", "modalities": { "input": [ "text" @@ -133987,25 +140802,29 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 163840, + "output": 163840 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": true, - "knowledge": "2025-12", - "release_date": "2025-12-09", - "last_updated": "2025-12-09", + "open_weights": false, + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "cost": { + "input": 1.25, + "output": 1.25 + }, "type": "chat" }, { - "id": "deepseek/deepseek-r1", - "name": "DeepSeek Reasoner", - "display_name": "DeepSeek Reasoner", + "id": "zai-org/GLM-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ "text" @@ -134015,8 +140834,8 @@ ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 202752, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -134035,17 +140854,20 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2025-09", - "release_date": "2025-12-01", - "last_updated": "2026-02-28", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "cost": { + "input": 1, + "output": 3.2 + }, "type": "chat" }, { - "id": "deepseek/deepseek-chat", - "name": "DeepSeek Chat", - "display_name": "DeepSeek Chat", + "id": "zai-org/GLM-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ "text" @@ -134055,25 +140877,35 @@ ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 202752, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, "open_weights": true, - "knowledge": "2025-09", - "release_date": "2025-12-01", - "last_updated": "2026-02-28", + "knowledge": "2025-11", + "release_date": "2026-04-07", + "last_updated": "2026-04-07", + "cost": { + "input": 1.4, + "output": 4.4 + }, "type": "chat" }, { - "id": "deepseek/deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "deepseek-ai/DeepSeek-R1", + "name": "DeepSeek-R1", + "display_name": "DeepSeek-R1", "modalities": { "input": [ "text" @@ -134083,11 +140915,11 @@ ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 163839, + "output": 163839 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -134105,15 +140937,19 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-03-24", + "cost": { + "input": 3, + "output": 7 + }, "type": "chat" }, { - "id": "deepseek/deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "deepseek-ai/DeepSeek-V3-1", + "name": "DeepSeek V3.1", + "display_name": "DeepSeek V3.1", "modalities": { "input": [ "text" @@ -134123,8 +140959,8 @@ ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -134132,342 +140968,259 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "knowledge": "2025-08", + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "cost": { + "input": 0.6, + "output": 1.7 + }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "deepseek-ai/DeepSeek-V4-Pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 512000, + "output": 384000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", + "attachment": false, + "open_weights": true, + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "cost": { + "input": 1.74, + "output": 3.48, + "cache_read": 0.2 + }, "type": "chat" }, { - "id": "anthropic/claude-haiku-4-5", - "name": "Claude Haiku 4.5 (latest)", - "display_name": "Claude Haiku 4.5 (latest)", + "id": "deepseek-ai/DeepSeek-V3", + "name": "DeepSeek-V3", + "display_name": "DeepSeek-V3", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "attachment": false, + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2024-12-26", + "last_updated": "2025-05-29", + "cost": { + "input": 1.25, + "output": 1.25 }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", "type": "chat" }, { - "id": "anthropic/claude-sonnet-4-5", - "name": "Claude Sonnet 4.5 (latest)", - "display_name": "Claude Sonnet 4.5 (latest)", + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "supported": true } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 + }, "type": "chat" }, { - "id": "anthropic/claude-opus-4-6", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", + "id": "MiniMaxAI/MiniMax-M3", + "name": "MiniMax-M3", + "display_name": "MiniMax-M3", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 524288, + "output": 250000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] + "supported": true } }, "attachment": true, - "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-03-13", + "open_weights": true, + "release_date": "2026-06-12", + "last_updated": "2026-06-12", + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 + }, "type": "chat" }, { - "id": "anthropic/claude-opus-4-7", - "name": "Claude Opus 4.7", - "display_name": "Claude Opus 4.7", + "id": "MiniMaxAI/MiniMax-M2.7", + "name": "MiniMax-M2.7", + "display_name": "MiniMax-M2.7", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 202752, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "attachment": false, + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 + }, "type": "chat" }, { - "id": "xai/grok-4.3", - "name": "Grok 4.3", - "display_name": "Grok 4.3", + "id": "essentialai/Rnj-1-Instruct", + "name": "Rnj-1 Instruct", + "display_name": "Rnj-1 Instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 30000 + "context": 32768, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "attachment": false, + "open_weights": true, + "knowledge": "2024-10", + "release_date": "2025-12-05", + "last_updated": "2025-12-05", + "cost": { + "input": 0.15, + "output": 0.15 }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-17", - "last_updated": "2026-04-17", "type": "chat" - }, + } + ] + }, + "frogbot": { + "id": "frogbot", + "name": "FrogBot", + "display_name": "FrogBot", + "api": "https://app.frogbot.ai/api/v1", + "doc": "https://docs.frogbot.ai", + "models": [ { - "id": "cohere/command-r-plus-08-2024", - "name": "Command R+", - "display_name": "Command R+", + "id": "minimax-m2-5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ "text" @@ -134477,25 +141230,30 @@ ] }, "limit": { - "context": 128000, - "output": 4000 + "context": 192000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-06-01", - "release_date": "2024-08-30", - "last_updated": "2024-08-30", + "attachment": true, + "open_weights": false, + "knowledge": "2024-09", + "release_date": "2025-01-15", + "last_updated": "2025-02-22", + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03 + }, "type": "chat" }, { - "id": "perplexity/sonar-pro", - "name": "Sonar Pro", - "display_name": "Sonar Pro", + "id": "kimi-k2-6", + "name": "Kimi-K2.6", + "display_name": "Kimi-K2.6", "modalities": { "input": [ "text", @@ -134506,70 +141264,74 @@ ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 256000, + "output": 128000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-09-01", - "release_date": "2024-01-01", - "last_updated": "2025-09-01", + "release_date": "1970-01-01", + "last_updated": "1970-01-01", + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + }, "type": "chat" }, { - "id": "perplexity/sonar-reasoning-pro", - "name": "Sonar Reasoning Pro", - "display_name": "Sonar Reasoning Pro", + "id": "zai-glm-5-1", + "name": "Z.AI GLM-5.1", + "display_name": "Z.AI GLM-5.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 198000, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-09-01", - "release_date": "2024-01-01", - "last_updated": "2025-09-01", + "open_weights": true, + "knowledge": "2024-10", + "release_date": "2025-01-20", + "last_updated": "2025-02-22", + "cost": { + "input": 1.4, + "output": 4.4, + "cache_read": 0.26 + }, "type": "chat" }, { - "id": "google/gemini-3-flash-preview", - "name": "Gemini 3 Flash Preview", - "display_name": "Gemini 3 Flash Preview", + "id": "grok-code-fast-1", + "name": "Grok 4.1 Fast (Reasoning)", + "display_name": "Grok 4.1 Fast (Reasoning)", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 256000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -134579,32 +141341,23 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "knowledge": "2023-10", + "release_date": "2025-08-28", + "last_updated": "2025-08-28", + "cost": { + "input": 0.2, + "output": 1.5, + "cache_read": 0.02 + }, "type": "chat" }, { - "id": "google/gemini-2.5-pro", + "id": "gemini-2.5-pro", "name": "Gemini 2.5 Pro", "display_name": "Gemini 2.5 Pro", "modalities": { @@ -134653,12 +141406,17 @@ "knowledge": "2025-01", "release_date": "2025-03-20", "last_updated": "2025-06-05", + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.31 + }, "type": "chat" }, { - "id": "google/gemini-2.5-flash-lite", - "name": "Gemini 2.5 Flash-Lite", - "display_name": "Gemini 2.5 Flash-Lite", + "id": "gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "display_name": "Gemini 2.5 Flash", "modalities": { "input": [ "text", @@ -134679,18 +141437,19 @@ "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "budget", "budget": { "default": -1, - "min": 512, + "min": 0, "max": 24576, "auto": -1, + "off": 0, "unit": "tokens" }, "summaries": true, @@ -134703,20 +141462,57 @@ "attachment": true, "open_weights": false, "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", + "release_date": "2025-07-17", + "last_updated": "2025-07-17", + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.075 + }, "type": "chat" }, { - "id": "google/gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "display_name": "Gemini 2.5 Flash", + "id": "gpt-4o", + "name": "GPT-4o", + "display_name": "GPT-4o", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-08-06", + "cost": { + "input": 2.5, + "output": 10, + "cache_read": 1.25 + }, + "type": "chat" + }, + { + "id": "qwen-3-6-plus", + "name": "Qwen 3.6 Plus", + "display_name": "Qwen 3.6 Plus", "modalities": { "input": [ "text", "image", - "audio", - "video", "pdf" ], "output": [ @@ -134724,8 +141520,8 @@ ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -134733,52 +141529,34 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "release_date": "2026-04-02", + "last_updated": "2026-04-03", + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.1 + }, "type": "chat" }, { - "id": "google/gemini-3-pro-preview", - "name": "Gemini 3 Pro Preview", - "display_name": "Gemini 3 Pro Preview", + "id": "grok-4-3", + "name": "Grok 4.3", + "display_name": "Grok 4.3", "modalities": { "input": [ "text", "image", - "video", - "audio", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -134786,85 +141564,196 @@ "supported": true, "default": true }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-11", + "release_date": "2026-04-30", + "last_updated": "2026-04-30", + "cost": { + "input": 1.25, + "output": 2.5, + "cache_read": 0.2 + }, + "type": "chat" + }, + { + "id": "deepseek-v4-pro", + "name": "DeepSeek v4 Pro", + "display_name": "DeepSeek v4 Pro", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 8192 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true + }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", + "knowledge": "2026-01", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "cost": { + "input": 1.74, + "output": 3.48, + "cache_read": 0.14 + }, "type": "chat" }, { - "id": "openai/gpt-5-mini", - "name": "GPT-5 Mini", - "display_name": "GPT-5 Mini", + "id": "claude-opus-4-7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, + "context": 200000, "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "effort", - "effort": "medium", + "effort": "high", "effort_options": [ - "minimal", "low", "medium", - "high" + "high", + "xhigh", + "max" ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + }, "type": "chat" }, { - "id": "openai/gpt-5.2", - "name": "GPT-5.2", - "display_name": "GPT-5.2", + "id": "grok-4-1-fast-non-reasoning", + "name": "Grok 4.1 Fast (Non-Reasoning)", + "display_name": "Grok 4.1 Fast (Non-Reasoning)", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 2000000, + "output": 128000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-11", + "release_date": "2025-11-25", + "last_updated": "2025-11-25", + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + }, + "type": "chat" + }, + { + "id": "minimax-m2-7", + "name": "MiniMax-M2.7", + "display_name": "MiniMax-M2.7", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 192000, + "output": 8192 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-09", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 + }, + "type": "chat" + }, + { + "id": "gpt-5-3-codex", + "name": "GPT-5.3 Codex", + "display_name": "GPT-5.3 Codex", "modalities": { "input": [ "text", @@ -134882,16 +141771,15 @@ "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", - "effort": "none", + "effort": "medium", "effort_options": [ - "none", "low", "medium", "high", @@ -134908,42 +141796,54 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "knowledge": "2026-01-31", + "release_date": "2026-02-15", + "last_updated": "2026-02-15", + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + }, "type": "chat" }, { - "id": "openai/o3", - "name": "o3", - "display_name": "o3", + "id": "gpt-5-4-nano", + "name": "GPT-5.4 Nano", + "display_name": "GPT-5.4 Nano", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 400000, + "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "effort", - "effort": "medium", + "effort": "none", "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ "low", "medium", "high" @@ -134953,15 +141853,20 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "cost": { + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 + }, "type": "chat" }, { - "id": "openai/gpt-5", - "name": "GPT-5", - "display_name": "GPT-5", + "id": "gpt-5-4-mini", + "name": "GPT-5.4 Mini", + "display_name": "GPT-5.4 Mini", "modalities": { "input": [ "text", @@ -134979,19 +141884,20 @@ "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "effort", - "effort": "medium", + "effort": "none", "effort_options": [ - "minimal", + "none", "low", "medium", - "high" + "high", + "xhigh" ], "verbosity": "medium", "verbosity_options": [ @@ -135004,59 +141910,78 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "cost": { + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 + }, "type": "chat" }, { - "id": "openai/gpt-4.1-mini", - "name": "GPT-4.1 mini", - "display_name": "GPT-4.1 mini", + "id": "kimi-k2.5", + "name": "Kimi-K2.5", + "display_name": "Kimi-K2.5", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 256000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "release_date": "1970-01-01", + "last_updated": "1970-01-01", + "cost": { + "input": 0.6, + "output": 3, + "cache_read": 0.1 + }, "type": "chat" }, { - "id": "openai/o4-mini", - "name": "o4-mini", - "display_name": "o4-mini", + "id": "gpt-oss-120b", + "name": "GPT OSS 120B", + "display_name": "GPT OSS 120B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 131072, + "output": 32768 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -135064,57 +141989,49 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "attachment": false, + "open_weights": true, + "release_date": "1970-01-01", + "last_updated": "1970-01-01", + "cost": { + "input": 0.15, + "output": 0.6 + }, "type": "chat" }, { - "id": "openai/gpt-5.4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "gpt-5-5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1050000, + "context": 272000, "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", - "effort": "none", + "effort": "medium", "effort_options": [ - "none", "low", "medium", "high", @@ -135134,15 +142051,22 @@ "knowledge": "2025-08-31", "release_date": "2026-03-05", "last_updated": "2026-03-05", + "cost": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + }, "type": "chat" }, { - "id": "openai/o3-mini", - "name": "o3-mini", - "display_name": "o3-mini", + "id": "claude-haiku-4-5", + "name": "Claude Haiku 4.5", + "display_name": "Claude Haiku 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" @@ -135150,53 +142074,67 @@ }, "limit": { "context": 200000, - "output": 100000 + "output": 64000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-05", - "release_date": "2024-12-20", - "last_updated": "2025-01-29", + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + }, "type": "chat" }, { - "id": "openai/gpt-5.1", - "name": "GPT-5.1", - "display_name": "GPT-5.1", + "id": "claude-opus-4-6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, + "context": 200000, "output": 128000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -135206,38 +142144,53 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "effort", - "effort": "none", + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", "effort_options": [ - "none", "low", "medium", - "high" + "high", + "max" ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + }, "type": "chat" }, { - "id": "openai/gpt-4.1", - "name": "GPT-4.1", - "display_name": "GPT-4.1", + "id": "gemini-3-1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "display_name": "Gemini 3.1 Pro Preview", "modalities": { "input": [ "text", "image", + "video", + "audio", "pdf" ], "output": [ @@ -135245,45 +142198,8 @@ ] }, "limit": { - "context": 1047576, - "output": 32768 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "type": "chat" - } - ] - }, - "vultr": { - "id": "vultr", - "name": "Vultr", - "display_name": "Vultr", - "api": "https://api.vultrinference.com/v1", - "doc": "https://api.vultrinference.com/", - "models": [ - { - "id": "MiniMaxAI/MiniMax-M2.7", - "name": "MiniMax-M2.7", - "display_name": "MiniMax-M2.7", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 204800, - "output": 131072 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -135291,42 +142207,34 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "attachment": true, + "open_weights": false, + "knowledge": "2026-01", + "release_date": "2026-02-18", + "last_updated": "2026-02-18", "cost": { - "input": 0.3, - "output": 1.2 + "input": 2, + "output": 12, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "zai-org/GLM-5.1-FP8", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "grok-4-1-fast-reasoning", + "name": "Grok 4.1 Fast (Reasoning)", + "display_name": "Grok 4.1 Fast (Reasoning)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 2000000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -135336,84 +142244,105 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "attachment": true, + "open_weights": false, + "knowledge": "2025-11", + "release_date": "2025-11-25", + "last_updated": "2025-11-25", "cost": { - "input": 0.85, - "output": 3.1 + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", "cost": { - "input": 0.15, - "output": 0.6 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "nvidia/Nemotron-Cascade-2-30B-A3B", - "name": "NVIDIA Nemotron Cascade 2", - "display_name": "NVIDIA Nemotron Cascade 2", + "id": "gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "display_name": "Gemini 3 Flash Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -135421,21 +142350,41 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.5, + "output": 3, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16", - "name": "NVIDIA Nemotron 3 Nano Omni", - "display_name": "NVIDIA Nemotron 3 Nano Omni", + "id": "gpt-oss-20b", + "name": "GPT OSS 20B", + "display_name": "GPT OSS 20B", "modalities": { "input": [ "text" @@ -135445,8 +142394,8 @@ ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -135454,32 +142403,48 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": false, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-28", - "last_updated": "2026-04-28", + "release_date": "1970-01-01", + "last_updated": "1970-01-01", "cost": { - "input": 0.13, - "output": 0.38 + "input": 0.07, + "output": 0.2 }, "type": "chat" - }, + } + ] + }, + "nova": { + "id": "nova", + "name": "Nova", + "display_name": "Nova", + "api": "https://api.nova.amazon.com/v1", + "doc": "https://nova.amazon.com/dev/documentation", + "models": [ { - "id": "nvidia/DeepSeek-V3.2-NVFP4", - "name": "DeepSeek V3.2", - "display_name": "DeepSeek V3.2", + "id": "nova-2-pro-v1", + "name": "Nova 2 Pro", + "display_name": "Nova 2 Pro", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -135487,62 +142452,66 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "attachment": true, + "open_weights": false, + "release_date": "2025-12-03", + "last_updated": "2026-01-03", "cost": { - "input": 0.55, - "output": 1.65 + "input": 0, + "output": 0, + "reasoning": 0 }, "type": "chat" }, { - "id": "nvidia/Llama-3.1-Nemotron-Safety-Guard-8B-v3", - "name": "Llama 3.1 Nemotron Safety Guard", - "display_name": "Llama 3.1 Nemotron Safety Guard", + "id": "nova-2-lite-v1", + "name": "Nova 2 Lite", + "display_name": "Nova 2 Lite", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 4096 + "context": 1000000, + "output": 64000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2025-10-28", - "last_updated": "2025-10-28", + "attachment": true, + "open_weights": false, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "cost": { - "input": 0.01, - "output": 0.01 + "input": 0, + "output": 0, + "reasoning": 0 }, "type": "chat" } ] }, - "zai-coding-plan": { - "id": "zai-coding-plan", - "name": "Z.AI Coding Plan", - "display_name": "Z.AI Coding Plan", - "api": "https://api.z.ai/api/coding/paas/v4", - "doc": "https://docs.z.ai/devpack/overview", + "alibaba-token-plan": { + "id": "alibaba-token-plan", + "name": "Alibaba Token Plan", + "display_name": "Alibaba Token Plan", + "api": "https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1", + "doc": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview", "models": [ { - "id": "glm-4.7", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ "text" @@ -135552,8 +142521,8 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1000000, + "output": 384000 }, "temperature": true, "tool_call": true, @@ -135574,35 +142543,32 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { "input": 0, "output": 0, - "cache_read": 0, - "cache_write": 0 + "cache_read": 0 }, "type": "chat" }, { - "id": "glm-5v-turbo", - "name": "GLM-5V-Turbo", - "display_name": "GLM-5V-Turbo", + "id": "qwen3.7-plus", + "name": "Qwen3.7 Plus", + "display_name": "Qwen3.7 Plus", "modalities": { "input": [ "text", - "image", - "video", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -135612,19 +142578,14 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-01", - "last_updated": "2026-04-01", + "knowledge": "2025-04", + "release_date": "2026-06-02", + "last_updated": "2026-06-02", "cost": { "input": 0, "output": 0, @@ -135634,9 +142595,9 @@ "type": "chat" }, { - "id": "glm-5-turbo", - "name": "GLM-5-Turbo", - "display_name": "GLM-5-Turbo", + "id": "qwen3.7-max", + "name": "Qwen3.7 Max", + "display_name": "Qwen3.7 Max", "modalities": { "input": [ "text" @@ -135646,8 +142607,8 @@ ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -135657,54 +142618,13 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": false, - "release_date": "2026-03-16", - "last_updated": "2026-03-16", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 - }, - "type": "chat" - }, - { - "id": "glm-4.5-air", - "name": "GLM-4.5-Air", - "display_name": "GLM-4.5-Air", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 98304 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "release_date": "2026-05-21", + "last_updated": "2026-05-21", "cost": { "input": 0, "output": 0, @@ -135726,8 +142646,8 @@ ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 202752, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -135747,7 +142667,7 @@ } }, "attachment": false, - "open_weights": false, + "open_weights": true, "release_date": "2026-03-27", "last_updated": "2026-03-27", "cost": { @@ -135757,114 +142677,92 @@ "cache_write": 0 }, "type": "chat" - } - ] - }, - "amazon-bedrock": { - "id": "amazon-bedrock", - "name": "Amazon Bedrock", - "display_name": "Amazon Bedrock", - "doc": "https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html", - "models": [ + }, { - "id": "eu.anthropic.claude-haiku-4-5-20251001-v1:0", - "name": "Claude Haiku 4.5 (EU)", - "display_name": "Claude Haiku 4.5 (EU)", + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 1000000, + "output": 384000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 0, + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "qwen.qwen3-coder-30b-a3b-v1:0", - "name": "Qwen3 Coder 30B A3B Instruct", - "display_name": "Qwen3 Coder 30B A3B Instruct", + "id": "wan2.7-image-pro", + "name": "Wan2.7 Image Pro", + "display_name": "Wan2.7 Image Pro", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 8192, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-09-18", - "last_updated": "2025-09-18", + "release_date": "2026-05-29", + "last_updated": "2026-05-29", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0, + "output": 0 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "jp.anthropic.claude-opus-4-8", - "name": "Claude Opus 4.8 (JP)", - "display_name": "Claude Opus 4.8 (JP)", + "id": "qwen3.6-flash", + "name": "Qwen3.6 Flash", + "display_name": "Qwen3.6 Flash", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" @@ -135872,67 +142770,54 @@ }, "limit": { "context": 1000000, - "output": 128000 + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-05-28", - "last_updated": "2026-05-28", + "release_date": "2026-04-27", + "last_updated": "2026-04-27", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "openai.gpt-oss-120b-1:0", - "name": "gpt-oss-120b", - "display_name": "gpt-oss-120b", + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 262144, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -135940,400 +142825,265 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "mistral.ministral-3-8b-instruct", - "name": "Ministral 3 8B", - "display_name": "Ministral 3 8B", + "id": "qwen-image-2.0", + "name": "Qwen Image 2.0", + "display_name": "Qwen Image 2.0", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 8192, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", "cost": { - "input": 0.15, - "output": 0.15 + "input": 0, + "output": 0 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "amazon.nova-pro-v1:0", - "name": "Nova Pro", - "display_name": "Nova Pro", + "id": "MiniMax-M2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ - "text", - "image", - "video" - ], - "output": [ "text" - ] - }, - "limit": { - "context": 300000, - "output": 8192 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "cost": { - "input": 0.8, - "output": 3.2, - "cache_read": 0.2 - }, - "type": "chat" - }, - { - "id": "au.anthropic.claude-haiku-4-5-20251001-v1:0", - "name": "Claude Haiku 4.5 (AU)", - "display_name": "Claude Haiku 4.5 (AU)", - "modalities": { - "input": [ - "text", - "image", - "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 196608, + "output": 24576 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 - }, - "type": "chat" - }, - { - "id": "nvidia.nemotron-super-3-120b", - "name": "NVIDIA Nemotron 3 Super 120B A12B", - "display_name": "NVIDIA Nemotron 3 Super 120B A12B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 131072 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, "attachment": false, "open_weights": true, - "release_date": "2026-03-11", - "last_updated": "2026-03-11", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.15, - "output": 0.65 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "global.anthropic.claude-opus-4-5-20251101-v1:0", - "name": "Claude Opus 4.5 (Global)", - "display_name": "Claude Opus 4.5 (Global)", + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 262144, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-08-01", - "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 - }, - "type": "chat" - }, - { - "id": "deepseek.v3-v1:0", - "name": "DeepSeek-V3.1", - "display_name": "DeepSeek-V3.1", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 163840, - "output": 81920 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-09-18", - "last_updated": "2025-09-18", + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0.58, - "output": 1.68 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "meta.llama3-1-70b-instruct-v1:0", - "name": "Llama 3.1 70B Instruct", - "display_name": "Llama 3.1 70B Instruct", + "id": "qwen-image-2.0-pro", + "name": "Qwen Image 2.0 Pro", + "display_name": "Qwen Image 2.0 Pro", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 8192, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "open_weights": false, + "release_date": "2026-03-03", + "last_updated": "2026-03-03", "cost": { - "input": 0.72, - "output": 0.72 + "input": 0, + "output": 0 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "writer.palmyra-x5-v1:0", - "name": "Palmyra X5", - "display_name": "Palmyra X5", + "id": "wan2.7-image", + "name": "Wan2.7 Image", + "display_name": "Wan2.7 Image", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 1040000, + "context": 8192, "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-04-28", - "last_updated": "2025-04-28", + "release_date": "2026-05-29", + "last_updated": "2026-05-29", "cost": { - "input": 0.6, - "output": 6 + "input": 0, + "output": 0 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "global.anthropic.claude-opus-4-7", - "name": "Claude Opus 4.7 (Global)", - "display_name": "Claude Opus 4.7 (Global)", + "id": "glm-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 202752, + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen.qwen3-235b-a22b-2507-v1:0", - "name": "Qwen3 235B A22B 2507", - "display_name": "Qwen3 235B A22B 2507", + "id": "deepseek-v3.2", + "name": "DeepSeek V3.2", + "display_name": "DeepSeek V3.2", "modalities": { "input": [ "text" @@ -136343,34 +143093,40 @@ ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 131072, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": true, - "knowledge": "2024-04", - "release_date": "2025-09-18", - "last_updated": "2025-09-18", + "knowledge": "2025-01", + "release_date": "2025-12-03", + "last_updated": "2025-12-05", "cost": { - "input": 0.22, - "output": 0.88 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "eu.anthropic.claude-opus-4-7", - "name": "Claude Opus 4.7 (EU)", - "display_name": "Claude Opus 4.7 (EU)", + "id": "qwen3.6-plus", + "name": "Qwen3.6 Plus", + "display_name": "Qwen3.6 Plus", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" @@ -136378,89 +143134,101 @@ }, "limit": { "context": 1000000, - "output": 128000 + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 5.5, - "output": 27.5, - "cache_read": 0.55, - "cache_write": 6.875 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" - }, + } + ] + }, + "alibaba": { + "id": "alibaba", + "name": "alibaba", + "display_name": "alibaba", + "api": "https://dashscope-intl.aliyuncs.com/compatible-mode/v1", + "doc": "https://www.alibabacloud.com/help/en/model-studio/models", + "models": [ { - "id": "qwen.qwen3-vl-235b-a22b", - "name": "Qwen/Qwen3-VL-235B-A22B-Instruct", - "display_name": "Qwen/Qwen3-VL-235B-A22B-Instruct", + "id": "qwen3-omni-flash", + "name": "Qwen3-Omni Flash", + "display_name": "Qwen3-Omni Flash", "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video" ], "output": [ - "text" + "text", + "audio" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 65536, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": false, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", + "knowledge": "2024-04", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", "cost": { - "input": 0.3, - "output": 1.5 + "input": 0.43, + "output": 1.66, + "input_audio": 3.81, + "output_audio": 15.11 }, "type": "chat" }, { - "id": "qwen.qwen3-coder-480b-a35b-v1:0", - "name": "Qwen3 Coder 480B A35B Instruct", - "display_name": "Qwen3 Coder 480B A35B Instruct", + "id": "qwen3-coder-plus", + "name": "Qwen3 Coder Plus", + "display_name": "Qwen3 Coder Plus", "modalities": { "input": [ "text" @@ -136470,7 +143238,7 @@ ] }, "limit": { - "context": 131072, + "context": 1000000, "output": 65536 }, "temperature": true, @@ -136480,19 +143248,19 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-04", - "release_date": "2025-09-18", - "last_updated": "2025-09-18", + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", "cost": { - "input": 0.22, - "output": 1.8 + "input": 1, + "output": 5 }, "type": "chat" }, { - "id": "mistral.devstral-2-123b", - "name": "Devstral 2 123B", - "display_name": "Devstral 2 123B", + "id": "qwen-plus", + "name": "Qwen Plus", + "display_name": "Qwen Plus", "modalities": { "input": [ "text" @@ -136502,28 +143270,53 @@ ] }, "limit": { - "context": 256000, - "output": 8192 + "context": 1000000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, "attachment": false, - "open_weights": true, - "release_date": "2026-02-17", - "last_updated": "2026-02-17", + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2024-01-25", + "last_updated": "2025-09-11", "cost": { "input": 0.4, - "output": 2 + "output": 1.2, + "reasoning": 4 }, "type": "chat" }, { - "id": "minimax.minimax-m2.5", - "name": "MiniMax M2.5", - "display_name": "MiniMax M2.5", + "id": "qwen3-coder-30b-a3b-instruct", + "name": "Qwen3-Coder 30B-A3B Instruct", + "display_name": "Qwen3-Coder 30B-A3B Instruct", "modalities": { "input": [ "text" @@ -136533,135 +143326,131 @@ ] }, "limit": { - "context": 196608, - "output": 98304 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", "cost": { - "input": 0.3, - "output": 1.2 + "input": 0.45, + "output": 2.25 }, "type": "chat" }, { - "id": "openai.gpt-oss-120b", - "name": "gpt-oss-120b", - "display_name": "gpt-oss-120b", + "id": "qwen3-omni-flash-realtime", + "name": "Qwen3-Omni Flash Realtime", + "display_name": "Qwen3-Omni Flash Realtime", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video" ], "output": [ - "text" + "text", + "audio" ] }, "limit": { - "context": 128000, + "context": 65536, "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2024-04", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.52, + "output": 1.99, + "input_audio": 4.57, + "output_audio": 18.13 }, "type": "chat" }, { - "id": "us.anthropic.claude-opus-4-7", - "name": "Claude Opus 4.7 (US)", - "display_name": "Claude Opus 4.7 (US)", + "id": "qwen3-32b", + "name": "Qwen3 32B", + "display_name": "Qwen3 32B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true, + "budget": { + "default": 38912, + "min": 0, + "max": 38912 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.7, + "output": 2.8, + "reasoning": 8.4 }, "type": "chat" }, { - "id": "meta.llama3-1-8b-instruct-v1:0", - "name": "Llama 3.1 8B Instruct", - "display_name": "Llama 3.1 8B Instruct", + "id": "qwen-omni-turbo-realtime", + "name": "Qwen-Omni Turbo Realtime", + "display_name": "Qwen-Omni Turbo Realtime", "modalities": { "input": [ - "text" + "text", + "image", + "audio" ], "output": [ - "text" + "text", + "audio" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 32768, + "output": 2048 }, "temperature": true, "tool_call": true, @@ -136669,20 +143458,22 @@ "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-05-08", + "last_updated": "2025-05-08", "cost": { - "input": 0.22, - "output": 0.22 + "input": 0.27, + "output": 1.07, + "input_audio": 4.44, + "output_audio": 8.89 }, "type": "chat" }, { - "id": "qwen.qwen3-next-80b-a3b", - "name": "Qwen/Qwen3-Next-80B-A3B-Instruct", - "display_name": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "id": "qwen-plus-character-ja", + "name": "Qwen Plus Character (Japanese)", + "display_name": "Qwen Plus Character (Japanese)", "modalities": { "input": [ "text" @@ -136692,8 +143483,8 @@ ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 8192, + "output": 512 }, "temperature": true, "tool_call": true, @@ -136702,177 +143493,160 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-09-18", - "last_updated": "2025-11-25", + "knowledge": "2024-04", + "release_date": "2024-01", + "last_updated": "2024-01", "cost": { - "input": 0.14, + "input": 0.5, "output": 1.4 }, "type": "chat" }, { - "id": "us.anthropic.claude-opus-4-6-v1", - "name": "Claude Opus 4.6 (US)", - "display_name": "Claude Opus 4.6 (US)", + "id": "qwen3-next-80b-a3b-instruct", + "name": "Qwen3 Next 80B A3B Instruct", + "display_name": "Qwen3 Next 80B A3B Instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-03-13", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-09", + "last_updated": "2025-09", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.5, + "output": 2 }, "type": "chat" }, { - "id": "mistral.ministral-3-14b-instruct", - "name": "Ministral 14B 3.0", - "display_name": "Ministral 14B 3.0", + "id": "qwen3.7-plus", + "name": "Qwen3.7 Plus", + "display_name": "Qwen3.7 Plus", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": false, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", + "knowledge": "2025-04", + "release_date": "2026-06-02", + "last_updated": "2026-06-04", "cost": { - "input": 0.2, - "output": 0.2 + "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 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.2, + "cache_write": 2.5 + } }, "type": "chat" }, { - "id": "anthropic.claude-haiku-4-5-20251001-v1:0", - "name": "Claude Haiku 4.5", - "display_name": "Claude Haiku 4.5", + "id": "qwen3.6-35b-a3b", + "name": "Qwen3.6 35B-A3B", + "display_name": "Qwen3.6 35B-A3B", "modalities": { "input": [ "text", "image", - "pdf" + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "open_weights": true, + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 0.248, + "output": 1.485 }, "type": "chat" }, { - "id": "au.anthropic.claude-opus-4-8", - "name": "Claude Opus 4.8 (AU)", - "display_name": "Claude Opus 4.8 (AU)", + "id": "qwen3.7-max", + "name": "Qwen3.7 Max", + "display_name": "Qwen3.7 Max", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" @@ -136880,59 +143654,37 @@ }, "limit": { "context": 1000000, - "output": 128000 + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-05-28", - "last_updated": "2026-05-28", + "release_date": "2026-05-21", + "last_updated": "2026-05-21", "cost": { - "input": 5, - "output": 25, + "input": 2.5, + "output": 7.5, "cache_read": 0.5, - "cache_write": 6.25 + "cache_write": 3.125 }, "type": "chat" }, { - "id": "mistral.voxtral-mini-3b-2507", - "name": "Voxtral Mini 3B 2507", - "display_name": "Voxtral Mini 3B 2507", + "id": "qwen3-max", + "name": "Qwen3 Max", + "display_name": "Qwen3 Max", "modalities": { "input": [ - "audio", "text" ], "output": [ @@ -136940,143 +143692,137 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": false, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", + "knowledge": "2025-04", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", "cost": { - "input": 0.04, - "output": 0.04 + "input": 1.2, + "output": 6 }, "type": "chat" }, { - "id": "moonshotai.kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "qwen2-5-omni-7b", + "name": "Qwen2.5-Omni 7B", + "display_name": "Qwen2.5-Omni 7B", "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video" ], "output": [ - "text" + "text", + "audio" ] }, "limit": { - "context": 262143, - "output": 16000 + "context": 32768, + "output": 2048 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2026-02-06", - "last_updated": "2026-02-06", + "knowledge": "2024-04", + "release_date": "2024-12", + "last_updated": "2024-12", "cost": { - "input": 0.6, - "output": 3 + "input": 0.1, + "output": 0.4, + "input_audio": 6.76 }, "type": "chat" }, { - "id": "global.anthropic.claude-opus-4-6-v1", - "name": "Claude Opus 4.6 (Global)", - "display_name": "Claude Opus 4.6 (Global)", + "id": "qwen3-8b", + "name": "Qwen3 8B", + "display_name": "Qwen3 8B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true, + "budget": { + "default": 38912, + "min": 0, + "max": 38912 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-03-13", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.18, + "output": 0.7, + "reasoning": 2.1 }, "type": "chat" }, { - "id": "mistral.ministral-3-3b-instruct", - "name": "Ministral 3 3B", - "display_name": "Ministral 3 3B", + "id": "qwen2-5-14b-instruct", + "name": "Qwen2.5 14B Instruct", + "display_name": "Qwen2.5 14B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, + "context": 131072, "output": 8192 }, "temperature": true, @@ -137086,295 +143832,232 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", "cost": { - "input": 0.1, - "output": 0.1 + "input": 0.35, + "output": 1.4 }, "type": "chat" }, { - "id": "us.anthropic.claude-opus-4-1-20250805-v1:0", - "name": "Claude Opus 4.1 (US)", - "display_name": "Claude Opus 4.1 (US)", + "id": "qwen3-next-80b-a3b-thinking", + "name": "Qwen3 Next 80B A3B Thinking", + "display_name": "Qwen3 Next 80B A3B Thinking", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 131072, + "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false + "default": true, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-09", + "last_updated": "2025-09", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.5, + "output": 6 }, "type": "chat" }, { - "id": "eu.anthropic.claude-opus-4-6-v1", - "name": "Claude Opus 4.6 (EU)", - "display_name": "Claude Opus 4.6 (EU)", + "id": "qvq-max", + "name": "QVQ Max", + "display_name": "QVQ Max", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-03-13", + "knowledge": "2024-04", + "release_date": "2025-03-25", + "last_updated": "2025-03-25", "cost": { - "input": 5.5, - "output": 27.5, - "cache_read": 0.55, - "cache_write": 6.875 + "input": 1.2, + "output": 4.8 }, "type": "chat" }, { - "id": "us.anthropic.claude-haiku-4-5-20251001-v1:0", - "name": "Claude Haiku 4.5 (US)", - "display_name": "Claude Haiku 4.5 (US)", + "id": "qwen3.6-flash", + "name": "Qwen3.6 Flash", + "display_name": "Qwen3.6 Flash", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "release_date": "2026-04-27", + "last_updated": "2026-04-27", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 0.1875, + "output": 1.125, + "cache_write": 0.234375 }, "type": "chat" }, { - "id": "global.anthropic.claude-haiku-4-5-20251001-v1:0", - "name": "Claude Haiku 4.5 (Global)", - "display_name": "Claude Haiku 4.5 (Global)", + "id": "qwen2-5-vl-72b-instruct", + "name": "Qwen2.5-VL 72B Instruct", + "display_name": "Qwen2.5-VL 72B Instruct", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "attachment": false, + "open_weights": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 2.8, + "output": 8.4 }, "type": "chat" }, { - "id": "moonshot.kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "display_name": "Kimi K2 Thinking", + "id": "qwen3-vl-plus", + "name": "Qwen3 VL Plus", + "display_name": "Qwen3 VL Plus", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262143, - "output": 16000 + "context": 262144, + "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": true + "default": false, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": true, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", "cost": { - "input": 0.6, - "output": 2.5 + "input": 0.2, + "output": 1.6, + "reasoning": 4.8 }, "type": "chat" }, { - "id": "google.gemma-3-4b-it", - "name": "Gemma 3 4B IT", - "display_name": "Gemma 3 4B IT", + "id": "qwen-vl-ocr", + "name": "Qwen Vl Ocr", + "display_name": "Qwen Vl Ocr", "modalities": { "input": [ "text", @@ -137385,64 +144068,61 @@ ] }, "limit": { - "context": 128000, + "context": 34096, "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", + "knowledge": "2024-04", + "release_date": "2024-10-28", + "last_updated": "2025-04-13", "cost": { - "input": 0.04, - "output": 0.08 + "input": 0.72, + "output": 0.72 }, "type": "chat" }, { - "id": "openai.gpt-5.5", - "name": "GPT-5.5", - "display_name": "GPT-5.5", + "id": "qwen-mt-turbo", + "name": "Qwen Mt Turbo", + "display_name": "Qwen Mt Turbo", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 272000, - "output": 128000 + "context": 16384, + "output": 8192 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-23", - "last_updated": "2026-06-01", + "knowledge": "2024-04", + "release_date": "2025-01", + "last_updated": "2025-01", "cost": { - "input": 5.5, - "output": 33, - "cache_read": 0.55 + "input": 0.16, + "output": 0.49 }, "type": "chat" }, { - "id": "zai.glm-4.7", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "qwen-mt-plus", + "name": "Qwen Mt Plus", + "display_name": "Qwen Mt Plus", "modalities": { "input": [ "text" @@ -137452,46 +144132,34 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 16384, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-01", + "last_updated": "2025-01", "cost": { - "input": 0.6, - "output": 2.2 + "input": 2.46, + "output": 7.37 }, "type": "chat" }, { - "id": "global.anthropic.claude-sonnet-4-6", - "name": "Claude Sonnet 4.6 (Global)", - "display_name": "Claude Sonnet 4.6 (Global)", + "id": "qwen3.5-plus", + "name": "Qwen3.5 Plus", + "display_name": "Qwen3.5 Plus", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" @@ -137499,155 +144167,79 @@ }, "limit": { "context": 1000000, - "output": 64000 + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", - "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 - }, - "type": "chat" - }, - { - "id": "nvidia.nemotron-nano-9b-v2", - "name": "NVIDIA Nemotron Nano 9B v2", - "display_name": "NVIDIA Nemotron Nano 9B v2", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 4096 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, "attachment": false, "open_weights": false, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", + "knowledge": "2025-04", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", "cost": { - "input": 0.06, - "output": 0.23 + "input": 0.4, + "output": 2.4, + "reasoning": 2.4 }, "type": "chat" }, { - "id": "eu.anthropic.claude-sonnet-4-6", - "name": "Claude Sonnet 4.6 (EU)", - "display_name": "Claude Sonnet 4.6 (EU)", + "id": "qwen-omni-turbo", + "name": "Qwen-Omni Turbo", + "display_name": "Qwen-Omni Turbo", "modalities": { "input": [ "text", "image", - "pdf" + "audio", + "video" ], "output": [ - "text" + "text", + "audio" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 32768, + "output": 2048 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", + "knowledge": "2024-04", + "release_date": "2025-01-19", + "last_updated": "2025-03-26", "cost": { - "input": 3.3, - "output": 16.5, - "cache_read": 0.33, - "cache_write": 4.125 + "input": 0.07, + "output": 0.27, + "input_audio": 4.44, + "output_audio": 8.89 }, "type": "chat" }, { - "id": "openai.gpt-oss-safeguard-20b", - "name": "GPT OSS Safeguard 20B", - "display_name": "GPT OSS Safeguard 20B", + "id": "qwen2-5-72b-instruct", + "name": "Qwen2.5 72B Instruct", + "display_name": "Qwen2.5 72B Instruct", "modalities": { "input": [ "text" @@ -137657,8 +144249,8 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -137666,24 +144258,23 @@ "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-10-29", - "last_updated": "2025-10-29", + "open_weights": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", "cost": { - "input": 0.07, - "output": 0.2 + "input": 1.4, + "output": 5.6 }, "type": "chat" }, { - "id": "jp.anthropic.claude-sonnet-4-6", - "name": "Claude Sonnet 4.6 (JP)", - "display_name": "Claude Sonnet 4.6 (JP)", + "id": "qwen-flash", + "name": "Qwen Flash", + "display_name": "Qwen Flash", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" @@ -137691,70 +144282,63 @@ }, "limit": { "context": 1000000, - "output": 64000 + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": false, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": true, + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" + }, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", + "knowledge": "2024-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.05, + "output": 0.4 }, "type": "chat" }, { - "id": "minimax.minimax-m2.1", - "name": "MiniMax M2.1", - "display_name": "MiniMax M2.1", + "id": "qwen3-vl-235b-a22b", + "name": "Qwen3-VL 235B-A22B", + "display_name": "Qwen3-VL 235B-A22B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -137762,117 +144346,117 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", "cost": { - "input": 0.3, - "output": 1.2 + "input": 0.7, + "output": 2.8, + "reasoning": 8.4 }, "type": "chat" }, { - "id": "global.anthropic.claude-opus-4-8", - "name": "Claude Opus 4.8 (Global)", - "display_name": "Claude Opus 4.8 (Global)", + "id": "qwen3-vl-30b-a3b", + "name": "Qwen3-VL 30B-A3B", + "display_name": "Qwen3-VL 30B-A3B", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 32768 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-05-28", - "last_updated": "2026-05-28", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.2, + "output": 0.8, + "reasoning": 2.4 }, "type": "chat" }, { - "id": "minimax.minimax-m2", - "name": "MiniMax M2", - "display_name": "MiniMax M2", + "id": "qwen-vl-max", + "name": "Qwen-VL Max", + "display_name": "Qwen-VL Max", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 204608, - "output": 128000 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-10-27", - "last_updated": "2025-10-27", + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2024-04-08", + "last_updated": "2025-08-13", "cost": { - "input": 0.3, - "output": 1.2 + "input": 0.8, + "output": 3.2 }, "type": "chat" }, { - "id": "mistral.voxtral-small-24b-2507", - "name": "Voxtral Small 24B 2507", - "display_name": "Voxtral Small 24B 2507", + "id": "qwen3.5-27b", + "name": "Qwen3.5 27B", + "display_name": "Qwen3.5 27B", "modalities": { "input": [ "text", + "image", + "video", "audio" ], "output": [ @@ -137880,28 +144464,40 @@ ] }, "limit": { - "context": 32000, - "output": 8192 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, "open_weights": true, - "release_date": "2025-07-01", - "last_updated": "2025-07-01", + "release_date": "2026-02-23", + "last_updated": "2026-02-23", "cost": { - "input": 0.15, - "output": 0.35 + "input": 0.3, + "output": 2.4 }, "type": "chat" }, { - "id": "deepseek.v3.2", - "name": "DeepSeek-V3.2", - "display_name": "DeepSeek-V3.2", + "id": "qwen-max", + "name": "Qwen Max", + "display_name": "Qwen Max", "modalities": { "input": [ "text" @@ -137911,539 +144507,391 @@ ] }, "limit": { - "context": 163840, - "output": 81920 + "context": 32768, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { + "supported": false + }, + "search": { "supported": true, - "default": true + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2026-02-06", - "last_updated": "2026-02-06", + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2024-04-03", + "last_updated": "2025-01-25", "cost": { - "input": 0.62, - "output": 1.85 + "input": 1.6, + "output": 6.4 }, "type": "chat" }, { - "id": "anthropic.claude-sonnet-4-5-20250929-v1:0", - "name": "Claude Sonnet 4.5", - "display_name": "Claude Sonnet 4.5", + "id": "qwen3-235b-a22b", + "name": "Qwen3 235B A22B", + "display_name": "Qwen3 235B A22B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": false, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.7, + "output": 2.8, + "reasoning": 8.4 }, "type": "chat" }, { - "id": "eu.anthropic.claude-opus-4-8", - "name": "Claude Opus 4.8 (EU)", - "display_name": "Claude Opus 4.8 (EU)", + "id": "qwen3-livetranslate-flash-realtime", + "name": "Qwen3-LiveTranslate Flash Realtime", + "display_name": "Qwen3-LiveTranslate Flash Realtime", "modalities": { "input": [ "text", "image", - "pdf" + "audio", + "video" ], "output": [ - "text" + "text", + "audio" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 53248, + "output": 4096 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-05-28", - "last_updated": "2026-05-28", + "knowledge": "2024-04", + "release_date": "2025-09-22", + "last_updated": "2025-09-22", "cost": { - "input": 5.5, - "output": 27.5, - "cache_read": 0.55, - "cache_write": 6.875 + "input": 10, + "output": 10, + "input_audio": 10, + "output_audio": 38 }, "type": "chat" }, { - "id": "anthropic.claude-opus-4-7", - "name": "Claude Opus 4.7", - "display_name": "Claude Opus 4.7", + "id": "qwen3.6-27b", + "name": "Qwen3.6 27B", + "display_name": "Qwen3.6 27B", "modalities": { "input": [ "text", "image", - "pdf" + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 262144, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "open_weights": true, + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.6, + "output": 3.6 }, "type": "chat" }, { - "id": "us.anthropic.claude-opus-4-5-20251101-v1:0", - "name": "Claude Opus 4.5 (US)", - "display_name": "Claude Opus 4.5 (US)", + "id": "qwen3.5-35b-a3b", + "name": "Qwen3.5 35B-A3B", + "display_name": "Qwen3.5 35B-A3B", "modalities": { "input": [ "text", "image", - "pdf" + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-08-01", + "open_weights": true, + "release_date": "2026-02-23", + "last_updated": "2026-02-23", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.25, + "output": 2 }, "type": "chat" }, { - "id": "anthropic.claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "qwen3-coder-480b-a35b-instruct", + "name": "Qwen3-Coder 480B-A35B Instruct", + "display_name": "Qwen3-Coder 480B-A35B Instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 1.5, + "output": 7.5 }, "type": "chat" }, { - "id": "us.anthropic.claude-opus-4-8", - "name": "Claude Opus 4.8 (US)", - "display_name": "Claude Opus 4.8 (US)", + "id": "qwq-plus", + "name": "QwQ Plus", + "display_name": "QwQ Plus", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 8192 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false + "default": true, + "budget": { + "default": 32768, + "min": 0, + "max": 32768 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, - "attachment": true, + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" + }, + "attachment": false, "open_weights": false, - "release_date": "2026-05-28", - "last_updated": "2026-05-28", + "knowledge": "2024-04", + "release_date": "2025-03-05", + "last_updated": "2025-03-05", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.8, + "output": 2.4 }, "type": "chat" }, { - "id": "au.anthropic.claude-opus-4-6-v1", - "name": "AU Anthropic Claude Opus 4.6", - "display_name": "AU Anthropic Claude Opus 4.6", + "id": "qwen2-5-32b-instruct", + "name": "Qwen2.5 32B Instruct", + "display_name": "Qwen2.5 32B Instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-05", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "attachment": false, + "open_weights": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", "cost": { - "input": 16.5, - "output": 82.5, - "cache_read": 1.65, - "cache_write": 20.625 + "input": 0.7, + "output": 2.8 }, "type": "chat" }, { - "id": "us.anthropic.claude-sonnet-4-5-20250929-v1:0", - "name": "Claude Sonnet 4.5 (US)", - "display_name": "Claude Sonnet 4.5 (US)", + "id": "qwen3.5-397b-a17b", + "name": "Qwen3.5 397B-A17B", + "display_name": "Qwen3.5 397B-A17B", "modalities": { "input": [ "text", "image", - "pdf" + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "open_weights": true, + "release_date": "2026-02-15", + "last_updated": "2026-02-15", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.6, + "output": 3.6 }, "type": "chat" }, { - "id": "nvidia.nemotron-nano-12b-v2", - "name": "NVIDIA Nemotron Nano 12B v2 VL BF16", - "display_name": "NVIDIA Nemotron Nano 12B v2 VL BF16", + "id": "qwen3-coder-flash", + "name": "Qwen3 Coder Flash", + "display_name": "Qwen3 Coder Flash", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -138452,18 +144900,19 @@ }, "attachment": false, "open_weights": false, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "cost": { - "input": 0.2, - "output": 0.6 + "input": 0.3, + "output": 1.5 }, "type": "chat" }, { - "id": "zai.glm-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "qwen3-14b", + "name": "Qwen3 14B", + "display_name": "Qwen3 14B", "modalities": { "input": [ "text" @@ -138473,14 +144922,19 @@ ] }, "limit": { - "context": 202752, - "output": 101376 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": true, + "budget": { + "default": 38912, + "min": 0, + "max": 38912 + } }, "extra_capabilities": { "reasoning": { @@ -138495,185 +144949,152 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", "cost": { - "input": 1, - "output": 3.2 + "input": 0.35, + "output": 1.4, + "reasoning": 4.2 }, "type": "chat" }, { - "id": "meta.llama4-maverick-17b-instruct-v1:0", - "name": "Llama 4 Maverick 17B Instruct", - "display_name": "Llama 4 Maverick 17B Instruct", + "id": "qwen3-asr-flash", + "name": "Qwen3-ASR Flash", + "display_name": "Qwen3-ASR Flash", "modalities": { "input": [ - "text", - "image" + "audio" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 16384 + "context": 53248, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "attachment": false, + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-09-08", + "last_updated": "2025-09-08", "cost": { - "input": 0.24, - "output": 0.97 + "input": 0.035, + "output": 0.035 }, "type": "chat" }, { - "id": "anthropic.claude-opus-4-1-20250805-v1:0", - "name": "Claude Opus 4.1", - "display_name": "Claude Opus 4.1", + "id": "qwen-turbo", + "name": "Qwen Turbo", + "display_name": "Qwen Turbo", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 131072, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": false, + "budget": { + "default": 38912, + "min": 0, + "max": 38912 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" + }, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2024-04", + "release_date": "2024-11-01", + "last_updated": "2025-04-28", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.05, + "output": 0.2, + "reasoning": 0.5 }, "type": "chat" }, { - "id": "us.anthropic.claude-sonnet-4-6", - "name": "Claude Sonnet 4.6 (US)", - "display_name": "Claude Sonnet 4.6 (US)", + "id": "qwen2-5-7b-instruct", + "name": "Qwen2.5 7B Instruct", + "display_name": "Qwen2.5 7B Instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", + "attachment": false, + "open_weights": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.175, + "output": 0.7 }, "type": "chat" }, { - "id": "meta.llama3-3-70b-instruct-v1:0", - "name": "Llama 3.3 70B Instruct", - "display_name": "Llama 3.3 70B Instruct", + "id": "qwen2-5-vl-7b-instruct", + "name": "Qwen2.5-VL 7B Instruct", + "display_name": "Qwen2.5-VL 7B Instruct", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -138682,19 +145103,19 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", "cost": { - "input": 0.72, - "output": 0.72 + "input": 0.35, + "output": 1.05 }, "type": "chat" }, { - "id": "qwen.qwen3-coder-next", - "name": "Qwen3 Coder Next", - "display_name": "Qwen3 Coder Next", + "id": "qwen3.6-max-preview", + "name": "Qwen3.6 Max Preview", + "display_name": "Qwen3.6 Max Preview", "modalities": { "input": [ "text" @@ -138704,7 +145125,7 @@ ] }, "limit": { - "context": 131072, + "context": 262144, "output": 65536 }, "temperature": true, @@ -138713,84 +145134,80 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, - "open_weights": true, - "release_date": "2026-02-06", - "last_updated": "2026-02-06", + "open_weights": false, + "knowledge": "2025-04", + "release_date": "2026-04-20", + "last_updated": "2026-04-20", "cost": { - "input": 0.22, - "output": 1.8 + "input": 1.3, + "output": 7.8, + "cache_read": 0.13, + "cache_write": 1.625 }, "type": "chat" }, { - "id": "eu.anthropic.claude-opus-4-5-20251101-v1:0", - "name": "Claude Opus 4.5 (EU)", - "display_name": "Claude Opus 4.5 (EU)", + "id": "qwen3.5-122b-a10b", + "name": "Qwen3.5 122B-A10B", + "display_name": "Qwen3.5 122B-A10B", "modalities": { "input": [ "text", "image", - "pdf" + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-08-01", + "open_weights": true, + "release_date": "2026-02-23", + "last_updated": "2026-02-23", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.4, + "output": 3.2 }, "type": "chat" }, { - "id": "mistral.mistral-large-3-675b-instruct", - "name": "Mistral Large 3", - "display_name": "Mistral Large 3", + "id": "qwen-vl-plus", + "name": "Qwen-VL Plus", + "display_name": "Qwen-VL Plus", "modalities": { "input": [ "text", @@ -138801,7 +145218,7 @@ ] }, "limit": { - "context": 256000, + "context": 131072, "output": 8192 }, "temperature": true, @@ -138810,30 +145227,33 @@ "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2024-01-25", + "last_updated": "2025-08-15", "cost": { - "input": 0.5, - "output": 1.5 + "input": 0.21, + "output": 0.63 }, "type": "chat" }, { - "id": "writer.palmyra-x4-v1:0", - "name": "Palmyra X4", - "display_name": "Palmyra X4", + "id": "qwen3.6-plus", + "name": "Qwen3.6 Plus", + "display_name": "Qwen3.6 Plus", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 122880, - "output": 8192 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -138841,32 +145261,63 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": false, - "release_date": "2025-04-28", - "last_updated": "2025-04-28", + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 2.5, - "output": 10 + "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 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.2, + "cache_write": 2.5 + } }, "type": "chat" }, { - "id": "mistral.pixtral-large-2502-v1:0", - "name": "Pixtral Large (25.02)", - "display_name": "Pixtral Large (25.02)", + "id": "qwen3-coder-plus-2025-09-23", + "name": "Qwen3 Coder Plus 2025 09 23", + "display_name": "Qwen3 Coder Plus 2025 09 23", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -138874,19 +145325,12 @@ "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-04-08", - "last_updated": "2025-04-08", - "cost": { - "input": 2, - "output": 6 - }, "type": "chat" }, { - "id": "amazon.nova-micro-v1:0", - "name": "Nova Micro", - "display_name": "Nova Micro", + "id": "qwen3-coder-plus-2025-07-22", + "name": "Qwen3 Coder Plus 2025 07 22", + "display_name": "Qwen3 Coder Plus 2025 07 22", "modalities": { "input": [ "text" @@ -138896,8 +145340,8 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -138905,148 +145349,142 @@ "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "cost": { - "input": 0.035, - "output": 0.14, - "cache_read": 0.00875 + "type": "chat" + }, + { + "id": "qwen-vl-ocr-latest", + "name": "Qwen Vl Ocr Latest", + "display_name": "Qwen Vl Ocr Latest", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 34096, + "output": 4096 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false }, + "attachment": false, "type": "chat" }, { - "id": "anthropic.claude-opus-4-6-v1", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", + "id": "qvq-max-2025-05-15", + "name": "Qvq Max 2025 05 15", + "display_name": "Qvq Max 2025 05 15", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] + "default": false, + "budget": { + "default": 16384, + "min": 0, + "max": 16384 } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-03-13", - "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "attachment": false, + "type": "chat" + }, + { + "id": "qwen-long", + "name": "Qwen Long", + "display_name": "Qwen Long", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 8192 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false }, + "attachment": false, "type": "chat" }, { - "id": "eu.anthropic.claude-sonnet-4-5-20250929-v1:0", - "name": "Claude Sonnet 4.5 (EU)", - "display_name": "Claude Sonnet 4.5 (EU)", + "id": "qwen-turbo-latest", + "name": "Qwen Turbo Latest", + "display_name": "Qwen Turbo Latest", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 131072, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": false, + "budget": { + "default": 38912, + "min": 0, + "max": 38912 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "cost": { - "input": 3.3, - "output": 16.5, - "cache_read": 0.33, - "cache_write": 4.125 + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, + "attachment": false, "type": "chat" }, { - "id": "google.gemma-3-12b-it", - "name": "Google Gemma 3 12B", - "display_name": "Google Gemma 3 12B", + "id": "qwen-turbo-2024-09-19", + "name": "Qwen Turbo 2024 09 19", + "display_name": "Qwen Turbo 2024 09 19", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -139057,133 +145495,121 @@ "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2024-12", - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "cost": { - "input": 0.049999999999999996, - "output": 0.09999999999999999 - }, "type": "chat" }, { - "id": "mistral.magistral-small-2509", - "name": "Magistral Small 1.2", - "display_name": "Magistral Small 1.2", + "id": "qwen-flash-2025-07-28", + "name": "Qwen Flash 2025 07 28", + "display_name": "Qwen Flash 2025 07 28", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 40000 + "context": 1000000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, - "attachment": false, - "open_weights": true, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", - "cost": { - "input": 0.5, - "output": 1.5 + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, + "attachment": false, "type": "chat" }, { - "id": "anthropic.claude-opus-4-5-20251101-v1:0", - "name": "Claude Opus 4.5", - "display_name": "Claude Opus 4.5", + "id": "qwen-plus-latest", + "name": "Qwen Plus Latest", + "display_name": "Qwen Plus Latest", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 1000000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": false, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-08-01", - "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, + "attachment": false, "type": "chat" }, { - "id": "google.gemma-3-27b-it", - "name": "Google Gemma 3 27B Instruct", - "display_name": "Google Gemma 3 27B Instruct", + "id": "qwen-plus-2024-09-19", + "name": "Qwen Plus 2024 09 19", + "display_name": "Qwen Plus 2024 09 19", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 202752, + "context": 131072, "output": 8192 }, "temperature": true, @@ -139191,87 +145617,63 @@ "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-07", - "release_date": "2025-07-27", - "last_updated": "2025-07-27", - "cost": { - "input": 0.12, - "output": 0.2 - }, + "attachment": false, "type": "chat" }, { - "id": "global.anthropic.claude-fable-5", - "name": "Claude Fable 5 (Global)", - "display_name": "Claude Fable 5 (Global)", + "id": "qwen-plus-2025-07-14", + "name": "Qwen Plus 2025 07 14", + "display_name": "Qwen Plus 2025 07 14", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false, + "budget": { + "default": 38912, + "min": 0, + "max": 38912 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Adaptive thinking is always on for Claude Fable 5 and Claude Mythos 5; thinking.type = \"disabled\" is rejected.", - "Manual budget_tokens requests return 400 on Claude Fable 5 and Claude Mythos 5.", - "thinking.display defaults to omitted; set display to summarized to receive readable thinking summaries." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-06-09", - "last_updated": "2026-06-09", - "cost": { - "input": 10, - "output": 50, - "cache_read": 1, - "cache_write": 12.5 + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, + "attachment": false, "type": "chat" }, { - "id": "eu.anthropic.claude-fable-5", - "name": "Claude Fable 5 (EU)", - "display_name": "Claude Fable 5 (EU)", + "id": "qwen-plus-2025-09-11", + "name": "Qwen Plus 2025 09 11", + "display_name": "Qwen Plus 2025 09 11", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -139279,215 +145681,151 @@ }, "limit": { "context": 1000000, - "output": 128000 + "output": 32768 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Adaptive thinking is always on for Claude Fable 5 and Claude Mythos 5; thinking.type = \"disabled\" is rejected.", - "Manual budget_tokens requests return 400 on Claude Fable 5 and Claude Mythos 5.", - "thinking.display defaults to omitted; set display to summarized to receive readable thinking summaries." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-06-09", - "last_updated": "2026-06-09", - "cost": { - "input": 11, - "output": 55, - "cache_read": 1.1, - "cache_write": 13.75 + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, + "attachment": false, "type": "chat" }, { - "id": "us.meta.llama4-maverick-17b-instruct-v1:0", - "name": "Llama 4 Maverick 17B Instruct (US)", - "display_name": "Llama 4 Maverick 17B Instruct (US)", + "id": "qwen-max-latest", + "name": "Qwen Max Latest", + "display_name": "Qwen Max Latest", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 16384 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "cost": { - "input": 0.24, - "output": 0.97 + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, + "attachment": false, "type": "chat" }, { - "id": "amazon.nova-2-lite-v1:0", - "name": "Nova 2 Lite", - "display_name": "Nova 2 Lite", + "id": "qwen-max-2024-09-19", + "name": "Qwen Max 2024 09 19", + "display_name": "Qwen Max 2024 09 19", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 32768, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { + "supported": false + }, + "search": { "supported": true, - "default": true + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, "attachment": false, - "open_weights": false, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "cost": { - "input": 0.33, - "output": 2.75 - }, "type": "chat" }, { - "id": "jp.anthropic.claude-sonnet-4-5-20250929-v1:0", - "name": "Claude Sonnet 4.5 (JP)", - "display_name": "Claude Sonnet 4.5 (JP)", + "id": "qwen-max-2024-04-28", + "name": "Qwen Max 2024 04 28", + "display_name": "Qwen Max 2024 04 28", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 8000, + "output": 2000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "supported": false }, + "attachment": false, "type": "chat" }, { - "id": "us.meta.llama4-scout-17b-instruct-v1:0", - "name": "Llama 4 Scout 17B Instruct (US)", - "display_name": "Llama 4 Scout 17B Instruct (US)", + "id": "qwen-max-2024-04-03", + "name": "Qwen Max 2024 04 03", + "display_name": "Qwen Max 2024 04 03", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 3500000, - "output": 16384 + "context": 8000, + "output": 2000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "cost": { - "input": 0.17, - "output": 0.66 - }, + "attachment": false, "type": "chat" }, { - "id": "nvidia.nemotron-nano-3-30b", - "name": "NVIDIA Nemotron Nano 3 30B", - "display_name": "NVIDIA Nemotron Nano 3 30B", + "id": "qwen-max-2025-01-25", + "name": "Qwen Max 2025 01 25", + "display_name": "Qwen Max 2025 01 25", "modalities": { "input": [ "text" @@ -139497,226 +145835,163 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { + "supported": false + }, + "search": { "supported": true, - "default": true + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, "attachment": false, - "open_weights": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "cost": { - "input": 0.06, - "output": 0.24 - }, "type": "chat" }, { - "id": "au.anthropic.claude-sonnet-4-6", - "name": "AU Anthropic Claude Sonnet 4.6", - "display_name": "AU Anthropic Claude Sonnet 4.6", + "id": "qwen3-max-2025-09-23", + "name": "Qwen3 Max 20250923", + "display_name": "Qwen3 Max 20250923", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08", - "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "cost": { - "input": 3.3, - "output": 16.5, - "cache_read": 0.33, - "cache_write": 4.125 + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, + "attachment": false, "type": "chat" }, { - "id": "openai.gpt-5.4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "qwen3-max-preview", + "name": "Qwen3 Max Preview", + "display_name": "Qwen3 Max Preview", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 272000, - "output": 128000 + "context": 262144, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-06-01", - "cost": { - "input": 2.75, - "output": 16.5, - "cache_read": 0.275 + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "search": { + "supported": true, + "default": false, + "forced_search": false, + "search_strategy": "turbo" }, + "attachment": false, "type": "chat" }, { - "id": "jp.anthropic.claude-opus-4-7", - "name": "Claude Opus 4.7 (JP)", - "display_name": "Claude Opus 4.7 (JP)", + "id": "qwen3-235b-a22b-thinking-2507", + "name": "Qwen3 235B A22B Thinking 2507", + "display_name": "Qwen3 235B A22B Thinking 2507", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 32768 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false + "default": true, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", - "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 - }, + "attachment": false, "type": "chat" }, { - "id": "meta.llama4-scout-17b-instruct-v1:0", - "name": "Llama 4 Scout 17B Instruct", - "display_name": "Llama 4 Scout 17B Instruct", + "id": "qwen3-235b-a22b-instruct-2507", + "name": "Qwen3 235B A22B Instruct 2507", + "display_name": "Qwen3 235B A22B Instruct 2507", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 3500000, - "output": 16384 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "cost": { - "input": 0.17, - "output": 0.66 - }, + "attachment": false, "type": "chat" }, { - "id": "openai.gpt-oss-safeguard-120b", - "name": "GPT OSS Safeguard 120B", - "display_name": "GPT OSS Safeguard 120B", + "id": "qwen3-30b-a3b-instruct-2507", + "name": "Qwen3 30B A3B Instruct 2507", + "display_name": "Qwen3 30B A3B Instruct 2507", "modalities": { "input": [ "text" @@ -139726,8 +146001,8 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -139735,139 +146010,94 @@ "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-10-29", - "last_updated": "2025-10-29", - "cost": { - "input": 0.15, - "output": 0.6 - }, "type": "chat" }, { - "id": "global.anthropic.claude-sonnet-4-5-20250929-v1:0", - "name": "Claude Sonnet 4.5 (Global)", - "display_name": "Claude Sonnet 4.5 (Global)", + "id": "qwen3-30b-a3b-thinking-2507", + "name": "Qwen3 30B A3B Thinking 2507", + "display_name": "Qwen3 30B A3B Thinking 2507", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 131072, + "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false + "default": true, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 - }, + "attachment": false, "type": "chat" }, { - "id": "us.anthropic.claude-fable-5", - "name": "Claude Fable 5 (US)", - "display_name": "Claude Fable 5 (US)", + "id": "qwen3-30b-a3b", + "name": "Qwen3 30B A3B", + "display_name": "Qwen3 30B A3B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 131072, + "output": 32768 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Adaptive thinking is always on for Claude Fable 5 and Claude Mythos 5; thinking.type = \"disabled\" is rejected.", - "Manual budget_tokens requests return 400 on Claude Fable 5 and Claude Mythos 5.", - "thinking.display defaults to omitted; set display to summarized to receive readable thinking summaries." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-06-09", - "last_updated": "2026-06-09", - "cost": { - "input": 10, - "output": 50, - "cache_read": 1, - "cache_write": 12.5 - }, + "attachment": false, "type": "chat" }, { - "id": "zai.glm-4.7-flash", - "name": "GLM-4.7-Flash", - "display_name": "GLM-4.7-Flash", + "id": "qwen3-4b", + "name": "Qwen3 4B", + "display_name": "Qwen3 4B", "modalities": { "input": [ "text" @@ -139877,30 +146107,38 @@ ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": true, + "budget": { + "default": 38912, + "min": 0, + "max": 38912 + } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "cost": { - "input": 0.07, - "output": 0.4 + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, + "attachment": false, "type": "chat" }, { - "id": "openai.gpt-oss-20b-1:0", - "name": "gpt-oss-20b", - "display_name": "gpt-oss-20b", + "id": "qwen3-1.7b", + "name": "Qwen3 1.7B", + "display_name": "Qwen3 1.7B", "modalities": { "input": [ "text" @@ -139910,181 +146148,121 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 32768, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": true, + "budget": { + "default": 30720, + "min": 0, + "max": 30720 + } }, - "attachment": false, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "cost": { - "input": 0.07, - "output": 0.3 + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, + "attachment": false, "type": "chat" }, { - "id": "anthropic.claude-opus-4-8", - "name": "Claude Opus 4.8", - "display_name": "Claude Opus 4.8", + "id": "qwen3-0.6b", + "name": "Qwen3 0.6B", + "display_name": "Qwen3 0.6B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 32768, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true, + "budget": { + "default": 30720, + "min": 0, + "max": 30720 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-05-28", - "last_updated": "2026-05-28", - "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 - }, + "attachment": false, "type": "chat" }, { - "id": "au.anthropic.claude-sonnet-4-5-20250929-v1:0", - "name": "Claude Sonnet 4.5 (AU)", - "display_name": "Claude Sonnet 4.5 (AU)", + "id": "qwen3-vl-plus-2025-09-23", + "name": "Qwen3 VL Plus 2025 09 23", + "display_name": "Qwen3 VL Plus 2025 09 23", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 262144, + "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false + "default": false, + "budget": { + "default": 81920, + "min": 0, + "max": 81920 + } }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 - }, - "type": "chat" - }, - { - "id": "openai.gpt-oss-20b", - "name": "gpt-oss-20b", - "display_name": "gpt-oss-20b", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 16384 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "cost": { - "input": 0.07, - "output": 0.3 - }, "type": "chat" }, { - "id": "qwen.qwen3-32b-v1:0", - "name": "Qwen3 32B (dense)", - "display_name": "Qwen3 32B (dense)", + "id": "qwq-plus-latest", + "name": "QwQ Plus Latest", + "display_name": "QwQ Plus Latest", "modalities": { "input": [ "text" @@ -140094,151 +146272,180 @@ ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 131072, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": true - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-04", - "release_date": "2025-09-18", - "last_updated": "2025-09-18", - "cost": { - "input": 0.15, - "output": 0.6 - }, - "type": "chat" - }, - { - "id": "deepseek.r1-v1:0", - "name": "DeepSeek-R1", - "display_name": "DeepSeek-R1", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] + "default": true, + "budget": { + "default": 32768, + "min": 0, + "max": 32768 + } }, - "limit": { - "context": 128000, - "output": 32768 + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true + "search": { + "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-05-29", - "cost": { - "input": 1.35, - "output": 5.4 - }, "type": "chat" - }, + } + ] + }, + "databricks": { + "id": "databricks", + "name": "Databricks", + "display_name": "Databricks", + "api": "https://${DATABRICKS_HOST}/ai-gateway/mlflow/v1", + "doc": "https://docs.databricks.com/aws/en/machine-learning/foundation-models/", + "models": [ { - "id": "amazon.nova-lite-v1:0", - "name": "Nova Lite", - "display_name": "Nova Lite", + "id": "databricks-claude-opus-4-7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 300000, - "output": 8192 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] + } }, "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 0.06, - "output": 0.24, - "cache_read": 0.015 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "us.deepseek.r1-v1:0", - "name": "DeepSeek-R1 (US)", - "display_name": "DeepSeek-R1 (US)", + "id": "databricks-gpt-5-4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-05-29", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 1.35, - "output": 5.4 + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tiers": [ + { + "input": 5, + "output": 22.5, + "cache_read": 0.5, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 5, + "output": 22.5, + "cache_read": 0.5 + } }, "type": "chat" - } - ] - }, - "synthetic": { - "id": "synthetic", - "name": "Synthetic", - "display_name": "Synthetic", - "api": "https://api.synthetic.new/openai/v1", - "doc": "https://synthetic.new/pricing", - "models": [ + }, { - "id": "hf:openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "display_name": "GPT OSS 120B", + "id": "databricks-gemini-3-flash", + "name": "Gemini 3 Flash Preview", + "display_name": "Gemini 3 Flash Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -140246,124 +146453,157 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", "cost": { - "input": 0.1, - "output": 0.1 + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "input_audio": 1 }, "type": "chat" }, { - "id": "hf:meta-llama/Llama-3.1-70B-Instruct", - "name": "Llama-3.1-70B-Instruct", - "display_name": "Llama-3.1-70B-Instruct", + "id": "databricks-claude-opus-4-5", + "name": "Claude Opus 4.5 (latest)", + "display_name": "Claude Opus 4.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", "cost": { - "input": 0.9, - "output": 0.9 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "hf:meta-llama/Llama-3.1-405B-Instruct", - "name": "Llama-3.1-405B-Instruct", - "display_name": "Llama-3.1-405B-Instruct", + "id": "databricks-gpt-5-nano", + "name": "GPT-5 Nano", + "display_name": "GPT-5 Nano", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "attachment": true, + "open_weights": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 3, - "output": 3 + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 }, "type": "chat" }, { - "id": "hf:meta-llama/Llama-3.1-8B-Instruct", - "name": "Llama-3.1-8B-Instruct", - "display_name": "Llama-3.1-8B-Instruct", + "id": "databricks-gpt-5-mini", + "name": "GPT-5 Mini", + "display_name": "GPT-5 Mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "attachment": true, + "open_weights": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.2, - "output": 0.2 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "hf:meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", - "name": "Llama-4-Maverick-17B-128E-Instruct-FP8", - "display_name": "Llama-4-Maverick-17B-128E-Instruct-FP8", + "id": "databricks-gpt-5", + "name": "GPT-5", + "display_name": "GPT-5", "modalities": { "input": [ "text", @@ -140374,40 +146614,46 @@ ] }, "limit": { - "context": 524000, - "output": 4096 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.22, - "output": 0.88 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "hf:meta-llama/Llama-3.3-70B-Instruct", - "name": "Llama-3.3-70B-Instruct", - "display_name": "Llama-3.3-70B-Instruct", + "id": "databricks-gemini-2-5-pro", + "name": "Gemini 2.5 Pro", + "display_name": "Gemini 2.5 Pro", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -140415,366 +146661,445 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 0.9, - "output": 0.9 + "input": 1.25, + "output": 10, + "cache_read": 0.125, + "tiers": [ + { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } }, "type": "chat" }, { - "id": "hf:meta-llama/Llama-4-Scout-17B-16E-Instruct", - "name": "Llama-4-Scout-17B-16E-Instruct", - "display_name": "Llama-4-Scout-17B-16E-Instruct", + "id": "databricks-gemini-3-1-pro", + "name": "Gemini 3.1 Pro Preview Custom Tools", + "display_name": "Gemini 3.1 Pro Preview Custom Tools", "modalities": { "input": [ "text", - "image" + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 328000, - "output": 4096 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", "cost": { - "input": 0.15, - "output": 0.6 + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "hf:Qwen/Qwen3-Coder-480B-A35B-Instruct", - "name": "Qwen 3 Coder 480B", - "display_name": "Qwen 3 Coder 480B", + "id": "databricks-gemini-2-5-flash", + "name": "Gemini 2.5 Flash", + "display_name": "Gemini 2.5 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 32000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 2, - "output": 2 + "input": 0.3, + "output": 2.5, + "cache_read": 0.03, + "input_audio": 1 }, "type": "chat" }, { - "id": "hf:Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen3 235B A22B Thinking 2507", - "display_name": "Qwen3 235B A22B Thinking 2507", + "id": "databricks-claude-sonnet-4", + "name": "Claude Sonnet 4.5", + "display_name": "Claude Sonnet 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 32000 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", + "attachment": true, + "open_weights": false, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0.65, - "output": 3 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "hf:Qwen/Qwen3.5-397B-A17B", - "name": "Qwen3.5-97B-A17B", - "display_name": "Qwen3.5-97B-A17B", + "id": "databricks-claude-haiku-4-5", + "name": "Claude Haiku 4.5 (latest)", + "display_name": "Claude Haiku 4.5 (latest)", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "attachment": true, + "open_weights": false, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 0.6, - "output": 3, - "cache_read": 0.6 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "hf:Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen 3 235B Instruct", - "display_name": "Qwen 3 235B Instruct", + "id": "databricks-gpt-5-4-nano", + "name": "GPT-5.4 nano", + "display_name": "GPT-5.4 nano", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 32000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04-28", - "last_updated": "2025-07-21", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { "input": 0.2, - "output": 0.6 - }, - "type": "chat" - }, - { - "id": "hf:Qwen/Qwen2.5-Coder-32B-Instruct", - "name": "Qwen2.5-Coder-32B-Instruct", - "display_name": "Qwen2.5-Coder-32B-Instruct", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 32768, - "output": 32768 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2024-11-11", - "last_updated": "2024-11-11", - "cost": { - "input": 0.8, - "output": 0.8 + "output": 1.25, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "hf:MiniMaxAI/MiniMax-M2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "databricks-claude-opus-4-6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 191488, - "output": 65536 + "context": 1000000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-07", - "last_updated": "2026-02-07", + "attachment": true, + "open_weights": false, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", "cost": { - "input": 0.6, - "output": 3, - "cache_read": 0.6 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "hf:MiniMaxAI/MiniMax-M2", - "name": "MiniMax-M2", - "display_name": "MiniMax-M2", + "id": "databricks-gpt-5-1", + "name": "GPT-5.1", + "display_name": "GPT-5.1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 196608, - "output": 131000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-10-27", - "last_updated": "2025-10-27", + "attachment": true, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0.55, - "output": 2.19 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "hf:MiniMaxAI/MiniMax-M2.1", - "name": "MiniMax-M2.1", - "display_name": "MiniMax-M2.1", + "id": "databricks-claude-sonnet-4-5", + "name": "Claude Sonnet 4.5 (latest)", + "display_name": "Claude Sonnet 4.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "attachment": true, + "open_weights": false, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0.55, - "output": 2.19 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "hf:zai-org/GLM-4.7", - "name": "GLM 4.7", - "display_name": "GLM 4.7", + "id": "databricks-claude-opus-4-1", + "name": "Claude Opus 4.1 (latest)", + "display_name": "Claude Opus 4.1 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" @@ -140782,50 +147107,118 @@ }, "limit": { "context": 200000, - "output": 64000 + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.55, - "output": 2.19 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "hf:zai-org/GLM-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "databricks-gpt-5-5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ + "text", + "image", + "pdf" + ], + "output": [ "text" + ] + }, + "limit": { + "context": 1050000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + } + }, + "type": "chat" + }, + { + "id": "databricks-gemini-3-1-flash-lite", + "name": "Gemini 3.1 Flash Lite Preview", + "display_name": "Gemini 3.1 Flash Lite Preview", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 196608, + "context": 1048576, "output": 65536 }, "temperature": true, @@ -140834,42 +147227,37 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-04-08", + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", "cost": { - "input": 1, - "output": 3, - "cache_read": 1 + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "input_audio": 0.5 }, "type": "chat" }, { - "id": "hf:zai-org/GLM-5.1", - "name": "GLM 5.1", - "display_name": "GLM 5.1", + "id": "databricks-gemini-3-pro", + "name": "Gemini 3 Pro Preview", + "display_name": "Gemini 3 Pro Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 196608, + "context": 1048576, "output": 65536 }, "temperature": true, @@ -140878,76 +147266,103 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-04-12", + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", "cost": { - "input": 1, - "output": 3, - "cache_read": 1 + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "hf:zai-org/GLM-4.7-Flash", - "name": "GLM-4.7-Flash", - "display_name": "GLM-4.7-Flash", + "id": "databricks-claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 196608, - "output": 65536 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-01-18", - "last_updated": "2026-01-18", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "cost": { - "input": 0.06, - "output": 0.4, - "cache_read": 0.06 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "hf:zai-org/GLM-4.6", - "name": "GLM 4.6", - "display_name": "GLM 4.6", + "id": "databricks-gpt-oss-20b", + "name": "GPT OSS 20B", + "display_name": "GPT OSS 20B", "modalities": { "input": [ "text" @@ -140957,8 +147372,8 @@ ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -140966,26 +147381,20 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.55, - "output": 2.19 + "input": 0.05, + "output": 0.2 }, "type": "chat" }, { - "id": "hf:nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4", - "name": "Nemotron 3 Super 120B", - "display_name": "Nemotron 3 Super 120B", + "id": "databricks-gpt-oss-120b", + "name": "GPT OSS 120B", + "display_name": "GPT OSS 120B", "modalities": { "input": [ "text" @@ -140995,8 +147404,8 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -141004,33 +147413,20 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, "open_weights": true, - "knowledge": "2024-04", - "release_date": "2026-03-11", - "last_updated": "2026-04-03", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.3, - "output": 1, - "cache_read": 0.3 + "input": 0.072, + "output": 0.28 }, "type": "chat" }, { - "id": "hf:nvidia/Kimi-K2.5-NVFP4", - "name": "Kimi K2.5 (NVFP4)", - "display_name": "Kimi K2.5 (NVFP4)", + "id": "databricks-gpt-5-2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", "modalities": { "input": [ "text", @@ -141041,73 +147437,75 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01", - "last_updated": "2026-01", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.55, - "output": 2.19 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "hf:deepseek-ai/DeepSeek-V3.1", - "name": "DeepSeek V3.1", - "display_name": "DeepSeek V3.1", + "id": "databricks-gpt-5-4-mini", + "name": "GPT-5.4 mini", + "display_name": "GPT-5.4 mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, + "context": 400000, "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0.56, - "output": 1.68 + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 }, "type": "chat" - }, + } + ] + }, + "crof": { + "id": "crof", + "name": "CrofAI", + "display_name": "CrofAI", + "api": "https://crof.ai/v1", + "doc": "https://crof.ai/docs", + "models": [ { - "id": "hf:deepseek-ai/DeepSeek-V3.1-Terminus", - "name": "DeepSeek V3.1 Terminus", - "display_name": "DeepSeek V3.1 Terminus", + "id": "deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ "text" @@ -141117,8 +147515,8 @@ ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 1000000, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -141126,20 +147524,33 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, - "open_weights": false, - "release_date": "2025-09-22", - "last_updated": "2025-09-25", + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 1.2, - "output": 1.2 + "input": 0.12, + "output": 0.21, + "cache_read": 0.003 }, "type": "chat" }, { - "id": "hf:deepseek-ai/DeepSeek-V3.2", - "name": "DeepSeek V3.2", - "display_name": "DeepSeek V3.2", + "id": "minimax-m2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ "text" @@ -141149,14 +147560,13 @@ ] }, "limit": { - "context": 162816, - "output": 8000 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -141165,20 +147575,20 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.27, - "output": 0.4, - "cache_read": 0.27, - "cache_write": 0 + "input": 0.11, + "output": 0.95, + "cache_read": 0.02, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "hf:deepseek-ai/DeepSeek-R1", - "name": "DeepSeek R1", - "display_name": "DeepSeek R1", + "id": "glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", "modalities": { "input": [ "text" @@ -141188,8 +147598,8 @@ ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 202752, + "output": 202752 }, "temperature": true, "tool_call": true, @@ -141210,19 +147620,21 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 0.55, - "output": 2.19 + "input": 0.25, + "output": 1.1, + "cache_read": 0.05, + "cache_write": 0 }, "type": "chat" }, { - "id": "hf:deepseek-ai/DeepSeek-V3-0324", - "name": "DeepSeek V3 (0324)", - "display_name": "DeepSeek V3 (0324)", + "id": "greg-1-super", + "name": "Greg 1 Super", + "display_name": "Greg 1 Super", "modalities": { "input": [ "text" @@ -141232,28 +147644,29 @@ ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 229376, + "output": 229376 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-08-01", - "last_updated": "2025-08-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 1.2, - "output": 1.2 + "input": 1, + "output": 5, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "hf:deepseek-ai/DeepSeek-V3", - "name": "DeepSeek V3", - "display_name": "DeepSeek V3", + "id": "deepseek-v4-pro-lightning", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ "text" @@ -141263,8 +147676,8 @@ ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 1000000, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -141272,21 +147685,33 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-05-29", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 1.25, - "output": 1.25 + "input": 0.8, + "output": 1.6, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "hf:deepseek-ai/DeepSeek-R1-0528", - "name": "DeepSeek R1 (0528)", - "display_name": "DeepSeek R1 (0528)", + "id": "greg-rp", + "name": "Greg (Roleplay)", + "display_name": "Greg (Roleplay)", "modalities": { "input": [ "text" @@ -141296,40 +147721,29 @@ ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 229376, + "output": 229376 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-08-01", - "last_updated": "2025-08-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 3, - "output": 8 + "input": 0.1, + "output": 0.3, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "hf:moonshotai/Kimi-K2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "gemma-4-31b-it", + "name": "Gemma 4 31B IT", + "display_name": "Gemma 4 31B IT", "modalities": { "input": [ "text", @@ -141341,7 +147755,7 @@ }, "limit": { "context": 262144, - "output": 65536 + "output": 262144 }, "temperature": true, "tool_call": true, @@ -141349,33 +147763,21 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": true, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0.95, - "output": 4, - "cache_read": 0.95 + "input": 0.1, + "output": 0.3, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "hf:moonshotai/Kimi-K2-Instruct-0905", - "name": "Kimi K2 0905", - "display_name": "Kimi K2 0905", + "id": "greg-1", + "name": "Greg 1 Normal", + "display_name": "Greg 1 Normal", "modalities": { "input": [ "text" @@ -141385,41 +147787,40 @@ ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 229376, + "output": 229376 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", + "open_weights": false, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 1.2, - "output": 1.2 + "input": 0.1, + "output": 0.3, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "hf:moonshotai/Kimi-K2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "glm-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 202752, + "output": 202752 }, "temperature": true, "tool_call": true, @@ -141440,19 +147841,20 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01", - "last_updated": "2026-01", + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 0.55, - "output": 2.19 + "input": 0.45, + "output": 2.15, + "cache_read": 0.08, + "cache_write": 0 }, "type": "chat" }, { - "id": "hf:moonshotai/Kimi-K2-Thinking", - "name": "Kimi K2 Thinking", - "display_name": "Kimi K2 Thinking", + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ "text" @@ -141462,8 +147864,8 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1000000, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -141484,41 +147886,35 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-11", - "release_date": "2025-11-07", - "last_updated": "2025-11-07", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.55, - "output": 2.19 + "input": 0.35, + "output": 0.8, + "cache_read": 0.003 }, "type": "chat" - } - ] - }, - "cloudferro-sherlock": { - "id": "cloudferro-sherlock", - "name": "CloudFerro Sherlock", - "display_name": "CloudFerro Sherlock", - "api": "https://api-sherlock.cloudferro.com/openai/v1/", - "doc": "https://docs.sherlock.cloudferro.com/", - "models": [ + }, { - "id": "MiniMaxAI/MiniMax-M2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "kimi-k2.5-lightning", + "name": "Kimi K2.5 (Lightning)", + "display_name": "Kimi K2.5 (Lightning)", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 196000, - "output": 16000 + "context": 131072, + "output": 32768 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -141526,131 +147922,185 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, "open_weights": true, - "knowledge": "2026-01", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "release_date": "2026-02-06", + "last_updated": "2026-02-06", "cost": { - "input": 0.3, - "output": 1.2 + "input": 1, + "output": 3, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "meta-llama/Llama-3.3-70B-Instruct", - "name": "Llama 3.3 70B Instruct", - "display_name": "Llama 3.3 70B Instruct", + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 70000, - "output": 70000 + "context": 262144, + "output": 262144 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "knowledge": "2024-10-09", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", "cost": { - "input": 2.92, - "output": 2.92 + "input": 0.35, + "output": 1.7, + "cache_read": 0.07 }, "type": "chat" }, { - "id": "speakleash/Bielik-11B-v2.6-Instruct", - "name": "Bielik 11B v2.6 Instruct", - "display_name": "Bielik 11B v2.6 Instruct", + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 32000, - "output": 32000 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": true, - "knowledge": "2025-03", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0.67, - "output": 0.67 + "input": 0.5, + "output": 1.99, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "speakleash/Bielik-11B-v3.0-Instruct", - "name": "Bielik 11B v3.0 Instruct", - "display_name": "Bielik 11B v3.0 Instruct", + "id": "qwen3.6-27b", + "name": "Qwen3.6 27B", + "display_name": "Qwen3.6 27B", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 32000, - "output": 32000 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": true, - "knowledge": "2025-03", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 0.67, - "output": 0.67 + "input": 0.2, + "output": 1.5, + "cache_read": 0.04 }, "type": "chat" }, { - "id": "openai/gpt-oss-120b", - "name": "OpenAI GPT OSS 120B", - "display_name": "OpenAI GPT OSS 120B", + "id": "qwen3.5-9b", + "name": "Qwen3.5 9B", + "display_name": "Qwen3.5 9B", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -141660,66 +148110,77 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2025-08-28", - "last_updated": "2025-08-28", + "release_date": "2026-03-13", + "last_updated": "2026-03-13", "cost": { - "input": 2.92, - "output": 2.92 + "input": 0.04, + "output": 0.15, + "cache_read": 0.008 }, "type": "chat" - } - ] - }, - "helicone": { - "id": "helicone", - "name": "Helicone", - "display_name": "Helicone", - "api": "https://ai-gateway.helicone.ai/v1", - "doc": "https://helicone.ai/models", - "models": [ + }, { - "id": "chatgpt-4o-latest", - "name": "OpenAI ChatGPT-4o", - "display_name": "OpenAI ChatGPT-4o", + "id": "qwen3.5-397b-a17b", + "name": "Qwen3.5 397B-A17B", + "display_name": "Qwen3.5 397B-A17B", "modalities": { "input": [ "text", - "image" + "image", + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-08", - "release_date": "2024-08-14", - "last_updated": "2024-08-14", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-02-15", + "last_updated": "2026-02-15", "cost": { - "input": 5, - "output": 20, - "cache_read": 2.5 + "input": 0.35, + "output": 1.75, + "cache_read": 0.07 }, "type": "chat" }, { - "id": "mistral-large-2411", - "name": "Mistral-Large", - "display_name": "Mistral-Large", + "id": "glm-4.7-flash", + "name": "GLM-4.7-Flash", + "display_name": "GLM-4.7-Flash", "modalities": { "input": [ "text" @@ -141729,148 +148190,111 @@ ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 202752, + "output": 131072 }, "temperature": true, "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-07", - "release_date": "2024-07-24", - "last_updated": "2024-07-24", - "cost": { - "input": 2, - "output": 6 - }, - "type": "chat" - }, - { - "id": "gpt-5-pro", - "name": "OpenAI: GPT-5 Pro", - "display_name": "OpenAI: GPT-5 Pro", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 32768 - }, - "temperature": false, - "tool_call": false, "reasoning": { "supported": true, "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "fixed", - "effort": "high", - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, "attachment": false, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", "cost": { - "input": 15, - "output": 120 + "input": 0.04, + "output": 0.3, + "cache_read": 0.008, + "cache_write": 0 }, "type": "chat" }, { - "id": "claude-sonnet-4", - "name": "Anthropic: Claude Sonnet 4", - "display_name": "Anthropic: Claude Sonnet 4", + "id": "mimo-v2.5-pro", + "name": "MiMo-V2.5-Pro", + "display_name": "MiMo-V2.5-Pro", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 1048576, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": false, - "open_weights": false, - "knowledge": "2025-05", - "release_date": "2025-05-14", - "last_updated": "2025-05-14", + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.30000000000000004, - "cache_write": 3.75 + "input": 0.4, + "output": 0.8, + "cache_read": 0.003, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "gpt-5-mini", - "name": "OpenAI GPT-5 Mini", - "display_name": "OpenAI GPT-5 Mini", + "id": "glm-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 202752, + "output": 202752 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -141879,74 +148303,67 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "open_weights": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.024999999999999998 + "input": 0.48, + "output": 1.9, + "cache_read": 0.1, + "cache_write": 0 }, "type": "chat" }, { - "id": "qwen3-next-80b-a3b-instruct", - "name": "Qwen3 Next 80B A3B Instruct", - "display_name": "Qwen3 Next 80B A3B Instruct", + "id": "deepseek-v3.2", + "name": "DeepSeek V3.2", + "display_name": "DeepSeek V3.2", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 16384 + "context": 163840, + "output": 163840 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "release_date": "2025-07-22", + "last_updated": "2025-07-22", "cost": { - "input": 0.14, - "output": 1.4 + "input": 0.18, + "output": 0.35, + "cache_read": 0.04 }, "type": "chat" }, { - "id": "sonar", - "name": "Perplexity Sonar", - "display_name": "Perplexity Sonar", + "id": "greg-1-mini", + "name": "Greg 1 Mini", + "display_name": "Greg 1 Mini", "modalities": { "input": [ "text" @@ -141956,8 +148373,8 @@ ] }, "limit": { - "context": 127000, - "output": 4096 + "context": 229376, + "output": 229376 }, "temperature": true, "tool_call": false, @@ -141966,57 +148383,59 @@ }, "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-27", - "last_updated": "2025-01-27", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", "cost": { - "input": 1, - "output": 1 + "input": 0.07, + "output": 0.15, + "cache_read": 0.01 }, "type": "chat" - }, + } + ] + }, + "fastrouter": { + "id": "fastrouter", + "name": "FastRouter", + "display_name": "FastRouter", + "api": "https://go.fastrouter.ai/api/v1", + "doc": "https://fastrouter.ai/models", + "models": [ { - "id": "gpt-4o", - "name": "OpenAI GPT-4o", - "display_name": "OpenAI GPT-4o", + "id": "wanx/wan-v2-6", + "name": "Wan 2.6", + "display_name": "Wan 2.6", "modalities": { "input": [ "text", "image" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 400000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 - }, + "attachment": true, + "open_weights": true, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "type": "chat" }, { - "id": "llama-4-maverick", - "name": "Meta Llama 4 Maverick 17B 128E", - "display_name": "Meta Llama 4 Maverick 17B 128E", + "id": "moonshotai/kimi-k2", + "name": "Kimi K2", + "display_name": "Kimi K2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -142024,7 +148443,7 @@ }, "limit": { "context": 131072, - "output": 8192 + "output": 32768 }, "temperature": true, "tool_call": true, @@ -142032,123 +148451,102 @@ "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "open_weights": true, + "knowledge": "2024-10", + "release_date": "2025-07-11", + "last_updated": "2025-07-11", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.55, + "output": 2.2 }, "type": "chat" }, { - "id": "gpt-5-chat-latest", - "name": "OpenAI GPT-5 Chat Latest", - "display_name": "OpenAI GPT-5 Chat Latest", + "id": "moonshotai/kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 262144, + "output": 262144 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-09", - "release_date": "2024-09-30", - "last_updated": "2024-09-30", + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.12500000000000003 + "input": 0.75, + "output": 3.5 }, "type": "chat" }, { - "id": "gpt-5-codex", - "name": "OpenAI: GPT-5 Codex", - "display_name": "OpenAI: GPT-5 Codex", + "id": "google/imagen-4.0-fast", + "name": "Imagen 4 Fast", + "display_name": "Imagen 4 Fast", "modalities": { "input": [ "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 480, + "output": 8192 }, "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.12500000000000003 - }, + "release_date": "2025-05-20", + "last_updated": "2025-05-20", "type": "chat" }, { - "id": "o3", - "name": "OpenAI o3", - "display_name": "OpenAI o3", + "id": "google/gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "display_name": "Gemini 2.5 Pro", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 1048576, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -142158,43 +148556,50 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-06", - "release_date": "2024-06-01", - "last_updated": "2024-06-01", + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 1.25, + "output": 10, + "cache_read": 0.31 }, "type": "chat" }, { - "id": "glm-4.6", - "name": "Zai GLM-4.6", - "display_name": "Zai GLM-4.6", + "id": "google/gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "display_name": "Gemini 2.5 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -142204,35 +148609,55 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-07", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "cost": { - "input": 0.44999999999999996, - "output": 1.5 + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.0375 }, "type": "chat" }, { - "id": "qwen3-32b", - "name": "Qwen3 32B", - "display_name": "Qwen3 32B", + "id": "google/gemini-3.5-flash", + "name": "Gemini 3.5 Flash", + "display_name": "Gemini 3.5 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 40960 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -142243,276 +148668,263 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-04-28", - "last_updated": "2025-04-28", + "knowledge": "2025-01", + "release_date": "2026-05-19", + "last_updated": "2026-05-19", "cost": { - "input": 0.29, - "output": 0.59 + "input": 1.5, + "output": 9 }, "type": "chat" }, { - "id": "qwen3-coder-30b-a3b-instruct", - "name": "Qwen3 Coder 30B A3B Instruct", - "display_name": "Qwen3 Coder 30B A3B Instruct", + "id": "google/veo3.1-lite", + "name": "Veo 3.1 Lite", + "display_name": "Veo 3.1 Lite", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 400000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-07", - "release_date": "2025-07-31", - "last_updated": "2025-07-31", - "cost": { - "input": 0.09999999999999999, - "output": 0.3 - }, + "release_date": "2026-05-01", + "last_updated": "2026-05-01", "type": "chat" }, { - "id": "kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "display_name": "Kimi K2 Thinking", + "id": "google/gemma-4-31b-it", + "name": "Gemma 4 31B IT", + "display_name": "Gemma 4 31B IT", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 262144 + "context": 262144, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": true, + "default": true }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-11", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", + "attachment": true, + "open_weights": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0.48, - "output": 2 + "input": 0.13, + "output": 0.38 }, "type": "chat" }, { - "id": "deepseek-tng-r1t2-chimera", - "name": "DeepSeek TNG R1T2 Chimera", - "display_name": "DeepSeek TNG R1T2 Chimera", + "id": "google/veo3.1", + "name": "Veo 3.1", + "display_name": "Veo 3.1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 130000, - "output": 163840 + "context": 400000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-07", - "release_date": "2025-07-02", - "last_updated": "2025-07-02", - "cost": { - "input": 0.3, - "output": 1.2 - }, + "release_date": "2026-05-01", + "last_updated": "2026-05-01", "type": "chat" }, { - "id": "claude-haiku-4-5-20251001", - "name": "Anthropic: Claude 4.5 Haiku (20251001)", - "display_name": "Anthropic: Claude 4.5 Haiku (20251001)", + "id": "google/imagen-4.0-ultra", + "name": "Imagen 4 Ultra", + "display_name": "Imagen 4 Ultra", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 200000, + "context": 480, "output": 8192 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2025-10", - "release_date": "2025-10-01", - "last_updated": "2025-10-01", - "cost": { - "input": 1, - "output": 5, - "cache_read": 0.09999999999999999, - "cache_write": 1.25 - }, - "type": "chat" + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "type": "imageGeneration" }, { - "id": "claude-3.5-sonnet-v2", - "name": "Anthropic: Claude 3.5 Sonnet v2", - "display_name": "Anthropic: Claude 3.5 Sonnet v2", + "id": "google/gemini-3-pro-image-preview", + "name": "Nano Banana Pro", + "display_name": "Nano Banana Pro", "modalities": { "input": [ "text", "image" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 65536, + "output": 32768 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", + "knowledge": "2025-01", + "release_date": "2025-11-20", + "last_updated": "2025-11-20", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.30000000000000004, - "cache_write": 3.75 + "input": 2, + "output": 12 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "qwen3-vl-235b-a22b-instruct", - "name": "Qwen3 VL 235B A22B Instruct", - "display_name": "Qwen3 VL 235B A22B Instruct", + "id": "google/gemini-3.1-flash-image-preview", + "name": "Nano Banana 2", + "display_name": "Nano Banana 2", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ - "text" + "text", + "image" ] }, "limit": { - "context": 256000, - "output": 16384 + "context": 65536, + "output": 65536 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2025-09", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", + "knowledge": "2025-01", + "release_date": "2026-02-26", + "last_updated": "2026-02-26", "cost": { - "input": 0.3, - "output": 1.5 + "input": 0.5, + "output": 3 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "gpt-5", - "name": "OpenAI GPT-5", - "display_name": "OpenAI GPT-5", + "id": "google/gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "display_name": "Gemini 3.1 Pro Preview", "modalities": { "input": [ "text", - "image" + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1048576, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -142522,181 +148934,183 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ + "mode": "level", + "level": "high", + "level_options": [ "low", - "medium", "high" ], - "visibility": "hidden" + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.12500000000000003 + "input": 2, + "output": 12 }, "type": "chat" }, { - "id": "grok-4-fast-non-reasoning", - "name": "xAI Grok 4 Fast Non-Reasoning", - "display_name": "xAI Grok 4 Fast Non-Reasoning", + "id": "google/veo3.1-fast", + "name": "Veo 3.1 Fast", + "display_name": "Veo 3.1 Fast", "modalities": { "input": [ "text", - "image", - "audio" + "image" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 2000000, - "output": 2000000 + "context": 400000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-09", - "release_date": "2025-09-19", - "last_updated": "2025-09-19", - "cost": { - "input": 0.19999999999999998, - "output": 0.5, - "cache_read": 0.049999999999999996 - }, + "release_date": "2026-05-01", + "last_updated": "2026-05-01", "type": "chat" }, { - "id": "sonar-pro", - "name": "Perplexity Sonar Pro", - "display_name": "Perplexity Sonar Pro", + "id": "x-ai/grok-4.3", + "name": "Grok 4.3", + "display_name": "Grok 4.3", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 4096 + "context": 1000000, + "output": 30000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-27", - "last_updated": "2025-01-27", + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { - "input": 3, - "output": 15 + "input": 1.25, + "output": 2.5 }, "type": "chat" }, { - "id": "gpt-4.1-mini", - "name": "OpenAI GPT-4.1 Mini", - "display_name": "OpenAI GPT-4.1 Mini", + "id": "x-ai/grok-4", + "name": "Grok 4", + "display_name": "Grok 4", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 256000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "knowledge": "2025-07", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", "cost": { - "input": 0.39999999999999997, - "output": 1.5999999999999999, - "cache_read": 0.09999999999999999 + "input": 3, + "output": 15, + "cache_read": 0.75, + "cache_write": 15 }, "type": "chat" }, { - "id": "deepseek-v3.2", - "name": "DeepSeek V3.2", - "display_name": "DeepSeek V3.2", + "id": "x-ai/grok-build-0.1", + "name": "Grok Build 0.1", + "display_name": "Grok Build 0.1", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 65536 + "context": 256000, + "output": 256000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { "supported": true } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-09", - "release_date": "2025-09-22", - "last_updated": "2025-09-22", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 0.27, - "output": 0.41 + "input": 1, + "output": 2 }, "type": "chat" }, { - "id": "o3-pro", - "name": "OpenAI o3 Pro", - "display_name": "OpenAI o3 Pro", + "id": "z-ai/glm-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -142704,9 +149118,9 @@ }, "limit": { "context": 200000, - "output": 100000 + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -142714,33 +149128,23 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, "attachment": false, - "open_weights": false, - "knowledge": "2024-06", - "release_date": "2024-06-01", - "last_updated": "2024-06-01", + "open_weights": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 20, - "output": 80 + "input": 1.05, + "output": 3.5 }, "type": "chat" }, { - "id": "llama-3.1-8b-instant", - "name": "Meta Llama 3.1 8B Instant", - "display_name": "Meta Llama 3.1 8B Instant", + "id": "z-ai/glm-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ "text" @@ -142750,29 +149154,40 @@ ] }, "limit": { - "context": 131072, - "output": 32678 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "knowledge": "2024-07", - "release_date": "2024-07-01", - "last_updated": "2024-07-01", + "open_weights": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 0.049999999999999996, - "output": 0.08 + "input": 0.95, + "output": 3.15 }, "type": "chat" }, { - "id": "o4-mini", - "name": "OpenAI o4 Mini", - "display_name": "OpenAI o4 Mini", + "id": "openai/gpt-5", + "name": "GPT-5", + "display_name": "GPT-5", "modalities": { "input": [ "text", @@ -142783,10 +149198,10 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 400000, + "output": 128000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -142799,6 +149214,13 @@ "mode": "effort", "effort": "medium", "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ "low", "medium", "high" @@ -142806,47 +149228,56 @@ "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-06", - "release_date": "2024-06-01", - "last_updated": "2024-06-01", + "knowledge": "2024-10-01", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.275 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "o3-mini", - "name": "OpenAI o3 Mini", - "display_name": "OpenAI o3 Mini", + "id": "openai/gpt-5.4-nano", + "name": "GPT-5.4 nano", + "display_name": "GPT-5.4 nano", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 400000, + "output": 128000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "effort", - "effort": "medium", + "effort": "none", "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ "low", "medium", "high" @@ -142854,99 +149285,111 @@ "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2023-10", - "release_date": "2023-10-01", - "last_updated": "2023-10-01", + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.55 + "input": 0.2, + "output": 1.25 }, "type": "chat" }, { - "id": "sonar-reasoning", - "name": "Perplexity Sonar Reasoning", - "display_name": "Perplexity Sonar Reasoning", + "id": "openai/gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "display_name": "GPT-5.3 Codex", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 127000, - "output": 4096 + "context": 400000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-27", - "last_updated": "2025-01-27", + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 1, - "output": 5 + "input": 1.75, + "output": 14 }, "type": "chat" }, { - "id": "deepseek-reasoner", - "name": "DeepSeek Reasoner", - "display_name": "DeepSeek Reasoner", + "id": "openai/gpt-realtime-1.5", + "name": "GPT Realtime 1.5", + "display_name": "GPT Realtime 1.5", "modalities": { "input": [ - "text" + "text", + "audio", + "image" ], "output": [ - "text" + "text", + "audio" ] }, "limit": { - "context": 128000, - "output": 64000 + "context": 32000, + "output": 4096 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", + "release_date": "2025-06-01", + "last_updated": "2025-06-01", "cost": { - "input": 0.56, - "output": 1.68, - "cache_read": 0.07 + "input": 4, + "output": 16 }, "type": "chat" }, { - "id": "ernie-4.5-21b-a3b-thinking", - "name": "Baidu Ernie 4.5 21B A3B Thinking", - "display_name": "Baidu Ernie 4.5 21B A3B Thinking", + "id": "openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "display_name": "GPT OSS 120B", "modalities": { "input": [ "text" @@ -142956,30 +149399,34 @@ ] }, "limit": { - "context": 128000, - "output": 8000 + "context": 131072, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": false, - "open_weights": false, - "knowledge": "2025-03", - "release_date": "2025-03-16", - "last_updated": "2025-03-16", + "open_weights": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.07, - "output": 0.28 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "claude-3.7-sonnet", - "name": "Anthropic: Claude 3.7 Sonnet", - "display_name": "Anthropic: Claude 3.7 Sonnet", + "id": "openai/gpt-5.4-mini", + "name": "GPT-5.4 mini", + "display_name": "GPT-5.4 mini", "modalities": { "input": [ "text", @@ -142990,10 +149437,10 @@ ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -143003,39 +149450,39 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": false, - "summaries": false, - "visibility": "full", - "continuation": [ - "thinking_blocks" + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" ], - "notes": [ - "Anthropic uses thinking budget tokens" - ] + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-02", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.30000000000000004, - "cache_write": 3.75 + "input": 0.75, + "output": 4.5 }, "type": "chat" }, { - "id": "mistral-nemo", - "name": "Mistral Nemo", - "display_name": "Mistral Nemo", + "id": "openai/gpt-4.1", + "name": "GPT-4.1", + "display_name": "GPT-4.1", "modalities": { "input": [ "text", @@ -143046,29 +149493,30 @@ ] }, "limit": { - "context": 128000, - "output": 16400 + "context": 1047576, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-07", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 20, - "output": 40 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "mistral-small", - "name": "Mistral Small 3.2", - "display_name": "Mistral Small 3.2", + "id": "openai/gpt-5-mini", + "name": "GPT-5 Mini", + "display_name": "GPT-5 Mini", "modalities": { "input": [ "text", @@ -143078,58 +149526,24 @@ "text" ] }, - "limit": { - "context": 128000, - "output": 16384 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-03", - "release_date": "2025-06-20", - "last_updated": "2025-06-20", - "cost": { - "input": 0.075, - "output": 0.2 - }, - "type": "chat" - }, - { - "id": "gpt-5.1", - "name": "OpenAI GPT-5.1", - "display_name": "OpenAI GPT-5.1", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text", - "image" - ] - }, "limit": { "context": 400000, "output": 128000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", - "effort": "none", + "effort": "medium", "effort_options": [ - "none", + "minimal", "low", "medium", "high" @@ -143143,22 +149557,22 @@ "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "knowledge": "2024-10-01", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.12500000000000003 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "gpt-5-nano", - "name": "OpenAI GPT-5 Nano", - "display_name": "OpenAI GPT-5 Nano", + "id": "openai/gpt-5-nano", + "name": "GPT-5 Nano", + "display_name": "GPT-5 Nano", "modalities": { "input": [ "text", @@ -143172,7 +149586,7 @@ "context": 400000, "output": 128000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -143199,35 +149613,37 @@ "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "knowledge": "2024-10-01", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.049999999999999996, - "output": 0.39999999999999997, + "input": 0.05, + "output": 0.4, "cache_read": 0.005 }, "type": "chat" }, { - "id": "gpt-oss-120b", - "name": "OpenAI GPT-OSS 120b", - "display_name": "OpenAI GPT-OSS 120b", + "id": "openai/gpt-5.5-pro", + "name": "GPT-5.5 Pro", + "display_name": "GPT-5.5 Pro", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -143238,21 +149654,21 @@ "supported": true } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-06", - "release_date": "2024-06-01", - "last_updated": "2024-06-01", + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 0.04, - "output": 0.16 + "input": 30, + "output": 180 }, "type": "chat" }, { - "id": "grok-3", - "name": "xAI Grok 3", - "display_name": "xAI Grok 3", + "id": "openai/gpt-oss-20b", + "name": "GPT OSS 20B", + "display_name": "GPT OSS 20B", "modalities": { "input": [ "text" @@ -143263,67 +149679,150 @@ }, "limit": { "context": 131072, - "output": 131072 + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": false, - "knowledge": "2024-06", - "release_date": "2024-06-01", - "last_updated": "2024-06-01", + "open_weights": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.75 + "input": 0.05, + "output": 0.2 }, "type": "chat" }, { - "id": "gpt-4o-mini", - "name": "OpenAI GPT-4o-mini", - "display_name": "OpenAI GPT-4o-mini", + "id": "openai/gpt-image-2", + "name": "GPT Image 2", + "display_name": "GPT Image 2", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "image" + ] + }, + "limit": { + "context": 128000, + "output": 8192 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "type": "imageGeneration" + }, + { + "id": "openai/gpt-5.5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1050000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", + "cost": { + "input": 5, + "output": 30 + }, + "type": "chat" + }, + { + "id": "bytedance/seedance-2", + "name": "Seedance 2", + "display_name": "Seedance 2", "modalities": { "input": [ "text", "image" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 4096, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-07", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.075 - }, + "release_date": "2026-04-01", + "last_updated": "2026-04-01", "type": "chat" }, { - "id": "claude-opus-4-1", - "name": "Anthropic: Claude Opus 4.1", - "display_name": "Anthropic: Claude Opus 4.1", + "id": "anthropic/claude-sonnet-4", + "name": "Claude Sonnet 4", + "display_name": "Claude Sonnet 4", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" @@ -143331,7 +149830,7 @@ }, "limit": { "context": 200000, - "output": 32000 + "output": 64000 }, "temperature": true, "tool_call": true, @@ -143360,78 +149859,98 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-08", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "grok-4-fast-reasoning", - "name": "xAI: Grok 4 Fast Reasoning", - "display_name": "xAI: Grok 4 Fast Reasoning", + "id": "anthropic/claude-opus-4.8", + "name": "Claude Opus 4.8", + "display_name": "Claude Opus 4.8", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 2000000 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-09", - "release_date": "2025-09-01", - "last_updated": "2025-09-01", + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "cost": { - "input": 0.19999999999999998, - "output": 0.5, - "cache_read": 0.049999999999999996 + "input": 5, + "output": 25 }, "type": "chat" }, { - "id": "gpt-5.1-codex-mini", - "name": "OpenAI: GPT-5.1 Codex Mini", - "display_name": "OpenAI: GPT-5.1 Codex Mini", + "id": "anthropic/claude-opus-4.1", + "name": "Claude Opus 4.1", + "display_name": "Claude Opus 4.1", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 32000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -143441,109 +149960,135 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.024999999999999998 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "grok-4-1-fast-non-reasoning", - "name": "xAI Grok 4.1 Fast Non-Reasoning", - "display_name": "xAI Grok 4.1 Fast Non-Reasoning", + "id": "anthropic/claude-sonnet-4.6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 2000000, - "output": 30000 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2025-11", - "release_date": "2025-11-17", - "last_updated": "2025-11-17", + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "cost": { - "input": 0.19999999999999998, - "output": 0.5, - "cache_read": 0.049999999999999996 + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "claude-3.5-haiku", - "name": "Anthropic: Claude 3.5 Haiku", - "display_name": "Anthropic: Claude 3.5 Haiku", + "id": "sarvam/sarvam-105b", + "name": "Sarvam 105B", + "display_name": "Sarvam 105B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", + "open_weights": true, + "release_date": "2025-09-01", + "last_updated": "2025-09-01", "cost": { - "input": 0.7999999999999999, - "output": 4, - "cache_read": 0.08, - "cache_write": 1 + "input": 0.04, + "output": 0.16 }, "type": "chat" }, { - "id": "gpt-oss-20b", - "name": "OpenAI GPT-OSS 20b", - "display_name": "OpenAI GPT-OSS 20b", + "id": "sarvam/sarvam-30b", + "name": "Sarvam 30B", + "display_name": "Sarvam 30B", "modalities": { "input": [ "text" @@ -143553,8 +150098,8 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -143562,26 +150107,20 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, "attachment": false, - "open_weights": false, - "knowledge": "2024-06", - "release_date": "2024-06-01", - "last_updated": "2024-06-01", + "open_weights": true, + "release_date": "2026-02-18", + "last_updated": "2026-02-18", "cost": { - "input": 0.049999999999999996, - "output": 0.19999999999999998 + "input": 0.02, + "output": 0.1 }, "type": "chat" }, { - "id": "llama-prompt-guard-2-86m", - "name": "Meta Llama Prompt Guard 2 86M", - "display_name": "Meta Llama Prompt Guard 2 86M", + "id": "deepseek-ai/deepseek-r1-distill-llama-70b", + "name": "DeepSeek R1 Distill Llama 70B", + "display_name": "DeepSeek R1 Distill Llama 70B", "modalities": { "input": [ "text" @@ -143591,41 +150130,46 @@ ] }, "limit": { - "context": 512, - "output": 2 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": false, + "open_weights": true, "knowledge": "2024-10", - "release_date": "2024-10-01", - "last_updated": "2024-10-01", + "release_date": "2025-01-23", + "last_updated": "2025-01-23", "cost": { - "input": 0.01, - "output": 0.01 + "input": 0.03, + "output": 0.14 }, "type": "chat" }, { - "id": "llama-4-scout", - "name": "Meta Llama 4 Scout 17B 16E", - "display_name": "Meta Llama 4 Scout 17B 16E", + "id": "qwen/qwen3-coder", + "name": "Qwen3 Coder", + "display_name": "Qwen3 Coder", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 262144, + "output": 66536 }, "temperature": true, "tool_call": true, @@ -143633,20 +150177,20 @@ "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", "cost": { - "input": 0.08, - "output": 0.3 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "sonar-reasoning-pro", - "name": "Perplexity Sonar Reasoning Pro", - "display_name": "Perplexity Sonar Reasoning Pro", + "id": "deepseek/deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ "text" @@ -143656,42 +150200,52 @@ ] }, "limit": { - "context": 127000, - "output": 4096 + "context": 1000000, + "output": 384000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-27", - "last_updated": "2025-01-27", + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 2, - "output": 8 + "input": 1.74, + "output": 3.48 }, "type": "chat" }, { - "id": "gemini-2.5-pro", - "name": "Google Gemini 2.5 Pro", - "display_name": "Google Gemini 2.5 Pro", + "id": "minimax/minimax-m2.7-highspeed", + "name": "MiniMax-M2.7-highspeed", + "display_name": "MiniMax-M2.7-highspeed", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -143702,39 +150256,28 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, "attachment": false, - "open_weights": false, - "knowledge": "2025-06", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.3125, - "cache_write": 1.25 + "input": 0.6, + "output": 2.4 }, "type": "chat" }, { - "id": "deepseek-r1-distill-llama-70b", - "name": "DeepSeek R1 Distill Llama 70B", - "display_name": "DeepSeek R1 Distill Llama 70B", + "id": "minimax/minimax-m2.7", + "name": "MiniMax-M2.7", + "display_name": "MiniMax-M2.7", "modalities": { "input": [ "text" @@ -143744,8 +150287,8 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -143755,102 +150298,94 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.03, - "output": 0.13 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "qwen3-30b-a3b", - "name": "Qwen3 30B A3B", - "display_name": "Qwen3 30B A3B", + "id": "leonardo-ai/lucid-origin", + "name": "Lucid Origin", + "display_name": "Lucid Origin", "modalities": { "input": [ "text", "image" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 41000, - "output": 41000 + "context": 4096, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-06", "release_date": "2025-06-01", "last_updated": "2025-06-01", - "cost": { - "input": 0.08, - "output": 0.29 - }, "type": "chat" }, { - "id": "gpt-4.1", - "name": "OpenAI GPT-4.1", - "display_name": "OpenAI GPT-4.1", + "id": "leonardo-ai/lucid-realism", + "name": "Lucid Realism", + "display_name": "Lucid Realism", "modalities": { "input": [ "text", "image" ], "output": [ - "text" + "image" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 4096, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 - }, + "release_date": "2025-06-01", + "last_updated": "2025-06-01", "type": "chat" - }, + } + ] + }, + "abliteration-ai": { + "id": "abliteration-ai", + "name": "abliteration.ai", + "display_name": "abliteration.ai", + "api": "https://api.abliteration.ai/v1", + "doc": "https://docs.abliteration.ai/models", + "models": [ { - "id": "llama-guard-4", - "name": "Meta Llama Guard 4 12B", - "display_name": "Meta Llama Guard 4 12B", + "id": "abliterated-model", + "name": "Abliterated Model", + "display_name": "Abliterated Model", "modalities": { "input": [ "text", @@ -143861,29 +150396,37 @@ ] }, "limit": { - "context": 131072, - "output": 1024 + "context": 150000, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "attachment": true, + "open_weights": true, + "release_date": "2026-01-06", + "last_updated": "2026-01-06", "cost": { - "input": 0.21, - "output": 0.21 + "input": 3, + "output": 3 }, "type": "chat" - }, + } + ] + }, + "xpersona": { + "id": "xpersona", + "name": "Xpersona", + "display_name": "Xpersona", + "api": "https://www.xpersona.co/v1", + "doc": "https://www.xpersona.co/docs", + "models": [ { - "id": "claude-sonnet-4-5-20250929", - "name": "Anthropic: Claude Sonnet 4.5 (20250929)", - "display_name": "Anthropic: Claude Sonnet 4.5 (20250929)", + "id": "xpersona-gpt-5.5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ "text", @@ -143894,53 +150437,43 @@ ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": false, "open_weights": false, - "knowledge": "2025-09", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "knowledge": "2025-12-30", + "release_date": "2026-05-29", + "last_updated": "2026-05-29", "cost": { "input": 3, - "output": 15, - "cache_read": 0.30000000000000004, - "cache_write": 3.75 + "output": 18, + "reasoning": 18, + "cache_read": 0.3 }, "type": "chat" }, { - "id": "claude-opus-4-1-20250805", - "name": "Anthropic: Claude Opus 4.1 (20250805)", - "display_name": "Anthropic: Claude Opus 4.1 (20250805)", + "id": "xpersona-frieren-coder", + "name": "Xpersona Frieren 1", + "display_name": "Xpersona Frieren 1", "modalities": { "input": [ "text", @@ -143951,65 +150484,53 @@ ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 1000000, + "output": 384000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "default": true }, "attachment": false, "open_weights": false, - "knowledge": "2025-08", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2025-12-30", + "release_date": "2026-05-01", + "last_updated": "2026-05-25", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 1.5, + "output": 6, + "reasoning": 6, + "cache_read": 0.15 }, "type": "chat" - }, + } + ] + }, + "azure-cognitive-services": { + "id": "azure-cognitive-services", + "name": "Azure Cognitive Services", + "display_name": "Azure Cognitive Services", + "doc": "https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models", + "models": [ { - "id": "gemini-2.5-flash-lite", - "name": "Google Gemini 2.5 Flash Lite", - "display_name": "Google Gemini 2.5 Flash Lite", + "id": "claude-opus-4-5", + "name": "Claude Opus 4.5", + "display_name": "Claude Opus 4.5", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65535 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -144021,200 +150542,225 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "budget", + "mode": "mixed", "budget": { - "default": -1, - "min": 512, - "max": 24576, - "auto": -1, + "min": 1024, "unit": "tokens" }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-07", - "release_date": "2025-07-22", - "last_updated": "2025-07-22", + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-08-01", "cost": { - "input": 0.09999999999999999, - "output": 0.39999999999999997, - "cache_read": 0.024999999999999998, - "cache_write": 0.09999999999999999 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "gemini-2.5-flash", - "name": "Google Gemini 2.5 Flash", - "display_name": "Google Gemini 2.5 Flash", + "id": "claude-sonnet-4-5", + "name": "Claude Sonnet 4.5", + "display_name": "Claude Sonnet 4.5", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65535 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "budget", "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, + "min": 1024, "unit": "tokens" }, + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-06", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", + "knowledge": "2025-07-31", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.075, - "cache_write": 0.3 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "claude-4.5-haiku", - "name": "Anthropic: Claude 4.5 Haiku", - "display_name": "Anthropic: Claude 4.5 Haiku", + "id": "gpt-5.4-nano", + "name": "GPT-5.4 Nano", + "display_name": "GPT-5.4 Nano", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2025-10", - "release_date": "2025-10-01", - "last_updated": "2025-10-01", + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.09999999999999999, - "cache_write": 1.25 + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "deepseek-v3.1-terminus", - "name": "DeepSeek V3.1 Terminus", - "display_name": "DeepSeek V3.1 Terminus", + "id": "claude-opus-4-1", + "name": "Claude Opus 4.1", + "display_name": "Claude Opus 4.1", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-09", - "release_date": "2025-09-22", - "last_updated": "2025-09-22", - "cost": { - "input": 0.27, - "output": 1, - "cache_read": 0.21600000000000003 - }, - "type": "chat" - }, - { - "id": "gemma-3-12b-it", - "name": "Google Gemma 3 12B", - "display_name": "Google Gemma 3 12B", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 8192 + "default": false }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2024-12-01", - "last_updated": "2024-12-01", + "knowledge": "2025-03-31", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", "cost": { - "input": 0.049999999999999996, - "output": 0.09999999999999999 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "claude-4.5-opus", - "name": "Anthropic: Claude Opus 4.5", - "display_name": "Anthropic: Claude Opus 4.5", + "id": "claude-haiku-4-5", + "name": "Claude Haiku 4.5", + "display_name": "Claude Haiku 4.5", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" @@ -144228,157 +150774,178 @@ "tool_call": true, "reasoning": { "supported": true, - "default": true - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-11", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", - "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 - }, - "type": "chat" - }, - { - "id": "kimi-k2-0711", - "name": "Kimi K2 (07/11)", - "display_name": "Kimi K2 (07/11)", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 16384 + "default": false }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "knowledge": "2025-02-31", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", "cost": { - "input": 0.5700000000000001, - "output": 2.3 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "claude-4.5-sonnet", - "name": "Anthropic: Claude Sonnet 4.5", - "display_name": "Anthropic: Claude Sonnet 4.5", + "id": "gpt-5.4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-09", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "cost": { - "input": 3, - "output": 15, - "cache_read": 0.30000000000000004, - "cache_write": 3.75 - }, - "type": "chat" - }, - { - "id": "qwen2.5-coder-7b-fast", - "name": "Qwen2.5 Coder 7B fast", - "display_name": "Qwen2.5 Coder 7B fast", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 32000, - "output": 8192 + "default": false }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-09", - "release_date": "2024-09-15", - "last_updated": "2024-09-15", + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0.03, - "output": 0.09 + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tiers": [ + { + "input": 5, + "output": 22.5, + "cache_read": 0.5, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 5, + "output": 22.5, + "cache_read": 0.5 + } }, "type": "chat" }, { - "id": "hermes-2-pro-llama-3-8b", - "name": "Hermes 2 Pro Llama 3 8B", - "display_name": "Hermes 2 Pro Llama 3 8B", + "id": "gpt-5.4-mini", + "name": "GPT-5.4 Mini", + "display_name": "GPT-5.4 Mini", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-05", - "release_date": "2024-05-27", - "last_updated": "2024-05-27", + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0.14, - "output": 0.14 + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "gpt-4.1-mini-2025-04-14", - "name": "OpenAI GPT-4.1 Mini", - "display_name": "OpenAI GPT-4.1 Mini", + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ "text", @@ -144389,77 +150956,134 @@ ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true + } }, "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 0.39999999999999997, - "output": 1.5999999999999999, - "cache_read": 0.09999999999999999 + "input": 0.95, + "output": 4 }, "type": "chat" }, { - "id": "kimi-k2-0905", - "name": "Kimi K2 (09/05)", - "display_name": "Kimi K2 (09/05)", + "id": "claude-opus-4-6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 200000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2025-09", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 0.5, - "output": 2, - "cache_read": 0.39999999999999997 + "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 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5 + } }, "type": "chat" }, { - "id": "o1-mini", - "name": "OpenAI: o1-mini", - "display_name": "OpenAI: o1-mini", + "id": "gpt-5.4-pro", + "name": "GPT-5.4 Pro", + "display_name": "GPT-5.4 Pro", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 65536 + "context": 1050000, + "output": 128000 }, "temperature": false, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -144469,8 +151093,14 @@ "supported": true, "default_enabled": true, "mode": "effort", - "effort": "medium", + "effort": "high", "effort_options": [ + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ "low", "medium", "high" @@ -144478,67 +151108,122 @@ "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.55 + "input": 30, + "output": 180, + "tiers": [ + { + "input": 60, + "output": 270, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 60, + "output": 270 + } }, "type": "chat" }, { - "id": "deepseek-v3", - "name": "DeepSeek V3", - "display_name": "DeepSeek V3", + "id": "gpt-5.5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2024-12-26", - "last_updated": "2024-12-26", + "knowledge": "2025-12-01", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.56, - "output": 1.68, - "cache_read": 0.07 + "input": 5, + "output": 30, + "cache_read": 0.5, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + } }, "type": "chat" }, { - "id": "gpt-5.1-codex", - "name": "OpenAI: GPT-5.1 Codex", - "display_name": "OpenAI: GPT-5.1 Codex", + "id": "gpt-5.1", + "name": "GPT-5.1", + "display_name": "GPT-5.1", "modalities": { "input": [ "text", - "image" + "image", + "audio" ], "output": [ "text", - "image" + "image", + "audio" ] }, "limit": { - "context": 400000, + "context": 272000, "output": 128000 }, "temperature": false, @@ -144568,57 +151253,54 @@ "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", "cost": { "input": 1.25, "output": 10, - "cache_read": 0.12500000000000003 + "cache_read": 0.125 }, "type": "chat" }, { - "id": "claude-3-haiku-20240307", - "name": "Anthropic: Claude 3 Haiku", - "display_name": "Anthropic: Claude 3 Haiku", + "id": "meta-llama-3-70b-instruct", + "name": "Meta-Llama-3-70B-Instruct", + "display_name": "Meta-Llama-3-70B-Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 4096 + "context": 8192, + "output": 2048 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2024-03", - "release_date": "2024-03-07", - "last_updated": "2024-03-07", + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-04-18", + "last_updated": "2024-04-18", "cost": { - "input": 0.25, - "output": 1.25, - "cache_read": 0.03, - "cache_write": 0.3 + "input": 2.68, + "output": 3.54 }, "type": "chat" }, { - "id": "gemma2-9b-it", - "name": "Google Gemma 2", - "display_name": "Google Gemma 2", + "id": "phi-3-mini-4k-instruct", + "name": "Phi-3-mini-instruct (4k)", + "display_name": "Phi-3-mini-instruct (4k)", "modalities": { "input": [ "text" @@ -144628,8 +151310,8 @@ ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 4096, + "output": 1024 }, "temperature": true, "tool_call": false, @@ -144637,34 +151319,63 @@ "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2024-06", - "release_date": "2024-06-25", - "last_updated": "2024-06-25", + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", "cost": { - "input": 0.01, - "output": 0.03 + "input": 0.13, + "output": 0.52 }, "type": "chat" }, { - "id": "gemini-3-pro-preview", - "name": "Google Gemini 3 Pro Preview", - "display_name": "Google Gemini 3 Pro Preview", + "id": "phi-3-mini-128k-instruct", + "name": "Phi-3-mini-instruct (128k)", + "display_name": "Phi-3-mini-instruct (128k)", "modalities": { "input": [ - "text", - "image", - "audio", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 128000, + "output": 4096 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "cost": { + "input": 0.13, + "output": 0.52 + }, + "type": "chat" + }, + { + "id": "phi-4-mini-reasoning", + "name": "Phi-4-mini-reasoning", + "display_name": "Phi-4-mini-reasoning", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, @@ -144672,74 +151383,110 @@ "supported": true, "default": true }, + "attachment": false, + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "cost": { + "input": 0.075, + "output": 0.3 + }, + "type": "chat" + }, + { + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "display_name": "GPT-5.2 Codex", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 400000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, "extra_capabilities": { "reasoning": { "supported": true, "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ + "mode": "effort", + "effort": "medium", + "effort_options": [ "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", "high" ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "visibility": "hidden" } }, "attachment": false, "open_weights": false, - "knowledge": "2025-11", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", + "knowledge": "2025-08-31", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.19999999999999998 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "qwen3-coder", - "name": "Qwen3 Coder 480B A35B Instruct Turbo", - "display_name": "Qwen3 Coder 480B A35B Instruct Turbo", + "id": "llama-4-maverick-17b-128e-instruct-fp8", + "name": "Llama 4 Maverick 17B 128E Instruct FP8", + "display_name": "Llama 4 Maverick 17B 128E Instruct FP8", "modalities": { "input": [ "text", - "image", - "audio", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-07", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", + "attachment": true, + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { - "input": 0.22, - "output": 0.95 + "input": 0.25, + "output": 1 }, "type": "chat" }, { - "id": "grok-3-mini", - "name": "xAI Grok 3 Mini", - "display_name": "xAI Grok 3 Mini", + "id": "deepseek-v3.2", + "name": "DeepSeek-V3.2", + "display_name": "DeepSeek-V3.2", "modalities": { "input": [ "text" @@ -144749,207 +151496,224 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": false, - "knowledge": "2024-06", - "release_date": "2024-06-01", - "last_updated": "2024-06-01", + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "cost": { - "input": 0.3, - "output": 0.5, - "cache_read": 0.075 + "input": 0.58, + "output": 1.68 }, "type": "chat" }, { - "id": "llama-3.1-8b-instruct-turbo", - "name": "Meta Llama 3.1 8B Instruct Turbo", - "display_name": "Meta Llama 3.1 8B Instruct Turbo", + "id": "gpt-5-codex", + "name": "GPT-5-Codex", + "display_name": "GPT-5-Codex", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, + "context": 400000, "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": false, "open_weights": false, - "knowledge": "2024-07", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "knowledge": "2024-09-30", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", "cost": { - "input": 0.02, - "output": 0.03 + "input": 1.25, + "output": 10, + "cache_read": 0.13 }, "type": "chat" }, { - "id": "llama-3.1-8b-instruct", - "name": "Meta Llama 3.1 8B Instruct", - "display_name": "Meta Llama 3.1 8B Instruct", + "id": "model-router", + "name": "Model Router", + "display_name": "Model Router", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 16384, + "context": 128000, "output": 16384 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-07", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "release_date": "2025-05-19", + "last_updated": "2025-11-18", "cost": { - "input": 0.02, - "output": 0.049999999999999996 + "input": 0.14, + "output": 0 }, "type": "chat" }, { - "id": "llama-3.3-70b-versatile", - "name": "Meta Llama 3.3 70B Versatile", - "display_name": "Meta Llama 3.3 70B Versatile", + "id": "gpt-4o-mini", + "name": "GPT-4o mini", + "display_name": "GPT-4o mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32678 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "knowledge": "2023-09", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", "cost": { - "input": 0.59, - "output": 0.7899999999999999 + "input": 0.15, + "output": 0.6, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "qwen3-235b-a22b-thinking", - "name": "Qwen3 235B A22B Thinking", - "display_name": "Qwen3 235B A22B Thinking", + "id": "phi-4-multimodal", + "name": "Phi-4-multimodal", + "display_name": "Phi-4-multimodal", "modalities": { "input": [ "text", "image", - "video" + "audio" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 81920 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-07", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", + "attachment": true, + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", "cost": { - "input": 0.3, - "output": 2.9000000000000004 + "input": 0.08, + "output": 0.32, + "input_audio": 4 }, "type": "chat" }, { - "id": "gpt-5.1-chat-latest", - "name": "OpenAI GPT-5.1 Chat", - "display_name": "OpenAI GPT-5.1 Chat", + "id": "phi-4-reasoning-plus", + "name": "Phi-4-reasoning-plus", + "display_name": "Phi-4-reasoning-plus", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 32000, + "output": 4096 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.12500000000000003 + "input": 0.125, + "output": 0.5 }, "type": "chat" }, { - "id": "grok-4", - "name": "xAI Grok 4", - "display_name": "xAI Grok 4", + "id": "codestral-2501", + "name": "Codestral 25.01", + "display_name": "Codestral 25.01", "modalities": { "input": [ "text" @@ -144965,29 +151729,23 @@ "temperature": true, "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2024-07", - "release_date": "2024-07-09", - "last_updated": "2024-07-09", + "knowledge": "2024-03", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.75 + "input": 0.3, + "output": 0.9 }, "type": "chat" }, { - "id": "llama-3.3-70b-instruct", - "name": "Meta Llama 3.3 70B Instruct", - "display_name": "Meta Llama 3.3 70B Instruct", + "id": "cohere-embed-v3-english", + "name": "Embed v3 English", + "display_name": "Embed v3 English", "modalities": { "input": [ "text" @@ -144997,29 +151755,28 @@ ] }, "limit": { - "context": 128000, - "output": 16400 + "context": 512, + "output": 1024 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2024-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "open_weights": true, + "release_date": "2023-11-07", + "last_updated": "2023-11-07", "cost": { - "input": 0.13, - "output": 0.39 + "input": 0.1, + "output": 0 }, "type": "chat" }, { - "id": "llama-prompt-guard-2-22m", - "name": "Meta Llama Prompt Guard 2 22M", - "display_name": "Meta Llama Prompt Guard 2 22M", + "id": "phi-3-medium-4k-instruct", + "name": "Phi-3-medium-instruct (4k)", + "display_name": "Phi-3-medium-instruct (4k)", "modalities": { "input": [ "text" @@ -145029,8 +151786,8 @@ ] }, "limit": { - "context": 512, - "output": 2 + "context": 4096, + "output": 1024 }, "temperature": true, "tool_call": false, @@ -145038,34 +151795,35 @@ "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-10-01", - "last_updated": "2024-10-01", + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", "cost": { - "input": 0.01, - "output": 0.01 + "input": 0.17, + "output": 0.68 }, "type": "chat" }, { - "id": "o1", - "name": "OpenAI: o1", - "display_name": "OpenAI: o1", + "id": "gpt-5-nano", + "name": "GPT-5 Nano", + "display_name": "GPT-5 Nano", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 272000, + "output": 128000 }, "temperature": false, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -145077,6 +151835,13 @@ "mode": "effort", "effort": "medium", "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ "low", "medium", "high" @@ -145084,22 +151849,22 @@ "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 15, - "output": 60, - "cache_read": 7.5 + "input": 0.05, + "output": 0.4, + "cache_read": 0.01 }, "type": "chat" }, { - "id": "grok-4-1-fast-reasoning", - "name": "xAI Grok 4.1 Fast Reasoning", - "display_name": "xAI Grok 4.1 Fast Reasoning", + "id": "gpt-4-turbo", + "name": "GPT-4 Turbo", + "display_name": "GPT-4 Turbo", "modalities": { "input": [ "text", @@ -145110,36 +151875,29 @@ ] }, "limit": { - "context": 2000000, - "output": 2000000 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-11", - "release_date": "2025-11-17", - "last_updated": "2025-11-17", + "knowledge": "2023-12", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", "cost": { - "input": 0.19999999999999998, - "output": 0.5, - "cache_read": 0.049999999999999996 + "input": 10, + "output": 30 }, "type": "chat" }, { - "id": "claude-opus-4", - "name": "Anthropic: Claude Opus 4", - "display_name": "Anthropic: Claude Opus 4", + "id": "gpt-4.1-mini", + "name": "GPT-4.1 mini", + "display_name": "GPT-4.1 mini", "modalities": { "input": [ "text", @@ -145150,124 +151908,86 @@ ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-05", - "release_date": "2025-05-14", - "last_updated": "2025-05-14", + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 }, "type": "chat" }, { - "id": "grok-code-fast-1", - "name": "xAI Grok Code Fast 1", - "display_name": "xAI Grok Code Fast 1", + "id": "gpt-5-mini", + "name": "GPT-5 Mini", + "display_name": "GPT-5 Mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 10000 + "context": 272000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-08", - "release_date": "2024-08-25", - "last_updated": "2024-08-25", - "cost": { - "input": 0.19999999999999998, - "output": 1.5, - "cache_read": 0.02 - }, - "type": "chat" - }, - { - "id": "sonar-deep-research", - "name": "Perplexity Sonar Deep Research", - "display_name": "Perplexity Sonar Deep Research", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 127000, - "output": 4096 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-01-27", - "last_updated": "2025-01-27", + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 2, - "output": 8 + "input": 0.25, + "output": 2, + "cache_read": 0.03 }, "type": "chat" }, { - "id": "gpt-4.1-nano", - "name": "OpenAI GPT-4.1 Nano", - "display_name": "OpenAI GPT-4.1 Nano", + "id": "gpt-4.1", + "name": "GPT-4.1", + "display_name": "GPT-4.1", "modalities": { "input": [ "text", @@ -145286,31 +152006,22 @@ "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", + "knowledge": "2024-04", "release_date": "2025-04-14", "last_updated": "2025-04-14", "cost": { - "input": 0.09999999999999999, - "output": 0.39999999999999997, - "cache_read": 0.024999999999999998 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" - } - ] - }, - "zai": { - "id": "zai", - "name": "Z.AI", - "display_name": "Z.AI", - "api": "https://api.z.ai/api/paas/v4", - "doc": "https://docs.z.ai/guides/overview/pricing", - "models": [ - { - "id": "glm-4.5-flash", - "name": "GLM-4.5-Flash", - "display_name": "GLM-4.5-Flash", + }, + { + "id": "ministral-3b", + "name": "Ministral 3B", + "display_name": "Ministral 3B", "modalities": { "input": [ "text" @@ -145320,67 +152031,62 @@ ] }, "limit": { - "context": 131072, - "output": 98304 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "knowledge": "2024-03", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.04, + "output": 0.04 }, "type": "chat" }, { - "id": "glm-4.7-flashx", - "name": "GLM-4.7-FlashX", - "display_name": "GLM-4.7-FlashX", + "id": "llama-3.2-90b-vision-instruct", + "name": "Llama-3.2-90B-Vision-Instruct", + "display_name": "Llama-3.2-90B-Vision-Instruct", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", "cost": { - "input": 0.07, - "output": 0.4, - "cache_read": 0.01, - "cache_write": 0 + "input": 2.04, + "output": 2.04 }, "type": "chat" }, { - "id": "glm-4.6", - "name": "GLM-4.6", - "display_name": "GLM-4.6", + "id": "deepseek-v3.1", + "name": "DeepSeek-V3.1", + "display_name": "DeepSeek-V3.1", "modalities": { "input": [ "text" @@ -145390,7 +152096,7 @@ ] }, "limit": { - "context": 204800, + "context": 131072, "output": 131072 }, "temperature": true, @@ -145399,41 +152105,35 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", + "knowledge": "2024-07", + "release_date": "2025-08-21", + "last_updated": "2025-08-21", "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11, - "cache_write": 0 + "input": 0.56, + "output": 1.68 }, "type": "chat" }, { - "id": "glm-4.7", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "o1", + "name": "o1", + "display_name": "o1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 200000, + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -145442,79 +152142,79 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "open_weights": false, + "knowledge": "2023-09", + "release_date": "2024-12-05", + "last_updated": "2024-12-05", "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11, - "cache_write": 0 + "input": 15, + "output": 60, + "cache_read": 7.5 }, "type": "chat" }, { - "id": "glm-4.5v", - "name": "GLM-4.5V", - "display_name": "GLM-4.5V", + "id": "gpt-4.1-nano", + "name": "GPT-4.1 nano", + "display_name": "GPT-4.1 nano", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 64000, - "output": 16384 + "context": 1047576, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-08-11", - "last_updated": "2025-08-11", + "open_weights": false, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.6, - "output": 1.8 + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "glm-4.6v", - "name": "GLM-4.6V", - "display_name": "GLM-4.6V", + "id": "grok-4-fast-reasoning", + "name": "Grok 4 Fast (Reasoning)", + "display_name": "Grok 4 Fast (Reasoning)", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 2000000, + "output": 30000 }, "temperature": true, "tool_call": true, @@ -145522,21 +152222,27 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": true, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-08", - "last_updated": "2025-12-08", + "open_weights": false, + "knowledge": "2025-07", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", "cost": { - "input": 0.3, - "output": 0.9 + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "glm-4.7-flash", - "name": "GLM-4.7-Flash", - "display_name": "GLM-4.7-Flash", + "id": "phi-4", + "name": "Phi-4", + "display_name": "Phi-4", "modalities": { "input": [ "text" @@ -145546,51 +152252,41 @@ ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 128000, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.125, + "output": 0.5 }, "type": "chat" }, { - "id": "glm-5v-turbo", - "name": "GLM-5V-Turbo", - "display_name": "GLM-5V-Turbo", + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ "text", - "image", - "video", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -145609,67 +152305,77 @@ ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2026-04-01", - "last_updated": "2026-04-01", + "attachment": false, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-02-06", + "last_updated": "2026-02-06", "cost": { - "input": 1.2, - "output": 4, - "cache_read": 0.24, - "cache_write": 0 + "input": 0.6, + "output": 3 }, "type": "chat" }, { - "id": "glm-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "gpt-5.1-codex-mini", + "name": "GPT-5.1 Codex Mini", + "display_name": "GPT-5.1 Codex Mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": false, - "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", "cost": { - "input": 1, - "output": 3.2, - "cache_read": 0.2, - "cache_write": 0 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "glm-5-turbo", - "name": "GLM-5-Turbo", - "display_name": "GLM-5-Turbo", + "id": "meta-llama-3.1-8b-instruct", + "name": "Meta-Llama-3.1-8B-Instruct", + "display_name": "Meta-Llama-3.1-8B-Instruct", "modalities": { "input": [ "text" @@ -145679,42 +152385,29 @@ ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 128000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-03-16", - "last_updated": "2026-03-16", + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 1.2, - "output": 4, - "cache_read": 0.24, - "cache_write": 0 + "input": 0.3, + "output": 0.61 }, "type": "chat" }, { - "id": "glm-4.5", - "name": "GLM-4.5", - "display_name": "GLM-4.5", + "id": "gpt-3.5-turbo-0301", + "name": "GPT-3.5 Turbo 0301", + "display_name": "GPT-3.5 Turbo 0301", "modalities": { "input": [ "text" @@ -145724,32 +152417,29 @@ ] }, "limit": { - "context": 131072, - "output": 98304 + "context": 4096, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "open_weights": false, + "knowledge": "2021-08", + "release_date": "2023-03-01", + "last_updated": "2023-03-01", "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11, - "cache_write": 0 + "input": 1.5, + "output": 2 }, "type": "chat" }, { - "id": "glm-4.5-air", - "name": "GLM-4.5-Air", - "display_name": "GLM-4.5-Air", + "id": "deepseek-v3.2-speciale", + "name": "DeepSeek-V3.2-Speciale", + "display_name": "DeepSeek-V3.2-Speciale", "modalities": { "input": [ "text" @@ -145759,32 +152449,30 @@ ] }, "limit": { - "context": 131072, - "output": 98304 + "context": 128000, + "output": 128000 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "cost": { - "input": 0.2, - "output": 1.1, - "cache_read": 0.03, - "cache_write": 0 + "input": 0.58, + "output": 1.68 }, "type": "chat" }, { - "id": "glm-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "text-embedding-3-small", + "name": "text-embedding-3-small", + "display_name": "text-embedding-3-small", "modalities": { "input": [ "text" @@ -145794,190 +152482,162 @@ ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 8191, + "output": 1536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "release_date": "2024-01-25", + "last_updated": "2024-01-25", "cost": { - "input": 1.4, - "output": 4.4, - "cache_read": 0.26, - "cache_write": 0 + "input": 0.02, + "output": 0 }, - "type": "chat" - } - ] - }, - "nova": { - "id": "nova", - "name": "Nova", - "display_name": "Nova", - "api": "https://api.nova.amazon.com/v1", - "doc": "https://nova.amazon.com/dev/documentation", - "models": [ + "type": "embedding" + }, { - "id": "nova-2-pro-v1", - "name": "Nova 2 Pro", - "display_name": "Nova 2 Pro", + "id": "gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "display_name": "GPT-5.3 Codex", "modalities": { "input": [ "text", - "image", - "video", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": false, "open_weights": false, - "release_date": "2025-12-03", - "last_updated": "2026-01-03", + "knowledge": "2025-08-31", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", "cost": { - "input": 0, - "output": 0, - "reasoning": 0 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "nova-2-lite-v1", - "name": "Nova 2 Lite", - "display_name": "Nova 2 Lite", + "id": "mistral-large-2411", + "name": "Mistral Large 24.11", + "display_name": "Mistral Large 24.11", "modalities": { "input": [ - "text", - "image", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 128000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "knowledge": "2024-09", + "release_date": "2024-11-01", + "last_updated": "2024-11-01", "cost": { - "input": 0, - "output": 0, - "reasoning": 0 + "input": 2, + "output": 6 }, "type": "chat" - } - ] - }, - "nearai": { - "id": "nearai", - "name": "NEAR AI Cloud", - "display_name": "NEAR AI Cloud", - "api": "https://cloud-api.near.ai/v1", - "doc": "https://docs.near.ai/", - "models": [ + }, { - "id": "zai-org/GLM-5.1-FP8", - "name": "GLM-5.1 FP8", - "display_name": "GLM-5.1 FP8", + "id": "gpt-4-turbo-vision", + "name": "GPT-4 Turbo Vision", + "display_name": "GPT-4 Turbo Vision", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 202752, - "output": 131072 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "attachment": true, + "open_weights": false, + "knowledge": "2023-11", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", "cost": { - "input": 0.85, - "output": 3.3 + "input": 10, + "output": 30 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "gpt-5.2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -145987,52 +152647,43 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", + "mode": "effort", + "effort": "none", "effort_options": [ + "none", "low", "medium", "high", - "max" + "xhigh" ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] + "visibility": "hidden" } }, "attachment": true, "open_weights": false, "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 1.75, + "output": 14, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "anthropic/claude-haiku-4-5", - "name": "Claude Haiku 4.5 (latest)", - "display_name": "Claude Haiku 4.5 (latest)", + "id": "o3-mini", + "name": "o3-mini", + "display_name": "o3-mini", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" @@ -146040,314 +152691,231 @@ }, "limit": { "context": 200000, - "output": 64000 + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "visibility": "hidden" } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "knowledge": "2024-05", + "release_date": "2024-12-20", + "last_updated": "2025-01-29", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4-5", - "name": "Claude Sonnet 4.5 (latest)", - "display_name": "Claude Sonnet 4.5 (latest)", + "id": "text-embedding-ada-002", + "name": "text-embedding-ada-002", + "display_name": "text-embedding-ada-002", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 8192, + "output": 1536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "release_date": "2022-12-15", + "last_updated": "2022-12-15", "cost": { - "input": 3, - "output": 15.5, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.1, + "output": 0 }, - "type": "chat" + "type": "embedding" }, { - "id": "anthropic/claude-opus-4-6", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", + "id": "meta-llama-3.1-70b-instruct", + "name": "Meta-Llama-3.1-70B-Instruct", + "display_name": "Meta-Llama-3.1-70B-Instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 128000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-03-13", + "attachment": false, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 2.68, + "output": 3.54 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4-7", - "name": "Claude Opus 4.7", - "display_name": "Claude Opus 4.7", + "id": "mistral-medium-2505", + "name": "Mistral Medium 3", + "display_name": "Mistral Medium 3", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 128000, "output": 128000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "knowledge": "2025-05", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.4, + "output": 2 }, "type": "chat" }, { - "id": "black-forest-labs/FLUX.2-klein-4B", - "name": "FLUX.2 Klein 4B", - "display_name": "FLUX.2 Klein 4B", + "id": "phi-4-reasoning", + "name": "Phi-4-reasoning", + "display_name": "Phi-4-reasoning", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 32000, + "output": 4096 }, "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "release_date": "2026-01-14", - "last_updated": "2026-01-14", + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", "cost": { - "input": 1, - "output": 1 + "input": 0.125, + "output": 0.5 }, "type": "chat" }, { - "id": "Qwen/Qwen3.6-35B-A3B-FP8", - "name": "Qwen 3.6 35B A3B FP8", - "display_name": "Qwen 3.6 35B A3B FP8", + "id": "gpt-5.1-codex", + "name": "GPT-5.1 Codex", + "display_name": "GPT-5.1 Codex", "modalities": { "input": [ - "text" + "text", + "image", + "audio" ], "output": [ - "text" + "text", + "image", + "audio" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": true, - "open_weights": true, - "release_date": "2026-04-17", - "last_updated": "2026-04-17", + "attachment": false, + "open_weights": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", "cost": { - "input": 0.17, - "output": 1.1, - "cache_read": 0.056 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", - "name": "Qwen3 30B-A3B Instruct 2507", - "display_name": "Qwen3 30B-A3B Instruct 2507", + "id": "gpt-3.5-turbo-0613", + "name": "GPT-3.5 Turbo 0613", + "display_name": "GPT-3.5 Turbo 0613", "modalities": { "input": [ "text" @@ -146357,28 +152925,29 @@ ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 16384, + "output": 16384 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-07-29", - "last_updated": "2025-07-29", + "open_weights": false, + "knowledge": "2021-08", + "release_date": "2023-06-13", + "last_updated": "2023-06-13", "cost": { - "input": 0.15, - "output": 0.55 + "input": 3, + "output": 4 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Reranker-0.6B", - "name": "Qwen3 Reranker 0.6B", - "display_name": "Qwen3 Reranker 0.6B", + "id": "cohere-embed-v3-multilingual", + "name": "Embed v3 Multilingual", + "display_name": "Embed v3 Multilingual", "modalities": { "input": [ "text" @@ -146388,7 +152957,7 @@ ] }, "limit": { - "context": 40960, + "context": 512, "output": 1024 }, "temperature": false, @@ -146398,18 +152967,18 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-06-03", - "last_updated": "2025-06-03", + "release_date": "2023-11-07", + "last_updated": "2023-11-07", "cost": { - "input": 0.01, - "output": 0.01 + "input": 0.1, + "output": 0 }, - "type": "rerank" + "type": "chat" }, { - "id": "Qwen/Qwen3-Embedding-0.6B", - "name": "Qwen3 Embedding 0.6B", - "display_name": "Qwen3 Embedding 0.6B", + "id": "gpt-3.5-turbo-0125", + "name": "GPT-3.5 Turbo 0125", + "display_name": "GPT-3.5 Turbo 0125", "modalities": { "input": [ "text" @@ -146419,60 +152988,61 @@ ] }, "limit": { - "context": 40960, - "output": 1024 + "context": 16384, + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-06-03", - "last_updated": "2025-06-03", + "open_weights": false, + "knowledge": "2021-08", + "release_date": "2024-01-25", + "last_updated": "2024-01-25", "cost": { - "input": 0.01, - "output": 0 + "input": 0.5, + "output": 1.5 }, - "type": "embedding" + "type": "chat" }, { - "id": "Qwen/Qwen3-VL-30B-A3B-Instruct", - "name": "Qwen3-VL 30B-A3B Instruct", - "display_name": "Qwen3-VL 30B-A3B Instruct", + "id": "phi-3-small-8k-instruct", + "name": "Phi-3-small-instruct (8k)", + "display_name": "Phi-3-small-instruct (8k)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 32768 + "context": 8192, + "output": 2048 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2025-09-23", - "last_updated": "2025-09-23", + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", "cost": { "input": 0.15, - "output": 0.55 + "output": 0.6 }, "type": "chat" }, { - "id": "Qwen/Qwen3.5-122B-A10B", - "name": "Qwen3.5 122B-A10B", - "display_name": "Qwen3.5 122B-A10B", + "id": "deepseek-r1", + "name": "DeepSeek-R1", + "display_name": "DeepSeek-R1", "modalities": { "input": [ "text" @@ -146482,11 +153052,11 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 163840, + "output": 163840 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -146502,35 +153072,32 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-02-23", - "last_updated": "2026-02-23", + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", "cost": { - "input": 0.4, - "output": 3.2 + "input": 1.35, + "output": 5.4 }, "type": "chat" }, { - "id": "google/gemini-3-pro", - "name": "Gemini 3 Pro Preview", - "display_name": "Gemini 3 Pro Preview", + "id": "kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "display_name": "Kimi K2 Thinking", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -146541,109 +153108,68 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", + "attachment": false, + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-12-02", "cost": { - "input": 1.25, - "output": 15, - "cache_read": 0 + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "google/gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "display_name": "Gemini 2.5 Pro", + "id": "gpt-5.1-chat", + "name": "GPT-5.1 Chat", + "display_name": "GPT-5.1 Chat", "modalities": { "input": [ "text", "image", - "audio", - "video", - "pdf" + "audio" ], "output": [ - "text" + "text", + "image", + "audio" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 128000, + "output": 16384 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 15, - "cache_read": 0.25 - } + "cache_read": 0.125 }, "type": "chat" }, { - "id": "google/gemma-4-31B-it", - "name": "Gemma 4 31B IT", - "display_name": "Gemma 4 31B IT", + "id": "llama-3.3-70b-instruct", + "name": "Llama-3.3-70B-Instruct", + "display_name": "Llama-3.3-70B-Instruct", "modalities": { "input": [ "text" @@ -146653,367 +153179,258 @@ ] }, "limit": { - "context": 262144, + "context": 128000, "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 0.13, - "output": 0.4, - "cache_read": 0.026 + "input": 0.71, + "output": 0.71 }, "type": "chat" }, { - "id": "google/gemini-3.1-flash-lite", - "name": "Gemini 3.1 Flash Lite", - "display_name": "Gemini 3.1 Flash Lite", + "id": "llama-4-scout-17b-16e-instruct", + "name": "Llama 4 Scout 17B 16E Instruct", + "display_name": "Llama 4 Scout 17B 16E Instruct", "modalities": { "input": [ "text", - "image", - "video", - "audio", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 128000, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-05-07", - "last_updated": "2026-05-07", + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.025, - "input_audio": 0.5 + "input": 0.2, + "output": 0.78 }, "type": "chat" }, { - "id": "google/gemini-2.5-flash-lite", - "name": "Gemini 2.5 Flash-Lite", - "display_name": "Gemini 2.5 Flash-Lite", + "id": "gpt-3.5-turbo-1106", + "name": "GPT-3.5 Turbo 1106", + "display_name": "GPT-3.5 Turbo 1106", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 16384, + "output": 16384 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "default": -1, - "min": 512, - "max": 24576, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", + "knowledge": "2021-08", + "release_date": "2023-11-06", + "last_updated": "2023-11-06", "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.01, - "input_audio": 0.3 + "input": 1, + "output": 2 }, "type": "chat" }, { - "id": "google/gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "display_name": "Gemini 2.5 Flash", + "id": "phi-4-mini", + "name": "Phi-4-mini", + "display_name": "Phi-4-mini", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 128000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "attachment": false, + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.03, - "input_audio": 1 + "input": 0.075, + "output": 0.3 }, "type": "chat" }, { - "id": "google/gemini-3.5-flash", - "name": "Gemini 3.5 Flash", - "display_name": "Gemini 3.5 Flash", + "id": "cohere-command-r-plus-08-2024", + "name": "Command R+", + "display_name": "Command R+", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 128000, + "output": 4000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-05-19", - "last_updated": "2026-05-19", + "attachment": false, + "open_weights": true, + "knowledge": "2024-06-01", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", "cost": { - "input": 1.5, - "output": 9, - "cache_read": 0.15, - "input_audio": 1.5 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "openai/gpt-5-mini", - "name": "GPT-5 Mini", - "display_name": "GPT-5 Mini", + "id": "meta-llama-3.1-405b-instruct", + "name": "Meta-Llama-3.1-405B-Instruct", + "display_name": "Meta-Llama-3.1-405B-Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 32768 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "attachment": false, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 5.33, + "output": 16 }, "type": "chat" }, { - "id": "openai/gpt-5.2", - "name": "GPT-5.2", - "display_name": "GPT-5.2", + "id": "gpt-4-32k", + "name": "GPT-4 32K", + "display_name": "GPT-4 32K", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 32768, + "output": 32768 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "knowledge": "2023-11", + "release_date": "2023-03-14", + "last_updated": "2023-03-14", "cost": { - "input": 1.8, - "output": 15.5, - "cache_read": 0.18 + "input": 60, + "output": 120 }, "type": "chat" }, { - "id": "openai/o3", - "name": "o3", - "display_name": "o3", + "id": "phi-3-medium-128k-instruct", + "name": "Phi-3-medium-instruct (128k)", + "display_name": "Phi-3-medium-instruct (128k)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 4096 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "cost": { + "input": 0.17, + "output": 0.68 + }, + "type": "chat" + }, + { + "id": "o4-mini", + "name": "o4-mini", + "display_name": "o4-mini", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -147049,85 +153466,60 @@ "release_date": "2025-04-16", "last_updated": "2025-04-16", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 1.1, + "output": 4.4, + "cache_read": 0.275 }, "type": "chat" }, { - "id": "openai/gpt-5", - "name": "GPT-5", - "display_name": "GPT-5", + "id": "gpt-4", + "name": "GPT-4", + "display_name": "GPT-4", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 8192, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2023-11", + "release_date": "2023-03-14", + "last_updated": "2023-03-14", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 60, + "output": 120 }, "type": "chat" }, { - "id": "openai/gpt-4.1-mini", - "name": "GPT-4.1 mini", - "display_name": "GPT-4.1 mini", + "id": "gpt-4o", + "name": "GPT-4o", + "display_name": "GPT-4o", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -147136,102 +153528,77 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-08-06", "cost": { - "input": 0.4, - "output": 1.6, - "cache_read": 0.1 + "input": 2.5, + "output": 10, + "cache_read": 1.25 }, "type": "chat" }, { - "id": "openai/o4-mini", - "name": "o4-mini", - "display_name": "o4-mini", + "id": "cohere-command-r-08-2024", + "name": "Command R", + "display_name": "Command R", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 128000, + "output": 4000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "attachment": false, + "open_weights": true, + "knowledge": "2024-06-01", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.275 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "openai/gpt-5.4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "gpt-5-pro", + "name": "GPT-5 Pro", + "display_name": "GPT-5 Pro", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 400000, + "output": 272000 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], + "default_enabled": true, + "mode": "fixed", + "effort": "high", "verbosity": "medium", "verbosity_options": [ "low", @@ -147243,157 +153610,85 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "knowledge": "2024-09-30", + "release_date": "2025-10-06", + "last_updated": "2025-10-06", "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 - } - } - ], - "context_over_200k": { - "input": 5, - "output": 22.5, - "cache_read": 0.5 - } + "input": 15, + "output": 120 }, "type": "chat" }, { - "id": "openai/o3-mini", - "name": "o3-mini", - "display_name": "o3-mini", + "id": "llama-3.2-11b-vision-instruct", + "name": "Llama-3.2-11B-Vision-Instruct", + "display_name": "Llama-3.2-11B-Vision-Instruct", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 128000, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2024-12-20", - "last_updated": "2025-01-29", + "attachment": true, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.55 + "input": 0.37, + "output": 0.37 }, "type": "chat" }, { - "id": "openai/gpt-5.5", - "name": "GPT-5.5", - "display_name": "GPT-5.5", + "id": "cohere-command-a", + "name": "Command A", + "display_name": "Command A", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 256000, + "output": 8000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "attachment": false, + "open_weights": true, + "knowledge": "2024-06-01", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5, - "tiers": [ - { - "input": 10, - "output": 45, - "cache_read": 1, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 10, - "output": 45, - "cache_read": 1 - } + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "openai/gpt-5.1", - "name": "GPT-5.1", - "display_name": "GPT-5.1", + "id": "gpt-5-chat", + "name": "GPT-5 Chat", + "display_name": "GPT-5 Chat", "modalities": { "input": [ "text", @@ -147404,52 +153699,31 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 16384 }, "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "knowledge": "2024-10-24", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { "input": 1.25, "output": 10, - "cache_read": 0.125 + "cache_read": 0.13 }, "type": "chat" }, { - "id": "openai/gpt-5-nano", - "name": "GPT-5 Nano", - "display_name": "GPT-5 Nano", + "id": "gpt-5", + "name": "GPT-5", + "display_name": "GPT-5", "modalities": { "input": [ "text", @@ -147460,7 +153734,7 @@ ] }, "limit": { - "context": 400000, + "context": 272000, "output": 128000 }, "temperature": false, @@ -147492,214 +153766,141 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-05-30", + "knowledge": "2024-09-30", "release_date": "2025-08-07", "last_updated": "2025-08-07", "cost": { - "input": 0.05, - "output": 0.4, - "cache_read": 0.005 - }, - "type": "chat" - }, - { - "id": "openai/gpt-oss-120b", - "name": "GPT-OSS 120B", - "display_name": "GPT-OSS 120B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131000, - "output": 32768 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "cost": { - "input": 0.15, - "output": 0.55 + "input": 1.25, + "output": 10, + "cache_read": 0.13 }, "type": "chat" }, { - "id": "openai/gpt-4.1", - "name": "GPT-4.1", - "display_name": "GPT-4.1", + "id": "cohere-embed-v-4-0", + "name": "Embed v4", + "display_name": "Embed v4", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 128000, + "output": 1536 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "open_weights": true, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0.12, + "output": 0 }, "type": "chat" }, { - "id": "openai/gpt-5.4-nano", - "name": "GPT-5.4 nano", - "display_name": "GPT-5.4 nano", + "id": "mistral-nemo", + "name": "Mistral Nemo", + "display_name": "Mistral Nemo", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, + "context": 128000, "output": 128000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "attachment": false, + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", "cost": { - "input": 0.2, - "output": 1.25, - "cache_read": 0.02 + "input": 0.15, + "output": 0.15 }, "type": "chat" }, { - "id": "openai/whisper-large-v3", - "name": "Whisper Large v3", - "display_name": "Whisper Large v3", + "id": "phi-3.5-mini-instruct", + "name": "Phi-3.5-mini-instruct", + "display_name": "Phi-3.5-mini-instruct", "modalities": { "input": [ - "audio" + "text" ], "output": [ "text" ] }, "limit": { - "context": 448, - "output": 448 + "context": 128000, + "output": 4096 }, - "temperature": false, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2023-11-06", - "last_updated": "2023-11-06", + "knowledge": "2023-10", + "release_date": "2024-08-20", + "last_updated": "2024-08-20", "cost": { - "input": 0.01, - "output": 0 + "input": 0.13, + "output": 0.52 }, "type": "chat" }, { - "id": "openai/gpt-5.4-mini", - "name": "GPT-5.4 mini", - "display_name": "GPT-5.4 mini", + "id": "o1-mini", + "name": "o1-mini", + "display_name": "o1-mini", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 65536 }, "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ + "effort": "medium", + "effort_options": [ "low", "medium", "high" @@ -147707,104 +153908,85 @@ "visibility": "hidden" } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "knowledge": "2023-09", + "release_date": "2024-09-12", + "last_updated": "2024-09-12", "cost": { - "input": 0.75, - "output": 4.5, - "cache_read": 0.075 + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 }, "type": "chat" }, { - "id": "openai/gpt-4.1-nano", - "name": "GPT-4.1 nano", - "display_name": "GPT-4.1 nano", + "id": "text-embedding-3-large", + "name": "text-embedding-3-large", + "display_name": "text-embedding-3-large", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 8191, + "output": 3072 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "release_date": "2024-01-25", + "last_updated": "2024-01-25", "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.025 + "input": 0.13, + "output": 0 }, - "type": "chat" - } - ] - }, - "inceptron": { - "id": "inceptron", - "name": "Inceptron", - "display_name": "Inceptron", - "api": "https://api.inceptron.io/v1", - "doc": "https://docs.inceptron.io", - "models": [ + "type": "embedding" + }, { - "id": "MiniMaxAI/MiniMax-M2.5", - "name": "MiniMax M2.5", - "display_name": "MiniMax M2.5", + "id": "mistral-small-2503", + "name": "Mistral Small 3.1", + "display_name": "Mistral Small 3.1", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 196608, - "output": 196608 + "context": 128000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "attachment": true, + "open_weights": false, + "knowledge": "2024-09", + "release_date": "2025-03-01", + "last_updated": "2025-03-01", "cost": { - "input": 0.24, - "output": 0.9, - "cache_read": 0.03, - "cache_write": 0 + "input": 0.1, + "output": 0.3 }, "type": "chat" }, { - "id": "zai-org/GLM-5.1-FP8", - "name": "GLM 5.1", - "display_name": "GLM 5.1", + "id": "meta-llama-3-8b-instruct", + "name": "Meta-Llama-3-8B-Instruct", + "display_name": "Meta-Llama-3-8B-Instruct", "modalities": { "input": [ "text" @@ -147814,89 +153996,61 @@ ] }, "limit": { - "context": 202752, - "output": 202752 + "context": 8192, + "output": 2048 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "knowledge": "2023-12", + "release_date": "2024-04-18", + "last_updated": "2024-04-18", "cost": { - "input": 1.4, - "output": 4.4, - "cache_read": 0.26, - "cache_write": 0 + "input": 0.3, + "output": 0.61 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "phi-3-small-128k-instruct", + "name": "Phi-3-small-instruct (128k)", + "display_name": "Phi-3-small-instruct (128k)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 128000, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", "cost": { - "input": 0.78, - "output": 3.5, - "cache_read": 0.2, - "cache_write": 0 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "nvidia/llama-3.3-70b-instruct-fp8", - "name": "Llama 3.3 70B Instruct", - "display_name": "Llama 3.3 70B Instruct", + "id": "deepseek-v3-0324", + "name": "DeepSeek-V3-0324", + "display_name": "DeepSeek-V3-0324", "modalities": { "input": [ "text" @@ -147914,32 +154068,21 @@ "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "knowledge": "2024-07", + "release_date": "2025-03-24", + "last_updated": "2025-03-24", "cost": { - "input": 0.12, - "output": 0.38, - "cache_read": 0, - "cache_write": 0 + "input": 1.14, + "output": 4.56 }, "type": "chat" - } - ] - }, - "xpersona": { - "id": "xpersona", - "name": "Xpersona", - "display_name": "Xpersona", - "api": "https://www.xpersona.co/v1", - "doc": "https://www.xpersona.co/docs", - "models": [ + }, { - "id": "xpersona-gpt-5.5", - "name": "GPT-5.5", - "display_name": "GPT-5.5", + "id": "o3", + "name": "o3", + "display_name": "o3", "modalities": { "input": [ "text", @@ -147950,8 +154093,8 @@ ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 200000, + "output": 100000 }, "temperature": false, "tool_call": true, @@ -147962,31 +154105,33 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-12-30", - "release_date": "2026-05-29", - "last_updated": "2026-05-29", + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", "cost": { - "input": 3, - "output": 18, - "reasoning": 18, - "cache_read": 0.3 + "input": 2, + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "xpersona-frieren-coder", - "name": "Xpersona Frieren 1", - "display_name": "Xpersona Frieren 1", + "id": "gpt-5.2-chat", + "name": "GPT-5.2 Chat", + "display_name": "GPT-5.2 Chat", "modalities": { "input": [ "text", @@ -147997,8 +154142,8 @@ ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 128000, + "output": 16384 }, "temperature": false, "tool_call": true, @@ -148006,221 +154151,133 @@ "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-12-30", - "release_date": "2026-05-01", - "last_updated": "2026-05-25", + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 1.5, - "output": 6, - "reasoning": 6, - "cache_read": 0.15 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" - } - ] - }, - "perplexity-agent": { - "id": "perplexity-agent", - "name": "Perplexity Agent", - "display_name": "Perplexity Agent", - "api": "https://api.perplexity.ai/v1", - "doc": "https://docs.perplexity.ai/docs/agent-api/models", - "models": [ + }, { - "id": "anthropic/claude-opus-4-5", - "name": "Claude Opus 4.5", - "display_name": "Claude Opus 4.5", + "id": "deepseek-r1-0528", + "name": "DeepSeek-R1-0528", + "display_name": "DeepSeek-R1-0528", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 163840, + "output": 163840 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", + "attachment": false, + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2025-05-28", + "last_updated": "2025-05-28", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5 + "input": 1.35, + "output": 5.4 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "gpt-3.5-turbo-instruct", + "name": "GPT-3.5 Turbo Instruct", + "display_name": "GPT-3.5 Turbo Instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 4096, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-02-17", + "knowledge": "2021-08", + "release_date": "2023-09-21", + "last_updated": "2023-09-21", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3 + "input": 1.5, + "output": 2 }, "type": "chat" }, { - "id": "anthropic/claude-haiku-4-5", - "name": "Claude Haiku 4.5", - "display_name": "Claude Haiku 4.5", + "id": "phi-3.5-moe-instruct", + "name": "Phi-3.5-MoE-instruct", + "display_name": "Phi-3.5-MoE-instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 128000, + "output": 4096 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "attachment": false, + "open_weights": true, + "knowledge": "2023-10", + "release_date": "2024-08-20", + "last_updated": "2024-08-20", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1 + "input": 0.16, + "output": 0.64 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4-5", - "name": "Claude Sonnet 4.5", - "display_name": "Claude Sonnet 4.5", + "id": "codex-mini", + "name": "Codex Mini", + "display_name": "Codex Mini", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" @@ -148228,244 +154285,131 @@ }, "limit": { "context": 200000, - "output": 64000 + "output": 100000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "knowledge": "2024-04", + "release_date": "2025-05-16", + "last_updated": "2025-05-16", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3 + "input": 1.5, + "output": 6, + "cache_read": 0.375 }, "type": "chat" - }, + } + ] + }, + "baseten": { + "id": "baseten", + "name": "Baseten", + "display_name": "Baseten", + "api": "https://inference.baseten.co/v1", + "doc": "https://docs.baseten.co/inference/model-apis/overview", + "models": [ { - "id": "anthropic/claude-opus-4-6", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", + "id": "moonshotai/Kimi-K2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 262000, + "output": 262000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5 + "input": 0.95, + "output": 4, + "cache_read": 0.16 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4-7", - "name": "Claude Opus 4.7", - "display_name": "Claude Opus 4.7", + "id": "moonshotai/Kimi-K2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 262000, + "output": 262000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", - "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5 - }, - "type": "chat" - }, - { - "id": "xai/grok-4-1-fast-non-reasoning", - "name": "Grok 4.1 Fast (Non-Reasoning)", - "display_name": "Grok 4.1 Fast (Non-Reasoning)", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 2000000, - "output": 30000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-07", - "release_date": "2025-11-19", - "last_updated": "2025-11-19", - "cost": { - "input": 0.2, - "output": 0.5, - "cache_read": 0.05 - }, - "type": "chat" - }, - { - "id": "perplexity/sonar", - "name": "Sonar", - "display_name": "Sonar", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 8192 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-09-01", - "release_date": "2024-01-01", - "last_updated": "2025-09-01", + "open_weights": true, + "knowledge": "2025-12", + "release_date": "2026-01-30", + "last_updated": "2026-02-12", "cost": { - "input": 0.25, - "output": 2.5, - "cache_read": 0.0625 + "input": 0.6, + "output": 3, + "cache_read": 0.12 }, "type": "chat" }, { - "id": "nvidia/nemotron-3-super-120b-a12b", - "name": "Nemotron 3 Super 120B", - "display_name": "Nemotron 3 Super 120B", + "id": "openai/gpt-oss-120b", + "name": "OpenAI GPT 120B", + "display_name": "OpenAI GPT 120B", "modalities": { "input": [ "text" @@ -148475,8 +154419,8 @@ ] }, "limit": { - "context": 1000000, - "output": 32000 + "context": 128072, + "output": 128072 }, "temperature": true, "tool_call": true, @@ -148484,36 +154428,37 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": false, "open_weights": true, - "knowledge": "2026-02", - "release_date": "2026-03-11", - "last_updated": "2026-03-11", + "knowledge": "2025-08", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.25, - "output": 2.5 + "input": 0.1, + "output": 0.5 }, "type": "chat" }, { - "id": "google/gemini-3-flash-preview", - "name": "Gemini 3 Flash Preview", - "display_name": "Gemini 3 Flash Preview", + "id": "nvidia/Nemotron-120B-A12B", + "name": "Nemotron Super", + "display_name": "Nemotron Super", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 202800, + "output": 202800 }, "temperature": true, "tool_call": true, @@ -148524,69 +154469,41 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "attachment": false, + "open_weights": true, + "knowledge": "2026-02", + "release_date": "2026-03-11", + "last_updated": "2026-03-11", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.05, - "tiers": [ - { - "input": 0.5, - "output": 3, - "cache_read": 0.05, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 0.5, - "output": 3, - "cache_read": 0.05 - } + "input": 0.06, + "output": 0.75, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "google/gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "display_name": "Gemini 2.5 Pro", + "id": "nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B", + "name": "Nemotron Ultra", + "display_name": "Nemotron Ultra", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 202800, + "output": 202800 }, "temperature": true, "tool_call": true, @@ -148597,69 +154514,40 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "attachment": false, + "open_weights": true, + "release_date": "2026-06-04", + "last_updated": "2026-06-04", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 15, - "cache_read": 0.25 - } + "input": 0.6, + "output": 2.4, + "cache_read": 0.12 }, "type": "chat" }, { - "id": "google/gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "display_name": "Gemini 3.1 Pro Preview", + "id": "zai-org/GLM-5", + "name": "GLM 5", + "display_name": "GLM 5", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 202800, + "output": 202800 }, "temperature": true, "tool_call": true, @@ -148670,67 +154558,41 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", + "attachment": false, + "open_weights": true, + "knowledge": "2026-01", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "tiers": [ - { - "input": 4, - "output": 18, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 4, - "output": 18, - "cache_read": 0.4 - } + "input": 0.95, + "output": 3.15, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "google/gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "display_name": "Gemini 2.5 Flash", + "id": "zai-org/GLM-4.7", + "name": "GLM 4.7", + "display_name": "GLM 4.7", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 200000, + "output": 200000 }, "temperature": true, "tool_call": true, @@ -148741,53 +154603,43 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.03 + "input": 0.12, + "output": 2.2, + "cache_read": 0.12 }, "type": "chat" }, { - "id": "openai/gpt-5-mini", - "name": "GPT-5 Mini", - "display_name": "GPT-5 Mini", + "id": "zai-org/GLM-5.1", + "name": "GLM 5.1", + "display_name": "GLM 5.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 202800, + "output": 202800 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -148796,169 +154648,119 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "attachment": false, + "open_weights": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 1.3, + "output": 4.3, + "cache_read": 0.26 }, "type": "chat" }, { - "id": "openai/gpt-5.2", - "name": "GPT-5.2", - "display_name": "GPT-5.2", + "id": "deepseek-ai/DeepSeek-V3.1", + "name": "DeepSeek V3.1", + "display_name": "DeepSeek V3.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 164000, + "output": 131000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "attachment": false, + "open_weights": true, + "release_date": "2025-08-25", + "last_updated": "2025-08-25", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.5, + "output": 1.5 }, "type": "chat" }, { - "id": "openai/gpt-5.4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "deepseek-ai/DeepSeek-V4-Pro", + "name": "Deepseek V4 Pro", + "display_name": "Deepseek V4 Pro", "modalities": { - "input": [ - "text", - "image" + "input": [ + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 131000, + "output": 131000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 2.5, - "output": 15, - "cache_read": 0.25 + "input": 1.74, + "output": 3.48, + "cache_read": 0.145 }, "type": "chat" }, { - "id": "openai/gpt-5.5", - "name": "GPT-5.5", - "display_name": "GPT-5.5", + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 204000, + "output": 204000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -148967,105 +154769,100 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "attachment": false, + "open_weights": true, + "knowledge": "2026-01", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5 + "input": 0.3, + "output": 1.2 + }, + "type": "chat" + } + ] + }, + "atomic-chat": { + "id": "atomic-chat", + "name": "Atomic Chat", + "display_name": "Atomic Chat", + "api": "http://127.0.0.1:1337/v1", + "doc": "https://atomic.chat", + "models": [ + { + "id": "gemma-4-E4B-it-IQ4_XS", + "name": "Gemma 4 E4B Instruct (IQ4_XS)", + "display_name": "Gemma 4 E4B Instruct (IQ4_XS)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 32768, + "output": 8192 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "cost": { + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "openai/gpt-5.1", - "name": "GPT-5.1", - "display_name": "GPT-5.1", + "id": "Meta-Llama-3_1-8B-Instruct-GGUF", + "name": "Meta Llama 3.1 8B Instruct (GGUF)", + "display_name": "Meta Llama 3.1 8B Instruct (GGUF)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 4096 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "attachment": false, + "open_weights": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0, + "output": 0 }, "type": "chat" - } - ] - }, - "abliteration-ai": { - "id": "abliteration-ai", - "name": "abliteration.ai", - "display_name": "abliteration.ai", - "api": "https://api.abliteration.ai/v1", - "doc": "https://docs.abliteration.ai/models", - "models": [ + }, { - "id": "abliterated-model", - "name": "Abliterated Model", - "display_name": "Abliterated Model", + "id": "Qwen3_5-9B-MLX-4bit", + "name": "Qwen 3.5 9B (MLX 4-bit)", + "display_name": "Qwen 3.5 9B (MLX 4-bit)", "modalities": { "input": [ "text", @@ -149076,7 +154873,7 @@ ] }, "limit": { - "context": 150000, + "context": 32768, "output": 8192 }, "temperature": true, @@ -149086,27 +154883,18 @@ }, "attachment": true, "open_weights": true, - "release_date": "2026-01-06", - "last_updated": "2026-01-06", + "release_date": "2026-03-05", + "last_updated": "2026-04-04", "cost": { - "input": 3, - "output": 3 + "input": 0, + "output": 0 }, "type": "chat" - } - ] - }, - "minimax-cn": { - "id": "minimax-cn", - "name": "MiniMax (minimaxi.com)", - "display_name": "MiniMax (minimaxi.com)", - "api": "https://api.minimaxi.com/anthropic/v1", - "doc": "https://platform.minimaxi.com/docs/guides/quickstart", - "models": [ + }, { - "id": "MiniMax-M2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "gemma-4-E4B-it-MLX-4bit", + "name": "Gemma 4 E4B Instruct (MLX 4-bit)", + "display_name": "Gemma 4 E4B Instruct (MLX 4-bit)", "modalities": { "input": [ "text" @@ -149116,76 +154904,69 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 32768, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.03, - "cache_write": 0.375 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "MiniMax-M3", - "name": "MiniMax-M3", - "display_name": "MiniMax-M3", + "id": "Qwen3_5-9B-Q4_K_M", + "name": "Qwen 3.5 9B (Q4_K_M)", + "display_name": "Qwen 3.5 9B (Q4_K_M)", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 512000, - "output": 128000 + "context": 32768, + "output": 8192 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": true, "open_weights": true, - "release_date": "2026-06-01", - "last_updated": "2026-06-01", + "release_date": "2026-03-05", + "last_updated": "2026-04-04", "cost": { - "input": 0.6, - "output": 2.4, - "cache_read": 0.12 + "input": 0, + "output": 0 }, "type": "chat" - }, + } + ] + }, + "routing-run": { + "id": "routing-run", + "name": "routing.run", + "display_name": "routing.run", + "api": "https://ai.routing.sh/v1", + "doc": "https://docs.routing.run/api-reference/models", + "models": [ { - "id": "MiniMax-M2.5-highspeed", - "name": "MiniMax-M2.5-highspeed", - "display_name": "MiniMax-M2.5-highspeed", + "id": "route/deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ "text" @@ -149195,7 +154976,7 @@ ] }, "limit": { - "context": 204800, + "context": 1000000, "output": 131072 }, "temperature": true, @@ -149206,25 +154987,31 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, "open_weights": true, - "release_date": "2026-02-13", - "last_updated": "2026-02-13", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.6, - "output": 2.4, - "cache_read": 0.06, - "cache_write": 0.375 + "input": 0.4928, + "output": 0.7392, + "cache_read": 0.0028 }, "type": "chat" }, { - "id": "MiniMax-M2.7", - "name": "MiniMax-M2.7", - "display_name": "MiniMax-M2.7", + "id": "route/deepseek-v4-flash-6bit", + "name": "DeepSeek V4 Flash 6bit", + "display_name": "DeepSeek V4 Flash 6bit", "modalities": { "input": [ "text" @@ -149234,7 +155021,7 @@ ] }, "limit": { - "context": 204800, + "context": 1000000, "output": 131072 }, "temperature": true, @@ -149256,20 +155043,20 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06, - "cache_write": 0.375 + "input": 0.4928, + "output": 0.7392, + "cache_read": 0.0028 }, "type": "chat" }, { - "id": "MiniMax-M2", - "name": "MiniMax-M2", - "display_name": "MiniMax-M2", + "id": "route/minimax-m2.7-highspeed", + "name": "MiniMax M2.7 Highspeed", + "display_name": "MiniMax M2.7 Highspeed", "modalities": { "input": [ "text" @@ -149279,8 +155066,8 @@ ] }, "limit": { - "context": 196608, - "output": 128000 + "context": 100000, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -149290,23 +155077,31 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, "open_weights": true, - "release_date": "2025-10-27", - "last_updated": "2025-10-27", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.3, - "output": 1.2 + "input": 0.33, + "output": 1.32, + "cache_read": 0.06, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "MiniMax-M2.7-highspeed", - "name": "MiniMax-M2.7-highspeed", - "display_name": "MiniMax-M2.7-highspeed", + "id": "route/glm-5.1-6bit", + "name": "GLM 5.1 6bit", + "display_name": "GLM 5.1 6bit", "modalities": { "input": [ "text" @@ -149316,8 +155111,8 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 202752, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -149338,20 +155133,20 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 0.6, - "output": 2.4, - "cache_read": 0.06, - "cache_write": 0.375 + "input": 1, + "output": 3, + "cache_read": 0.26, + "cache_write": 0 }, "type": "chat" }, { - "id": "MiniMax-M2.1", - "name": "MiniMax-M2.1", - "display_name": "MiniMax-M2.1", + "id": "route/minimax-m2.5", + "name": "MiniMax M2.5", + "display_name": "MiniMax M2.5", "modalities": { "input": [ "text" @@ -149361,14 +155156,13 @@ ] }, "limit": { - "context": 204800, + "context": 100000, "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -149377,30 +155171,25 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.3, - "output": 1.2 + "input": 0.193, + "output": 1.238, + "cache_read": 0.03, + "cache_write": 0.375 }, "type": "chat" - } - ] - }, - "qiniu-ai": { - "id": "qiniu-ai", - "name": "Qiniu", - "display_name": "Qiniu", - "api": "https://api.qnaigc.com/v1", - "doc": "https://developer.qiniu.com/aitokenapi", - "models": [ + }, { - "id": "qwen3-30b-a3b-instruct-2507", - "name": "Qwen3 30b A3b Instruct 2507", - "display_name": "Qwen3 30b A3b Instruct 2507", + "id": "route/mistral-small-2503", + "name": "Mistral Small 2503", + "display_name": "Mistral Small 2503", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" @@ -149408,23 +155197,61 @@ }, "limit": { "context": 128000, - "output": 32000 + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2026-02-04", - "last_updated": "2026-02-04", + "attachment": true, + "open_weights": true, + "knowledge": "2025-06", + "release_date": "2026-03-16", + "last_updated": "2026-03-16", + "cost": { + "input": 0.15, + "output": 0.6 + }, "type": "chat" }, { - "id": "deepseek-r1-0528", - "name": "DeepSeek-R1-0528", - "display_name": "DeepSeek-R1-0528", + "id": "route/gemma-4-31b-it", + "name": "Gemma 4 31B IT", + "display_name": "Gemma 4 31B IT", + "modalities": { + "input": [ + "text", + "image", + "video" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "cost": { + "input": 0.1, + "output": 0.3 + }, + "type": "chat" + }, + { + "id": "route/step-3.5-flash-2603", + "name": "Step 3.5 Flash 2603", + "display_name": "Step 3.5 Flash 2603", "modalities": { "input": [ "text" @@ -149434,8 +155261,8 @@ ] }, "limit": { - "context": 128000, - "output": 32000 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -149455,28 +155282,32 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "cost": { + "input": 0.1, + "output": 0.3, + "cache_read": 0.02 + }, "type": "chat" }, { - "id": "doubao-seed-2.0-code", - "name": "Doubao Seed 2.0 Code", - "display_name": "Doubao Seed 2.0 Code", + "id": "route/glm-5.1", + "name": "GLM 5.1", + "display_name": "GLM 5.1", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 128000 + "context": 202752, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -149484,44 +155315,78 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2026-02-14", - "last_updated": "2026-02-14", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", + "cost": { + "input": 1, + "output": 3, + "cache_read": 0.26, + "cache_write": 0 + }, "type": "chat" }, { - "id": "gemini-2.5-flash-image", - "name": "Gemini 2.5 Flash Image", - "display_name": "Gemini 2.5 Flash Image", + "id": "route/deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 32768, - "output": 8192 + "context": 1000000, + "output": 131072 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-10-22", - "last_updated": "2025-10-22", - "type": "imageGeneration" + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "cost": { + "input": 0.4928, + "output": 0.7392, + "cache_read": 0.003625 + }, + "type": "chat" }, { - "id": "qwen3-next-80b-a3b-instruct", - "name": "Qwen3 Next 80B A3B Instruct", - "display_name": "Qwen3 Next 80B A3B Instruct", + "id": "route/mistral-large-3", + "name": "Mistral Large 3", + "display_name": "Mistral Large 3", "modalities": { "input": [ "text" @@ -149531,7 +155396,7 @@ ] }, "limit": { - "context": 131072, + "context": 128000, "output": 32768 }, "temperature": true, @@ -149540,15 +155405,20 @@ "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-09-12", - "last_updated": "2025-09-12", + "open_weights": true, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2025-12-02", + "cost": { + "input": 0.5, + "output": 1.5 + }, "type": "chat" }, { - "id": "qwen3-max-preview", - "name": "Qwen3 Max Preview", - "display_name": "Qwen3 Max Preview", + "id": "route/deepseek-v4-pro-6bit", + "name": "DeepSeek V4 Pro 6bit", + "display_name": "DeepSeek V4 Pro 6bit", "modalities": { "input": [ "text" @@ -149558,13 +155428,14 @@ ] }, "limit": { - "context": 256000, - "output": 64000 + "context": 1000000, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -149578,20 +155449,25 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2025-09-06", - "last_updated": "2025-09-06", + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "cost": { + "input": 0.4928, + "output": 0.7392, + "cache_read": 0.003625 + }, "type": "chat" }, { - "id": "qwen2.5-vl-72b-instruct", - "name": "Qwen 2.5 VL 72B Instruct", - "display_name": "Qwen 2.5 VL 72B Instruct", + "id": "route/mistral-medium-2505", + "name": "Mistral Medium 2505", + "display_name": "Mistral Medium 2505", "modalities": { "input": [ "text", "image", - "audio", "video" ], "output": [ @@ -149600,7 +155476,7 @@ }, "limit": { "context": 128000, - "output": 8192 + "output": 32768 }, "temperature": true, "tool_call": true, @@ -149609,14 +155485,19 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2025-05", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", + "cost": { + "input": 0.4, + "output": 2 + }, "type": "chat" }, { - "id": "qwen3-32b", - "name": "Qwen3 32B", - "display_name": "Qwen3 32B", + "id": "route/minimax-m2.7", + "name": "MiniMax M2.7", + "display_name": "MiniMax M2.7", "modalities": { "input": [ "text" @@ -149626,8 +155507,8 @@ ] }, "limit": { - "context": 40000, - "output": 4096 + "context": 100000, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -149647,15 +155528,21 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "cost": { + "input": 0.33, + "output": 1.32, + "cache_read": 0.06, + "cache_write": 0.375 + }, "type": "chat" }, { - "id": "deepseek-v3-0324", - "name": "DeepSeek-V3-0324", - "display_name": "DeepSeek-V3-0324", + "id": "route/qwen3.6-27b-202k", + "name": "Qwen3.6 27B 202K", + "display_name": "Qwen3.6 27B 202K", "modalities": { "input": [ "text" @@ -149665,24 +155552,39 @@ ] }, "limit": { - "context": 128000, - "output": 16000 + "context": 202000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "open_weights": true, + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "cost": { + "input": 1.1, + "output": 3.3 + }, "type": "chat" }, { - "id": "qwen3-vl-30b-a3b-thinking", - "name": "Qwen3-Vl 30b A3b Thinking", - "display_name": "Qwen3-Vl 30b A3b Thinking", + "id": "route/kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ "text", @@ -149694,10 +155596,10 @@ ] }, "limit": { - "context": 128000, - "output": 32000 + "context": 131072, + "output": 32768 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true @@ -149714,43 +155616,21 @@ } }, "attachment": true, - "open_weights": false, - "release_date": "2026-02-09", - "last_updated": "2026-02-09", - "type": "chat" - }, - { - "id": "MiniMax-M1", - "name": "MiniMax M1", - "display_name": "MiniMax M1", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 80000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", + "cost": { + "input": 0.462, + "output": 2.42, + "cache_read": 0.1 }, - "attachment": false, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", "type": "chat" }, { - "id": "qwen-max-2025-01-25", - "name": "Qwen2.5-Max-2025-01-25", - "display_name": "Qwen2.5-Max-2025-01-25", + "id": "route/minimax-m2.5-highspeed", + "name": "MiniMax M2.5 Highspeed", + "display_name": "MiniMax M2.5 Highspeed", "modalities": { "input": [ "text" @@ -149760,29 +155640,39 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 100000, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "open_weights": true, + "release_date": "2026-02-13", + "last_updated": "2026-02-13", + "cost": { + "input": 0.193, + "output": 1.238, + "cache_read": 0.06, + "cache_write": 0.375 + }, "type": "chat" }, { - "id": "gemini-2.0-flash-lite", - "name": "Gemini 2.0 Flash Lite", - "display_name": "Gemini 2.0 Flash Lite", + "id": "route/kimi-k2.6-6bit", + "name": "Kimi K2.6 6bit", + "display_name": "Kimi K2.6 6bit", "modalities": { "input": [ "text", "image", - "audio", "video" ], "output": [ @@ -149790,8 +155680,8 @@ ] }, "limit": { - "context": 1048576, - "output": 8192 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -149799,16 +155689,33 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": true, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "cost": { + "input": 0.462, + "output": 2.42, + "cache_read": 0.16 + }, "type": "chat" }, { - "id": "doubao-seed-2.0-mini", - "name": "Doubao Seed 2.0 Mini", - "display_name": "Doubao Seed 2.0 Mini", + "id": "route/mimo-v2.5", + "name": "MiMo V2.5", + "display_name": "MiMo V2.5", "modalities": { "input": [ "text", @@ -149820,8 +155727,8 @@ ] }, "limit": { - "context": 256000, - "output": 32000 + "context": 1000000, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -149829,33 +155736,6 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2026-02-14", - "last_updated": "2026-02-14", - "type": "chat" - }, - { - "id": "qwen3-235b-a22b", - "name": "Qwen 3 235B A22B", - "display_name": "Qwen 3 235B A22B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 32000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true - }, "extra_capabilities": { "reasoning": { "supported": true, @@ -149867,65 +155747,85 @@ ] } }, - "attachment": false, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "attachment": true, + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "cost": { + "input": 0.45, + "output": 1.35, + "cache_read": 0.2, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + } + }, "type": "chat" }, { - "id": "claude-3.7-sonnet", - "name": "Claude 3.7 Sonnet", - "display_name": "Claude 3.7 Sonnet", + "id": "route/kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": false, - "summaries": false, - "visibility": "full", + "interleaved": true, + "summaries": true, + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Anthropic uses thinking budget tokens" ] } }, "attachment": true, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "cost": { + "input": 0.462, + "output": 2.42, + "cache_read": 0.16 + }, "type": "chat" }, { - "id": "qwen3-max", - "name": "Qwen3 Max", - "display_name": "Qwen3 Max", + "id": "route/qwen3.6-27b", + "name": "Qwen3.6 27B", + "display_name": "Qwen3.6 27B", "modalities": { "input": [ "text" @@ -149935,8 +155835,8 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 202000, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -149955,26 +155855,32 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2025-09-24", - "last_updated": "2025-09-24", + "open_weights": true, + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "cost": { + "input": 1.1, + "output": 3.3 + }, "type": "chat" }, { - "id": "gpt-oss-120b", - "name": "gpt-oss-120b", - "display_name": "gpt-oss-120b", + "id": "route/mimo-v2.5-pro-6bit", + "name": "MiMo V2.5 Pro 6bit", + "display_name": "MiMo V2.5 Pro 6bit", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 1000000, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -149984,19 +155890,47 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "cost": { + "input": 0.45, + "output": 1.35, + "cache_read": 0.2, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 } }, - "attachment": false, - "open_weights": false, - "release_date": "2025-08-06", - "last_updated": "2025-08-06", "type": "chat" }, { - "id": "doubao-1.5-thinking-pro", - "name": "Doubao 1.5 Thinking Pro", - "display_name": "Doubao 1.5 Thinking Pro", + "id": "route/stepfun-3.5-flash", + "name": "StepFun 3.5 Flash", + "display_name": "StepFun 3.5 Flash", "modalities": { "input": [ "text" @@ -150006,8 +155940,8 @@ ] }, "limit": { - "context": 128000, - "output": 16000 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -150015,44 +155949,96 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-01-29", + "last_updated": "2026-02-13", + "cost": { + "input": 0.096, + "output": 0.288, + "cache_read": 0.019 + }, "type": "chat" }, { - "id": "claude-3.5-haiku", - "name": "Claude 3.5 Haiku", - "display_name": "Claude 3.5 Haiku", + "id": "route/mimo-v2.5-pro", + "name": "MiMo V2.5 Pro", + "display_name": "MiMo V2.5 Pro", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 1000000, + "output": 262144 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, - "open_weights": false, - "release_date": "2025-08-26", - "last_updated": "2025-08-26", + "open_weights": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "cost": { + "input": 0.45, + "output": 1.35, + "cache_read": 0.2, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + } + }, "type": "chat" }, { - "id": "deepseek-r1", - "name": "DeepSeek-R1", - "display_name": "DeepSeek-R1", + "id": "route/step-3.5-flash", + "name": "Step 3.5 Flash", + "display_name": "Step 3.5 Flash", "modalities": { "input": [ "text" @@ -150062,8 +156048,8 @@ ] }, "limit": { - "context": 128000, - "output": 32000 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -150083,27 +156069,34 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-01-29", + "last_updated": "2026-02-13", + "cost": { + "input": 0.096, + "output": 0.288, + "cache_read": 0.019 + }, "type": "chat" }, { - "id": "claude-3.5-sonnet", - "name": "Claude 3.5 Sonnet", - "display_name": "Claude 3.5 Sonnet", + "id": "route/deepseek-v3.2", + "name": "DeepSeek V3.2", + "display_name": "DeepSeek V3.2", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 8200 + "context": 163840, + "output": 163840 }, "temperature": true, "tool_call": true, @@ -150111,30 +156104,54 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": true, - "open_weights": false, - "release_date": "2025-09-09", - "last_updated": "2025-09-09", + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "cost": { + "input": 0.4928, + "output": 0.7392 + }, "type": "chat" - }, + } + ] + }, + "google-vertex": { + "id": "google-vertex", + "name": "Vertex", + "display_name": "Vertex", + "doc": "https://cloud.google.com/vertex-ai/generative-ai/docs/models", + "models": [ { - "id": "qwen3-235b-a22b-thinking-2507", - "name": "Qwen3 235B A22B Thinking 2507", - "display_name": "Qwen3 235B A22B Thinking 2507", + "id": "gemini-2.5-pro-tts", + "name": "Gemini 2.5 Pro TTS", + "display_name": "Gemini 2.5 Pro TTS", "modalities": { "input": [ "text" ], "output": [ - "text" + "audio" ] }, "limit": { - "context": 262144, - "output": 4096 + "context": 32768, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -150142,35 +156159,52 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, "attachment": false, "open_weights": false, - "release_date": "2025-08-12", - "last_updated": "2025-08-12", + "knowledge": "2025-01", + "release_date": "2025-09-30", + "last_updated": "2025-12-10", + "cost": { + "input": 1, + "output": 20 + }, "type": "chat" }, { - "id": "gpt-oss-20b", - "name": "gpt-oss-20b", - "display_name": "gpt-oss-20b", + "id": "gemini-3.1-flash-lite", + "name": "Gemini 3.1 Flash Lite", + "display_name": "Gemini 3.1 Flash Lite", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -150183,10 +156217,17 @@ "supported": true } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-08-06", - "last_updated": "2025-08-06", + "knowledge": "2025-01", + "release_date": "2026-05-07", + "last_updated": "2026-05-07", + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "input_audio": 0.5 + }, "type": "chat" }, { @@ -150197,8 +156238,9 @@ "input": [ "text", "image", + "audio", "video", - "audio" + "pdf" ], "output": [ "text" @@ -150235,52 +156277,83 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "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 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } + }, "type": "chat" }, { - "id": "doubao-1.5-pro-32k", - "name": "Doubao 1.5 Pro 32k", - "display_name": "Doubao 1.5 Pro 32k", + "id": "gemini-2.5-flash-tts", + "name": "Gemini 2.5 Flash TTS", + "display_name": "Gemini 2.5 Flash TTS", "modalities": { "input": [ "text" ], "output": [ - "text" + "audio" ] }, "limit": { - "context": 128000, - "output": 12000 + "context": 32768, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2025-01", + "release_date": "2025-09-30", + "last_updated": "2025-12-10", + "cost": { + "input": 0.5, + "output": 10 + }, "type": "chat" }, { - "id": "qwen3-30b-a3b", - "name": "Qwen3 30B A3B", - "display_name": "Qwen3 30B A3B", + "id": "gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "display_name": "Gemini 2.5 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 40000, - "output": 4096 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -150291,36 +156364,55 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.075, + "cache_write": 0.383 + }, "type": "chat" }, { - "id": "claude-4.0-sonnet", - "name": "Claude 4.0 Sonnet", - "display_name": "Claude 4.0 Sonnet", + "id": "gemini-3.5-flash", + "name": "Gemini 3.5 Flash", + "display_name": "Gemini 3.5 Flash", "modalities": { "input": [ "text", - "image" + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -150328,79 +156420,190 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, "attachment": true, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2025-01", + "release_date": "2026-05-19", + "last_updated": "2026-05-19", + "cost": { + "input": 1.5, + "output": 9, + "cache_read": 0.15, + "input_audio": 1.5 + }, "type": "chat" }, { - "id": "qwen-vl-max-2025-01-25", - "name": "Qwen VL-MAX-2025-01-25", - "display_name": "Qwen VL-MAX-2025-01-25", + "id": "gemini-embedding-001", + "name": "Gemini Embedding 001", + "display_name": "Gemini Embedding 001", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 2048, + "output": 1 + }, + "temperature": false, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "knowledge": "2025-05", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "cost": { + "input": 0.15, + "output": 0 + }, + "type": "embedding" + }, + { + "id": "gemini-3.1-pro-preview-customtools", + "name": "Gemini 3.1 Pro Preview Custom Tools", + "display_name": "Gemini 3.1 Pro Preview Custom Tools", "modalities": { "input": [ "text", "image", + "video", "audio", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } + }, "type": "chat" }, { - "id": "qwen3-coder-480b-a35b-instruct", - "name": "Qwen3 Coder 480B A35B Instruct", - "display_name": "Qwen3 Coder 480B A35B Instruct", + "id": "gemini-flash-lite-latest", + "name": "Gemini Flash-Lite Latest", + "display_name": "Gemini Flash-Lite Latest", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 4096 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-08-14", - "last_updated": "2025-08-14", + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + }, "type": "chat" }, { "id": "gemini-2.5-flash-lite", - "name": "Gemini 2.5 Flash Lite", - "display_name": "Gemini 2.5 Flash Lite", + "name": "Gemini 2.5 Flash-Lite", + "display_name": "Gemini 2.5 Flash-Lite", "modalities": { "input": [ "text", "image", "audio", - "video" + "video", + "pdf" ], "output": [ "text" @@ -150408,7 +156611,7 @@ }, "limit": { "context": 1048576, - "output": 64000 + "output": 65536 }, "temperature": true, "tool_call": true, @@ -150437,25 +156640,36 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.01, + "input_audio": 0.3 + }, "type": "chat" }, { - "id": "qwen3-next-80b-a3b-thinking", - "name": "Qwen3 Next 80B A3B Thinking", - "display_name": "Qwen3 Next 80B A3B Thinking", + "id": "gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "display_name": "Gemini 3.1 Pro Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -150466,30 +156680,59 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-09-12", - "last_updated": "2025-09-12", + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } + }, "type": "chat" }, { - "id": "gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "display_name": "Gemini 2.5 Flash", + "id": "gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "display_name": "Gemini 3 Flash Preview", "modalities": { "input": [ "text", "image", + "video", "audio", - "video" + "pdf" ], "output": [ "text" @@ -150497,7 +156740,7 @@ }, "limit": { "context": 1048576, - "output": 64000 + "output": 65536 }, "temperature": true, "tool_call": true, @@ -150509,15 +156752,14 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ @@ -150527,26 +156769,36 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "input_audio": 1 + }, "type": "chat" }, { - "id": "claude-4.5-haiku", - "name": "Claude 4.5 Haiku", - "display_name": "Claude 4.5 Haiku", + "id": "gemini-flash-latest", + "name": "Gemini Flash Latest", + "display_name": "Gemini Flash Latest", "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -150556,26 +156808,36 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-10-16", - "last_updated": "2025-10-16", + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.075, + "cache_write": 0.383 + }, "type": "chat" }, { - "id": "claude-4.1-opus", - "name": "Claude 4.1 Opus", - "display_name": "Claude 4.1 Opus", + "id": "gemini-3.1-flash-lite-preview", + "name": "Gemini 3.1 Flash Lite Preview", + "display_name": "Gemini 3.1 Flash Lite Preview", "modalities": { "input": [ "text", - "image" + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -150583,16 +156845,28 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": true, "open_weights": false, - "release_date": "2025-08-06", - "last_updated": "2025-08-06", + "knowledge": "2025-01", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "input_audio": 0.5 + }, "type": "chat" }, { - "id": "qwen-turbo", - "name": "Qwen-Turbo", - "display_name": "Qwen-Turbo", + "id": "moonshotai/kimi-k2-thinking-maas", + "name": "Kimi K2 Thinking", + "display_name": "Kimi K2 Thinking", "modalities": { "input": [ "text" @@ -150602,8 +156876,8 @@ ] }, "limit": { - "context": 1000000, - "output": 4096 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -150623,28 +156897,31 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "cost": { + "input": 0.6, + "output": 2.5 + }, "type": "chat" }, { - "id": "doubao-seed-2.0-pro", - "name": "Doubao Seed 2.0 Pro", - "display_name": "Doubao Seed 2.0 Pro", + "id": "openai/gpt-oss-120b-maas", + "name": "GPT OSS 120B", + "display_name": "GPT OSS 120B", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 128000 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -150652,49 +156929,56 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2026-02-14", - "last_updated": "2026-02-14", + "attachment": false, + "open_weights": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "cost": { + "input": 0.09, + "output": 0.36 + }, "type": "chat" }, { - "id": "doubao-1.5-vision-pro", - "name": "Doubao 1.5 Vision Pro", - "display_name": "Doubao 1.5 Vision Pro", + "id": "openai/gpt-oss-20b-maas", + "name": "GPT OSS 20B", + "display_name": "GPT OSS 20B", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16000 + "context": 131072, + "output": 32768 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, + "attachment": false, + "open_weights": true, "release_date": "2025-08-05", "last_updated": "2025-08-05", + "cost": { + "input": 0.07, + "output": 0.25 + }, "type": "chat" }, { - "id": "claude-4.5-opus", - "name": "Claude 4.5 Opus", - "display_name": "Claude 4.5 Opus", + "id": "zai-org/glm-4.7-maas", + "name": "GLM-4.7", + "display_name": "GLM-4.7", "modalities": { "input": [ "text", - "image" + "pdf" ], "output": [ "text" @@ -150702,7 +156986,7 @@ }, "limit": { "context": 200000, - "output": 200000 + "output": 128000 }, "temperature": true, "tool_call": true, @@ -150710,58 +156994,88 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-11-25", - "last_updated": "2025-11-25", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2026-01-06", + "last_updated": "2026-01-06", + "cost": { + "input": 0.6, + "output": 2.2 + }, "type": "chat" }, { - "id": "gemini-2.0-flash", - "name": "Gemini 2.0 Flash", - "display_name": "Gemini 2.0 Flash", + "id": "zai-org/glm-5-maas", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ - "text", - "image", - "audio", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 8192 + "context": 202752, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "cost": { + "input": 1, + "output": 3.2, + "cache_read": 0.1 }, - "attachment": true, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", "type": "chat" }, { - "id": "claude-4.5-sonnet", - "name": "Claude 4.5 Sonnet", - "display_name": "Claude 4.5 Sonnet", + "id": "deepseek-ai/deepseek-v3.1-maas", + "name": "DeepSeek V3.1", + "display_name": "DeepSeek V3.1", "modalities": { "input": [ "text", - "image" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 163840, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -150769,29 +157083,32 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-09-30", - "last_updated": "2025-09-30", + "attachment": false, + "open_weights": true, + "release_date": "2025-08-28", + "last_updated": "2025-08-28", + "cost": { + "input": 0.6, + "output": 1.7 + }, "type": "chat" }, { - "id": "doubao-seed-1.6-flash", - "name": "Doubao-Seed 1.6 Flash", - "display_name": "Doubao-Seed 1.6 Flash", + "id": "deepseek-ai/deepseek-v3.2-maas", + "name": "DeepSeek V3.2", + "display_name": "DeepSeek V3.2", "modalities": { "input": [ "text", - "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 32000 + "context": 163840, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -150799,28 +157116,32 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-08-15", - "last_updated": "2025-08-15", + "attachment": false, + "open_weights": true, + "release_date": "2025-12-17", + "last_updated": "2026-04-04", + "cost": { + "input": 0.56, + "output": 1.68, + "cache_read": 0.056 + }, "type": "chat" }, { - "id": "claude-4.0-opus", - "name": "Claude 4.0 Opus", - "display_name": "Claude 4.0 Opus", + "id": "qwen/qwen3-235b-a22b-instruct-2507-maas", + "name": "Qwen3 235B A22B Instruct", + "display_name": "Qwen3 235B A22B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 262144, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -150828,22 +157149,23 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "attachment": false, + "open_weights": true, + "release_date": "2025-08-13", + "last_updated": "2025-08-13", + "cost": { + "input": 0.22, + "output": 0.88 + }, "type": "chat" }, { - "id": "qwen2.5-vl-7b-instruct", - "name": "Qwen 2.5 VL 7B Instruct", - "display_name": "Qwen 2.5 VL 7B Instruct", + "id": "meta/llama-3.3-70b-instruct-maas", + "name": "Llama 3.3 70B Instruct", + "display_name": "Llama 3.3 70B Instruct", "modalities": { "input": [ - "text", - "image", - "audio", - "video" + "text" ], "output": [ "text" @@ -150858,34 +157180,109 @@ "reasoning": { "supported": false }, + "attachment": false, + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "cost": { + "input": 0.72, + "output": 0.72 + }, + "type": "chat" + }, + { + "id": "meta/llama-4-maverick-17b-128e-instruct-maas", + "name": "Llama 4 Maverick 17B 128E Instruct", + "display_name": "Llama 4 Maverick 17B 128E Instruct", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 524288, + "output": 8192 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "cost": { + "input": 0.35, + "output": 1.15 + }, + "type": "chat" + } + ] + }, + "nano-gpt": { + "id": "nano-gpt", + "name": "NanoGPT", + "display_name": "NanoGPT", + "api": "https://nano-gpt.com/api/v1", + "doc": "https://docs.nano-gpt.com", + "models": [ + { + "id": "step-3", + "name": "Step-3", + "display_name": "Step-3", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 65536, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, "attachment": true, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "release_date": "2025-07-31", + "last_updated": "2025-07-31", + "cost": { + "input": 0.2499, + "output": 0.6494 + }, "type": "chat" }, { - "id": "gemini-3.0-pro-preview", - "name": "Gemini 3.0 Pro Preview", - "display_name": "Gemini 3.0 Pro Preview", + "id": "qwen3.5-35b-a3b:thinking", + "name": "Qwen3.5 35B A3B Thinking", + "display_name": "Qwen3.5 35B A3B Thinking", "modalities": { "input": [ "text", "image", - "video", - "pdf", - "audio" + "video" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 260096, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -150893,124 +157290,157 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, "attachment": true, "open_weights": false, - "release_date": "2025-11-19", - "last_updated": "2025-11-19", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", + "cost": { + "input": 0.225, + "output": 1.8 + }, + "type": "chat" + }, + { + "id": "glm-4.1v-thinking-flashx", + "name": "GLM 4.1V Thinking FlashX", + "display_name": "GLM 4.1V Thinking FlashX", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 64000, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "cost": { + "input": 0.3, + "output": 0.3 + }, "type": "chat" }, { - "id": "qwen3-30b-a3b-thinking-2507", - "name": "Qwen3 30b A3b Thinking 2507", - "display_name": "Qwen3 30b A3b Thinking 2507", + "id": "ernie-x1.1-preview", + "name": "ERNIE X1.1", + "display_name": "ERNIE X1.1", "modalities": { "input": [ - "text" + "text", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 126000, - "output": 32000 + "context": 64000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-02-04", - "last_updated": "2026-02-04", + "release_date": "2025-09-10", + "last_updated": "2025-09-10", + "cost": { + "input": 0.15, + "output": 0.6 + }, "type": "chat" }, { - "id": "glm-4.5", - "name": "GLM 4.5", - "display_name": "GLM 4.5", + "id": "qwen25-vl-72b-instruct", + "name": "Qwen25 VL 72b", + "display_name": "Qwen25 VL 72b", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 98304 + "context": 32000, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "release_date": "2025-05-10", + "last_updated": "2025-05-10", + "cost": { + "input": 0.69989, + "output": 0.69989 + }, "type": "chat" }, { - "id": "deepseek-v3", - "name": "DeepSeek-V3", - "display_name": "DeepSeek-V3", + "id": "gemini-2.0-pro-exp-02-05", + "name": "Gemini 2.0 Pro 0205", + "display_name": "Gemini 2.0 Pro 0205", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16000 + "context": 2097152, + "output": 8192 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-08-13", - "last_updated": "2025-08-13", + "release_date": "2025-02-05", + "last_updated": "2025-02-05", + "cost": { + "input": 1.989, + "output": 7.956 + }, "type": "chat" }, { - "id": "qwen3-235b-a22b-instruct-2507", - "name": "Qwen3 235b A22B Instruct 2507", - "display_name": "Qwen3 235b A22B Instruct 2507", + "id": "doubao-seed-2-0-lite-260215", + "name": "Doubao Seed 2.0 Lite", + "display_name": "Doubao Seed 2.0 Lite", "modalities": { "input": [ "text" @@ -151020,39 +157450,47 @@ ] }, "limit": { - "context": 262144, - "output": 64000 + "context": 256000, + "output": 32000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": false, - "release_date": "2025-08-12", - "last_updated": "2025-08-12", + "release_date": "2026-02-14", + "last_updated": "2026-02-14", + "cost": { + "input": 0.1462, + "output": 0.8738 + }, "type": "chat" }, { - "id": "qwen3.5-397b-a17b", - "name": "Qwen3.5 397B A17B", - "display_name": "Qwen3.5 397B A17B", + "id": "Qwen3.5-27B-Writer-V2-Derestricted", + "name": "Qwen3.5 27B Writer V2 Derestricted", + "display_name": "Qwen3.5 27B Writer V2 Derestricted", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 64000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -151070,20 +157508,22 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-02-22", - "last_updated": "2026-02-22", + "release_date": "2026-04-06", + "last_updated": "2026-04-06", + "cost": { + "input": 0.306, + "output": 0.306 + }, "type": "chat" }, { - "id": "gemini-3.0-flash-preview", - "name": "Gemini 3.0 Flash Preview", - "display_name": "Gemini 3.0 Flash Preview", + "id": "claude-opus-4-thinking:8192", + "name": "Claude 4 Opus Thinking (8K)", + "display_name": "Claude 4 Opus Thinking (8K)", "modalities": { "input": [ "text", "image", - "audio", - "video", "pdf" ], "output": [ @@ -151091,10 +157531,9 @@ ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 200000, + "output": 32000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -151104,65 +157543,80 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, "open_weights": false, - "release_date": "2025-12-18", - "last_updated": "2025-12-18", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "cost": { + "input": 14.994, + "output": 75.004 + }, "type": "chat" }, { - "id": "mimo-v2-flash", - "name": "Mimo-V2-Flash", - "display_name": "Mimo-V2-Flash", + "id": "qwen3-vl-235b-a22b-thinking", + "name": "Qwen3 VL 235B A22B Thinking", + "display_name": "Qwen3 VL 235B A22B Thinking", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 32768, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-12-01", - "release_date": "2025-12-16", - "last_updated": "2026-02-04", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-08-26", + "last_updated": "2025-08-26", "cost": { - "input": 0.1, - "output": 0.3, - "cache_read": 0.01 + "input": 0.5, + "output": 6 }, "type": "chat" }, { - "id": "kimi-k2", - "name": "Kimi K2", - "display_name": "Kimi K2", + "id": "glm-4-air-0111", + "name": "GLM 4 Air 0111", + "display_name": "GLM 4 Air 0111", "modalities": { "input": [ "text" @@ -151173,27 +157627,30 @@ }, "limit": { "context": 128000, - "output": 128000 + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "release_date": "2025-01-11", + "last_updated": "2025-01-11", + "cost": { + "input": 0.1394, + "output": 0.1394 + }, "type": "chat" }, { - "id": "doubao-seed-1.6-thinking", - "name": "Doubao-Seed 1.6 Thinking", - "display_name": "Doubao-Seed 1.6 Thinking", + "id": "Qwen3.5-27B-Queen-Derestricted", + "name": "Qwen3.5 27B Queen Derestricted", + "display_name": "Qwen3.5 27B Queen Derestricted", "modalities": { "input": [ - "image", "text", + "image", "video" ], "output": [ @@ -151201,68 +157658,52 @@ ] }, "limit": { - "context": 256000, - "output": 32000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": true, "open_weights": false, - "release_date": "2025-08-15", - "last_updated": "2025-08-15", - "type": "chat" - }, - { - "id": "deepseek-v3.1", - "name": "DeepSeek-V3.1", - "display_name": "DeepSeek-V3.1", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 32000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true + "release_date": "2026-04-30", + "last_updated": "2026-04-30", + "cost": { + "input": 0.306, + "output": 0.306 }, - "attachment": false, - "open_weights": false, - "release_date": "2025-08-19", - "last_updated": "2025-08-19", "type": "chat" }, { - "id": "gemini-3.0-pro-image-preview", - "name": "Gemini 3.0 Pro Image Preview", - "display_name": "Gemini 3.0 Pro Image Preview", + "id": "gemini-2.5-pro-preview-03-25", + "name": "Gemini 2.5 Pro Preview 0325", + "display_name": "Gemini 2.5 Pro Preview 0325", "modalities": { "input": [ "text", "image" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 32768, - "output": 8192 + "context": 1048756, + "output": 65536 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": true, @@ -151272,12 +157713,14 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ @@ -151287,14 +157730,18 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-11-20", - "last_updated": "2025-11-20", + "release_date": "2025-03-25", + "last_updated": "2025-03-25", + "cost": { + "input": 2.5, + "output": 10 + }, "type": "chat" }, { - "id": "glm-4.5-air", - "name": "GLM 4.5 Air", - "display_name": "GLM 4.5 Air", + "id": "brave-research", + "name": "Brave (Research)", + "display_name": "Brave (Research)", "modalities": { "input": [ "text" @@ -151304,89 +157751,72 @@ ] }, "limit": { - "context": 131000, - "output": 4096 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "type": "chat" - }, - { - "id": "kling-v2-6", - "name": "Kling-V2 6", - "display_name": "Kling-V2 6", - "modalities": { - "input": [ - "text", - "image", - "video" - ], - "output": [ - "video" - ] - }, - "limit": { - "context": 99999999, - "output": 99999999 + "context": 16384, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-01-13", - "last_updated": "2026-01-13", + "release_date": "2023-03-02", + "last_updated": "2024-01-01", + "cost": { + "input": 5, + "output": 5 + }, "type": "chat" }, { - "id": "doubao-seed-1.6", - "name": "Doubao-Seed 1.6", - "display_name": "Doubao-Seed 1.6", + "id": "qwen-plus", + "name": "Qwen Plus", + "display_name": "Qwen Plus", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 32000 + "context": 995904, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": false, - "release_date": "2025-08-15", - "last_updated": "2025-08-15", + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "cost": { + "input": 0.3995, + "output": 1.2002 + }, "type": "chat" }, { - "id": "doubao-seed-2.0-lite", - "name": "Doubao Seed 2.0 Lite", - "display_name": "Doubao Seed 2.0 Lite", + "id": "doubao-seed-2-0-mini-260215", + "name": "Doubao Seed 2.0 Mini", + "display_name": "Doubao Seed 2.0 Mini", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" @@ -151396,68 +157826,39 @@ "context": 256000, "output": 32000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, "release_date": "2026-02-14", "last_updated": "2026-02-14", - "type": "chat" - }, - { - "id": "z-ai/glm-4.6", - "name": "Z-AI/GLM 4.6", - "display_name": "Z-AI/GLM 4.6", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 200000, - "output": 200000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "cost": { + "input": 0.0493, + "output": 0.4845 }, - "attachment": false, - "open_weights": false, - "release_date": "2025-10-11", - "last_updated": "2025-10-11", "type": "chat" }, { - "id": "z-ai/glm-4.7", - "name": "Z-Ai/GLM 4.7", - "display_name": "Z-Ai/GLM 4.7", + "id": "Qwen3.5-27B-BlueStar-v3-Derestricted-Lite", + "name": "Qwen3.5 27B BlueStar v3 Derestricted Lite", + "display_name": "Qwen3.5 27B BlueStar v3 Derestricted Lite", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 200000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -151473,83 +157874,83 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "release_date": "2026-04-30", + "last_updated": "2026-04-30", + "cost": { + "input": 0.306, + "output": 0.306 + }, "type": "chat" }, { - "id": "z-ai/autoglm-phone-9b", - "name": "Z-Ai/Autoglm Phone 9b", - "display_name": "Z-Ai/Autoglm Phone 9b", + "id": "deepseek-v3-0324", + "name": "DeepSeek Chat 0324", + "display_name": "DeepSeek Chat 0324", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 12800, - "output": 4096 + "context": 128000, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "release_date": "2025-03-24", + "last_updated": "2025-03-24", + "cost": { + "input": 0.25, + "output": 0.7 + }, "type": "chat" }, { - "id": "z-ai/glm-5", - "name": "Z-Ai/GLM 5", - "display_name": "Z-Ai/GLM 5", + "id": "Gemma-4-31B-Musica-v1", + "name": "Gemma 4 31B Musica v1", + "display_name": "Gemma 4 31B Musica v1", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "release_date": "2026-05-01", + "last_updated": "2026-05-01", + "cost": { + "input": 0.306, + "output": 0.306 + }, "type": "chat" }, { - "id": "deepseek/deepseek-v3.2-exp-thinking", - "name": "DeepSeek/DeepSeek-V3.2-Exp-Thinking", - "display_name": "DeepSeek/DeepSeek-V3.2-Exp-Thinking", + "id": "mirothinker-1-7-deepresearch-mini", + "name": "MiroThinker 1.7 Deep Research Mini", + "display_name": "MiroThinker 1.7 Deep Research Mini", "modalities": { "input": [ "text" @@ -151559,10 +157960,9 @@ ] }, "limit": { - "context": 128000, - "output": 32000 + "context": 262144, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": true, @@ -151570,14 +157970,18 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "release_date": "2026-05-11", + "last_updated": "2026-05-11", + "cost": { + "input": 1.25, + "output": 10 + }, "type": "chat" }, { - "id": "deepseek/deepseek-v3.1-terminus", - "name": "DeepSeek/DeepSeek-V3.1-Terminus", - "display_name": "DeepSeek/DeepSeek-V3.1-Terminus", + "id": "Baichuan4-Turbo", + "name": "Baichuan 4 Turbo", + "display_name": "Baichuan 4 Turbo", "modalities": { "input": [ "text" @@ -151588,23 +157992,26 @@ }, "limit": { "context": 128000, - "output": 32000 + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-09-22", - "last_updated": "2025-09-22", + "release_date": "2025-08-19", + "last_updated": "2025-08-19", + "cost": { + "input": 2.42, + "output": 2.42 + }, "type": "chat" }, { - "id": "deepseek/deepseek-v3.1-terminus-thinking", - "name": "DeepSeek/DeepSeek-V3.1-Terminus-Thinking", - "display_name": "DeepSeek/DeepSeek-V3.1-Terminus-Thinking", + "id": "doubao-seed-1-6-flash-250615", + "name": "Doubao Seed 1.6 Flash", + "display_name": "Doubao Seed 1.6 Flash", "modalities": { "input": [ "text" @@ -151614,53 +158021,58 @@ ] }, "limit": { - "context": 128000, - "output": 32000 + "context": 256000, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-09-22", - "last_updated": "2025-09-22", + "release_date": "2025-06-15", + "last_updated": "2025-06-15", + "cost": { + "input": 0.0374, + "output": 0.374 + }, "type": "chat" }, { - "id": "deepseek/deepseek-v3.2-251201", - "name": "Deepseek/DeepSeek-V3.2", - "display_name": "Deepseek/DeepSeek-V3.2", + "id": "kimi-k2-instruct-fast", + "name": "Kimi K2 0711 Fast", + "display_name": "Kimi K2 0711 Fast", "modalities": { "input": [ - "text" + "text", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32000 + "context": 131072, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "release_date": "2025-07-15", + "last_updated": "2025-07-15", + "cost": { + "input": 0.1, + "output": 2 + }, "type": "chat" }, { - "id": "deepseek/deepseek-v3.2-exp", - "name": "DeepSeek/DeepSeek-V3.2-Exp", - "display_name": "DeepSeek/DeepSeek-V3.2-Exp", + "id": "glm-4-plus", + "name": "GLM-4 Plus", + "display_name": "GLM-4 Plus", "modalities": { "input": [ "text" @@ -151671,23 +158083,26 @@ }, "limit": { "context": 128000, - "output": 32000 + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "release_date": "2024-08-01", + "last_updated": "2024-08-01", + "cost": { + "input": 7.497, + "output": 7.497 + }, "type": "chat" }, { - "id": "deepseek/deepseek-math-v2", - "name": "Deepseek/Deepseek-Math-V2", - "display_name": "Deepseek/Deepseek-Math-V2", + "id": "v0-1.0-md", + "name": "v0 1.0 MD", + "display_name": "v0 1.0 MD", "modalities": { "input": [ "text" @@ -151697,25 +158112,27 @@ ] }, "limit": { - "context": 160000, - "output": 160000 + "context": 200000, + "output": 64000 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-12-04", - "last_updated": "2025-12-04", + "release_date": "2025-07-04", + "last_updated": "2025-07-04", + "cost": { + "input": 3, + "output": 15 + }, "type": "chat" }, { - "id": "xiaomi/mimo-v2-flash", - "name": "Xiaomi/Mimo-V2-Flash", - "display_name": "Xiaomi/Mimo-V2-Flash", + "id": "qwen3-coder-30b-a3b-instruct", + "name": "Qwen3 Coder 30B A3B Instruct", + "display_name": "Qwen3 Coder 30B A3B Instruct", "modalities": { "input": [ "text" @@ -151725,69 +158142,80 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 128000, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2024-12-01", - "release_date": "2025-12-16", - "last_updated": "2026-02-04", + "open_weights": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { "input": 0.1, - "output": 0.3, - "cache_read": 0.01 + "output": 0.4 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "display_name": "Kimi K2 Thinking", + "id": "gemini-2.5-flash-preview-09-2025-thinking", + "name": "Gemini 2.5 Flash Preview (09/2025) – Thinking", + "display_name": "Gemini 2.5 Flash Preview (09/2025) – Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 100000 + "context": 1048756, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-11-07", - "last_updated": "2025-11-07", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "cost": { + "input": 0.3, + "output": 2.5 + }, "type": "chat" }, { - "id": "moonshotai/kimi-k2-0905", - "name": "Kimi K2 0905", - "display_name": "Kimi K2 0905", + "id": "v0-1.5-lg", + "name": "v0 1.5 LG", + "display_name": "v0 1.5 LG", "modalities": { "input": [ "text" @@ -151797,24 +158225,27 @@ ] }, "limit": { - "context": 256000, - "output": 100000 + "context": 1000000, + "output": 64000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-09-08", - "last_updated": "2025-09-08", + "release_date": "2025-07-04", + "last_updated": "2025-07-04", + "cost": { + "input": 15, + "output": 75 + }, "type": "chat" }, { - "id": "moonshotai/kimi-k2.5", - "name": "Moonshotai/Kimi-K2.5", - "display_name": "Moonshotai/Kimi-K2.5", + "id": "qwen3.5-flash:thinking", + "name": "Qwen3.5 Flash Thinking", + "display_name": "Qwen3.5 Flash Thinking", "modalities": { "input": [ "text", @@ -151826,13 +158257,13 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 991808, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -151847,112 +158278,169 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-01-28", - "last_updated": "2026-01-28", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", + "cost": { + "input": 0.09, + "output": 0.36 + }, "type": "chat" }, { - "id": "x-ai/grok-4.1-fast-non-reasoning", - "name": "X-Ai/Grok 4.1 Fast Non Reasoning", - "display_name": "X-Ai/Grok 4.1 Fast Non Reasoning", + "id": "jamba-large", + "name": "Jamba Large", + "display_name": "Jamba Large", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 256000, + "output": 4096 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "cost": { + "input": 1.989, + "output": 7.99 + }, + "type": "chat" + }, + { + "id": "kimi-thinking-preview", + "name": "Kimi Thinking Preview", + "display_name": "Kimi Thinking Preview", "modalities": { "input": [ "text", - "image", - "audio", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 2000000 + "context": 128000, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-12-19", - "last_updated": "2025-12-19", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", + "cost": { + "input": 31.46, + "output": 31.46 + }, "type": "chat" }, { - "id": "x-ai/grok-4-fast-non-reasoning", - "name": "X-Ai/Grok-4-Fast-Non-Reasoning", - "display_name": "X-Ai/Grok-4-Fast-Non-Reasoning", + "id": "gemini-2.0-flash-thinking-exp-01-21", + "name": "Gemini 2.0 Flash Thinking 0121", + "display_name": "Gemini 2.0 Flash Thinking 0121", "modalities": { "input": [ "text", - "image", - "audio", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 2000000 + "context": 1000000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "attachment": true, "open_weights": false, - "release_date": "2025-12-18", - "last_updated": "2025-12-18", + "release_date": "2025-01-21", + "last_updated": "2025-01-21", + "cost": { + "input": 0.306, + "output": 1.003 + }, "type": "chat" }, { - "id": "x-ai/grok-4.1-fast-reasoning", - "name": "X-Ai/Grok 4.1 Fast Reasoning", - "display_name": "X-Ai/Grok 4.1 Fast Reasoning", + "id": "claude-opus-4-1-thinking:1024", + "name": "Claude 4.1 Opus Thinking (1K)", + "display_name": "Claude 4.1 Opus Thinking (1K)", "modalities": { "input": [ "text", "image", - "audio", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 20000000, - "output": 2000000 + "context": 200000, + "output": 32000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, "attachment": true, "open_weights": false, - "release_date": "2025-12-19", - "last_updated": "2025-12-19", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "cost": { + "input": 14.994, + "output": 75.004 + }, "type": "chat" }, { - "id": "x-ai/grok-4-fast-reasoning", - "name": "X-Ai/Grok-4-Fast-Reasoning", - "display_name": "X-Ai/Grok-4-Fast-Reasoning", + "id": "Qwen3.5-27B-NaNovel-Derestricted-Lite", + "name": "Qwen3.5 27B NaNovel Derestricted Lite", + "display_name": "Qwen3.5 27B NaNovel Derestricted Lite", "modalities": { "input": [ "text", "image", - "audio", "video" ], "output": [ @@ -151960,30 +158448,39 @@ ] }, "limit": { - "context": 2000000, - "output": 2000000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, "open_weights": false, - "release_date": "2025-12-18", - "last_updated": "2025-12-18", + "release_date": "2026-04-30", + "last_updated": "2026-04-30", + "cost": { + "input": 0.306, + "output": 0.306 + }, "type": "chat" }, { - "id": "x-ai/grok-4.1-fast", - "name": "x-AI/Grok-4.1-Fast", - "display_name": "x-AI/Grok-4.1-Fast", + "id": "doubao-seed-1-6-250615", + "name": "Doubao Seed 1.6", + "display_name": "Doubao Seed 1.6", "modalities": { "input": [ "text" @@ -151993,63 +158490,120 @@ ] }, "limit": { - "context": 2000000, - "output": 2000000 + "context": 256000, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-06-15", + "last_updated": "2025-06-15", + "cost": { + "input": 0.204, + "output": 0.51 + }, + "type": "chat" + }, + { + "id": "ernie-5.0-thinking-preview", + "name": "Ernie 5.0 Thinking Preview", + "display_name": "Ernie 5.0 Thinking Preview", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-11-20", - "last_updated": "2025-11-20", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "cost": { + "input": 1.1, + "output": 2 + }, "type": "chat" }, { - "id": "x-ai/grok-code-fast-1", - "name": "x-AI/Grok-Code-Fast 1", - "display_name": "x-AI/Grok-Code-Fast 1", + "id": "gemini-2.5-flash-preview-05-20:thinking", + "name": "Gemini 2.5 Flash 0520 Thinking", + "display_name": "Gemini 2.5 Flash 0520 Thinking", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 10000 + "context": 1048000, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-09-02", - "last_updated": "2025-09-02", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "cost": { + "input": 0.15, + "output": 3.5 + }, "type": "chat" }, { - "id": "x-ai/grok-4-fast", - "name": "x-AI/Grok-4-Fast", - "display_name": "x-AI/Grok-4-Fast", + "id": "Qwen3.5-27B-Omega-Evolution-v2.2-Derestricted", + "name": "Qwen3.5 27B Omega Evolution v2.2 Derestricted", + "display_name": "Qwen3.5 27B Omega Evolution v2.2 Derestricted", "modalities": { "input": [ "text", "image", - "audio", "video" ], "output": [ @@ -152057,81 +158611,107 @@ ] }, "limit": { - "context": 2000000, - "output": 2000000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": true, "open_weights": false, - "release_date": "2025-09-20", - "last_updated": "2025-09-20", + "release_date": "2026-05-02", + "last_updated": "2026-05-02", + "cost": { + "input": 0.306, + "output": 0.306 + }, "type": "chat" }, { - "id": "stepfun-ai/gelab-zero-4b-preview", - "name": "Stepfun-Ai/Gelab Zero 4b Preview", - "display_name": "Stepfun-Ai/Gelab Zero 4b Preview", + "id": "azure-o1", + "name": "Azure o1", + "display_name": "Azure o1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 4096 + "context": 200000, + "output": 100000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "release_date": "2024-12-17", + "last_updated": "2024-12-17", + "cost": { + "input": 14.994, + "output": 59.993 + }, "type": "chat" }, { - "id": "stepfun/step-3.5-flash", - "name": "Stepfun/Step-3.5 Flash", - "display_name": "Stepfun/Step-3.5 Flash", + "id": "qwen3.7-plus", + "name": "Qwen3.7 Plus", + "display_name": "Qwen3.7 Plus", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 64000, - "output": 4096 + "context": 991808, + "output": 65536 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": true, "open_weights": false, - "release_date": "2026-02-02", - "last_updated": "2026-02-02", + "release_date": "2026-06-01", + "last_updated": "2026-06-01", + "cost": { + "input": 0.4, + "output": 1.6, + "cache_read": 0.04 + }, "type": "chat" }, { - "id": "meituan/longcat-flash-lite", - "name": "Meituan/Longcat-Flash-Lite", - "display_name": "Meituan/Longcat-Flash-Lite", + "id": "glm-4-airx", + "name": "GLM-4 AirX", + "display_name": "GLM-4 AirX", "modalities": { "input": [ "text" @@ -152141,24 +158721,27 @@ ] }, "limit": { - "context": 256000, - "output": 320000 + "context": 8000, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-02-06", - "last_updated": "2026-02-06", + "release_date": "2024-06-05", + "last_updated": "2024-06-05", + "cost": { + "input": 2.006, + "output": 2.006 + }, "type": "chat" }, { - "id": "meituan/longcat-flash-chat", - "name": "Meituan/Longcat-Flash-Chat", - "display_name": "Meituan/Longcat-Flash-Chat", + "id": "step-r1-v-mini", + "name": "Step R1 V Mini", + "display_name": "Step R1 V Mini", "modalities": { "input": [ "text" @@ -152168,24 +158751,27 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 128000, + "output": 65536 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-11-05", - "last_updated": "2025-11-05", + "release_date": "2025-04-08", + "last_updated": "2025-04-08", + "cost": { + "input": 2.5, + "output": 11 + }, "type": "chat" }, { - "id": "openai/gpt-5.2", - "name": "OpenAI/GPT-5.2", - "display_name": "OpenAI/GPT-5.2", + "id": "gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "display_name": "Gemini 2.5 Pro", "modalities": { "input": [ "text", @@ -152196,60 +158782,61 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1048756, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, "attachment": true, "open_weights": false, - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2025-06-05", + "last_updated": "2025-06-05", + "cost": { + "input": 2.5, + "output": 10 + }, "type": "chat" }, { - "id": "openai/gpt-5", - "name": "OpenAI/GPT-5", - "display_name": "OpenAI/GPT-5", + "id": "claude-haiku-4-5-20251001-thinking", + "name": "Claude Haiku 4.5 Thinking", + "display_name": "Claude Haiku 4.5 Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 64000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -152259,33 +158846,38 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-09-19", - "last_updated": "2025-09-19", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1 + }, "type": "chat" }, { - "id": "minimax/minimax-m2.1", - "name": "Minimax/Minimax-M2.1", - "display_name": "Minimax/Minimax-M2.1", + "id": "jamba-mini-1.6", + "name": "Jamba Mini 1.6", + "display_name": "Jamba Mini 1.6", "modalities": { "input": [ "text" @@ -152295,33 +158887,32 @@ ] }, "limit": { - "context": 204800, - "output": 128000 + "context": 256000, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "release_date": "2025-03-01", + "last_updated": "2025-03-01", + "cost": { + "input": 0.1989, + "output": 0.408 + }, "type": "chat" }, { - "id": "minimax/minimax-m2", - "name": "Minimax/Minimax-M2", - "display_name": "Minimax/Minimax-M2", + "id": "claude-haiku-4-5-20251001", + "name": "Claude Haiku 4.5", + "display_name": "Claude Haiku 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" @@ -152329,42 +158920,94 @@ }, "limit": { "context": 200000, - "output": 128000 + "output": 64000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-10-28", - "last_updated": "2025-10-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "cost": { + "input": 1, + "output": 5 + }, "type": "chat" }, { - "id": "minimax/minimax-m2.5", - "name": "Minimax/Minimax-M2.5", - "display_name": "Minimax/Minimax-M2.5", + "id": "claude-3-5-haiku-20241022", + "name": "Claude 3.5 Haiku", + "display_name": "Claude 3.5 Haiku", "modalities": { "input": [ + "text", + "image", + "pdf" + ], + "output": [ "text" + ] + }, + "limit": { + "context": 200000, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "cost": { + "input": 0.8, + "output": 4 + }, + "type": "chat" + }, + { + "id": "claude-sonnet-4-thinking:32768", + "name": "Claude 4 Sonnet Thinking (32K)", + "display_name": "Claude 4 Sonnet Thinking (32K)", + "modalities": { + "input": [ + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 128000 + "context": 1000000, + "output": 64000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -152372,92 +159015,127 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "cost": { + "input": 2.992, + "output": 14.994 + }, "type": "chat" }, { - "id": "minimax/minimax-m2.5-highspeed", - "name": "Minimax/Minimax-M2.5 Highspeed", - "display_name": "Minimax/Minimax-M2.5 Highspeed", + "id": "hermes-low", + "name": "Hermes Low", + "display_name": "Hermes Low", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 128000 + "context": 1048576, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-02-14", - "last_updated": "2026-02-14", + "release_date": "2026-05-11", + "last_updated": "2026-05-11", + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.025 + }, "type": "chat" - } - ] - }, - "morph": { - "id": "morph", - "name": "Morph", - "display_name": "Morph", - "api": "https://api.morphllm.com/v1", - "doc": "https://docs.morphllm.com/api-reference/introduction", - "models": [ + }, { - "id": "morph-v3-fast", - "name": "Morph v3 Fast", - "display_name": "Morph v3 Fast", + "id": "claude-sonnet-4-thinking", + "name": "Claude 4 Sonnet Thinking", + "display_name": "Claude 4 Sonnet Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 16000, - "output": 16000 + "context": 1000000, + "output": 64000 }, - "temperature": false, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2024-08-15", - "last_updated": "2024-08-15", + "release_date": "2025-02-24", + "last_updated": "2025-02-24", "cost": { - "input": 0.8, - "output": 1.2 + "input": 2.992, + "output": 14.994 }, "type": "chat" }, { - "id": "morph-v3-large", - "name": "Morph v3 Large", - "display_name": "Morph v3 Large", + "id": "qwen3.7-max", + "name": "Qwen3.7 Max", + "display_name": "Qwen3.7 Max", "modalities": { "input": [ "text" @@ -152467,28 +159145,33 @@ ] }, "limit": { - "context": 32000, - "output": 32000 + "context": 1000000, + "output": 65536 }, - "temperature": false, "tool_call": false, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": false, - "release_date": "2024-08-15", - "last_updated": "2024-08-15", + "release_date": "2026-05-21", + "last_updated": "2026-05-21", "cost": { - "input": 0.9, - "output": 1.9 + "input": 2.5, + "output": 7.5, + "cache_read": 0.25 }, "type": "chat" }, { - "id": "auto", - "name": "Auto", - "display_name": "Auto", + "id": "yi-medium-200k", + "name": "Yi Medium 200k", + "display_name": "Yi Medium 200k", "modalities": { "input": [ "text" @@ -152498,51 +159181,42 @@ ] }, "limit": { - "context": 32000, - "output": 32000 + "context": 200000, + "output": 4096 }, - "temperature": false, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-06-01", - "last_updated": "2024-06-01", + "release_date": "2024-03-01", + "last_updated": "2024-03-01", "cost": { - "input": 0.85, - "output": 1.55 + "input": 2.499, + "output": 2.499 }, "type": "chat" - } - ] - }, - "xiaomi-token-plan-sgp": { - "id": "xiaomi-token-plan-sgp", - "name": "Xiaomi Token Plan (Singapore)", - "display_name": "Xiaomi Token Plan (Singapore)", - "api": "https://token-plan-sgp.xiaomimimo.com/v1", - "doc": "https://platform.xiaomimimo.com/#/docs", - "models": [ + }, { - "id": "mimo-v2.5-pro", - "name": "MiMo-V2.5-Pro", - "display_name": "MiMo-V2.5-Pro", + "id": "Qwen3.5-27B-BlueStar-v2-Derestricted-Lite", + "name": "Qwen3.5 27B BlueStar v2 Derestricted Lite", + "display_name": "Qwen3.5 27B BlueStar v2 Derestricted Lite", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -152558,114 +159232,100 @@ ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "attachment": true, + "open_weights": false, + "release_date": "2026-04-06", + "last_updated": "2026-04-06", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "mimo-v2.5-tts", - "name": "MiMo-V2.5-TTS", - "display_name": "MiMo-V2.5-TTS", + "id": "Gemma-4-31B-Claude-4.6-Opus-Reasoning-Distilled", + "name": "Gemma 4 31B Claude 4.6 Opus Reasoning Distilled", + "display_name": "Gemma 4 31B Claude 4.6 Opus Reasoning Distilled", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ - "audio" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 262144, + "output": 16384 }, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "attachment": true, + "open_weights": false, + "release_date": "2026-05-01", + "last_updated": "2026-05-01", "cost": { - "input": 0, - "output": 0 + "input": 0.306, + "output": 0.306, + "cache_read": 0.0306 }, "type": "chat" }, { - "id": "mimo-v2.5", - "name": "MiMo-V2.5", - "display_name": "MiMo-V2.5", + "id": "doubao-1-5-thinking-vision-pro-250428", + "name": "Doubao 1.5 Thinking Vision Pro", + "display_name": "Doubao 1.5 Thinking Vision Pro", "modalities": { "input": [ "text", - "image", - "audio", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 128000, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": true, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "open_weights": false, + "release_date": "2025-05-15", + "last_updated": "2025-05-15", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 0.55, + "output": 1.43 }, "type": "chat" }, { - "id": "mimo-v2-pro", - "name": "MiMo-V2-Pro", - "display_name": "MiMo-V2-Pro", + "id": "Qwen3.5-27B-BlueStar-Derestricted-Lite", + "name": "Qwen3.5 27B BlueStar Derestricted Lite", + "display_name": "Qwen3.5 27B BlueStar Derestricted Lite", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -152681,62 +159341,30 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "release_date": "2026-04-06", + "last_updated": "2026-04-06", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "mimo-v2.5-tts-voiceclone", - "name": "MiMo-V2.5-TTS-VoiceClone", - "display_name": "MiMo-V2.5-TTS-VoiceClone", + "id": "Qwen2.5-32B-EVA-v0.2", + "name": "Qwen 2.5 32b EVA", + "display_name": "Qwen 2.5 32b EVA", "modalities": { "input": [ "text" ], "output": [ - "audio" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-04-22", - "last_updated": "2026-04-22", - "cost": { - "input": 0, - "output": 0 - }, - "type": "chat" - }, - { - "id": "mimo-v2.5-tts-voicedesign", - "name": "MiMo-V2.5-TTS-VoiceDesign", - "display_name": "MiMo-V2.5-TTS-VoiceDesign", - "modalities": { - "input": [ "text" - ], - "output": [ - "audio" ] }, "limit": { - "context": 8192, + "context": 24576, "output": 8192 }, "tool_call": false, @@ -152744,37 +159372,33 @@ "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "open_weights": false, + "release_date": "2024-09-01", + "last_updated": "2024-09-01", "cost": { - "input": 0, - "output": 0 + "input": 0.493, + "output": 0.493 }, "type": "chat" }, { - "id": "mimo-v2-omni", - "name": "MiMo-V2-Omni", - "display_name": "MiMo-V2-Omni", + "id": "gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "display_name": "Gemini 2.5 Flash", "modalities": { "input": [ "text", - "image", - "audio", - "video", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 1048756, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -152782,231 +159406,180 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, "attachment": true, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "release_date": "2025-06-05", + "last_updated": "2025-06-05", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 0.3, + "output": 2.5 }, "type": "chat" }, { - "id": "mimo-v2-tts", - "name": "MiMo-V2-TTS", - "display_name": "MiMo-V2-TTS", + "id": "qwen-long", + "name": "Qwen Long 10M", + "display_name": "Qwen Long 10M", "modalities": { "input": [ - "text" + "text", + "pdf" ], "output": [ - "audio" + "text" ] }, "limit": { - "context": 8192, + "context": 10000000, "output": 8192 }, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "attachment": true, + "open_weights": false, + "release_date": "2025-01-25", + "last_updated": "2025-01-25", "cost": { - "input": 0, - "output": 0 + "input": 0.1003, + "output": 0.408 }, "type": "chat" - } - ] - }, - "fastrouter": { - "id": "fastrouter", - "name": "FastRouter", - "display_name": "FastRouter", - "api": "https://go.fastrouter.ai/api/v1", - "doc": "https://fastrouter.ai/models", - "models": [ + }, { - "id": "z-ai/glm-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "Gemma-4-31B-DarkIdol", + "name": "Gemma 4 31B DarkIdol", + "display_name": "Gemma 4 31B DarkIdol", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "attachment": true, + "open_weights": false, + "release_date": "2026-05-01", + "last_updated": "2026-05-01", "cost": { - "input": 0.95, - "output": 3.15 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4", - "name": "Claude Sonnet 4", - "display_name": "Claude Sonnet 4", + "id": "step-2-16k-exp", + "name": "Step-2 16k Exp", + "display_name": "Step-2 16k Exp", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 16000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "release_date": "2024-07-05", + "last_updated": "2024-07-05", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 7.004, + "output": 19.992 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.1", - "name": "Claude Opus 4.1", - "display_name": "Claude Opus 4.1", + "id": "Qwen3.5-27B-Marvin-V2-Derestricted-Lite", + "name": "Qwen3.5 27B Marvin V2 Derestricted Lite", + "display_name": "Qwen3.5 27B Marvin V2 Derestricted Lite", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "release_date": "2026-04-30", + "last_updated": "2026-04-30", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "qwen/qwen3-coder", - "name": "Qwen3 Coder", - "display_name": "Qwen3 Coder", + "id": "Qwen3.5-27B-NaNovel-Derestricted", + "name": "Qwen3.5 27B NaNovel Derestricted", + "display_name": "Qwen3.5 27B NaNovel Derestricted", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" @@ -153014,60 +159587,38 @@ }, "limit": { "context": 262144, - "output": 66536 + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "cost": { - "input": 0.3, - "output": 1.2 - }, - "type": "chat" - }, - { - "id": "moonshotai/kimi-k2", - "name": "Kimi K2", - "display_name": "Kimi K2", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 32768 + "supported": true, + "default": true }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-07-11", - "last_updated": "2025-07-11", + "attachment": true, + "open_weights": false, + "release_date": "2026-04-30", + "last_updated": "2026-04-30", "cost": { - "input": 0.55, - "output": 2.2 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "x-ai/grok-4", - "name": "Grok 4", - "display_name": "Grok 4", + "id": "ernie-4.5-8k-preview", + "name": "Ernie 4.5 8k Preview", + "display_name": "Ernie 4.5 8k Preview", "modalities": { "input": [ "text" @@ -153077,37 +159628,27 @@ ] }, "limit": { - "context": 256000, - "output": 64000 + "context": 8000, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2025-07", - "release_date": "2025-07-09", - "last_updated": "2025-07-09", + "release_date": "2025-03-25", + "last_updated": "2025-03-25", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.75, - "cache_write": 15 + "input": 0.66, + "output": 2.6 }, "type": "chat" }, { - "id": "deepseek-ai/deepseek-r1-distill-llama-70b", - "name": "DeepSeek R1 Distill Llama 70B", - "display_name": "DeepSeek R1 Distill Llama 70B", + "id": "gemini-2.0-flash-exp-image-generation", + "name": "Gemini Text + Image", + "display_name": "Gemini Text + Image", "modalities": { "input": [ "text" @@ -153117,35 +159658,27 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 32767, + "output": 8192 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-01-23", - "last_updated": "2025-01-23", + "open_weights": false, + "release_date": "2025-02-19", + "last_updated": "2025-02-19", "cost": { - "input": 0.03, - "output": 0.14 + "input": 0.2, + "output": 0.8 }, "type": "chat" }, { - "id": "google/gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "display_name": "Gemini 2.5 Pro", + "id": "gemini-2.5-flash-lite-preview-09-2025", + "name": "Gemini 2.5 Flash Lite Preview (09/2025)", + "display_name": "Gemini 2.5 Flash Lite Preview (09/2025)", "modalities": { "input": [ "text", @@ -153157,24 +159690,23 @@ ] }, "limit": { - "context": 1048576, + "context": 1048756, "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "budget", "budget": { "default": -1, - "min": 128, - "max": 32768, + "min": 512, + "max": 24576, "auto": -1, "unit": "tokens" }, @@ -153187,132 +159719,78 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.31 + "input": 0.1, + "output": 0.4 }, "type": "chat" }, { - "id": "google/gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "display_name": "Gemini 2.5 Flash", + "id": "deepseek-reasoner-cheaper", + "name": "Deepseek R1 Cheaper", + "display_name": "Deepseek R1 Cheaper", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, + "context": 128000, "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.0375 + "input": 0.4, + "output": 1.7 }, "type": "chat" }, { - "id": "openai/gpt-5-mini", - "name": "GPT-5 Mini", - "display_name": "GPT-5 Mini", + "id": "venice-uncensored", + "name": "Venice Uncensored", + "display_name": "Venice Uncensored", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-10-01", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "release_date": "2025-02-24", + "last_updated": "2025-02-24", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 0.4, + "output": 0.4 }, "type": "chat" }, { - "id": "openai/gpt-5", - "name": "GPT-5", - "display_name": "GPT-5", + "id": "gemini-2.0-flash-001", + "name": "Gemini 2.0 Flash", + "display_name": "Gemini 2.0 Flash", "modalities": { "input": [ "text", @@ -153323,289 +159801,256 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1000000, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2024-10-01", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.1003, + "output": 0.408 }, "type": "chat" }, { - "id": "openai/gpt-5-nano", - "name": "GPT-5 Nano", - "display_name": "GPT-5 Nano", + "id": "gemma-4-31B-Larkspur-v0.5", + "name": "Gemma 4 31B Larkspur v0.5", + "display_name": "Gemma 4 31B Larkspur v0.5", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, "attachment": true, "open_weights": false, - "knowledge": "2024-10-01", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "release_date": "2026-05-02", + "last_updated": "2026-05-02", "cost": { - "input": 0.05, - "output": 0.4, - "cache_read": 0.005 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "display_name": "GPT OSS 120B", + "id": "claude-opus-4-1-20250805", + "name": "Claude 4.1 Opus", + "display_name": "Claude 4.1 Opus", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 200000, + "output": 32000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] } }, - "attachment": false, - "open_weights": true, + "attachment": true, + "open_weights": false, "release_date": "2025-08-05", "last_updated": "2025-08-05", "cost": { - "input": 0.15, - "output": 0.6 + "input": 14.994, + "output": 75.004 }, "type": "chat" }, { - "id": "openai/gpt-oss-20b", - "name": "GPT OSS 20B", - "display_name": "GPT OSS 20B", + "id": "holo3-35b-a3b", + "name": "Holo3-35B-A3B", + "display_name": "Holo3-35B-A3B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, + "context": 65536, "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "attachment": true, + "open_weights": false, + "release_date": "2024-01-01", + "last_updated": "2024-01-01", "cost": { - "input": 0.05, - "output": 0.2 + "input": 0.25, + "output": 1.8 }, "type": "chat" }, { - "id": "openai/gpt-4.1", - "name": "GPT-4.1", - "display_name": "GPT-4.1", + "id": "qwen3.5-omni-plus", + "name": "Qwen3.5 Omni Plus", + "display_name": "Qwen3.5 Omni Plus", "modalities": { "input": [ "text", - "image" + "image", + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 983616, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "release_date": "2026-03-30", + "last_updated": "2026-03-30", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0, + "output": 0 }, "type": "chat" - } - ] - }, - "siliconflow-com": { - "id": "siliconflow-com", - "name": "SiliconFlow", - "display_name": "SiliconFlow", - "api": "https://api.siliconflow.com/v1", - "doc": "https://cloud.siliconflow.com/models", - "models": [ + }, { - "id": "THUDM/GLM-Z1-32B-0414", - "name": "THUDM/GLM-Z1-32B-0414", - "display_name": "THUDM/GLM-Z1-32B-0414", + "id": "Gemma-4-31B-it", + "name": "Gemma 4 31B IT", + "display_name": "Gemma 4 31B IT", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-04-18", - "last_updated": "2025-11-25", + "release_date": "2026-04-09", + "last_updated": "2026-04-09", "cost": { - "input": 0.14, - "output": 0.57 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "THUDM/GLM-Z1-9B-0414", - "name": "THUDM/GLM-Z1-9B-0414", - "display_name": "THUDM/GLM-Z1-9B-0414", + "id": "Qwen3.5-27B-Derestricted", + "name": "Qwen3.5 27B Derestricted", + "display_name": "Qwen3.5 27B Derestricted", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-04-18", - "last_updated": "2025-11-25", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0.086, - "output": 0.086 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "THUDM/GLM-4-32B-0414", - "name": "THUDM/GLM-4-32B-0414", - "display_name": "THUDM/GLM-4-32B-0414", + "id": "sonar-reasoning-pro", + "name": "Perplexity Reasoning Pro", + "display_name": "Perplexity Reasoning Pro", "modalities": { "input": [ "text" @@ -153615,28 +160060,28 @@ ] }, "limit": { - "context": 33000, - "output": 33000 + "context": 127000, + "output": 128000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2025-04-18", - "last_updated": "2025-11-25", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", "cost": { - "input": 0.27, - "output": 0.27 + "input": 2.006, + "output": 7.9985 }, "type": "chat" }, { - "id": "THUDM/GLM-4-9B-0414", - "name": "THUDM/GLM-4-9B-0414", - "display_name": "THUDM/GLM-4-9B-0414", + "id": "venice-uncensored:web", + "name": "Venice Uncensored Web", + "display_name": "Venice Uncensored Web", "modalities": { "input": [ "text" @@ -153646,28 +160091,27 @@ ] }, "limit": { - "context": 33000, - "output": 33000 + "context": 80000, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-04-18", - "last_updated": "2025-11-25", + "release_date": "2024-05-01", + "last_updated": "2024-05-01", "cost": { - "input": 0.086, - "output": 0.086 + "input": 0.4, + "output": 0.4 }, "type": "chat" }, { - "id": "MiniMaxAI/MiniMax-M2.5", - "name": "MiniMaxAI/MiniMax-M2.5", - "display_name": "MiniMaxAI/MiniMax-M2.5", + "id": "doubao-1.5-pro-32k", + "name": "Doubao 1.5 Pro 32k", + "display_name": "Doubao 1.5 Pro 32k", "modalities": { "input": [ "text" @@ -153677,33 +160121,27 @@ ] }, "limit": { - "context": 197000, - "output": 131000 + "context": 32000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-02-15", - "last_updated": "2026-02-15", + "release_date": "2025-01-22", + "last_updated": "2025-01-22", "cost": { - "input": 0.3, - "output": 1.2 + "input": 0.1343, + "output": 0.3349 }, "type": "chat" }, { - "id": "MiniMaxAI/MiniMax-M2.1", - "name": "MiniMaxAI/MiniMax-M2.1", - "display_name": "MiniMaxAI/MiniMax-M2.1", + "id": "qwen3-30b-a3b-instruct-2507", + "name": "Qwen3 30B A3B Instruct 2507", + "display_name": "Qwen3 30B A3B Instruct 2507", "modalities": { "input": [ "text" @@ -153713,64 +160151,61 @@ ] }, "limit": { - "context": 197000, - "output": 131000 + "context": 256000, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "release_date": "2025-02-20", + "last_updated": "2025-02-20", "cost": { - "input": 0.3, - "output": 1.2 + "input": 0.2, + "output": 0.5 }, "type": "chat" }, { - "id": "inclusionAI/Ling-mini-2.0", - "name": "inclusionAI/Ling-mini-2.0", - "display_name": "inclusionAI/Ling-mini-2.0", + "id": "ernie-5.1:thinking", + "name": "ERNIE 5.1 Thinking", + "display_name": "ERNIE 5.1 Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 119000, + "output": 64000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-09-10", - "last_updated": "2025-11-25", + "release_date": "2026-05-10", + "last_updated": "2026-05-10", "cost": { - "input": 0.07, - "output": 0.28 + "input": 0.75, + "output": 3, + "cache_read": 0.75 }, "type": "chat" }, { - "id": "inclusionAI/Ling-flash-2.0", - "name": "inclusionAI/Ling-flash-2.0", - "display_name": "inclusionAI/Ling-flash-2.0", + "id": "mirothinker-1-7-deepresearch", + "name": "MiroThinker 1.7 Deep Research", + "display_name": "MiroThinker 1.7 Deep Research", "modalities": { "input": [ "text" @@ -153780,65 +160215,61 @@ ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2025-09-18", - "last_updated": "2025-11-25", + "release_date": "2026-05-11", + "last_updated": "2026-05-11", "cost": { - "input": 0.14, - "output": 0.57 + "input": 4, + "output": 25 }, "type": "chat" }, { - "id": "inclusionAI/Ring-flash-2.0", - "name": "inclusionAI/Ring-flash-2.0", - "display_name": "inclusionAI/Ring-flash-2.0", + "id": "hermes-high", + "name": "Hermes High", + "display_name": "Hermes High", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 1000000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-09-29", - "last_updated": "2025-11-25", + "release_date": "2026-05-11", + "last_updated": "2026-05-11", "cost": { - "input": 0.14, - "output": 0.57 + "input": 4.998, + "output": 25.007 }, "type": "chat" }, { - "id": "zai-org/GLM-4.7", - "name": "zai-org/GLM-4.7", - "display_name": "zai-org/GLM-4.7", + "id": "jamba-large-1.6", + "name": "Jamba Large 1.6", + "display_name": "Jamba Large 1.6", "modalities": { "input": [ "text" @@ -153848,40 +160279,27 @@ ] }, "limit": { - "context": 205000, - "output": 205000 + "context": 256000, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "release_date": "2025-03-12", + "last_updated": "2025-03-12", "cost": { - "input": 0.6, - "output": 2.2 + "input": 1.989, + "output": 7.99 }, "type": "chat" }, { - "id": "zai-org/GLM-4.5-Air", - "name": "zai-org/GLM-4.5-Air", - "display_name": "zai-org/GLM-4.5-Air", + "id": "glm-4-long", + "name": "GLM-4 Long", + "display_name": "GLM-4 Long", "modalities": { "input": [ "text" @@ -153891,41 +160309,41 @@ ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 1000000, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-07-28", - "last_updated": "2025-11-25", + "release_date": "2024-08-01", + "last_updated": "2024-08-01", "cost": { - "input": 0.14, - "output": 0.86 + "input": 0.2006, + "output": 0.2006 }, "type": "chat" }, { - "id": "zai-org/GLM-5", - "name": "zai-org/GLM-5", - "display_name": "zai-org/GLM-5", + "id": "claude-opus-4-thinking:32768", + "name": "Claude 4 Opus Thinking (32K)", + "display_name": "Claude 4 Opus Thinking (32K)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 205000, - "output": 205000 + "context": 200000, + "output": 32000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -153934,41 +160352,52 @@ "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "attachment": true, + "open_weights": false, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 1, - "output": 3.2 + "input": 14.994, + "output": 75.004 }, "type": "chat" }, { - "id": "zai-org/GLM-5.1", - "name": "zai-org/GLM-5.1", - "display_name": "zai-org/GLM-5.1", + "id": "claude-sonnet-4-thinking:8192", + "name": "Claude 4 Sonnet Thinking (8K)", + "display_name": "Claude 4 Sonnet Thinking (8K)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 205000, - "output": 205000 + "context": 1000000, + "output": 64000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -153977,61 +160406,68 @@ "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-04-08", - "last_updated": "2026-04-08", + "attachment": true, + "open_weights": false, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 1.4, - "output": 4.4, - "cache_write": 0 + "input": 2.992, + "output": 14.994 }, "type": "chat" }, { - "id": "zai-org/GLM-4.5V", - "name": "zai-org/GLM-4.5V", - "display_name": "zai-org/GLM-4.5V", + "id": "azure-o3-mini", + "name": "Azure o3-mini", + "display_name": "Azure o3-mini", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 66000, - "output": 66000 + "context": 200000, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-08-13", - "last_updated": "2025-11-25", + "release_date": "2025-01-31", + "last_updated": "2025-01-31", "cost": { - "input": 0.14, - "output": 0.86 + "input": 1.088, + "output": 4.3996 }, "type": "chat" }, { - "id": "zai-org/GLM-5V-Turbo", - "name": "zai-org/GLM-5V-Turbo", - "display_name": "zai-org/GLM-5V-Turbo", + "id": "qvq-max", + "name": "Qwen: QvQ Max", + "display_name": "Qwen: QvQ Max", "modalities": { "input": [ "text", @@ -154042,105 +160478,115 @@ ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 128000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-04-01", - "last_updated": "2026-04-01", + "release_date": "2025-03-28", + "last_updated": "2025-03-28", "cost": { - "input": 1.2, - "output": 4, - "cache_write": 0 + "input": 1.4, + "output": 5.3 }, "type": "chat" }, { - "id": "zai-org/GLM-4.5", - "name": "zai-org/GLM-4.5", - "display_name": "zai-org/GLM-4.5", + "id": "Qwen3.5-27B-BlueStar-v2-Derestricted", + "name": "Qwen3.5 27B BlueStar v2 Derestricted", + "display_name": "Qwen3.5 27B BlueStar v2 Derestricted", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-07-28", - "last_updated": "2025-11-25", + "release_date": "2026-04-06", + "last_updated": "2026-04-06", "cost": { - "input": 0.4, - "output": 2 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "zai-org/GLM-4.6V", - "name": "zai-org/GLM-4.6V", - "display_name": "zai-org/GLM-4.6V", + "id": "Qwen3.5-27B-Vivid-Durian", + "name": "Qwen3.5 27B Vivid Durian", + "display_name": "Qwen3.5 27B Vivid Durian", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": true, "open_weights": false, - "release_date": "2025-12-07", - "last_updated": "2025-12-07", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.3, - "output": 0.9 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "zai-org/GLM-4.6", - "name": "zai-org/GLM-4.6", - "display_name": "zai-org/GLM-4.6", + "id": "jamba-large-1.7", + "name": "Jamba Large 1.7", + "display_name": "Jamba Large 1.7", "modalities": { "input": [ "text" @@ -154150,78 +160596,57 @@ ] }, "limit": { - "context": 205000, - "output": 205000 + "context": 256000, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", "cost": { - "input": 0.5, - "output": 1.9 + "input": 1.989, + "output": 7.99 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2.6", - "name": "moonshotai/Kimi-K2.6", - "display_name": "moonshotai/Kimi-K2.6", + "id": "Baichuan-M2", + "name": "Baichuan M2 32B Medical", + "display_name": "Baichuan M2 32B Medical", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 32768, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "open_weights": false, + "release_date": "2025-08-19", + "last_updated": "2025-08-19", "cost": { - "input": 0.95, - "output": 4, - "cache_read": 0.16 + "input": 15.73, + "output": 15.73 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2-Instruct-0905", - "name": "moonshotai/Kimi-K2-Instruct-0905", - "display_name": "moonshotai/Kimi-K2-Instruct-0905", + "id": "Magistral-Small-2506", + "name": "Magistral Small 2506", + "display_name": "Magistral Small 2506", "modalities": { "input": [ "text" @@ -154231,43 +160656,40 @@ ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 32768, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-09-08", - "last_updated": "2025-11-25", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", "cost": { "input": 0.4, - "output": 2 + "output": 1.4 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2.5", - "name": "moonshotai/Kimi-K2.5", - "display_name": "moonshotai/Kimi-K2.5", + "id": "deepseek-r1", + "name": "DeepSeek R1", + "display_name": "DeepSeek R1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 128000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -154284,64 +160706,34 @@ } }, "attachment": false, - "open_weights": true, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "cost": { - "input": 0.45, - "output": 2.25 - }, - "type": "chat" - }, - { - "id": "moonshotai/Kimi-K2-Instruct", - "name": "moonshotai/Kimi-K2-Instruct", - "display_name": "moonshotai/Kimi-K2-Instruct", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131000, - "output": 131000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, "open_weights": false, - "release_date": "2025-07-13", - "last_updated": "2025-11-25", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", "cost": { - "input": 0.58, - "output": 2.29 + "input": 0.4, + "output": 1.7 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2-Thinking", - "name": "moonshotai/Kimi-K2-Thinking", - "display_name": "moonshotai/Kimi-K2-Thinking", + "id": "Qwen3.5-27B-earica-Derestricted-Lite", + "name": "Qwen3.5 27B earica Derestricted Lite", + "display_name": "Qwen3.5 27B earica Derestricted Lite", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -154357,20 +160749,20 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-11-07", - "last_updated": "2025-11-25", + "release_date": "2026-04-30", + "last_updated": "2026-04-30", "cost": { - "input": 0.55, - "output": 2.5 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "meta-llama/Meta-Llama-3.1-8B-Instruct", - "name": "meta-llama/Meta-Llama-3.1-8B-Instruct", - "display_name": "meta-llama/Meta-Llama-3.1-8B-Instruct", + "id": "doubao-seed-2-0-pro-260215", + "name": "Doubao Seed 2.0 Pro", + "display_name": "Doubao Seed 2.0 Pro", "modalities": { "input": [ "text" @@ -154380,28 +160772,27 @@ ] }, "limit": { - "context": 33000, - "output": 4000 + "context": 256000, + "output": 128000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-04-23", - "last_updated": "2025-11-25", + "release_date": "2026-02-14", + "last_updated": "2026-02-14", "cost": { - "input": 0.06, - "output": 0.06 + "input": 0.782, + "output": 3.876 }, "type": "chat" }, { - "id": "ByteDance-Seed/Seed-OSS-36B-Instruct", - "name": "ByteDance-Seed/Seed-OSS-36B-Instruct", - "display_name": "ByteDance-Seed/Seed-OSS-36B-Instruct", + "id": "step-2-mini", + "name": "Step-2 Mini", + "display_name": "Step-2 Mini", "modalities": { "input": [ "text" @@ -154411,197 +160802,259 @@ ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 8000, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-09-04", - "last_updated": "2025-11-25", + "release_date": "2024-07-05", + "last_updated": "2024-07-05", "cost": { - "input": 0.21, - "output": 0.57 + "input": 0.2006, + "output": 0.408 }, "type": "chat" }, { - "id": "baidu/ERNIE-4.5-300B-A47B", - "name": "baidu/ERNIE-4.5-300B-A47B", - "display_name": "baidu/ERNIE-4.5-300B-A47B", + "id": "gemini-exp-1206", + "name": "Gemini 2.0 Pro 1206", + "display_name": "Gemini 2.0 Pro 1206", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 2097152, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-07-02", - "last_updated": "2025-11-25", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 0.28, - "output": 1.1 + "input": 1.258, + "output": 4.998 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.1", - "name": "deepseek-ai/DeepSeek-V3.1", - "display_name": "deepseek-ai/DeepSeek-V3.1", + "id": "claude-opus-4-5-20251101:thinking", + "name": "Claude 4.5 Opus Thinking", + "display_name": "Claude 4.5 Opus Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 164000, - "output": 164000 + "context": 200000, + "output": 32000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-08-25", - "last_updated": "2025-11-25", + "release_date": "2025-11-01", + "last_updated": "2025-11-01", "cost": { - "input": 0.27, - "output": 1 + "input": 4.998, + "output": 25.007 }, "type": "chat" }, { - "id": "deepseek-ai/deepseek-vl2", - "name": "deepseek-ai/deepseek-vl2", - "display_name": "deepseek-ai/deepseek-vl2", + "id": "Qwen3.5-27B-BlueStar-v3-Derestricted", + "name": "Qwen3.5 27B BlueStar v3 Derestricted", + "display_name": "Qwen3.5 27B BlueStar v3 Derestricted", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 4000, - "output": 4000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2024-12-13", - "last_updated": "2025-11-25", + "release_date": "2026-04-30", + "last_updated": "2026-04-30", "cost": { - "input": 0.15, - "output": 0.15 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.1-Terminus", - "name": "deepseek-ai/DeepSeek-V3.1-Terminus", - "display_name": "deepseek-ai/DeepSeek-V3.1-Terminus", + "id": "claude-opus-4-thinking", + "name": "Claude 4 Opus Thinking", + "display_name": "Claude 4 Opus Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 164000, - "output": 164000 + "context": 200000, + "output": 32000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-09-29", - "last_updated": "2025-11-25", + "release_date": "2025-07-15", + "last_updated": "2025-07-15", "cost": { - "input": 0.27, - "output": 1 + "input": 14.994, + "output": 75.004 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.2", - "name": "deepseek-ai/DeepSeek-V3.2", - "display_name": "deepseek-ai/DeepSeek-V3.2", + "id": "qwen3.5-flash", + "name": "Qwen3.5 Flash", + "display_name": "Qwen3.5 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 164000, - "output": 164000 + "context": 991808, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-12-03", - "last_updated": "2025-12-03", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", "cost": { - "input": 0.27, - "output": 0.42 + "input": 0.09, + "output": 0.36 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", - "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", - "display_name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", + "id": "exa-research-pro", + "name": "Exa (Research Pro)", + "display_name": "Exa (Research Pro)", "modalities": { "input": [ "text" @@ -154611,29 +161064,27 @@ ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 16384, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-01-20", - "last_updated": "2025-11-25", + "release_date": "2025-06-04", + "last_updated": "2025-06-04", "cost": { - "input": 0.18, - "output": 0.18 + "input": 2.5, + "output": 2.5 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-R1", - "name": "deepseek-ai/DeepSeek-R1", - "display_name": "deepseek-ai/DeepSeek-R1", + "id": "jamba-mini", + "name": "Jamba Mini", + "display_name": "Jamba Mini", "modalities": { "input": [ "text" @@ -154643,10 +161094,41 @@ ] }, "limit": { - "context": 164000, - "output": 164000 + "context": 256000, + "output": 4096 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "cost": { + "input": 0.1989, + "output": 0.408 + }, + "type": "chat" + }, + { + "id": "claude-opus-4-1-thinking:32000", + "name": "Claude 4.1 Opus Thinking (32K)", + "display_name": "Claude 4.1 Opus Thinking (32K)", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 32000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -154655,28 +161137,38 @@ "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-05-28", - "last_updated": "2025-11-25", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0.5, - "output": 2.18 + "input": 14.994, + "output": 75.004 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", - "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", - "display_name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", + "id": "KAT-Coder-Air-V1", + "name": "KAT Coder Air V1", + "display_name": "KAT Coder Air V1", "modalities": { "input": [ "text" @@ -154686,29 +161178,27 @@ ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 128000, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-01-20", - "last_updated": "2025-11-25", + "release_date": "2025-10-28", + "last_updated": "2025-10-28", "cost": { "input": 0.1, - "output": 0.1 + "output": 0.2 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.2-Exp", - "name": "deepseek-ai/DeepSeek-V3.2-Exp", - "display_name": "deepseek-ai/DeepSeek-V3.2-Exp", + "id": "exa-research", + "name": "Exa (Research)", + "display_name": "Exa (Research)", "modalities": { "input": [ "text" @@ -154718,73 +161208,72 @@ ] }, "limit": { - "context": 164000, - "output": 164000 + "context": 8192, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-10-10", - "last_updated": "2025-11-25", + "release_date": "2025-06-04", + "last_updated": "2025-06-04", "cost": { - "input": 0.27, - "output": 0.41 + "input": 2.5, + "output": 2.5 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3", - "name": "deepseek-ai/DeepSeek-V3", - "display_name": "deepseek-ai/DeepSeek-V3", + "id": "deepclaude", + "name": "DeepClaude", + "display_name": "DeepClaude", "modalities": { "input": [ - "text" + "text", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 164000, - "output": 164000 + "context": 128000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-12-26", - "last_updated": "2025-11-25", + "release_date": "2025-02-01", + "last_updated": "2025-02-01", "cost": { - "input": 0.25, - "output": 1 + "input": 3, + "output": 15 }, "type": "chat" }, { - "id": "deepseek-ai/deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "gemini-2.5-flash-preview-09-2025", + "name": "Gemini 2.5 Flash Preview (09/2025)", + "display_name": "Gemini 2.5 Flash Preview (09/2025)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 1048756, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -154793,75 +161282,97 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "attachment": true, + "open_weights": false, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.028 + "input": 0.3, + "output": 2.5 }, "type": "chat" }, { - "id": "deepseek-ai/deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "claude-opus-4-5-20251101", + "name": "Claude 4.5 Opus", + "display_name": "Claude 4.5 Opus", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 200000, + "output": 32000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "attachment": true, + "open_weights": false, + "release_date": "2025-11-01", + "last_updated": "2025-11-01", "cost": { - "input": 1.74, - "output": 3.48, - "cache_read": 0.145 + "input": 4.998, + "output": 25.007 }, "type": "chat" }, { - "id": "stepfun-ai/Step-3.5-Flash", - "name": "stepfun-ai/Step-3.5-Flash", - "display_name": "stepfun-ai/Step-3.5-Flash", + "id": "GLM-4.6-Derestricted-v5", + "name": "GLM 4.6 Derestricted v5", + "display_name": "GLM 4.6 Derestricted v5", "modalities": { "input": [ "text" @@ -154871,29 +161382,27 @@ ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 131072, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "cost": { - "input": 0.1, - "output": 0.3 + "input": 0.4, + "output": 1.5 }, "type": "chat" }, { - "id": "nex-agi/DeepSeek-V3.1-Nex-N1", - "name": "nex-agi/DeepSeek-V3.1-Nex-N1", - "display_name": "nex-agi/DeepSeek-V3.1-Nex-N1", + "id": "glm-z1-airx", + "name": "GLM Z1 AirX", + "display_name": "GLM Z1 AirX", "modalities": { "input": [ "text" @@ -154903,135 +161412,143 @@ ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 32000, + "output": 16384 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-01-01", - "last_updated": "2025-11-25", + "release_date": "2025-04-15", + "last_updated": "2025-04-15", "cost": { - "input": 0.5, - "output": 2 + "input": 0.7, + "output": 0.7 }, "type": "chat" }, { - "id": "tencent/Hunyuan-A13B-Instruct", - "name": "tencent/Hunyuan-A13B-Instruct", - "display_name": "tencent/Hunyuan-A13B-Instruct", + "id": "claude-sonnet-4-thinking:1024", + "name": "Claude 4 Sonnet Thinking (1K)", + "display_name": "Claude 4 Sonnet Thinking (1K)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 1000000, + "output": 64000 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-06-30", - "last_updated": "2025-11-25", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0.14, - "output": 0.57 + "input": 2.992, + "output": 14.994 }, "type": "chat" }, { - "id": "tencent/Hunyuan-MT-7B", - "name": "tencent/Hunyuan-MT-7B", - "display_name": "tencent/Hunyuan-MT-7B", + "id": "holo3-35b-a3b:thinking", + "name": "Holo3-35B-A3B Thinking", + "display_name": "Holo3-35B-A3B Thinking", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 33000, - "output": 33000 + "context": 65536, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-09-18", - "last_updated": "2025-11-25", + "release_date": "2024-01-01", + "last_updated": "2024-01-01", "cost": { - "input": 0, - "output": 0 + "input": 0.25, + "output": 1.8 }, "type": "chat" }, { - "id": "Qwen/Qwen3-VL-235B-A22B-Thinking", - "name": "Qwen/Qwen3-VL-235B-A22B-Thinking", - "display_name": "Qwen/Qwen3-VL-235B-A22B-Thinking", + "id": "owl", + "name": "OWL", + "display_name": "OWL", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 1048756, + "output": 262144 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", + "release_date": "2026-05-01", + "last_updated": "2026-05-01", "cost": { - "input": 0.45, - "output": 3.5 + "input": 0.1, + "output": 0.3 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", - "name": "Qwen/Qwen3-Coder-480B-A35B-Instruct", - "display_name": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "id": "gemini-2.0-pro-reasoner", + "name": "Gemini 2.0 Pro Reasoner", + "display_name": "Gemini 2.0 Pro Reasoner", "modalities": { "input": [ "text" @@ -155041,75 +161558,75 @@ ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 128000, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-07-31", - "last_updated": "2025-11-25", + "release_date": "2025-02-05", + "last_updated": "2025-02-05", "cost": { - "input": 0.25, - "output": 1 + "input": 1.292, + "output": 4.998 }, "type": "chat" }, { - "id": "Qwen/Qwen3-VL-8B-Instruct", - "name": "Qwen/Qwen3-VL-8B-Instruct", - "display_name": "Qwen/Qwen3-VL-8B-Instruct", + "id": "Gemma-4-31B-Cognitive-Unshackled", + "name": "Gemma 4 31B Cognitive Unshackled", + "display_name": "Gemma 4 31B Cognitive Unshackled", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "release_date": "2025-10-15", - "last_updated": "2025-11-25", + "release_date": "2026-05-01", + "last_updated": "2026-05-01", "cost": { - "input": 0.18, - "output": 0.68 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "Qwen/Qwen3-VL-8B-Thinking", - "name": "Qwen/Qwen3-VL-8B-Thinking", - "display_name": "Qwen/Qwen3-VL-8B-Thinking", + "id": "Qwen3.5-27B-earica-Derestricted", + "name": "Qwen3.5 27B earica Derestricted", + "display_name": "Qwen3.5 27B earica Derestricted", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -155127,49 +161644,50 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-10-15", - "last_updated": "2025-11-25", + "release_date": "2026-04-30", + "last_updated": "2026-04-30", "cost": { - "input": 0.18, - "output": 2 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Omni-30B-A3B-Captioner", - "name": "Qwen/Qwen3-Omni-30B-A3B-Captioner", - "display_name": "Qwen/Qwen3-Omni-30B-A3B-Captioner", + "id": "command-a-plus-05-2026", + "name": "Cohere Command A+ (05/2026)", + "display_name": "Cohere Command A+ (05/2026)", "modalities": { "input": [ - "audio" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 66000, - "output": 66000 + "context": 128000, + "output": 64000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", + "release_date": "2026-05-22", + "last_updated": "2026-05-22", "cost": { - "input": 0.1, - "output": 0.4 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "Qwen/QwQ-32B", - "name": "Qwen/QwQ-32B", - "display_name": "Qwen/QwQ-32B", + "id": "auto-model-premium", + "name": "Auto model (Premium)", + "display_name": "Auto model (Premium)", "modalities": { "input": [ "text" @@ -155179,40 +161697,57 @@ ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 1000000, + "output": 1000000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "attachment": false, + "open_weights": false, + "release_date": "2024-06-01", + "last_updated": "2024-06-01", + "cost": { + "input": 9.996, + "output": 19.992 + }, + "type": "chat" + }, + { + "id": "learnlm-1.5-pro-experimental", + "name": "Gemini LearnLM Experimental", + "display_name": "Gemini LearnLM Experimental", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 32767, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-03-06", - "last_updated": "2025-11-25", + "release_date": "2024-05-14", + "last_updated": "2024-05-14", "cost": { - "input": 0.15, - "output": 0.58 + "input": 3.502, + "output": 10.506 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-72B-Instruct", - "name": "Qwen/Qwen2.5-72B-Instruct", - "display_name": "Qwen/Qwen2.5-72B-Instruct", + "id": "deepseek-r1-sambanova", + "name": "DeepSeek R1 Fast", + "display_name": "DeepSeek R1 Fast", "modalities": { "input": [ "text" @@ -155222,61 +161757,112 @@ ] }, "limit": { - "context": 33000, - "output": 4000 + "context": 128000, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-09-18", - "last_updated": "2025-11-25", + "release_date": "2025-02-20", + "last_updated": "2025-02-20", "cost": { - "input": 0.59, - "output": 0.59 + "input": 4.998, + "output": 6.987 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Omni-30B-A3B-Instruct", - "name": "Qwen/Qwen3-Omni-30B-A3B-Instruct", - "display_name": "Qwen/Qwen3-Omni-30B-A3B-Instruct", + "id": "claw-medium", + "name": "Claw Medium", + "display_name": "Claw Medium", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 131072 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": false, + "release_date": "2026-05-11", + "last_updated": "2026-05-11", + "cost": { + "input": 0.3, + "output": 1.2 + }, + "type": "chat" + }, + { + "id": "claude-opus-4-20250514", + "name": "Claude 4 Opus", + "display_name": "Claude 4 Opus", "modalities": { "input": [ "text", "image", - "audio" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 66000, - "output": 66000 + "context": 200000, + "output": 32000 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", + "release_date": "2025-05-14", + "last_updated": "2025-05-14", "cost": { - "input": 0.1, - "output": 0.4 + "input": 14.994, + "output": 75.004 }, "type": "chat" }, { - "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", - "name": "Qwen/Qwen3-30B-A3B-Instruct-2507", - "display_name": "Qwen/Qwen3-30B-A3B-Instruct-2507", + "id": "yi-large", + "name": "Yi Large", + "display_name": "Yi Large", "modalities": { "input": [ "text" @@ -155286,28 +161872,27 @@ ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 32000, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-07-30", - "last_updated": "2025-11-25", + "release_date": "2024-05-13", + "last_updated": "2024-05-13", "cost": { - "input": 0.09, - "output": 0.3 + "input": 3.196, + "output": 3.196 }, "type": "chat" }, { - "id": "Qwen/Qwen3-235B-A22B", - "name": "Qwen/Qwen3-235B-A22B", - "display_name": "Qwen/Qwen3-235B-A22B", + "id": "qwen3-max-2026-01-23", + "name": "Qwen3 Max 2026-01-23", + "display_name": "Qwen3 Max 2026-01-23", "modalities": { "input": [ "text" @@ -155317,11 +161902,10 @@ ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 256000, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true }, @@ -155338,18 +161922,18 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-04-30", - "last_updated": "2025-11-25", + "release_date": "2026-01-26", + "last_updated": "2026-01-26", "cost": { - "input": 0.35, - "output": 1.42 + "input": 1.2002, + "output": 6.001 }, "type": "chat" }, { - "id": "Qwen/Qwen3-14B", - "name": "Qwen/Qwen3-14B", - "display_name": "Qwen/Qwen3-14B", + "id": "phi-4-mini-instruct", + "name": "Phi 4 Mini", + "display_name": "Phi 4 Mini", "modalities": { "input": [ "text" @@ -155359,199 +161943,206 @@ ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 128000, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-04-30", - "last_updated": "2025-11-25", + "release_date": "2025-07-26", + "last_updated": "2025-07-26", "cost": { - "input": 0.07, - "output": 0.28 + "input": 0.17, + "output": 0.68 }, "type": "chat" }, { - "id": "Qwen/Qwen3-VL-32B-Thinking", - "name": "Qwen/Qwen3-VL-32B-Thinking", - "display_name": "Qwen/Qwen3-VL-32B-Thinking", + "id": "ernie-x1-turbo-32k", + "name": "Ernie X1 Turbo 32k", + "display_name": "Ernie X1 Turbo 32k", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 32000, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-10-21", - "last_updated": "2025-11-25", + "release_date": "2025-05-08", + "last_updated": "2025-05-08", "cost": { - "input": 0.2, - "output": 1.5 + "input": 0.165, + "output": 0.66 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-72B-Instruct-128K", - "name": "Qwen/Qwen2.5-72B-Instruct-128K", - "display_name": "Qwen/Qwen2.5-72B-Instruct-128K", + "id": "claw-low", + "name": "Claw Low", + "display_name": "Claw Low", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131000, - "output": 4000 + "context": 1048576, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-09-18", - "last_updated": "2025-11-25", + "release_date": "2026-05-11", + "last_updated": "2026-05-11", "cost": { - "input": 0.59, - "output": 0.59 + "input": 0.25, + "output": 1.5, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "Qwen/Qwen3-8B", - "name": "Qwen/Qwen3-8B", - "display_name": "Qwen/Qwen3-8B", + "id": "gemini-3-pro-image-preview", + "name": "Gemini 3 Pro Image", + "display_name": "Gemini 3 Pro Image", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 1048756, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-04-30", - "last_updated": "2025-11-25", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", "cost": { - "input": 0.06, - "output": 0.06 + "input": 2, + "output": 12 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "display_name": "Qwen/Qwen3-235B-A22B-Thinking-2507", + "id": "gemma-4-31B-Garnet", + "name": "Gemma 4 31B Garnet", + "display_name": "Gemma 4 31B Garnet", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "attachment": true, + "open_weights": false, + "release_date": "2026-05-02", + "last_updated": "2026-05-02", + "cost": { + "input": 0.306, + "output": 0.306 }, - "attachment": false, + "type": "chat" + }, + { + "id": "doubao-1.5-vision-pro-32k", + "name": "Doubao 1.5 Vision Pro 32k", + "display_name": "Doubao 1.5 Vision Pro 32k", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 32000, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, "open_weights": false, - "release_date": "2025-07-28", - "last_updated": "2025-11-25", + "release_date": "2025-01-22", + "last_updated": "2025-01-22", "cost": { - "input": 0.13, - "output": 0.6 + "input": 0.459, + "output": 1.377 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Coder-30B-A3B-Instruct", - "name": "Qwen/Qwen3-Coder-30B-A3B-Instruct", - "display_name": "Qwen/Qwen3-Coder-30B-A3B-Instruct", + "id": "auto-model-standard", + "name": "Auto model (Standard)", + "display_name": "Auto model (Standard)", "modalities": { "input": [ "text" @@ -155561,44 +162152,42 @@ ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 1000000, + "output": 1000000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-08-01", - "last_updated": "2025-11-25", + "release_date": "2024-06-01", + "last_updated": "2024-06-01", "cost": { - "input": 0.07, - "output": 0.28 + "input": 9.996, + "output": 19.992 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Omni-30B-A3B-Thinking", - "name": "Qwen/Qwen3-Omni-30B-A3B-Thinking", - "display_name": "Qwen/Qwen3-Omni-30B-A3B-Thinking", + "id": "Qwen3.5-27B-Marvin-DPO-V2-Derestricted-Lite", + "name": "Qwen3.5 27B Marvin DPO V2 Derestricted Lite", + "display_name": "Qwen3.5 27B Marvin DPO V2 Derestricted Lite", "modalities": { "input": [ "text", "image", - "audio" + "video" ], "output": [ "text" ] }, "limit": { - "context": 66000, - "output": 66000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -155616,18 +162205,18 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", + "release_date": "2026-04-30", + "last_updated": "2026-04-30", "cost": { - "input": 0.1, - "output": 0.4 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "display_name": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "id": "glm-4", + "name": "GLM-4", + "display_name": "GLM-4", "modalities": { "input": [ "text" @@ -155637,91 +162226,103 @@ ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 128000, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-07-23", - "last_updated": "2025-11-25", + "release_date": "2024-01-16", + "last_updated": "2024-01-16", "cost": { - "input": 0.09, - "output": 0.6 + "input": 14.994, + "output": 14.994 }, "type": "chat" }, { - "id": "Qwen/Qwen3-VL-32B-Instruct", - "name": "Qwen/Qwen3-VL-32B-Instruct", - "display_name": "Qwen/Qwen3-VL-32B-Instruct", + "id": "Qwen3.5-27B-Writer-Derestricted-Lite", + "name": "Qwen3.5 27B Writer Derestricted Lite", + "display_name": "Qwen3.5 27B Writer Derestricted Lite", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2025-10-21", - "last_updated": "2025-11-25", + "release_date": "2026-04-06", + "last_updated": "2026-04-06", "cost": { - "input": 0.2, - "output": 0.6 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", - "name": "Qwen/Qwen3-Next-80B-A3B-Instruct", - "display_name": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "id": "qwen-3.6-plus", + "name": "Qwen 3.6 Plus", + "display_name": "Qwen 3.6 Plus", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 991800, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-09-18", - "last_updated": "2025-11-25", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0.14, - "output": 1.4 + "input": 0.45, + "output": 2.7 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-14B-Instruct", - "name": "Qwen/Qwen2.5-14B-Instruct", - "display_name": "Qwen/Qwen2.5-14B-Instruct", + "id": "brave-pro", + "name": "Brave (Pro)", + "display_name": "Brave (Pro)", "modalities": { "input": [ "text" @@ -155731,197 +162332,205 @@ ] }, "limit": { - "context": 33000, - "output": 4000 + "context": 8192, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-09-18", - "last_updated": "2025-11-25", + "release_date": "2023-03-02", + "last_updated": "2024-01-01", "cost": { - "input": 0.1, - "output": 0.1 + "input": 5, + "output": 5 }, "type": "chat" }, { - "id": "Qwen/Qwen3-VL-30B-A3B-Instruct", - "name": "Qwen/Qwen3-VL-30B-A3B-Instruct", - "display_name": "Qwen/Qwen3-VL-30B-A3B-Instruct", + "id": "deepseek-chat-cheaper", + "name": "DeepSeek V3/Chat Cheaper", + "display_name": "DeepSeek V3/Chat Cheaper", "modalities": { "input": [ "text", - "image" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 128000, + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-10-05", - "last_updated": "2025-11-25", + "release_date": "2025-04-15", + "last_updated": "2025-04-15", "cost": { - "input": 0.29, - "output": 1 + "input": 0.25, + "output": 0.7 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-Coder-32B-Instruct", - "name": "Qwen/Qwen2.5-Coder-32B-Instruct", - "display_name": "Qwen/Qwen2.5-Coder-32B-Instruct", + "id": "Gemma-4-31B-Queen", + "name": "Gemma 4 31B Queen", + "display_name": "Gemma 4 31B Queen", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 33000, - "output": 4000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-11-11", - "last_updated": "2025-11-25", + "release_date": "2026-05-01", + "last_updated": "2026-05-01", "cost": { - "input": 0.18, - "output": 0.18 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-VL-72B-Instruct", - "name": "Qwen/Qwen2.5-VL-72B-Instruct", - "display_name": "Qwen/Qwen2.5-VL-72B-Instruct", + "id": "Gemma-4-31B-Gemopus", + "name": "Gemma 4 31B Gemopus", + "display_name": "Gemma 4 31B Gemopus", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131000, - "output": 4000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "release_date": "2025-01-28", - "last_updated": "2025-11-25", + "release_date": "2026-05-01", + "last_updated": "2026-05-01", "cost": { - "input": 0.59, - "output": 0.59 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-VL-32B-Instruct", - "name": "Qwen/Qwen2.5-VL-32B-Instruct", - "display_name": "Qwen/Qwen2.5-VL-32B-Instruct", + "id": "mistral-code-latest", + "name": "Mistral Code Latest", + "display_name": "Mistral Code Latest", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 256000, + "output": 32768 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-03-24", - "last_updated": "2025-11-25", + "release_date": "2026-06-02", + "last_updated": "2026-06-02", "cost": { - "input": 0.27, - "output": 0.27 + "input": 0.3, + "output": 0.9 }, "type": "chat" }, { - "id": "Qwen/Qwen3-32B", - "name": "Qwen/Qwen3-32B", - "display_name": "Qwen/Qwen3-32B", + "id": "gemini-2.5-flash-lite", + "name": "Gemini 2.5 Flash Lite", + "display_name": "Gemini 2.5 Flash Lite", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 1048756, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true + "supported": true, + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "default": -1, + "min": 512, + "max": 24576, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-04-30", - "last_updated": "2025-11-25", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 0.14, - "output": 0.57 + "input": 0.1, + "output": 0.4 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-32B-Instruct", - "name": "Qwen/Qwen2.5-32B-Instruct", - "display_name": "Qwen/Qwen2.5-32B-Instruct", + "id": "jamba-mini-1.7", + "name": "Jamba Mini 1.7", + "display_name": "Jamba Mini 1.7", "modalities": { "input": [ "text" @@ -155931,74 +162540,72 @@ ] }, "limit": { - "context": 33000, - "output": 4000 + "context": 256000, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-09-19", - "last_updated": "2025-11-25", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", "cost": { - "input": 0.18, - "output": 0.18 + "input": 0.1989, + "output": 0.408 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-VL-7B-Instruct", - "name": "Qwen/Qwen2.5-VL-7B-Instruct", - "display_name": "Qwen/Qwen2.5-VL-7B-Instruct", + "id": "universal-summarizer", + "name": "Universal Summarizer", + "display_name": "Universal Summarizer", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 33000, - "output": 4000 + "context": 32768, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-01-28", - "last_updated": "2025-11-25", + "release_date": "2023-05-01", + "last_updated": "2024-01-01", "cost": { - "input": 0.05, - "output": 0.05 + "input": 30, + "output": 30 }, "type": "chat" }, { - "id": "Qwen/Qwen3-30B-A3B-Thinking-2507", - "name": "Qwen/Qwen3-30B-A3B-Thinking-2507", - "display_name": "Qwen/Qwen3-30B-A3B-Thinking-2507", + "id": "Qwen3.5-27B-Anko", + "name": "Qwen3.5 27B Anko", + "display_name": "Qwen3.5 27B Anko", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 131000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -156014,64 +162621,74 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-07-31", - "last_updated": "2025-11-25", + "release_date": "2026-04-30", + "last_updated": "2026-04-30", "cost": { - "input": 0.09, - "output": 0.3 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "Qwen/Qwen3-VL-30B-A3B-Thinking", - "name": "Qwen/Qwen3-VL-30B-A3B-Thinking", - "display_name": "Qwen/Qwen3-VL-30B-A3B-Thinking", + "id": "claude-sonnet-4-20250514", + "name": "Claude 4 Sonnet", + "display_name": "Claude 4 Sonnet", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 200000, + "output": 64000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, "open_weights": false, - "release_date": "2025-10-11", - "last_updated": "2025-11-25", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0.29, - "output": 1 + "input": 2.992, + "output": 14.994 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-7B-Instruct", - "name": "Qwen/Qwen2.5-7B-Instruct", - "display_name": "Qwen/Qwen2.5-7B-Instruct", + "id": "ernie-x1-32k-preview", + "name": "Ernie X1 32k", + "display_name": "Ernie X1 32k", "modalities": { "input": [ "text" @@ -156081,28 +162698,27 @@ ] }, "limit": { - "context": 33000, - "output": 4000 + "context": 32000, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-09-18", - "last_updated": "2025-11-25", + "release_date": "2025-04-03", + "last_updated": "2025-04-03", "cost": { - "input": 0.05, - "output": 0.05 + "input": 0.33, + "output": 1.32 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Next-80B-A3B-Thinking", - "name": "Qwen/Qwen3-Next-80B-A3B-Thinking", - "display_name": "Qwen/Qwen3-Next-80B-A3B-Thinking", + "id": "azure-gpt-4-turbo", + "name": "Azure gpt-4-turbo", + "display_name": "Azure gpt-4-turbo", "modalities": { "input": [ "text" @@ -156112,10 +162728,71 @@ ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 128000, + "output": 4096 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2023-11-06", + "last_updated": "2024-01-01", + "cost": { + "input": 9.996, + "output": 30.005 + }, + "type": "chat" + }, + { + "id": "Meta-Llama-3-1-8B-Instruct-FP8", + "name": "Llama 3.1 8B (decentralized)", + "display_name": "Llama 3.1 8B (decentralized)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "cost": { + "input": 0.02, + "output": 0.03 + }, + "type": "chat" + }, + { + "id": "claude-sonnet-4-5-20250929-thinking", + "name": "Claude Sonnet 4.5 Thinking", + "display_name": "Claude Sonnet 4.5 Thinking", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 64000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -156124,534 +162801,675 @@ "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-09-25", - "last_updated": "2025-11-25", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0.14, - "output": 0.57 + "input": 2.992, + "output": 14.994 }, "type": "chat" }, { - "id": "Qwen/Qwen3-VL-235B-A22B-Instruct", - "name": "Qwen/Qwen3-VL-235B-A22B-Instruct", - "display_name": "Qwen/Qwen3-VL-235B-A22B-Instruct", + "id": "asi1-mini", + "name": "ASI1 Mini", + "display_name": "ASI1 Mini", "modalities": { "input": [ "text", - "image" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 128000, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", + "release_date": "2025-03-25", + "last_updated": "2025-03-25", "cost": { - "input": 0.3, - "output": 1.5 + "input": 1, + "output": 1 }, "type": "chat" }, { - "id": "openai/gpt-oss-120b", - "name": "openai/gpt-oss-120b", - "display_name": "openai/gpt-oss-120b", + "id": "qwen3.5-27b", + "name": "Qwen3.5 27B", + "display_name": "Qwen3.5 27B", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131000, - "output": 8000 + "context": 260096, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-08-13", - "last_updated": "2025-11-25", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", "cost": { - "input": 0.05, - "output": 0.45 + "input": 0.27, + "output": 2.16 }, "type": "chat" }, { - "id": "openai/gpt-oss-20b", - "name": "openai/gpt-oss-20b", - "display_name": "openai/gpt-oss-20b", + "id": "Qwen3.5-27B-Omega-Evolution-v2.2-Derestricted-Lite", + "name": "Qwen3.5 27B Omega Evolution v2.2 Derestricted Lite", + "display_name": "Qwen3.5 27B Omega Evolution v2.2 Derestricted Lite", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131000, - "output": 8000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-08-13", - "last_updated": "2025-11-25", + "release_date": "2026-05-02", + "last_updated": "2026-05-02", "cost": { - "input": 0.04, - "output": 0.18 + "input": 0.306, + "output": 0.306 }, "type": "chat" - } - ] - }, - "vercel": { - "id": "vercel", - "name": "Vercel AI Gateway", - "display_name": "Vercel AI Gateway", - "doc": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", - "models": [ + }, { - "id": "kwaipilot/kat-coder-pro-v2", - "name": "Kat Coder Pro V2", - "display_name": "Kat Coder Pro V2", + "id": "claude-opus-4-1-thinking:32768", + "name": "Claude 4.1 Opus Thinking (32K)", + "display_name": "Claude 4.1 Opus Thinking (32K)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 200000, + "output": 32000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-03-27", - "last_updated": "2026-03-30", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06 + "input": 14.994, + "output": 75.004 }, "type": "chat" }, { - "id": "kwaipilot/kat-coder-pro-v1", - "name": "KAT-Coder-Pro V1", - "display_name": "KAT-Coder-Pro V1", + "id": "gemma-4-31B-K1-v5", + "name": "Gemma 4 31B K1 v5", + "display_name": "Gemma 4 31B K1 v5", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 32000 + "context": 262144, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-10-24", - "last_updated": "2025-10-24", + "release_date": "2026-05-02", + "last_updated": "2026-05-02", "cost": { - "input": 0.03, - "output": 1.2, - "cache_read": 0.06 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "bfl/flux-2-klein-9b", - "name": "FLUX.2 [klein] 9B", - "display_name": "FLUX.2 [klein] 9B", + "id": "sonar", + "name": "Perplexity Simple", + "display_name": "Perplexity Simple", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 127000, + "output": 128000 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-06-08", - "last_updated": "2026-06-08", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "cost": { + "input": 1.003, + "output": 1.003 + }, "type": "chat" }, { - "id": "bfl/flux-2-flex", - "name": "FLUX.2 [flex]", - "display_name": "FLUX.2 [flex]", + "id": "MiniMax-M2", + "name": "MiniMax M2", + "display_name": "MiniMax M2", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 200000, + "output": 131072 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": false, - "release_date": "2026-06-08", - "last_updated": "2026-06-08", - "type": "imageGeneration" + "release_date": "2025-10-25", + "last_updated": "2025-10-25", + "cost": { + "input": 0.17, + "output": 1.53 + }, + "type": "chat" }, { - "id": "bfl/flux-2-klein-4b", - "name": "FLUX.2 [klein] 4B", - "display_name": "FLUX.2 [klein] 4B", + "id": "sarvam-105b", + "name": "Sarvam 105B", + "display_name": "Sarvam 105B", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 131072, + "output": 4096 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2026-06-08", - "last_updated": "2026-06-08", + "release_date": "2026-05-12", + "last_updated": "2026-05-12", + "cost": { + "input": 0.045, + "output": 0.177, + "cache_read": 0.028 + }, "type": "chat" }, { - "id": "bfl/flux-kontext-max", - "name": "FLUX.1 Kontext Max", - "display_name": "FLUX.1 Kontext Max", + "id": "Qwen3.5-27B-Writer-V2-Derestricted-Lite", + "name": "Qwen3.5 27B Writer V2 Derestricted Lite", + "display_name": "Qwen3.5 27B Writer V2 Derestricted Lite", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 512, - "output": 8192 + "context": 262144, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-04-06", + "last_updated": "2026-04-06", + "cost": { + "input": 0.306, + "output": 0.306 }, - "attachment": false, - "open_weights": false, - "release_date": "2025-06-01", - "last_updated": "2025-06", "type": "chat" }, { - "id": "bfl/flux-2-pro", - "name": "FLUX.2 [pro]", - "display_name": "FLUX.2 [pro]", + "id": "Qwen3.5-27B-Marvin-V2-Derestricted", + "name": "Qwen3.5 27B Marvin V2 Derestricted", + "display_name": "Qwen3.5 27B Marvin V2 Derestricted", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 67300, - "output": 67300 + "context": 262144, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-06-08", - "last_updated": "2026-06-08", - "type": "imageGeneration" + "release_date": "2026-04-30", + "last_updated": "2026-04-30", + "cost": { + "input": 0.306, + "output": 0.306 + }, + "type": "chat" }, { - "id": "bfl/flux-pro-1.1-ultra", - "name": "FLUX1.1 [pro] Ultra", - "display_name": "FLUX1.1 [pro] Ultra", + "id": "claw-high", + "name": "Claw High", + "display_name": "Claw High", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 512, - "output": 8192 + "context": 1000000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-11-01", - "last_updated": "2024-11", + "release_date": "2026-05-11", + "last_updated": "2026-05-11", + "cost": { + "input": 4.998, + "output": 25.007 + }, "type": "chat" }, { - "id": "bfl/flux-pro-1.0-fill", - "name": "FLUX.1 Fill [pro]", - "display_name": "FLUX.1 Fill [pro]", + "id": "qwen-max", + "name": "Qwen 2.5 Max", + "display_name": "Qwen 2.5 Max", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 512, + "context": 32000, "output": 8192 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-10-01", - "last_updated": "2024-10", + "release_date": "2024-04-03", + "last_updated": "2024-04-03", + "cost": { + "input": 1.5997, + "output": 6.392 + }, "type": "chat" }, { - "id": "bfl/flux-pro-1.1", - "name": "FLUX1.1 [pro]", - "display_name": "FLUX1.1 [pro]", + "id": "gemma-4-31B-Fabled", + "name": "Gemma 4 31B Fabled", + "display_name": "Gemma 4 31B Fabled", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 512, - "output": 8192 + "context": 262144, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-10-01", - "last_updated": "2024-10", + "release_date": "2026-05-02", + "last_updated": "2026-05-02", + "cost": { + "input": 0.306, + "output": 0.306 + }, "type": "chat" }, { - "id": "bfl/flux-kontext-pro", - "name": "FLUX.1 Kontext Pro", - "display_name": "FLUX.1 Kontext Pro", + "id": "v0-1.5-md", + "name": "v0 1.5 MD", + "display_name": "v0 1.5 MD", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 512, - "output": 8192 + "context": 200000, + "output": 64000 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-06-01", - "last_updated": "2025-06", + "release_date": "2025-07-04", + "last_updated": "2025-07-04", + "cost": { + "input": 3, + "output": 15 + }, "type": "chat" }, { - "id": "bfl/flux-2-max", - "name": "FLUX.2 [max]", - "display_name": "FLUX.2 [max]", + "id": "claude-opus-4-thinking:1024", + "name": "Claude 4 Opus Thinking (1K)", + "display_name": "Claude 4 Opus Thinking (1K)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 67300, - "output": 67300 + "context": 200000, + "output": 32000 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-06-08", - "last_updated": "2026-06-08", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "cost": { + "input": 14.994, + "output": 75.004 + }, "type": "chat" }, { - "id": "deepseek/deepseek-v3.2", - "name": "DeepSeek V3.2", - "display_name": "DeepSeek V3.2", + "id": "gemini-2.5-flash-preview-04-17", + "name": "Gemini 2.5 Flash Preview", + "display_name": "Gemini 2.5 Flash Preview", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8000 + "context": 1048756, + "output": 65536 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "release_date": "2025-04-17", + "last_updated": "2025-04-17", "cost": { - "input": 0.28, - "output": 0.42, - "cache_read": 0.028 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "deepseek/deepseek-v3.2-thinking", - "name": "DeepSeek V3.2 Thinking", - "display_name": "DeepSeek V3.2 Thinking", + "id": "gemini-2.5-pro-exp-03-25", + "name": "Gemini 2.5 Pro Experimental 0325", + "display_name": "Gemini 2.5 Pro Experimental 0325", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8000 + "context": 1048756, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -156659,24 +163477,36 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "release_date": "2025-03-25", + "last_updated": "2025-03-25", "cost": { - "input": 0.62, - "output": 1.85 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "deepseek/deepseek-v3.1-terminus", - "name": "DeepSeek V3.1 Terminus", - "display_name": "DeepSeek V3.1 Terminus", + "id": "hermes-medium", + "name": "Hermes Medium", + "display_name": "Hermes Medium", "modalities": { "input": [ "text" @@ -156686,115 +163516,92 @@ ] }, "limit": { - "context": 131072, - "output": 65536 + "context": 204800, + "output": 131072 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": false, - "open_weights": true, - "knowledge": "2025-07", - "release_date": "2025-09-22", - "last_updated": "2025-09-22", + "open_weights": false, + "release_date": "2026-05-11", + "last_updated": "2026-05-11", "cost": { - "input": 0.27, - "output": 1, - "cache_read": 0.135 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "deepseek/deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "sonar-pro", + "name": "Perplexity Pro", + "display_name": "Perplexity Pro", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 200000, + "output": 128000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-23", - "last_updated": "2026-04-24", + "open_weights": false, + "release_date": "2025-02-19", + "last_updated": "2025-02-19", "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.0028 + "input": 2.992, + "output": 14.994 }, "type": "chat" }, { - "id": "deepseek/deepseek-v3", - "name": "DeepSeek V3 0324", - "display_name": "DeepSeek V3 0324", + "id": "doubao-1-5-thinking-pro-250415", + "name": "Doubao 1.5 Thinking Pro", + "display_name": "Doubao 1.5 Thinking Pro", "modalities": { "input": [ - "text" + "text", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 163840 + "context": 128000, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-07", - "release_date": "2024-12-26", - "last_updated": "2024-12-26", + "release_date": "2025-04-17", + "last_updated": "2025-04-17", "cost": { - "input": 0.27, - "output": 1.12, - "cache_read": 0.135 + "input": 0.6, + "output": 2.4 }, "type": "chat" }, { - "id": "deepseek/deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "qwen3.7-max:thinking", + "name": "Qwen3.7 Max Thinking", + "display_name": "Qwen3.7 Max Thinking", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ "text" @@ -156802,89 +163609,73 @@ }, "limit": { "context": 1000000, - "output": 384000 + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-23", - "last_updated": "2026-04-24", + "open_weights": false, + "release_date": "2026-05-21", + "last_updated": "2026-05-21", "cost": { - "input": 0.435, - "output": 0.87, - "cache_read": 0.0036 + "input": 2.5, + "output": 7.5, + "cache_read": 0.25 }, "type": "chat" }, { - "id": "deepseek/deepseek-v3.1", - "name": "DeepSeek-V3.1", - "display_name": "DeepSeek-V3.1", + "id": "ernie-4.5-turbo-vl-32k", + "name": "Ernie 4.5 Turbo VL 32k", + "display_name": "Ernie 4.5 Turbo VL 32k", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 163840, - "output": 8192 + "context": 32000, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-07", - "release_date": "2025-08-21", - "last_updated": "2025-08-21", + "release_date": "2025-05-08", + "last_updated": "2025-05-08", "cost": { - "input": 0.56, - "output": 1.68, - "cache_read": 0.28 + "input": 0.495, + "output": 1.43 }, "type": "chat" }, { - "id": "deepseek/deepseek-r1", - "name": "DeepSeek-R1", - "display_name": "DeepSeek-R1", + "id": "gemini-2.5-pro-preview-05-06", + "name": "Gemini 2.5 Pro Preview 0506", + "display_name": "Gemini 2.5 Pro Preview 0506", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 1048756, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -156892,29 +163683,36 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-05-29", + "release_date": "2025-05-06", + "last_updated": "2025-05-06", "cost": { - "input": 1.35, - "output": 5.4 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "inception/mercury-coder-small", - "name": "Mercury Coder Small Beta", - "display_name": "Mercury Coder Small Beta", + "id": "hunyuan-turbos-20250226", + "name": "Hunyuan Turbo S", + "display_name": "Hunyuan Turbo S", "modalities": { "input": [ "text" @@ -156924,277 +163722,373 @@ ] }, "limit": { - "context": 32000, - "output": 16384 + "context": 24000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-02-26", - "last_updated": "2025-02-26", + "release_date": "2025-02-27", + "last_updated": "2025-02-27", "cost": { - "input": 0.25, - "output": 1 + "input": 0.187, + "output": 0.374 }, "type": "chat" }, { - "id": "inception/mercury-2", - "name": "Mercury 2", - "display_name": "Mercury 2", + "id": "claude-sonnet-4-thinking:64000", + "name": "Claude 4 Sonnet Thinking (64K)", + "display_name": "Claude 4 Sonnet Thinking (64K)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 1000000, + "output": 64000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-02-24", - "last_updated": "2026-03-06", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0.25, - "output": 0.75, - "cache_read": 0.024999999999999998 + "input": 2.992, + "output": 14.994 }, "type": "chat" }, { - "id": "klingai/kling-v2.6-i2v", - "name": "Kling v2.6 Image-to-Video", - "display_name": "Kling v2.6 Image-to-Video", + "id": "ernie-x1-32k", + "name": "Ernie X1 32k", + "display_name": "Ernie X1 32k", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 32000, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-12-21", - "last_updated": "2025-12-21", + "release_date": "2025-05-08", + "last_updated": "2025-05-08", + "cost": { + "input": 0.33, + "output": 1.32 + }, "type": "chat" }, { - "id": "klingai/kling-v3.0-t2v", - "name": "Kling v3.0 Text-to-Video", - "display_name": "Kling v3.0 Text-to-Video", + "id": "command-a-reasoning-08-2025", + "name": "Cohere Command A (08/2025)", + "display_name": "Cohere Command A (08/2025)", "modalities": { "input": [ "text" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, + "context": 256000, "output": 8192 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "release_date": "2025-08-22", + "last_updated": "2025-08-22", + "cost": { + "input": 2.5, + "output": 10 + }, "type": "chat" }, { - "id": "klingai/kling-v3.0-motion-control", - "name": "Kling v3.0 Motion Control", - "display_name": "Kling v3.0 Motion Control", + "id": "doubao-seed-2-0-code-preview-260215", + "name": "Doubao Seed 2.0 Code Preview", + "display_name": "Doubao Seed 2.0 Code Preview", "modalities": { "input": [ "text" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 256000, + "output": 128000 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-03-04", - "last_updated": "2026-03-04", + "release_date": "2026-02-14", + "last_updated": "2026-02-14", + "cost": { + "input": 0.782, + "output": 3.893 + }, "type": "chat" }, { - "id": "klingai/kling-v2.6-motion-control", - "name": "Kling v2.6 Motion Control", - "display_name": "Kling v2.6 Motion Control", + "id": "doubao-1.5-pro-256k", + "name": "Doubao 1.5 Pro 256k", + "display_name": "Doubao 1.5 Pro 256k", "modalities": { "input": [ "text" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 256000, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-12-21", - "last_updated": "2025-12-21", + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "cost": { + "input": 0.799, + "output": 1.445 + }, "type": "chat" }, { - "id": "klingai/kling-v2.6-t2v", - "name": "Kling v2.6 Text-to-Video", - "display_name": "Kling v2.6 Text-to-Video", + "id": "qwen3.5-35b-a3b", + "name": "Qwen3.5 35B A3B", + "display_name": "Qwen3.5 35B A3B", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 260096, + "output": 65536 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-12-21", - "last_updated": "2025-12-21", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", + "cost": { + "input": 0.225, + "output": 1.8 + }, "type": "chat" }, { - "id": "klingai/kling-v2.5-turbo-i2v", - "name": "Kling v2.5 Turbo Image-to-Video", - "display_name": "Kling v2.5 Turbo Image-to-Video", + "id": "qwen3.5-122b-a10b:thinking", + "name": "Qwen3.5 122B A10B Thinking", + "display_name": "Qwen3.5 122B A10B Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 260096, + "output": 65536 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-09-23", - "last_updated": "2025-09-23", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", + "cost": { + "input": 0.36, + "output": 2.88 + }, "type": "chat" }, { - "id": "klingai/kling-v2.5-turbo-t2v", - "name": "Kling v2.5 Turbo Text-to-Video", - "display_name": "Kling v2.5 Turbo Text-to-Video", + "id": "yi-lightning", + "name": "Yi Lightning", + "display_name": "Yi Lightning", "modalities": { "input": [ "text" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 12000, + "output": 4096 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-09-23", - "last_updated": "2025-09-23", + "release_date": "2024-10-16", + "last_updated": "2024-10-16", + "cost": { + "input": 0.2006, + "output": 0.2006 + }, "type": "chat" }, { - "id": "klingai/kling-v3.0-i2v", - "name": "Kling v3.0 Image-to-Video", - "display_name": "Kling v3.0 Image-to-Video", + "id": "claude-sonnet-4-5-20250929", + "name": "Claude Sonnet 4.5", + "display_name": "Claude Sonnet 4.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 1000000, + "output": 64000 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "cost": { + "input": 2.992, + "output": 14.994 + }, "type": "chat" }, { - "id": "interfaze/interfaze-beta", - "name": "Interfaze Beta", - "display_name": "Interfaze Beta", + "id": "deepseek-math-v2", + "name": "DeepSeek Math V2", + "display_name": "DeepSeek Math V2", "modalities": { "input": [ "text" @@ -157204,29 +164098,27 @@ ] }, "limit": { - "context": 1000000, - "output": 32000 + "context": 128000, + "output": 65536 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-10-07", - "last_updated": "2026-04-29", + "release_date": "2025-12-03", + "last_updated": "2025-12-03", "cost": { - "input": 1.5, - "output": 3.5 + "input": 0.6, + "output": 2.2 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4.6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "claude-opus-4-1-thinking:8192", + "name": "Claude 4.1 Opus Thinking (8K)", + "display_name": "Claude 4.1 Opus Thinking (8K)", "modalities": { "input": [ "text", @@ -157238,31 +164130,23 @@ ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 200000, + "output": 32000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", + "default_enabled": true, + "mode": "budget", "budget": { "min": 1024, "unit": "tokens" }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], "interleaved": true, "summaries": true, "visibility": "summary", @@ -157270,46 +164154,66 @@ "thinking_blocks" ], "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "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 - } - } + "input": 14.994, + "output": 75.004 + }, + "type": "chat" + }, + { + "id": "deepseek-reasoner", + "name": "DeepSeek Reasoner", + "display_name": "DeepSeek Reasoner", + "modalities": { + "input": [ + "text" ], - "context_over_200k": { - "input": 6, - "output": 22.5, - "cache_read": 0.6, - "cache_write": 7.5 + "output": [ + "text" + ] + }, + "limit": { + "context": 64000, + "output": 65536 + }, + "tool_call": false, + "reasoning": { + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, + "attachment": false, + "open_weights": false, + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "cost": { + "input": 0.4, + "output": 1.7 + }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.5", - "name": "Claude Opus 4.5", - "display_name": "Claude Opus 4.5", + "id": "gemini-2.5-flash-nothinking", + "name": "Gemini 2.5 Flash (No Thinking)", + "display_name": "Gemini 2.5 Flash (No Thinking)", "modalities": { "input": [ "text", @@ -157321,138 +164225,137 @@ ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 1048756, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", + "default_enabled": true, + "mode": "budget", "budget": { - "min": 1024, + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, "unit": "tokens" }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], - "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + "thought_signatures" ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2024-11-24", - "last_updated": "2025-11-24", + "release_date": "2025-06-05", + "last_updated": "2025-06-05", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.3, + "output": 2.5 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.7", - "name": "Claude Opus 4.7", - "display_name": "Claude Opus 4.7", + "id": "Qwen3.5-27B-Omega-Evolution-v2.0-Derestricted-Lite", + "name": "Qwen3.5 27B Omega Evolution v2.0 Derestricted Lite", + "display_name": "Qwen3.5 27B Omega Evolution v2.0 Derestricted Lite", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." ] } }, - "attachment": true, + "attachment": true, + "open_weights": false, + "release_date": "2026-04-06", + "last_updated": "2026-04-06", + "cost": { + "input": 0.306, + "output": 0.306 + }, + "type": "chat" + }, + { + "id": "fastgpt", + "name": "Web Answer", + "display_name": "Web Answer", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 32768, + "output": 32768 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "release_date": "2023-08-01", + "last_updated": "2024-01-01", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 7.5, + "output": 7.5 }, "type": "chat" }, { - "id": "anthropic/claude-fable-5", - "name": "Claude Fable 5", - "display_name": "Claude Fable 5", + "id": "Qwen3.5-27B-Infracelestial", + "name": "Qwen3.5 27B Infracelestial", + "display_name": "Qwen3.5 27B Infracelestial", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -157460,535 +164363,339 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Adaptive thinking is always on for Claude Fable 5 and Claude Mythos 5; thinking.type = \"disabled\" is rejected.", - "Manual budget_tokens requests return 400 on Claude Fable 5 and Claude Mythos 5.", - "thinking.display defaults to omitted; set display to summarized to receive readable thinking summaries." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-06-09", - "last_updated": "2026-06-09", + "release_date": "2026-04-30", + "last_updated": "2026-04-30", "cost": { - "input": 10, - "output": 50, - "cache_read": 1, - "cache_write": 12.5 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.6", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", + "id": "glm-4-flash", + "name": "GLM-4 Flash", + "display_name": "GLM-4 Flash", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 128000, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-03-13", + "release_date": "2024-08-01", + "last_updated": "2024-08-01", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.1003, + "output": 0.1003 }, "type": "chat" }, { - "id": "anthropic/claude-haiku-4.5", - "name": "Claude Haiku 4.5", - "display_name": "Claude Haiku 4.5", + "id": "azure-gpt-4o-mini", + "name": "Azure gpt-4o-mini", + "display_name": "Azure gpt-4o-mini", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 128000, + "output": 16384 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 0.1496, + "output": 0.595 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.8", - "name": "Claude Opus 4.8", - "display_name": "Claude Opus 4.8", + "id": "sonar-deep-research", + "name": "Perplexity Deep Research", + "display_name": "Perplexity Deep Research", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 60000, "output": 128000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-05-28", - "last_updated": "2026-05-28", + "release_date": "2025-02-25", + "last_updated": "2025-02-25", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 3.4, + "output": 13.6 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4", - "name": "Claude Opus 4", - "display_name": "Claude Opus 4", + "id": "qwq-32b", + "name": "Qwen: QwQ 32B", + "display_name": "Qwen: QwQ 32B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 128000, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "release_date": "2025-04-15", + "last_updated": "2025-04-15", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.25599999, + "output": 0.30499999 }, "type": "chat" }, { - "id": "anthropic/claude-opus-4.1", - "name": "Claude Opus 4.1", - "display_name": "Claude Opus 4.1", + "id": "mistral-code-agent-latest", + "name": "Mistral Code Agent Latest", + "display_name": "Mistral Code Agent Latest", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 262144, + "output": 32768 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "release_date": "2026-06-02", + "last_updated": "2026-06-02", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.4, + "output": 2 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4.5", - "name": "Claude Sonnet 4.5", - "display_name": "Claude Sonnet 4.5", + "id": "glm-4.1v-thinking-flash", + "name": "GLM 4.1V Thinking Flash", + "display_name": "GLM 4.1V Thinking Flash", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 64000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.3, + "output": 0.3 }, "type": "chat" }, { - "id": "anthropic/claude-3-haiku", - "name": "Claude Haiku 3", - "display_name": "Claude Haiku 3", + "id": "qwen3.5-omni-flash", + "name": "Qwen3.5 Omni Flash", + "display_name": "Qwen3.5 Omni Flash", "modalities": { "input": [ "text", "image", - "pdf" + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 4096 + "context": 49152, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2023-08-31", - "release_date": "2024-03-13", - "last_updated": "2024-03-13", + "release_date": "2026-03-30", + "last_updated": "2026-03-30", "cost": { - "input": 0.25, - "output": 1.25, - "cache_read": 0.03, - "cache_write": 0.3 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "anthropic/claude-3.5-haiku", - "name": "Claude Haiku 3.5", - "display_name": "Claude Haiku 3.5", + "id": "gemma-4-31B-MeroMero", + "name": "Gemma 4 31B MeroMero", + "display_name": "Gemma 4 31B MeroMero", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 8192 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2024-07-31", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", + "release_date": "2026-05-02", + "last_updated": "2026-05-02", "cost": { - "input": 0.8, - "output": 4, - "cache_read": 0.08, - "cache_write": 1 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "anthropic/claude-sonnet-4", - "name": "Claude Sonnet 4", - "display_name": "Claude Sonnet 4", + "id": "gemini-2.5-flash-preview-04-17:thinking", + "name": "Gemini 2.5 Flash Preview Thinking", + "display_name": "Gemini 2.5 Flash Preview Thinking", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 1048756, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "budget", "budget": { - "min": 1024, + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, "unit": "tokens" }, - "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + "thought_signatures" ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "release_date": "2025-04-17", + "last_updated": "2025-04-17", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.15, + "output": 3.5 }, "type": "chat" }, { - "id": "alibaba/qwen-3-14b", - "name": "Qwen3-14B", - "display_name": "Qwen3-14B", + "id": "glm-4-air", + "name": "GLM-4 Air", + "display_name": "GLM-4 Air", "modalities": { "input": [ "text" @@ -157998,30 +164705,27 @@ ] }, "limit": { - "context": 40960, - "output": 16384 + "context": 128000, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-04-01", - "last_updated": "2025-04", + "release_date": "2024-06-05", + "last_updated": "2024-06-05", "cost": { - "input": 0.12, - "output": 0.24 + "input": 0.2006, + "output": 0.2006 }, "type": "chat" }, { - "id": "alibaba/qwen3-next-80b-a3b-instruct", - "name": "Qwen3 Next 80B A3B Instruct", - "display_name": "Qwen3 Next 80B A3B Instruct", + "id": "doubao-seed-1-6-thinking-250615", + "name": "Doubao Seed 1.6 Thinking", + "display_name": "Doubao Seed 1.6 Thinking", "modalities": { "input": [ "text" @@ -158031,29 +164735,27 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 256000, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09-12", - "last_updated": "2025-09", + "open_weights": false, + "release_date": "2025-06-15", + "last_updated": "2025-06-15", "cost": { - "input": 0.15, - "output": 1.2 + "input": 0.204, + "output": 2.04 }, "type": "chat" }, { - "id": "alibaba/qwen3-max-preview", - "name": "Qwen3 Max Preview", - "display_name": "Qwen3 Max Preview", + "id": "auto-model-basic", + "name": "Auto model (Basic)", + "display_name": "Auto model (Basic)", "modalities": { "input": [ "text" @@ -158062,14 +164764,46 @@ "text" ] }, + "limit": { + "context": 1000000, + "output": 1000000 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2024-06-01", + "last_updated": "2024-06-01", + "cost": { + "input": 9.996, + "output": 19.992 + }, + "type": "chat" + }, + { + "id": "Qwen3.5-27B-RpRMax-v1", + "name": "Qwen3.5 27B RpRMax v1", + "display_name": "Qwen3.5 27B RpRMax v1", + "modalities": { + "input": [ + "text", + "image", + "video" + ], + "output": [ + "text" + ] + }, "limit": { "context": 262144, - "output": 32768 + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -158082,65 +164816,73 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", + "release_date": "2026-04-30", + "last_updated": "2026-04-30", "cost": { - "input": 1.2, - "output": 6, - "cache_read": 0.24 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "alibaba/wan-v2.6-r2v-flash", - "name": "Wan v2.6 Reference-to-Video Flash", - "display_name": "Wan v2.6 Reference-to-Video Flash", + "id": "ernie-5.1", + "name": "ERNIE 5.1", + "display_name": "ERNIE 5.1", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 119000, + "output": 64000 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, "open_weights": false, - "release_date": "2025-12-16", - "last_updated": "2025-12-16", + "release_date": "2026-05-10", + "last_updated": "2026-05-10", + "cost": { + "input": 0.75, + "output": 3, + "cache_read": 0.75 + }, "type": "chat" }, { - "id": "alibaba/qwen3-vl-thinking", - "name": "Qwen3 VL Thinking", - "display_name": "Qwen3 VL Thinking", + "id": "Qwen3.5-27B-Marvin-DPO-V2-Derestricted", + "name": "Qwen3.5 27B Marvin DPO V2 Derestricted", + "display_name": "Qwen3.5 27B Marvin DPO V2 Derestricted", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -158157,57 +164899,53 @@ } }, "attachment": true, - "open_weights": true, - "knowledge": "2025-09", - "release_date": "2025-09-24", - "last_updated": "2025-09-24", + "open_weights": false, + "release_date": "2026-04-30", + "last_updated": "2026-04-30", "cost": { - "input": 0.4, - "output": 4 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "alibaba/qwen3-vl-235b-a22b-instruct", - "name": "Qwen3 VL 235B A22B Instruct", - "display_name": "Qwen3 VL 235B A22B Instruct", + "id": "azure-gpt-4o", + "name": "Azure gpt-4o", + "display_name": "Azure gpt-4o", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 129024 + "context": 128000, + "output": 16384 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-09-24", - "last_updated": "2026-05-01", + "release_date": "2024-05-13", + "last_updated": "2024-05-13", "cost": { - "input": 0.4, - "output": 1.6 + "input": 2.499, + "output": 9.996 }, "type": "chat" }, { - "id": "alibaba/qwen3.6-27b", - "name": "Qwen 3.6 27B", - "display_name": "Qwen 3.6 27B", + "id": "deepseek-chat", + "name": "DeepSeek V3/Deepseek Chat", + "display_name": "DeepSeek V3/Deepseek Chat", "modalities": { "input": [ "text", - "image", "pdf" ], "output": [ @@ -158215,11 +164953,41 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 128000, + "output": 8192 }, - "temperature": true, "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-02-27", + "last_updated": "2025-02-27", + "cost": { + "input": 0.25, + "output": 0.7 + }, + "type": "chat" + }, + { + "id": "gemini-2.5-flash-preview-05-20", + "name": "Gemini 2.5 Flash 0520", + "display_name": "Gemini 2.5 Flash 0520", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048000, + "output": 65536 + }, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -158227,76 +164995,103 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", "cost": { - "input": 0.6, - "output": 3.6 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "alibaba/qwen3.5-plus", - "name": "Qwen 3.5 Plus", - "display_name": "Qwen 3.5 Plus", + "id": "mercury-2", + "name": "Mercury 2", + "display_name": "Mercury 2", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 128000, + "output": 50000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "attachment": false, + "open_weights": false, + "release_date": "2024-01-01", + "last_updated": "2024-01-01", + "cost": { + "input": 0.25, + "output": 0.75, + "cache_read": 0.025 + }, + "type": "chat" + }, + { + "id": "qwen3.7-plus:thinking", + "name": "Qwen3.7 Plus Thinking", + "display_name": "Qwen3.7 Plus Thinking", + "modalities": { + "input": [ + "text", + "image", + "video" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 983616, + "output": 65536 + }, + "tool_call": false, + "reasoning": { + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", + "release_date": "2026-06-01", + "last_updated": "2026-06-01", "cost": { "input": 0.4, - "output": 2.4, - "cache_read": 0.04, - "cache_write": 0.5 + "output": 1.6, + "cache_read": 0.04 }, "type": "chat" }, { - "id": "alibaba/qwen3-max", - "name": "Qwen3 Max", - "display_name": "Qwen3 Max", + "id": "gemini-2.0-flash-thinking-exp-1219", + "name": "Gemini 2.0 Flash Thinking 1219", + "display_name": "Gemini 2.0 Flash Thinking 1219", "modalities": { "input": [ "text" @@ -158306,41 +165101,57 @@ ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 32767, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "attachment": false, + "open_weights": false, + "release_date": "2024-12-19", + "last_updated": "2024-12-19", + "cost": { + "input": 0.1003, + "output": 0.408 + }, + "type": "chat" + }, + { + "id": "glm-4-plus-0111", + "name": "GLM 4 Plus 0111", + "display_name": "GLM 4 Plus 0111", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 4096 + }, + "tool_call": false, + "reasoning": { + "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", "cost": { - "input": 1.2, - "output": 6, - "cache_read": 0.24 + "input": 9.996, + "output": 9.996 }, "type": "chat" }, { - "id": "alibaba/qwen3-coder-plus", - "name": "Qwen3 Coder Plus", - "display_name": "Qwen3 Coder Plus", + "id": "brave", + "name": "Brave (Answers)", + "display_name": "Brave (Answers)", "modalities": { "input": [ "text" @@ -158350,30 +165161,27 @@ ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 8192, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", + "open_weights": false, + "release_date": "2023-03-02", + "last_updated": "2024-01-01", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.2 + "input": 5, + "output": 5 }, "type": "chat" }, { - "id": "alibaba/qwen3-coder-next", - "name": "Qwen3 Coder Next", - "display_name": "Qwen3 Coder Next", + "id": "glm-zero-preview", + "name": "GLM Zero Preview", + "display_name": "GLM Zero Preview", "modalities": { "input": [ "text" @@ -158383,159 +165191,166 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 8000, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-07-22", - "last_updated": "2026-02-19", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", "cost": { - "input": 0.5, - "output": 1.2 + "input": 1.802, + "output": 1.802 }, "type": "chat" }, { - "id": "alibaba/qwen3.5-flash", - "name": "Qwen 3.5 Flash", - "display_name": "Qwen 3.5 Flash", + "id": "gemini-2.5-flash-lite-preview-06-17", + "name": "Gemini 2.5 Flash Lite Preview", + "display_name": "Gemini 2.5 Flash Lite Preview", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 1048756, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "default": -1, + "min": 512, + "max": 24576, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-02-24", - "last_updated": "2026-02-24", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.001, - "cache_write": 0.125 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "alibaba/qwen3.7-max", - "name": "Qwen 3.7 Max", - "display_name": "Qwen 3.7 Max", + "id": "Qwen3.5-27B-Writer-Derestricted", + "name": "Qwen3.5 27B Writer Derestricted", + "display_name": "Qwen3.5 27B Writer Derestricted", "modalities": { "input": [ "text", - "pdf" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 991000, - "output": 64000 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-05-21", - "last_updated": "2026-05-21", + "release_date": "2026-04-06", + "last_updated": "2026-04-06", "cost": { - "input": 1.25, - "output": 3.75, - "cache_read": 0.25, - "cache_write": 1.5625 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "alibaba/wan-v2.5-t2v-preview", - "name": "Wan v2.5 Text-to-Video Preview", - "display_name": "Wan v2.5 Text-to-Video Preview", + "id": "KAT-Coder-Exp-72B-1010", + "name": "KAT Coder Exp 72B 1010", + "display_name": "KAT Coder Exp 72B 1010", "modalities": { "input": [ "text" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 128000, + "output": 32768 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-09-24", - "last_updated": "2025-09-24", + "release_date": "2025-10-28", + "last_updated": "2025-10-28", + "cost": { + "input": 0.1, + "output": 0.2 + }, "type": "chat" }, { - "id": "alibaba/qwen3.6-plus", - "name": "Qwen 3.6 Plus", - "display_name": "Qwen 3.6 Plus", + "id": "gemini-2.5-pro-preview-06-05", + "name": "Gemini 2.5 Pro Preview 0605", + "display_name": "Gemini 2.5 Pro Preview 0605", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 1048756, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -158543,45 +165358,51 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "release_date": "2025-06-05", + "last_updated": "2025-06-05", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.1, - "cache_write": 0.625 + "input": 2.5, + "output": 10 }, "type": "chat" }, { - "id": "alibaba/qwen3-next-80b-a3b-thinking", - "name": "Qwen3 Next 80B A3B Thinking", - "display_name": "Qwen3 Next 80B A3B Thinking", + "id": "Qwen3.5-27B-Musica-v1", + "name": "Qwen3.5 27B Musica v1", + "display_name": "Qwen3.5 27B Musica v1", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -158597,21 +165418,20 @@ ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-09", - "release_date": "2025-09-12", - "last_updated": "2025-09", + "attachment": true, + "open_weights": false, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 0.15, - "output": 1.2 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "alibaba/qwen3-embedding-8b", - "name": "Qwen3 Embedding 8B", - "display_name": "Qwen3 Embedding 8B", + "id": "MiniMax-M1", + "name": "MiniMax M1", + "display_name": "MiniMax M1", "modalities": { "input": [ "text" @@ -158621,81 +165441,96 @@ ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 1000000, + "output": 131072 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-06-05", - "last_updated": "2025-06-05", - "type": "embedding" + "release_date": "2025-06-16", + "last_updated": "2025-06-16", + "cost": { + "input": 0.1394, + "output": 1.3328 + }, + "type": "chat" }, { - "id": "alibaba/qwen3-embedding-4b", - "name": "Qwen3 Embedding 4B", - "display_name": "Qwen3 Embedding 4B", + "id": "doubao-1-5-thinking-pro-vision-250415", + "name": "Doubao 1.5 Thinking Pro Vision", + "display_name": "Doubao 1.5 Thinking Pro Vision", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 128000, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-06-05", - "last_updated": "2025-06-05", - "type": "embedding" + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "cost": { + "input": 0.6, + "output": 2.4 + }, + "type": "chat" }, { - "id": "alibaba/qwen3-embedding-0.6b", - "name": "Qwen3 Embedding 0.6B", - "display_name": "Qwen3 Embedding 0.6B", + "id": "qwen3.5-27b:thinking", + "name": "Qwen3.5 27B Thinking", + "display_name": "Qwen3.5 27B Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 260096, + "output": 65536 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "type": "embedding" + "release_date": "2026-02-24", + "last_updated": "2026-02-24", + "cost": { + "input": 0.27, + "output": 2.16 + }, + "type": "chat" }, { - "id": "alibaba/qwen-3-235b", - "name": "Qwen3 235B A22B Instruct 2507", - "display_name": "Qwen3 235B A22B Instruct 2507", + "id": "Qwen3.5-27B-Omega-Evolution-v2.0-Derestricted", + "name": "Qwen3.5 27B Omega Evolution v2.0 Derestricted", + "display_name": "Qwen3.5 27B Omega Evolution v2.0 Derestricted", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" @@ -158705,29 +165540,41 @@ "context": 262144, "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-04-01", - "last_updated": "2025-04", + "release_date": "2026-04-06", + "last_updated": "2026-04-06", "cost": { - "input": 0.22, - "output": 0.88 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "alibaba/qwen3-coder-30b-a3b", - "name": "Qwen 3 Coder 30B A3B Instruct", - "display_name": "Qwen 3 Coder 30B A3B Instruct", + "id": "Gemma-4-31B-GarnetV2", + "name": "Gemma 4 31B Garnet V2", + "display_name": "Gemma 4 31B Garnet V2", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" @@ -158735,29 +165582,27 @@ }, "limit": { "context": 262144, - "output": 8192 + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-04-01", - "last_updated": "2025-04", + "release_date": "2026-05-01", + "last_updated": "2026-05-01", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "alibaba/qwen3-coder", - "name": "Qwen3 Coder 480B A35B Instruct", - "display_name": "Qwen3 Coder 480B A35B Instruct", + "id": "qwen-turbo", + "name": "Qwen Turbo", + "display_name": "Qwen Turbo", "modalities": { "input": [ "text" @@ -158767,129 +165612,103 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 1000000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-04-01", - "last_updated": "2025-04", + "release_date": "2024-11-01", + "last_updated": "2024-11-01", "cost": { - "input": 1.5, - "output": 7.5, - "cache_read": 0.3 + "input": 0.04998, + "output": 0.2006 }, "type": "chat" }, { - "id": "alibaba/wan-v2.6-i2v-flash", - "name": "Wan v2.6 Image-to-Video Flash", - "display_name": "Wan v2.6 Image-to-Video Flash", + "id": "phi-4-multimodal-instruct", + "name": "Phi 4 Multimodal", + "display_name": "Phi 4 Multimodal", "modalities": { "input": [ "text" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 128000, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-12-16", - "last_updated": "2025-12-16", + "release_date": "2025-07-26", + "last_updated": "2025-07-26", + "cost": { + "input": 0.07, + "output": 0.11 + }, "type": "chat" }, { - "id": "alibaba/qwen3.7-plus", - "name": "Qwen 3.7 Plus", - "display_name": "Qwen 3.7 Plus", + "id": "mistral-small-31-24b-instruct", + "name": "Mistral Small 31 24b Instruct", + "display_name": "Mistral Small 31 24b Instruct", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 128000, + "output": 131072 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-06-01", - "last_updated": "2026-06-02", + "release_date": "2025-04-15", + "last_updated": "2025-04-15", "cost": { - "input": 0.4, - "output": 1.6, - "cache_read": 0.08, - "cache_write": 0.5 - }, - "type": "chat" - }, - { - "id": "alibaba/wan-v2.6-r2v", - "name": "Wan v2.6 Reference-to-Video", - "display_name": "Wan v2.6 Reference-to-Video", - "modalities": { - "input": [ - "text" - ], - "output": [ - "video" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false + "input": 0.1, + "output": 0.3 }, - "attachment": false, - "open_weights": false, - "release_date": "2025-12-16", - "last_updated": "2025-12-16", "type": "chat" }, { - "id": "alibaba/qwen-3-32b", - "name": "Qwen 3.32B", - "display_name": "Qwen 3.32B", + "id": "ernie-4.5-turbo-128k", + "name": "Ernie 4.5 Turbo 128k", + "display_name": "Ernie 4.5 Turbo 128k", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -158897,45 +165716,41 @@ }, "limit": { "context": 128000, - "output": 8192 + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-04-01", - "last_updated": "2025-04", + "release_date": "2025-05-08", + "last_updated": "2025-05-08", "cost": { - "input": 0.16, - "output": 0.64 + "input": 0.132, + "output": 0.55 }, "type": "chat" }, { - "id": "alibaba/qwen3-235b-a22b-thinking", - "name": "Qwen3 235B A22B Thinking 2507", - "display_name": "Qwen3 235B A22B Thinking 2507", + "id": "Qwen3.5-27B-BlueStar-Derestricted", + "name": "Qwen3.5 27B BlueStar Derestricted", + "display_name": "Qwen3.5 27B BlueStar Derestricted", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -158953,126 +165768,141 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-09-24", - "last_updated": "2025-04", + "release_date": "2026-04-06", + "last_updated": "2026-04-06", "cost": { - "input": 0.4, - "output": 4 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "alibaba/qwen3-max-thinking", - "name": "Qwen 3 Max Thinking", - "display_name": "Qwen 3 Max Thinking", + "id": "gemini-2.5-flash-lite-preview-09-2025-thinking", + "name": "Gemini 2.5 Flash Lite Preview (09/2025) – Thinking", + "display_name": "Gemini 2.5 Flash Lite Preview (09/2025) – Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, + "context": 1048756, "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "default": -1, + "min": 512, + "max": 24576, + "auto": -1, + "unit": "tokens" + }, "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2025-01", - "last_updated": "2025-01", + "attachment": true, + "open_weights": false, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", "cost": { - "input": 1.2, - "output": 6, - "cache_read": 0.24 + "input": 0.1, + "output": 0.4 }, "type": "chat" }, { - "id": "alibaba/qwen-3.6-max-preview", - "name": "Qwen 3.6 Max Preview", - "display_name": "Qwen 3.6 Max Preview", + "id": "doubao-seed-1-8-251215", + "name": "Doubao Seed 1.8", + "display_name": "Doubao Seed 1.8", "modalities": { "input": [ - "text", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 240000, - "output": 64000 + "context": 128000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2026-04-20", - "last_updated": "2026-04-24", + "attachment": false, + "open_weights": false, + "release_date": "2025-12-15", + "last_updated": "2025-12-15", "cost": { - "input": 1.3, - "output": 7.8, - "cache_read": 0.26, - "cache_write": 1.625 + "input": 0.612, + "output": 6.12 }, "type": "chat" }, { - "id": "alibaba/wan-v2.6-i2v", - "name": "Wan v2.6 Image-to-Video", - "display_name": "Wan v2.6 Image-to-Video", + "id": "qwen3.6-max-preview", + "name": "Qwen3.6 Max Preview", + "display_name": "Qwen3.6 Max Preview", "modalities": { "input": [ "text" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 245800, + "output": 65536 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": false, - "release_date": "2025-12-16", - "last_updated": "2025-12-16", + "release_date": "2026-04-20", + "last_updated": "2026-04-21", + "cost": { + "input": 1.3, + "output": 7.8 + }, "type": "chat" }, { - "id": "alibaba/qwen-3-30b", - "name": "Qwen3-30B-A3B", - "display_name": "Qwen3-30B-A3B", + "id": "exa-answer", + "name": "Exa (Answer)", + "display_name": "Exa (Answer)", "modalities": { "input": [ "text" @@ -159082,91 +165912,100 @@ ] }, "limit": { - "context": 40960, - "output": 16384 + "context": 4096, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-04-01", - "last_updated": "2025-04", + "release_date": "2025-06-04", + "last_updated": "2025-06-04", "cost": { - "input": 0.12, - "output": 0.5 + "input": 2.5, + "output": 2.5 }, "type": "chat" }, { - "id": "alibaba/wan-v2.6-t2v", - "name": "Wan v2.6 Text-to-Video", - "display_name": "Wan v2.6 Text-to-Video", + "id": "Baichuan4-Air", + "name": "Baichuan 4 Air", + "display_name": "Baichuan 4 Air", "modalities": { "input": [ "text" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 32768, + "output": 32768 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-12-16", - "last_updated": "2025-12-16", + "release_date": "2025-08-19", + "last_updated": "2025-08-19", + "cost": { + "input": 0.157, + "output": 0.157 + }, "type": "chat" }, { - "id": "alibaba/qwen3-vl-instruct", - "name": "Qwen3 VL Instruct", - "display_name": "Qwen3 VL Instruct", + "id": "qwen3.5-122b-a10b", + "name": "Qwen3.5 122B A10B", + "display_name": "Qwen3.5 122B A10B", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 129024 + "context": 260096, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09-24", - "last_updated": "2025-09-24", + "open_weights": false, + "release_date": "2026-02-24", + "last_updated": "2026-02-24", "cost": { - "input": 0.4, - "output": 1.6 + "input": 0.36, + "output": 2.88 }, "type": "chat" }, { - "id": "xiaomi/mimo-v2-pro", - "name": "MiMo V2 Pro", - "display_name": "MiMo V2 Pro", + "id": "sarvam-30b", + "name": "Sarvam 30B", + "display_name": "Sarvam 30B", "modalities": { "input": [ "text" @@ -159176,10 +166015,9 @@ ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 65536, + "output": 4096 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -159187,20 +166025,19 @@ }, "attachment": false, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "release_date": "2026-05-12", + "last_updated": "2026-05-12", "cost": { - "input": 1, - "output": 3, - "cache_read": 0.2 + "input": 0.028, + "output": 0.111, + "cache_read": 0.017 }, "type": "chat" }, { - "id": "xiaomi/mimo-v2.5", - "name": "MiMo M2.5", - "display_name": "MiMo M2.5", + "id": "claude-opus-4-1-thinking", + "name": "Claude 4.1 Opus Thinking", + "display_name": "Claude 4.1 Opus Thinking", "modalities": { "input": [ "text", @@ -159212,101 +166049,164 @@ ] }, "limit": { - "context": 1050000, - "output": 131100 + "context": 200000, + "output": 32000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, "attachment": true, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.0028 + "input": 14.994, + "output": 75.004 }, "type": "chat" }, { - "id": "xiaomi/mimo-v2-flash", - "name": "MiMo V2 Flash", - "display_name": "MiMo V2 Flash", + "id": "claude-opus-4-thinking:32000", + "name": "Claude 4 Opus Thinking (32K)", + "display_name": "Claude 4 Opus Thinking (32K)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, + "context": 200000, "output": 32000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "cost": { + "input": 14.994, + "output": 75.004 + }, + "type": "chat" + }, + { + "id": "auto-model", + "name": "Auto model", + "display_name": "Auto model", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 1000000 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-12-17", - "last_updated": "2026-02-04", + "release_date": "2024-06-01", + "last_updated": "2024-06-01", "cost": { - "input": 0.1, - "output": 0.3, - "cache_read": 0.01 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "xiaomi/mimo-v2.5-pro", - "name": "MiMo V2.5 Pro", - "display_name": "MiMo V2.5 Pro", + "id": "qwen3-vl-235b-a22b-instruct-original", + "name": "Qwen3 VL 235B A22B Instruct Original", + "display_name": "Qwen3 VL 235B A22B Instruct Original", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 131000 + "context": 32768, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2026-04-22", - "last_updated": "2026-04-22", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", "cost": { - "input": 0.435, - "output": 0.87, - "cache_read": 0.0036 + "input": 0.5, + "output": 1.2 }, "type": "chat" }, { - "id": "mistral/codestral-embed", - "name": "Codestral Embed", - "display_name": "Codestral Embed", + "id": "glm-z1-air", + "name": "GLM Z1 Air", + "display_name": "GLM Z1 Air", "modalities": { "input": [ "text" @@ -159316,57 +166216,71 @@ ] }, "limit": { - "context": 8192, - "output": 1536 + "context": 32000, + "output": 16384 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-05-28", - "last_updated": "2025-05-28", + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "cost": { + "input": 0.07, + "output": 0.07 + }, "type": "chat" }, { - "id": "mistral/mistral-large-3", - "name": "Mistral Large 3", - "display_name": "Mistral Large 3", + "id": "Qwen3.5-27B-Queen-Derestricted-Lite", + "name": "Qwen3.5 27B Queen Derestricted Lite", + "display_name": "Qwen3.5 27B Queen Derestricted Lite", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 262144, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-12-02", - "last_updated": "2025-12-02", + "release_date": "2026-04-30", + "last_updated": "2026-04-30", "cost": { - "input": 0.5, - "output": 1.5 + "input": 0.306, + "output": 0.306 }, "type": "chat" }, { - "id": "mistral/devstral-small-2", - "name": "Devstral Small 2", - "display_name": "Devstral Small 2", + "id": "inclusionai/ling-2.6-1t", + "name": "Ling 2.6 1T", + "display_name": "Ling 2.6 1T", "modalities": { "input": [ "text" @@ -159376,29 +166290,28 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 262144, + "output": 32768 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 0.1, - "output": 0.3 + "input": 0.3, + "output": 2.5, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "mistral/mistral-embed", - "name": "Mistral Embed", - "display_name": "Mistral Embed", + "id": "inclusionai/ring-2.6-1t", + "name": "Ring 2.6 1T", + "display_name": "Ring 2.6 1T", "modalities": { "input": [ "text" @@ -159408,24 +166321,28 @@ ] }, "limit": { - "context": 8192, - "output": 1536 + "context": 262144, + "output": 65536 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2023-12-11", - "last_updated": "2023-12-11", + "release_date": "2026-05-08", + "last_updated": "2026-05-08", + "cost": { + "input": 1, + "output": 3 + }, "type": "chat" }, { - "id": "mistral/mistral-nemo", - "name": "Mistral Nemo", - "display_name": "Mistral Nemo", + "id": "inclusionai/ling-2.6-flash", + "name": "Ling 2.6 Flash", + "display_name": "Ling 2.6 Flash", "modalities": { "input": [ "text" @@ -159435,29 +166352,27 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 262144, + "output": 32768 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-07-01", - "last_updated": "2024-07-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0.02, - "output": 0.04 + "input": 0.08, + "output": 0.24 }, "type": "chat" }, { - "id": "mistral/mistral-medium-3.5", - "name": "Mistral Medium Latest", - "display_name": "Mistral Medium Latest", + "id": "Alibaba-NLP/Tongyi-DeepResearch-30B-A3B", + "name": "Tongyi DeepResearch 30B A3B", + "display_name": "Tongyi DeepResearch 30B A3B", "modalities": { "input": [ "text" @@ -159467,67 +166382,91 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 128000, + "output": 65536 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "cost": { + "input": 0.08, + "output": 0.24000000000000002 + }, + "type": "chat" + }, + { + "id": "ibm-granite/granite-4.1-8b", + "name": "Granite 4.1 8B", + "display_name": "Granite 4.1 8B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 131072 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-05-21", - "last_updated": "2026-05-21", + "release_date": "2026-04-29", + "last_updated": "2026-04-29", "cost": { - "input": 1.5, - "output": 7.5 + "input": 0.05, + "output": 0.1, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "mistral/ministral-14b", - "name": "Ministral 14B", - "display_name": "Ministral 14B", + "id": "Salesforce/Llama-xLAM-2-70b-fc-r", + "name": "Llama-xLAM-2 70B fc-r", + "display_name": "Llama-xLAM-2 70B fc-r", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 128000, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "release_date": "2025-04-13", + "last_updated": "2025-04-13", "cost": { - "input": 0.2, - "output": 0.2 + "input": 2.5, + "output": 2.5 }, "type": "chat" }, { - "id": "mistral/mistral-medium", - "name": "Mistral Medium 3.1", - "display_name": "Mistral Medium 3.1", + "id": "THUDM/GLM-Z1-32B-0414", + "name": "GLM Z1 32B 0414", + "display_name": "GLM Z1 32B 0414", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -159535,28 +166474,26 @@ }, "limit": { "context": 128000, - "output": 64000 + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", + "release_date": "2025-04-15", + "last_updated": "2025-04-15", "cost": { - "input": 0.4, - "output": 2 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "mistral/devstral-small", - "name": "Devstral Small 1.1", - "display_name": "Devstral Small 1.1", + "id": "THUDM/GLM-4-32B-0414", + "name": "GLM 4 32B 0414", + "display_name": "GLM 4 32B 0414", "modalities": { "input": [ "text" @@ -159567,28 +166504,26 @@ }, "limit": { "context": 128000, - "output": 64000 + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.1, - "output": 0.3 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "mistral/devstral-2", - "name": "Devstral 2", - "display_name": "Devstral 2", + "id": "THUDM/GLM-4-9B-0414", + "name": "GLM 4 9B 0414", + "display_name": "GLM 4 9B 0414", "modalities": { "input": [ "text" @@ -159598,29 +166533,27 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 32000, + "output": 8000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-12-09", - "last_updated": "2025-12-09", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.4, - "output": 2 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "mistral/ministral-8b", - "name": "Ministral 8B (latest)", - "display_name": "Ministral 8B (latest)", + "id": "THUDM/GLM-Z1-9B-0414", + "name": "GLM Z1 9B 0414", + "display_name": "GLM Z1 9B 0414", "modalities": { "input": [ "text" @@ -159630,62 +166563,57 @@ ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 32000, + "output": 8000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2024-10-01", - "last_updated": "2024-10-04", + "open_weights": false, + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.1, - "output": 0.1 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "mistral/pixtral-large", - "name": "Pixtral Large (latest)", - "display_name": "Pixtral Large (latest)", + "id": "meta-llama/llama-3.1-8b-instruct", + "name": "Llama 3.1 8b Instruct", + "display_name": "Llama 3.1 8b Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 131072, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2024-11-04", + "attachment": false, + "open_weights": false, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 2, - "output": 6 + "input": 0.0544, + "output": 0.0544 }, "type": "chat" }, { - "id": "mistral/pixtral-12b", - "name": "Pixtral 12B", - "display_name": "Pixtral 12B", + "id": "meta-llama/llama-4-maverick", + "name": "Llama 4 Maverick", + "display_name": "Llama 4 Maverick", "modalities": { "input": [ "text", @@ -159696,29 +166624,27 @@ ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 1048576, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": true, - "open_weights": true, - "knowledge": "2024-09", - "release_date": "2024-09-01", - "last_updated": "2024-09-01", + "open_weights": false, + "release_date": "2025-09-05", + "last_updated": "2025-09-05", "cost": { - "input": 0.15, - "output": 0.15 + "input": 0.18000000000000002, + "output": 0.8 }, "type": "chat" }, { - "id": "mistral/magistral-small", - "name": "Magistral Small", - "display_name": "Magistral Small", + "id": "meta-llama/llama-3.3-70b-instruct", + "name": "Llama 3.3 70b Instruct", + "display_name": "Llama 3.3 70b Instruct", "modalities": { "input": [ "text" @@ -159728,96 +166654,89 @@ ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 131072, + "output": 16384 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-06", - "release_date": "2025-03-17", - "last_updated": "2025-03-17", + "open_weights": false, + "release_date": "2025-02-27", + "last_updated": "2025-02-27", "cost": { - "input": 0.5, - "output": 1.5 + "input": 0.05, + "output": 0.23 }, "type": "chat" }, { - "id": "mistral/codestral", - "name": "Codestral (latest)", - "display_name": "Codestral (latest)", + "id": "meta-llama/llama-4-scout", + "name": "Llama 4 Scout", + "display_name": "Llama 4 Scout", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 4096 + "context": 328000, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2024-05-29", - "last_updated": "2025-01-04", + "attachment": true, + "open_weights": false, + "release_date": "2025-09-05", + "last_updated": "2025-09-05", "cost": { - "input": 0.3, - "output": 0.9 + "input": 0.085, + "output": 0.46 }, "type": "chat" }, { - "id": "mistral/mistral-small", - "name": "Mistral Small (latest)", - "display_name": "Mistral Small (latest)", + "id": "meta-llama/llama-3.2-3b-instruct", + "name": "Llama 3.2 3b Instruct", + "display_name": "Llama 3.2 3b Instruct", "modalities": { "input": [ "text", - "image" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 131072, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": true, - "open_weights": true, - "knowledge": "2025-06", - "release_date": "2026-03-16", - "last_updated": "2026-03-16", + "open_weights": false, + "release_date": "2024-09-25", + "last_updated": "2024-09-25", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.0306, + "output": 0.0493 }, "type": "chat" }, { - "id": "mistral/magistral-medium", - "name": "Magistral Medium (latest)", - "display_name": "Magistral Medium (latest)", + "id": "featherless-ai/Qwerky-72B", + "name": "Qwerky 72B", + "display_name": "Qwerky 72B", "modalities": { "input": [ "text" @@ -159827,30 +166746,27 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 32000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-06", - "release_date": "2025-03-17", + "open_weights": false, + "release_date": "2025-03-20", "last_updated": "2025-03-20", "cost": { - "input": 2, - "output": 5 + "input": 0.5, + "output": 0.5 }, "type": "chat" }, { - "id": "mistral/ministral-3b", - "name": "Ministral 3B (latest)", - "display_name": "Ministral 3B (latest)", + "id": "moonshotai/kimi-k2-instruct-0711", + "name": "Kimi K2 0711", + "display_name": "Kimi K2 0711", "modalities": { "input": [ "text" @@ -159861,137 +166777,122 @@ }, "limit": { "context": 128000, - "output": 128000 + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2024-10-01", - "last_updated": "2024-10-04", + "open_weights": false, + "release_date": "2025-07-11", + "last_updated": "2025-07-11", "cost": { - "input": 0.04, - "output": 0.04 + "input": 0.1, + "output": 2 }, "type": "chat" }, { - "id": "xai/grok-4.20-multi-agent", - "name": "Grok 4.20 Multi-Agent", - "display_name": "Grok 4.20 Multi-Agent", + "id": "moonshotai/Kimi-K2-Instruct-0905", + "name": "Kimi K2 0905", + "display_name": "Kimi K2 0905", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 2000000 + "context": 256000, + "output": 262144 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-03-09", - "last_updated": "2026-03-23", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", "cost": { - "input": 1.25, - "output": 2.5, - "cache_read": 0.2 + "input": 0.4, + "output": 2 }, "type": "chat" }, { - "id": "xai/grok-4.20-reasoning", - "name": "Grok 4.20 Reasoning", - "display_name": "Grok 4.20 Reasoning", + "id": "moonshotai/kimi-k2-thinking-original", + "name": "Kimi K2 Thinking Original", + "display_name": "Kimi K2 Thinking Original", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 2000000 + "context": 256000, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-03-09", - "last_updated": "2026-03-23", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", "cost": { - "input": 1.25, - "output": 2.5, - "cache_read": 0.2 + "input": 0.6, + "output": 2.5 }, "type": "chat" }, { - "id": "xai/grok-4.1-fast-non-reasoning", - "name": "Grok 4.1 Fast Non-Reasoning", - "display_name": "Grok 4.1 Fast Non-Reasoning", + "id": "moonshotai/kimi-k2.5:thinking", + "name": "Kimi K2.5 Thinking", + "display_name": "Kimi K2.5 Thinking", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 1000000 + "context": 256000, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-07-09", - "last_updated": "2025-07-09", + "release_date": "2026-01-26", + "last_updated": "2026-01-26", "cost": { - "input": 0.2, - "output": 0.5, - "cache_read": 0.05 + "input": 0.3, + "output": 1.9 }, "type": "chat" }, { - "id": "xai/grok-build-0.1", - "name": "Grok Build 0.1", - "display_name": "Grok Build 0.1", + "id": "moonshotai/kimi-k2-instruct", + "name": "Kimi K2 Instruct", + "display_name": "Kimi K2 Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -159999,150 +166900,157 @@ }, "limit": { "context": 256000, - "output": 256000 + "output": 8192 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-05-20", - "last_updated": "2026-04-16", + "release_date": "2025-07-01", + "last_updated": "2025-07-01", "cost": { - "input": 1, - "output": 2, - "cache_read": 0.2 + "input": 0.1, + "output": 2 }, "type": "chat" }, { - "id": "xai/grok-4.1-fast-reasoning", - "name": "Grok 4.1 Fast Reasoning", - "display_name": "Grok 4.1 Fast Reasoning", + "id": "moonshotai/kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "display_name": "Kimi K2 Thinking", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 1000000 + "context": 256000, + "output": 262144 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-07-09", - "last_updated": "2025-07-09", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", "cost": { - "input": 0.2, - "output": 0.5, - "cache_read": 0.05 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "xai/grok-imagine-video-1.5-preview", - "name": "Grok Imagine Video 1.5 Preview", - "display_name": "Grok Imagine Video 1.5 Preview", + "id": "moonshotai/kimi-k2.6:thinking", + "name": "Kimi K2.6 Thinking", + "display_name": "Kimi K2.6 Thinking", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 256000, + "output": 65536 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-04-16", + "last_updated": "2026-04-21", + "cost": { + "input": 0.53, + "output": 2.73 }, - "attachment": false, - "open_weights": false, - "release_date": "2026-05-30", - "last_updated": "2026-05-30", "type": "chat" }, { - "id": "xai/grok-4.20-non-reasoning-beta", - "name": "Grok 4.20 Beta Non-Reasoning", - "display_name": "Grok 4.20 Beta Non-Reasoning", + "id": "moonshotai/kimi-k2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 2000000 + "context": 256000, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, "open_weights": false, - "release_date": "2026-03-11", - "last_updated": "2026-03-13", + "release_date": "2026-01-26", + "last_updated": "2026-01-26", "cost": { - "input": 1.25, - "output": 2.5, - "cache_read": 0.4 + "input": 0.3, + "output": 1.9 }, "type": "chat" }, { - "id": "xai/grok-4.3", - "name": "Grok 4.3", - "display_name": "Grok 4.3", + "id": "moonshotai/kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 1000000 + "context": 256000, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -160150,35 +167058,32 @@ } }, "attachment": true, - "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-04-17", + "open_weights": true, + "release_date": "2026-04-16", + "last_updated": "2026-04-21", "cost": { - "input": 1.25, - "output": 2.5, - "cache_read": 0.2 + "input": 0.53, + "output": 2.73 }, "type": "chat" }, { - "id": "xai/grok-4.20-reasoning-beta", - "name": "Grok 4.20 Beta Reasoning", - "display_name": "Grok 4.20 Beta Reasoning", + "id": "moonshotai/kimi-latest", + "name": "Kimi Latest", + "display_name": "Kimi Latest", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 2000000 + "context": 256000, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -160186,143 +167091,144 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-03-11", - "last_updated": "2026-03-13", + "release_date": "2026-05-03", + "last_updated": "2026-05-03", "cost": { - "input": 1.25, - "output": 2.5, - "cache_read": 0.2 + "input": 0.5, + "output": 2.6, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "xai/grok-imagine-image", - "name": "Grok Imagine Image", - "display_name": "Grok Imagine Image", + "id": "moonshotai/kimi-k2-thinking-turbo-original", + "name": "Kimi K2 Thinking Turbo Original", + "display_name": "Kimi K2 Thinking Turbo Original", "modalities": { "input": [ "text" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 256000, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2026-01-28", - "last_updated": "2026-02-19", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "cost": { + "input": 1.15, + "output": 8 + }, "type": "chat" }, { - "id": "xai/grok-4.20-multi-agent-beta", - "name": "Grok 4.20 Multi Agent Beta", - "display_name": "Grok 4.20 Multi Agent Beta", + "id": "baidu/ernie-4.5-vl-28b-a3b", + "name": "ERNIE 4.5 VL 28B", + "display_name": "ERNIE 4.5 VL 28B", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 2000000 + "context": 32768, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-03-11", - "last_updated": "2026-03-13", + "release_date": "2025-06-30", + "last_updated": "2025-06-30", "cost": { - "input": 1.25, - "output": 2.5, - "cache_read": 0.2 + "input": 0.13999999999999999, + "output": 0.5599999999999999 }, "type": "chat" }, { - "id": "xai/grok-4.20-non-reasoning", - "name": "Grok 4.20 Non-Reasoning", - "display_name": "Grok 4.20 Non-Reasoning", + "id": "perceptron/perceptron-mk1", + "name": "Perceptron Mk1", + "display_name": "Perceptron Mk1", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 2000000 + "context": 32768, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "release_date": "2026-03-09", - "last_updated": "2026-03-23", + "release_date": "2026-05-12", + "last_updated": "2026-05-12", "cost": { - "input": 1.25, - "output": 2.5, - "cache_read": 0.2 + "input": 0.15, + "output": 1.5 }, "type": "chat" }, { - "id": "xai/grok-imagine-video", - "name": "Grok Imagine", - "display_name": "Grok Imagine", + "id": "failspy/Meta-Llama-3-70B-Instruct-abliterated-v3.5", + "name": "Llama 3 70B abliterated", + "display_name": "Llama 3 70B abliterated", "modalities": { "input": [ "text" ], "output": [ - "video" + "text" ] }, "limit": { "context": 8192, "output": 8192 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-01-28", - "last_updated": "2026-01-28", + "release_date": "2025-07-26", + "last_updated": "2025-07-26", + "cost": { + "input": 0.7, + "output": 0.7 + }, "type": "chat" }, { - "id": "cohere/rerank-v4-pro", - "name": "Cohere Rerank 4 Pro", - "display_name": "Cohere Rerank 4 Pro", + "id": "nanogpt/coding-router:max", + "name": "Coding Router Max", + "display_name": "Coding Router Max", "modalities": { "input": [ "text" @@ -160332,24 +167238,29 @@ ] }, "limit": { - "context": 32000, - "output": 32000 + "context": 1000000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2026-05-12", + "last_updated": "2026-05-12", + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5 + }, "type": "chat" }, { - "id": "cohere/rerank-v4-fast", - "name": "Cohere Rerank 4 Fast", - "display_name": "Cohere Rerank 4 Fast", + "id": "nanogpt/coding-router:high", + "name": "Coding Router High", + "display_name": "Coding Router High", "modalities": { "input": [ "text" @@ -160359,24 +167270,29 @@ ] }, "limit": { - "context": 32000, - "output": 32000 + "context": 1000000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2026-05-12", + "last_updated": "2026-05-12", + "cost": { + "input": 1.1, + "output": 2.2, + "cache_read": 0.11 + }, "type": "chat" }, { - "id": "cohere/embed-v4.0", - "name": "Embed v4.0", - "display_name": "Embed v4.0", + "id": "nanogpt/coding-router:low", + "name": "Coding Router Low", + "display_name": "Coding Router Low", "modalities": { "input": [ "text" @@ -160386,24 +167302,29 @@ ] }, "limit": { - "context": 8192, - "output": 1536 + "context": 1000000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", + "release_date": "2026-05-12", + "last_updated": "2026-05-12", + "cost": { + "input": 0.14, + "output": 0.28, + "cache_read": 0.028 + }, "type": "chat" }, { - "id": "cohere/command-a", - "name": "Command A", - "display_name": "Command A", + "id": "nanogpt/coding-router:medium", + "name": "Coding Router Medium", + "display_name": "Coding Router Medium", "modalities": { "input": [ "text" @@ -160413,29 +167334,29 @@ ] }, "limit": { - "context": 256000, - "output": 8000 + "context": 1000000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", + "release_date": "2026-05-12", + "last_updated": "2026-05-12", "cost": { - "input": 2.5, - "output": 10 + "input": 0.14, + "output": 0.28, + "cache_read": 0.028 }, "type": "chat" }, { - "id": "cohere/rerank-v3.5", - "name": "Cohere Rerank 3.5", - "display_name": "Cohere Rerank 3.5", + "id": "nanogpt/coding-router", + "name": "Coding Router", + "display_name": "Coding Router", "modalities": { "input": [ "text" @@ -160445,24 +167366,29 @@ ] }, "limit": { - "context": 4096, - "output": 4096 + "context": 1000000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2024-12-02", - "last_updated": "2024-12-02", + "release_date": "2026-05-12", + "last_updated": "2026-05-12", + "cost": { + "input": 1.1, + "output": 2.2, + "cache_read": 0.11 + }, "type": "chat" }, { - "id": "moonshotai/kimi-k2-thinking-turbo", - "name": "Kimi K2 Thinking Turbo", - "display_name": "Kimi K2 Thinking Turbo", + "id": "GalrionSoftworks/MN-LooseCannon-12B-v1", + "name": "MN-LooseCannon-12B-v1", + "display_name": "MN-LooseCannon-12B-v1", "modalities": { "input": [ "text" @@ -160472,37 +167398,27 @@ ] }, "limit": { - "context": 262114, - "output": 262114 + "context": 16384, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true - } + "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", + "release_date": "2024-07-01", + "last_updated": "2024-07-01", "cost": { - "input": 1.15, - "output": 8, - "cache_read": 0.15 + "input": 0.49299999999999994, + "output": 0.49299999999999994 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "display_name": "Kimi K2 Thinking", + "id": "TheDrummer/Cydonia-24B-v4.3", + "name": "The Drummer Cydonia 24B v4.3", + "display_name": "The Drummer Cydonia 24B v4.3", "modalities": { "input": [ "text" @@ -160512,83 +167428,57 @@ ] }, "limit": { - "context": 262114, - "output": 262114 + "context": 32768, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", + "release_date": "2025-12-25", + "last_updated": "2025-12-25", "cost": { - "input": 0.6, - "output": 2.5, - "cache_read": 0.15 + "input": 0.1003, + "output": 0.1207 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "TheDrummer/Cydonia-24B-v4.1", + "name": "The Drummer Cydonia 24B v4.1", + "display_name": "The Drummer Cydonia 24B v4.1", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 16384, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-20", - "last_updated": "2026-04-21", + "attachment": false, + "open_weights": false, + "release_date": "2025-08-19", + "last_updated": "2025-08-19", "cost": { - "input": 0.95, - "output": 4, - "cache_read": 0.16 + "input": 0.1003, + "output": 0.1207 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2-turbo", - "name": "Kimi K2 Turbo", - "display_name": "Kimi K2 Turbo", + "id": "TheDrummer/Cydonia-24B-v2", + "name": "The Drummer Cydonia 24B v2", + "display_name": "The Drummer Cydonia 24B v2", "modalities": { "input": [ "text" @@ -160598,134 +167488,119 @@ ] }, "limit": { - "context": 256000, - "output": 16384 + "context": 16384, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2024-08", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", "cost": { - "input": 1.15, - "output": 8, - "cache_read": 0.15 + "input": 0.1003, + "output": 0.1207 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "TheDrummer/Anubis-70B-v1.1", + "name": "Anubis 70B v1.1", + "display_name": "Anubis 70B v1.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262114, - "output": 262114 + "context": 131072, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01-26", - "last_updated": "2026-01", + "attachment": false, + "open_weights": false, + "release_date": "2024-01-01", + "last_updated": "2024-01-01", "cost": { - "input": 0.6, - "output": 3, - "cache_read": 0.1 + "input": 0.31, + "output": 0.31 }, "type": "chat" }, { - "id": "perplexity/sonar", - "name": "Sonar", - "display_name": "Sonar", + "id": "TheDrummer/UnslopNemo-12B-v4.1", + "name": "UnslopNemo 12b v4", + "display_name": "UnslopNemo 12b v4", "modalities": { "input": [ "text", - "image" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 127000, - "output": 8000 + "context": 32768, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-02", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", + "release_date": "2024-01-01", + "last_updated": "2024-01-01", + "cost": { + "input": 0.493, + "output": 0.493 + }, "type": "chat" }, { - "id": "perplexity/sonar-pro", - "name": "Sonar Pro", - "display_name": "Sonar Pro", + "id": "TheDrummer/skyfall-36b-v2", + "name": "TheDrummer Skyfall 36B V2", + "display_name": "TheDrummer Skyfall 36B V2", "modalities": { "input": [ "text", - "image" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 8000 + "context": 64000, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-09", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", + "release_date": "2025-03-10", + "last_updated": "2025-03-10", + "cost": { + "input": 0.493, + "output": 0.493 + }, "type": "chat" }, { - "id": "perplexity/sonar-reasoning-pro", - "name": "Sonar Reasoning Pro", - "display_name": "Sonar Reasoning Pro", + "id": "TheDrummer/Rocinante-12B-v1.1", + "name": "Rocinante 12b", + "display_name": "Rocinante 12b", "modalities": { "input": [ "text" @@ -160735,53 +167610,57 @@ ] }, "limit": { - "context": 127000, - "output": 8000 + "context": 16384, + "output": 8192 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2025-09", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", + "release_date": "2024-01-01", + "last_updated": "2024-01-01", + "cost": { + "input": 0.408, + "output": 0.595 + }, "type": "chat" }, { - "id": "prodia/flux-fast-schnell", - "name": "Flux Schnell", - "display_name": "Flux Schnell", + "id": "TheDrummer/Magidonia-24B-v4.3", + "name": "The Drummer Magidonia 24B v4.3", + "display_name": "The Drummer Magidonia 24B v4.3", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 512, - "output": 8192 + "context": 32768, + "output": 32768 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-06-08", - "last_updated": "2026-06-08", + "release_date": "2025-12-25", + "last_updated": "2025-12-25", + "cost": { + "input": 0.1003, + "output": 0.1207 + }, "type": "chat" }, { - "id": "nvidia/nemotron-3-nano-30b-a3b", - "name": "Nemotron 3 Nano 30B A3B", - "display_name": "Nemotron 3 Nano 30B A3B", + "id": "TheDrummer/Cydonia-24B-v4", + "name": "The Drummer Cydonia 24B v4", + "display_name": "The Drummer Cydonia 24B v4", "modalities": { "input": [ "text" @@ -160791,33 +167670,31 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 16384, + "output": 32768 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-12-01", - "last_updated": "2025-12-15", + "release_date": "2025-07-22", + "last_updated": "2025-07-22", "cost": { - "input": 0.05, - "output": 0.24 + "input": 0.2006, + "output": 0.2414 }, "type": "chat" }, { - "id": "nvidia/nemotron-nano-9b-v2", - "name": "Nvidia Nemotron Nano 9B V2", - "display_name": "Nvidia Nemotron Nano 9B V2", + "id": "TheDrummer/Skyfall-31B-v4.2", + "name": "TheDrummer Skyfall 31B v4.2", + "display_name": "TheDrummer Skyfall 31B v4.2", "modalities": { "input": [ - "text" + "text", + "pdf" ], "output": [ "text" @@ -160825,29 +167702,26 @@ }, "limit": { "context": 131072, - "output": 131072 + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-08-18", - "last_updated": "2025-08-18", + "release_date": "2026-03-26", + "last_updated": "2026-03-26", "cost": { - "input": 0.06, - "output": 0.23 + "input": 0.55, + "output": 0.8 }, "type": "chat" }, { - "id": "nvidia/nemotron-3-ultra-550b-a55b", - "name": "Nemotron 3 Ultra", - "display_name": "Nemotron 3 Ultra", + "id": "TheDrummer/Anubis-70B-v1", + "name": "Anubis 70B v1", + "display_name": "Anubis 70B v1", "modalities": { "input": [ "text" @@ -160857,64 +167731,57 @@ ] }, "limit": { - "context": 1000000, - "output": 65000 + "context": 65536, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-06-04", - "last_updated": "2026-06-04", + "release_date": "2024-01-01", + "last_updated": "2024-01-01", "cost": { - "input": 0.6, - "output": 2.4, - "cache_read": 0.12 + "input": 0.31, + "output": 0.31 }, "type": "chat" }, { - "id": "nvidia/nemotron-nano-12b-v2-vl", - "name": "Nvidia Nemotron Nano 12B V2 VL", - "display_name": "Nvidia Nemotron Nano 12B V2 VL", + "id": "huihui-ai/Qwen2.5-32B-Instruct-abliterated", + "name": "Qwen 2.5 32B Abliterated", + "display_name": "Qwen 2.5 32B Abliterated", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 32768, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-12-01", - "last_updated": "2025-10-28", + "release_date": "2025-01-06", + "last_updated": "2025-01-06", "cost": { - "input": 0.2, - "output": 0.6 + "input": 0.7, + "output": 0.7 }, "type": "chat" }, { - "id": "nvidia/nemotron-3-super-120b-a12b", - "name": "NVIDIA Nemotron 3 Super 120B A12B", - "display_name": "NVIDIA Nemotron 3 Super 120B A12B", + "id": "huihui-ai/Llama-3.3-70B-Instruct-abliterated", + "name": "Llama 3.3 70B Instruct abliterated", + "display_name": "Llama 3.3 70B Instruct abliterated", "modalities": { "input": [ "text" @@ -160924,28 +167791,27 @@ ] }, "limit": { - "context": 256000, - "output": 32000 + "context": 16384, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-03-18", - "last_updated": "2026-03-11", + "release_date": "2025-08-08", + "last_updated": "2025-08-08", "cost": { - "input": 0.15, - "output": 0.65 + "input": 0.7, + "output": 0.7 }, "type": "chat" }, { - "id": "arcee-ai/trinity-large-preview", - "name": "Trinity Large Preview", - "display_name": "Trinity Large Preview", + "id": "huihui-ai/DeepSeek-R1-Distill-Qwen-32B-abliterated", + "name": "DeepSeek R1 Qwen Abliterated", + "display_name": "DeepSeek R1 Qwen Abliterated", "modalities": { "input": [ "text" @@ -160955,29 +167821,28 @@ ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 16384, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-01-01", - "last_updated": "2025-01", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", "cost": { - "input": 0.25, - "output": 1 + "input": 1.4, + "output": 1.4 }, "type": "chat" }, { - "id": "arcee-ai/trinity-mini", - "name": "Trinity Mini", - "display_name": "Trinity Mini", + "id": "huihui-ai/DeepSeek-R1-Distill-Llama-70B-abliterated", + "name": "DeepSeek R1 Llama 70B Abliterated", + "display_name": "DeepSeek R1 Llama 70B Abliterated", "modalities": { "input": [ "text" @@ -160987,29 +167852,28 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 16384, + "output": 8192 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-12-01", - "last_updated": "2025-12", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", "cost": { - "input": 0.045, - "output": 0.15 + "input": 0.7, + "output": 0.7 }, "type": "chat" }, { - "id": "arcee-ai/trinity-large-thinking", - "name": "Trinity Large Thinking", - "display_name": "Trinity Large Thinking", + "id": "Envoid/Llama-3.05-NT-Storybreaker-Ministral-70B", + "name": "Llama 3.05 Storybreaker Ministral 70b", + "display_name": "Llama 3.05 Storybreaker Ministral 70b", "modalities": { "input": [ "text" @@ -161019,29 +167883,27 @@ ] }, "limit": { - "context": 262100, - "output": 80000 + "context": 16384, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2026-04-01", - "last_updated": "2026-04-03", + "open_weights": false, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", "cost": { - "input": 0.25, - "output": 0.8999999999999999 + "input": 0.49299999999999994, + "output": 0.49299999999999994 }, "type": "chat" }, { - "id": "meta/llama-3.1-8b", - "name": "Llama 3.1 8B Instruct", - "display_name": "Llama 3.1 8B Instruct", + "id": "Envoid/Llama-3.05-Nemotron-Tenyxchat-Storybreaker-70B", + "name": "Nemotron Tenyxchat Storybreaker 70b", + "display_name": "Nemotron Tenyxchat Storybreaker 70b", "modalities": { "input": [ "text" @@ -161051,29 +167913,27 @@ ] }, "limit": { - "context": 128000, + "context": 16384, "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", "cost": { - "input": 0.22, - "output": 0.22 + "input": 0.49299999999999994, + "output": 0.49299999999999994 }, "type": "chat" }, { - "id": "meta/llama-3.1-70b", - "name": "Llama 3.1 70B Instruct", - "display_name": "Llama 3.1 70B Instruct", + "id": "stepfun-ai/step-3.5-flash-2603", + "name": "Step 3.5 Flash 2603", + "display_name": "Step 3.5 Flash 2603", "modalities": { "input": [ "text" @@ -161083,29 +167943,28 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 256000, + "output": 256000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "release_date": "2026-04-14", + "last_updated": "2026-04-14", "cost": { - "input": 0.72, - "output": 0.72 + "input": 0.1, + "output": 0.3 }, "type": "chat" }, { - "id": "meta/llama-3.2-3b", - "name": "Llama 3.2 3B Instruct", - "display_name": "Llama 3.2 3B Instruct", + "id": "stepfun-ai/step-3.5-flash", + "name": "Step 3.5 Flash", + "display_name": "Step 3.5 Flash", "modalities": { "input": [ "text" @@ -161115,29 +167974,28 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 256000, + "output": 256000 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "knowledge": "2023-12", - "release_date": "2024-09-18", - "last_updated": "2024-09-18", + "release_date": "2026-02-02", + "last_updated": "2026-02-02", "cost": { - "input": 0.15, - "output": 0.15 + "input": 0.2, + "output": 0.5 }, "type": "chat" }, { - "id": "meta/llama-3.2-90b", - "name": "Llama 3.2 90B Vision Instruct", - "display_name": "Llama 3.2 90B Vision Instruct", + "id": "mistral/mistral-medium-3.5", + "name": "Mistral Medium 3.5", + "display_name": "Mistral Medium 3.5", "modalities": { "input": [ "text", @@ -161148,29 +168006,28 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 256000, + "output": 32768 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", + "release_date": "2026-04-29", + "last_updated": "2026-04-29", "cost": { - "input": 0.72, - "output": 0.72 + "input": 1.5, + "output": 7.5 }, "type": "chat" }, { - "id": "meta/llama-3.2-11b", - "name": "Llama 3.2 11B Vision Instruct", - "display_name": "Llama 3.2 11B Vision Instruct", + "id": "mistral/mistral-medium-3.5:thinking", + "name": "Mistral Medium 3.5 Thinking", + "display_name": "Mistral Medium 3.5 Thinking", "modalities": { "input": [ "text", @@ -161181,29 +168038,28 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 256000, + "output": 32768 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", + "release_date": "2026-04-30", + "last_updated": "2026-04-30", "cost": { - "input": 0.16, - "output": 0.16 + "input": 1.5, + "output": 7.5 }, "type": "chat" }, { - "id": "meta/llama-3.2-1b", - "name": "Llama 3.2 1B Instruct", - "display_name": "Llama 3.2 1B Instruct", + "id": "Tongyi-Zhiwen/QwenLong-L1-32B", + "name": "QwenLong L1 32B", + "display_name": "QwenLong L1 32B", "modalities": { "input": [ "text" @@ -161214,28 +168070,26 @@ }, "limit": { "context": 128000, - "output": 8192 + "output": 40960 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2023-12", - "release_date": "2024-09-18", - "last_updated": "2024-09-18", + "release_date": "2025-01-25", + "last_updated": "2025-01-25", "cost": { - "input": 0.1, - "output": 0.1 + "input": 0.13999999999999999, + "output": 0.6 }, "type": "chat" }, { - "id": "meta/llama-3.3-70b", - "name": "Llama-3.3-70B-Instruct", - "display_name": "Llama-3.3-70B-Instruct", + "id": "google/gemini-flash-1.5", + "name": "Gemini 1.5 Flash", + "display_name": "Gemini 1.5 Flash", "modalities": { "input": [ "text" @@ -161245,29 +168099,27 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 2000000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "attachment": false, + "open_weights": false, + "release_date": "2024-05-14", + "last_updated": "2024-05-14", "cost": { - "input": 0, - "output": 0 + "input": 0.0748, + "output": 0.306 }, "type": "chat" }, { - "id": "meta/llama-4-scout", - "name": "Llama-4-Scout-17B-16E-Instruct-FP8", - "display_name": "Llama-4-Scout-17B-16E-Instruct-FP8", + "id": "google/gemini-3.1-pro-preview-high", + "name": "Gemini 3.1 Pro (Preview High)", + "display_name": "Gemini 3.1 Pro (Preview High)", "modalities": { "input": [ "text", @@ -161278,62 +168130,85 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 1048756, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } }, "attachment": true, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "open_weights": false, + "release_date": "2026-02-21", + "last_updated": "2026-02-21", "cost": { - "input": 0, - "output": 0 + "input": 2, + "output": 12, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "meta/llama-4-maverick", - "name": "Llama-4-Maverick-17B-128E-Instruct-FP8", - "display_name": "Llama-4-Maverick-17B-128E-Instruct-FP8", + "id": "google/gemini-3.1-flash-lite", + "name": "Gemini 3.1 Flash Lite", + "display_name": "Gemini 3.1 Flash Lite", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 1048576, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": true, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "open_weights": false, + "release_date": "2026-03-03", + "last_updated": "2026-03-03", "cost": { - "input": 0, - "output": 0 + "input": 0.25, + "output": 1.5, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "stepfun/step-3.7-flash", - "name": "Step 3.7 Flash", - "display_name": "Step 3.7 Flash", + "id": "google/gemini-3-flash-preview-thinking", + "name": "Gemini 3 Flash Thinking", + "display_name": "Gemini 3 Flash Thinking", "modalities": { "input": [ "text", @@ -161344,65 +168219,100 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 1048756, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, "attachment": true, "open_weights": false, - "knowledge": "2026-01-01", - "release_date": "2026-05-28", - "last_updated": "2026-05-29", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", "cost": { - "input": 0.2, - "output": 1.15, - "cache_read": 0.04 + "input": 0.5, + "output": 3 }, "type": "chat" }, { - "id": "stepfun/step-3.5-flash", - "name": "StepFun 3.5 Flash", - "display_name": "StepFun 3.5 Flash", + "id": "google/gemini-3.5-flash", + "name": "Gemini 3.5 Flash", + "display_name": "Gemini 3.5 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 262114, - "output": 262114 + "context": 1048576, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-01-29", - "last_updated": "2026-02-13", + "release_date": "2026-05-19", + "last_updated": "2026-05-19", "cost": { - "input": 0.09, - "output": 0.3, - "cache_write": 0.02 + "input": 1.5, + "output": 9, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "amazon/nova-2-lite", - "name": "Nova 2 Lite", - "display_name": "Nova 2 Lite", + "id": "google/gemma-4-31b-it", + "name": "Gemma 4 31B", + "display_name": "Gemma 4 31B", "modalities": { "input": [ "text", @@ -161413,10 +168323,9 @@ ] }, "limit": { - "context": 1000000, - "output": 1000000 + "context": 262144, + "output": 131072 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": true, @@ -161424,163 +168333,180 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-12-01", - "last_updated": "2024-12-01", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.075 + "input": 0.1, + "output": 0.35 }, "type": "chat" }, { - "id": "amazon/titan-embed-text-v2", - "name": "Titan Text Embeddings V2", - "display_name": "Titan Text Embeddings V2", + "id": "google/gemini-pro-latest", + "name": "Gemini Pro Latest", + "display_name": "Gemini Pro Latest", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 1536 + "context": 1048756, + "output": 65536 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-04-01", - "last_updated": "2024-04", + "release_date": "2026-03-29", + "last_updated": "2026-03-29", + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2 + }, "type": "chat" }, { - "id": "amazon/nova-micro", - "name": "Nova Micro", - "display_name": "Nova Micro", + "id": "google/gemini-3.1-pro-preview-customtools", + "name": "Gemini 3.1 Pro (Preview Custom Tools)", + "display_name": "Gemini 3.1 Pro (Preview Custom Tools)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 1048756, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", + "release_date": "2026-02-27", + "last_updated": "2026-02-27", "cost": { - "input": 0.035, - "output": 0.14, - "cache_read": 0.00875 + "input": 2, + "output": 12, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "amazon/nova-pro", - "name": "Nova Pro", - "display_name": "Nova Pro", + "id": "google/gemini-flash-lite-latest", + "name": "Gemini Flash Lite Latest", + "display_name": "Gemini Flash Lite Latest", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 300000, - "output": 8192 + "context": 1048576, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", + "release_date": "2026-03-29", + "last_updated": "2026-03-29", "cost": { - "input": 0.8, - "output": 3.2, - "cache_read": 0.2 + "input": 0.25, + "output": 1.5, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "amazon/nova-lite", - "name": "Nova Lite", - "display_name": "Nova Lite", + "id": "google/gemma-4-26b-a4b-it:thinking", + "name": "Gemma 4 26B A4B Thinking", + "display_name": "Gemma 4 26B A4B Thinking", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 300000, - "output": 8192 + "context": 262144, + "output": 131072 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 0.06, - "output": 0.24, - "cache_read": 0.015 + "input": 0.13, + "output": 0.4 }, "type": "chat" }, { - "id": "zai/glm-4.7-flashx", - "name": "GLM 4.7 FlashX", - "display_name": "GLM 4.7 FlashX", + "id": "google/gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro (Preview)", + "display_name": "Gemini 3.1 Pro (Preview)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 1048756, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -161589,69 +168515,80 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2026-01-19", + "attachment": true, + "open_weights": false, + "release_date": "2026-02-19", + "last_updated": "2026-02-19", "cost": { - "input": 0.06, - "output": 0.4, - "cache_read": 0.01 + "input": 2, + "output": 12, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "zai/glm-4.6v-flash", - "name": "GLM-4.6V-Flash", - "display_name": "GLM-4.6V-Flash", + "id": "google/gemma-4-26b-a4b-it", + "name": "Gemma 4 26B A4B", + "display_name": "Gemma 4 26B A4B", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 24000 + "context": 262144, + "output": 131072 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "cost": { + "input": 0.13, + "output": 0.4 + }, "type": "chat" }, { - "id": "zai/glm-4.6", - "name": "GLM 4.6", - "display_name": "GLM 4.6", + "id": "google/gemini-3.1-pro-preview-low", + "name": "Gemini 3.1 Pro (Preview Low)", + "display_name": "Gemini 3.1 Pro (Preview Low)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 96000 + "context": 1048756, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -161660,70 +168597,67 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", + "attachment": true, + "open_weights": false, + "release_date": "2026-02-21", + "last_updated": "2026-02-21", "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11 + "input": 2, + "output": 12, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "zai/glm-4.7", - "name": "GLM 4.7", - "display_name": "GLM 4.7", + "id": "google/gemma-4-31b-it:thinking", + "name": "Gemma 4 31B Thinking", + "display_name": "Gemma 4 31B Thinking", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131000, - "output": 40000 + "context": 262144, + "output": 131072 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 2.25, - "output": 2.75, - "cache_read": 2.25 + "input": 0.1, + "output": 0.35 }, "type": "chat" }, { - "id": "zai/glm-4.5v", - "name": "GLM 4.5V", - "display_name": "GLM 4.5V", + "id": "google/gemini-3.5-flash-thinking", + "name": "Gemini 3.5 Flash Thinking", + "display_name": "Gemini 3.5 Flash Thinking", "modalities": { "input": [ "text", @@ -161734,197 +168668,207 @@ ] }, "limit": { - "context": 66000, - "output": 16000 + "context": 1048576, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, "attachment": true, - "open_weights": true, - "knowledge": "2025-08", - "release_date": "2025-08-11", - "last_updated": "2025-08-11", + "open_weights": false, + "release_date": "2026-05-19", + "last_updated": "2026-05-19", "cost": { - "input": 0.6, - "output": 1.8, - "cache_read": 0.11 + "input": 1.5, + "output": 9, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "zai/glm-4.6v", - "name": "GLM-4.6V", - "display_name": "GLM-4.6V", + "id": "google/gemini-3-flash-preview", + "name": "Gemini 3 Flash (Preview)", + "display_name": "Gemini 3 Flash (Preview)", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 24000 + "context": 1048756, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-09-30", - "last_updated": "2025-12-08", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", "cost": { - "input": 0.3, - "output": 0.9, - "cache_read": 0.05 + "input": 0.5, + "output": 3 }, "type": "chat" }, { - "id": "zai/glm-4.7-flash", - "name": "GLM 4.7 Flash", - "display_name": "GLM 4.7 Flash", + "id": "google/gemini-flash-latest", + "name": "Gemini Flash Latest", + "display_name": "Gemini Flash Latest", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 131000 + "context": 1048756, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-03-13", - "last_updated": "2026-01-19", + "release_date": "2026-03-29", + "last_updated": "2026-03-29", "cost": { - "input": 0.07, - "output": 0.4 + "input": 1.5, + "output": 9, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "zai/glm-5v-turbo", - "name": "GLM 5V Turbo", - "display_name": "GLM 5V Turbo", + "id": "liquid/lfm-2-24b-a2b", + "name": "LFM2 24B A2B", + "display_name": "LFM2 24B A2B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 32768, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-01", - "last_updated": "2026-04-01", + "release_date": "2025-12-20", + "last_updated": "2025-12-20", "cost": { - "input": 1.2, - "output": 4, - "cache_read": 0.24 + "input": 0.03, + "output": 0.12 }, "type": "chat" }, { - "id": "zai/glm-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "x-ai/grok-4.20", + "name": "Grok 4.20", + "display_name": "Grok 4.20", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 202800, - "output": 131100 + "context": 2000000, + "output": 131072 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-11", + "attachment": true, + "open_weights": false, + "release_date": "2026-03-31", + "last_updated": "2026-03-31", "cost": { - "input": 1, - "output": 3.2, - "cache_read": 0.2 + "input": 2, + "output": 6 }, "type": "chat" }, { - "id": "zai/glm-5-turbo", - "name": "GLM 5 Turbo", - "display_name": "GLM 5 Turbo", + "id": "x-ai/grok-4.3", + "name": "Grok 4.3", + "display_name": "Grok 4.3", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 202800, - "output": 131100 + "context": 1000000, + "output": 1000000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -161935,110 +168879,99 @@ "supported": true } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-03-15", - "last_updated": "2026-03-16", + "release_date": "2026-04-30", + "last_updated": "2026-04-30", "cost": { - "input": 1.2, - "output": 4, - "cache_read": 0.24 + "input": 1.25, + "output": 2.5, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "zai/glm-4.5", - "name": "GLM 4.5", - "display_name": "GLM 4.5", + "id": "x-ai/grok-4.20-multi-agent", + "name": "Grok 4.20 Multi-Agent", + "display_name": "Grok 4.20 Multi-Agent", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 96000 + "context": 2000000, + "output": 131072 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-07", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "attachment": true, + "open_weights": false, + "release_date": "2026-03-31", + "last_updated": "2026-03-31", "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.11 + "input": 2, + "output": 6 }, "type": "chat" }, { - "id": "zai/glm-4.5-air", - "name": "GLM 4.5 Air", - "display_name": "GLM 4.5 Air", + "id": "x-ai/grok-latest", + "name": "Grok Latest", + "display_name": "Grok Latest", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 96000 + "context": 1000000, + "output": 1000000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "attachment": true, + "open_weights": false, + "release_date": "2026-05-03", + "last_updated": "2026-05-03", "cost": { - "input": 0.2, - "output": 1.1, - "cache_read": 0.03 + "input": 1.25, + "output": 2.5, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "zai/glm-5.1", - "name": "GLM 5.1", - "display_name": "GLM 5.1", + "id": "x-ai/grok-build-0.1", + "name": "Grok Build 0.1", + "display_name": "Grok Build 0.1", "modalities": { "input": [ - "text", - "image", - "pdf" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 202800, - "output": 64000 + "context": 256000, + "output": 256000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -162051,19 +168984,19 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-04-07", - "last_updated": "2026-03-27", + "release_date": "2026-05-20", + "last_updated": "2026-05-20", "cost": { - "input": 1.4, - "output": 4.4, - "cache_read": 0.26 + "input": 1, + "output": 2, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "meituan/longcat-flash-thinking-2601", - "name": "LongCat Flash Thinking 2601", - "display_name": "LongCat Flash Thinking 2601", + "id": "EVA-UNIT-01/EVA-LLaMA-3.33-70B-v0.0", + "name": "EVA Llama 3.33 70B", + "display_name": "EVA Llama 3.33 70B", "modalities": { "input": [ "text" @@ -162073,25 +169006,27 @@ ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 16384, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-03-13", - "last_updated": "2026-03-13", + "release_date": "2025-07-26", + "last_updated": "2025-07-26", + "cost": { + "input": 2.006, + "output": 2.006 + }, "type": "chat" }, { - "id": "meituan/longcat-flash-chat", - "name": "LongCat Flash Chat", - "display_name": "LongCat Flash Chat", + "id": "EVA-UNIT-01/EVA-Qwen2.5-72B-v0.2", + "name": "EVA-Qwen2.5-72B-v0.2", + "display_name": "EVA-Qwen2.5-72B-v0.2", "modalities": { "input": [ "text" @@ -162101,25 +169036,27 @@ ] }, "limit": { - "context": 128000, - "output": 100000 + "context": 16384, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-08-30", - "last_updated": "2025-08-30", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "cost": { + "input": 0.7989999999999999, + "output": 0.7989999999999999 + }, "type": "chat" }, { - "id": "voyage/voyage-code-2", - "name": "voyage-code-2", - "display_name": "voyage-code-2", + "id": "EVA-UNIT-01/EVA-LLaMA-3.33-70B-v0.1", + "name": "EVA-LLaMA-3.33-70B-v0.1", + "display_name": "EVA-LLaMA-3.33-70B-v0.1", "modalities": { "input": [ "text" @@ -162129,24 +169066,27 @@ ] }, "limit": { - "context": 8192, - "output": 1536 + "context": 16384, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2024-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "cost": { + "input": 2.006, + "output": 2.006 + }, "type": "chat" }, { - "id": "voyage/voyage-code-3", - "name": "voyage-code-3", - "display_name": "voyage-code-3", + "id": "EVA-UNIT-01/EVA-Qwen2.5-32B-v0.2", + "name": "EVA-Qwen2.5-32B-v0.2", + "display_name": "EVA-Qwen2.5-32B-v0.2", "modalities": { "input": [ "text" @@ -162156,51 +169096,58 @@ ] }, "limit": { - "context": 8192, - "output": 1536 + "context": 16384, + "output": 8192 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-09-01", - "last_updated": "2024-09", + "release_date": "2025-07-26", + "last_updated": "2025-07-26", + "cost": { + "input": 0.7989999999999999, + "output": 0.7989999999999999 + }, "type": "chat" }, { - "id": "voyage/rerank-2.5-lite", - "name": "Voyage Rerank 2.5 Lite", - "display_name": "Voyage Rerank 2.5 Lite", + "id": "microsoft/wizardlm-2-8x22b", + "name": "WizardLM-2 8x22B", + "display_name": "WizardLM-2 8x22B", "modalities": { "input": [ - "text" + "text", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 32000, - "output": 32000 + "context": 65536, + "output": 8192 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-08-11", - "last_updated": "2025-08-11", + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + }, "type": "chat" }, { - "id": "voyage/voyage-finance-2", - "name": "voyage-finance-2", - "display_name": "voyage-finance-2", + "id": "Doctor-Shotgun/MS3.2-24B-Magnum-Diamond", + "name": "MS3.2 24B Magnum Diamond", + "display_name": "MS3.2 24B Magnum Diamond", "modalities": { "input": [ "text" @@ -162210,24 +169157,27 @@ ] }, "limit": { - "context": 8192, - "output": 1536 + "context": 16384, + "output": 32768 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2024-03-01", - "last_updated": "2024-03", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + }, "type": "chat" }, { - "id": "voyage/voyage-3.5", - "name": "voyage-3.5", - "display_name": "voyage-3.5", + "id": "poolside/laguna-xs.2", + "name": "Laguna XS.2", + "display_name": "Laguna XS.2", "modalities": { "input": [ "text" @@ -162237,24 +169187,27 @@ ] }, "limit": { - "context": 8192, - "output": 1536 + "context": 128000, + "output": 32768 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-05-20", - "last_updated": "2025-05-20", + "release_date": "2026-04-29", + "last_updated": "2026-04-29", + "cost": { + "input": 0.1, + "output": 0.3 + }, "type": "chat" }, { - "id": "voyage/voyage-4-large", - "name": "voyage-4-large", - "display_name": "voyage-4-large", + "id": "poolside/laguna-m.1", + "name": "Laguna M.1", + "display_name": "Laguna M.1", "modalities": { "input": [ "text" @@ -162264,51 +169217,59 @@ ] }, "limit": { - "context": 32000, - "output": 8192 + "context": 128000, + "output": 32768 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-03-06", - "last_updated": "2026-03-06", + "release_date": "2026-04-29", + "last_updated": "2026-04-29", + "cost": { + "input": 0.1, + "output": 0.3 + }, "type": "chat" }, { - "id": "voyage/voyage-3.5-lite", - "name": "voyage-3.5-lite", - "display_name": "voyage-3.5-lite", + "id": "z-ai/glm-4.5v:thinking", + "name": "GLM 4.5V Thinking", + "display_name": "GLM 4.5V Thinking", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 1536 + "context": 64000, + "output": 96000 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-05-20", - "last_updated": "2025-05-20", + "release_date": "2025-11-22", + "last_updated": "2025-11-22", + "cost": { + "input": 0.6, + "output": 1.7999999999999998 + }, "type": "chat" }, { - "id": "voyage/rerank-2.5", - "name": "Voyage Rerank 2.5", - "display_name": "Voyage Rerank 2.5", + "id": "z-ai/glm-4.6:thinking", + "name": "GLM 4.6 Thinking", + "display_name": "GLM 4.6 Thinking", "modalities": { "input": [ "text" @@ -162318,51 +169279,60 @@ ] }, "limit": { - "context": 32000, - "output": 32000 + "context": 200000, + "output": 65535 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2025-08-11", - "last_updated": "2025-08-11", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "cost": { + "input": 0.4, + "output": 1.5 + }, "type": "chat" }, { - "id": "voyage/voyage-4", - "name": "voyage-4", - "display_name": "voyage-4", + "id": "z-ai/glm-4.5v", + "name": "GLM 4.5V", + "display_name": "GLM 4.5V", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32000, - "output": 8192 + "context": 64000, + "output": 96000 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-03-06", - "last_updated": "2026-03-06", + "release_date": "2025-11-22", + "last_updated": "2025-11-22", + "cost": { + "input": 0.6, + "output": 1.7999999999999998 + }, "type": "chat" }, { - "id": "voyage/voyage-3-large", - "name": "voyage-3-large", - "display_name": "voyage-3-large", + "id": "z-ai/glm-4.6", + "name": "GLM 4.6", + "display_name": "GLM 4.6", "modalities": { "input": [ "text" @@ -162372,78 +169342,98 @@ ] }, "limit": { - "context": 8192, - "output": 1536 + "context": 200000, + "output": 65535 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": false, - "release_date": "2024-09-01", - "last_updated": "2024-09", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "cost": { + "input": 0.4, + "output": 1.5 + }, "type": "chat" }, { - "id": "voyage/voyage-law-2", - "name": "voyage-law-2", - "display_name": "voyage-law-2", + "id": "z-ai/glm-5v-turbo:thinking", + "name": "GLM 5V Turbo Thinking", + "display_name": "GLM 5V Turbo Thinking", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 1536 + "context": 202800, + "output": 131100 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-03-01", - "last_updated": "2024-03", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "cost": { + "input": 1.2, + "output": 4, + "cache_read": 0.24 + }, "type": "chat" }, { - "id": "voyage/voyage-4-lite", - "name": "voyage-4-lite", - "display_name": "voyage-4-lite", + "id": "z-ai/glm-5v-turbo", + "name": "GLM 5V Turbo", + "display_name": "GLM 5V Turbo", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 32000, - "output": 8192 + "context": 202800, + "output": 131100 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-03-06", - "last_updated": "2026-03-06", + "release_date": "2026-04-01", + "last_updated": "2026-04-01", + "cost": { + "input": 1.2, + "output": 4, + "cache_read": 0.24 + }, "type": "chat" }, { - "id": "morph/morph-v3-large", - "name": "Morph v3 Large", - "display_name": "Morph v3 Large", + "id": "z-ai/glm-5-turbo", + "name": "GLM 5 Turbo", + "display_name": "GLM 5 Turbo", "modalities": { "input": [ "text" @@ -162453,28 +169443,33 @@ ] }, "limit": { - "context": 32000, - "output": 32000 + "context": 202800, + "output": 131072 }, - "temperature": false, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": false, "open_weights": false, - "release_date": "2024-08-15", - "last_updated": "2024-08-15", + "release_date": "2026-03-15", + "last_updated": "2026-03-15", "cost": { - "input": 0.9, - "output": 1.9 + "input": 1.2, + "output": 4, + "cache_read": 0.24 }, "type": "chat" }, { - "id": "morph/morph-v3-fast", - "name": "Morph v3 Fast", - "display_name": "Morph v3 Fast", + "id": "openai/o3-mini-low", + "name": "OpenAI o3-mini (Low)", + "display_name": "OpenAI o3-mini (Low)", "modalities": { "input": [ "text" @@ -162484,89 +169479,118 @@ ] }, "limit": { - "context": 16000, - "output": 16000 + "context": 200000, + "output": 100000 }, - "temperature": false, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": false, "open_weights": false, - "release_date": "2024-08-15", - "last_updated": "2024-08-15", + "release_date": "2025-01-31", + "last_updated": "2025-01-31", "cost": { - "input": 0.8, - "output": 1.2 + "input": 9.996, + "output": 19.992 }, "type": "chat" }, { - "id": "google/veo-3.1-fast-generate-001", - "name": "Veo 3.1 Fast Generate", - "display_name": "Veo 3.1 Fast Generate", + "id": "openai/gpt-oss-safeguard-20b", + "name": "GPT OSS Safeguard 20B", + "display_name": "GPT OSS Safeguard 20B", "modalities": { "input": [ "text" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 128000, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2026-06-08", - "last_updated": "2026-06-08", + "release_date": "2025-10-29", + "last_updated": "2025-10-29", + "cost": { + "input": 0.075, + "output": 0.3 + }, "type": "chat" }, { - "id": "google/gemini-2.5-flash-image", - "name": "Nano Banana (Gemini 2.5 Flash Image)", - "display_name": "Nano Banana (Gemini 2.5 Flash Image)", + "id": "openai/o3", + "name": "OpenAI o3", + "display_name": "OpenAI o3", "modalities": { "input": [ "text" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 32768, - "output": 65536 + "context": 200000, + "output": 100000 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-08-26", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.03 + "input": 2, + "output": 8 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "google/gemini-embedding-2", - "name": "Gemini Embedding 2", - "display_name": "Gemini Embedding 2", + "id": "openai/o4-mini-high", + "name": "OpenAI o4-mini high", + "display_name": "OpenAI o4-mini high", "modalities": { "input": [ "text" @@ -162576,59 +169600,87 @@ ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 200000, + "output": 100000 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": false, "open_weights": false, - "release_date": "2026-03-10", - "last_updated": "2026-03-23", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "cost": { + "input": 1.1, + "output": 4.4 + }, "type": "chat" }, { - "id": "google/gemini-3.1-flash-image", - "name": "Gemini 3.1 Flash Image (Nano Banana 2)", - "display_name": "Gemini 3.1 Flash Image (Nano Banana 2)", + "id": "openai/o3-pro-2025-06-10", + "name": "OpenAI o3-pro (2025-06-10)", + "display_name": "OpenAI o3-pro (2025-06-10)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 200000, + "output": 100000 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": false, "open_weights": false, - "release_date": "2026-05-28", - "last_updated": "2026-05-28", + "release_date": "2025-06-10", + "last_updated": "2025-06-10", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.05 + "input": 9.996, + "output": 19.992 }, "type": "chat" }, { - "id": "google/gemini-3.1-flash-lite-preview", - "name": "Gemini 3.1 Flash Lite Preview", - "display_name": "Gemini 3.1 Flash Lite Preview", + "id": "openai/gpt-5.2-pro", + "name": "GPT 5.2 Pro", + "display_name": "GPT 5.2 Pro", "modalities": { "input": [ "text", @@ -162640,10 +169692,9 @@ ] }, "limit": { - "context": 1000000, - "output": 65000 + "context": 400000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -162651,25 +169702,68 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-03-03", - "last_updated": "2026-03-03", + "release_date": "2026-01-01", + "last_updated": "2026-01-01", "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.03 + "input": 21, + "output": 168 }, "type": "chat" }, { - "id": "google/gemma-4-31b-it", - "name": "Gemma 4 31B IT", - "display_name": "Gemma 4 31B IT", + "id": "openai/gpt-4o-mini-search-preview", + "name": "GPT-4o mini Search Preview", + "display_name": "GPT-4o mini Search Preview", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "cost": { + "input": 0.088, + "output": 0.35 + }, + "type": "chat" + }, + { + "id": "openai/gpt-5", + "name": "GPT 5", + "display_name": "GPT 5", "modalities": { "input": [ "text", @@ -162681,98 +169775,169 @@ ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 400000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, "attachment": true, "open_weights": false, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.14, - "output": 0.4 + "input": 1.25, + "output": 10 }, "type": "chat" }, { - "id": "google/imagen-4.0-generate-001", - "name": "Imagen 4", - "display_name": "Imagen 4", + "id": "openai/gpt-3.5-turbo", + "name": "GPT-3.5 Turbo", + "display_name": "GPT-3.5 Turbo", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 480, - "output": 8192 + "context": 16385, + "output": 4096 }, - "temperature": false, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "type": "imageGeneration" + "release_date": "2022-11-30", + "last_updated": "2024-01-01", + "cost": { + "input": 0.5, + "output": 1.5 + }, + "type": "chat" }, { - "id": "google/text-embedding-005", - "name": "Text Embedding 005", - "display_name": "Text Embedding 005", + "id": "openai/gpt-5-pro", + "name": "GPT 5 Pro", + "display_name": "GPT 5 Pro", "modalities": { "input": [ + "text", + "image" + ], + "output": [ "text" + ] + }, + "limit": { + "context": 400000, + "output": 128000 + }, + "tool_call": false, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "fixed", + "effort": "high", + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "cost": { + "input": 15, + "output": 120 + }, + "type": "chat" + }, + { + "id": "openai/gpt-4o", + "name": "GPT-4o", + "display_name": "GPT-4o", + "modalities": { + "input": [ + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 1536 + "context": 128000, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-08-01", - "last_updated": "2024-08", + "release_date": "2024-05-13", + "last_updated": "2024-05-13", + "cost": { + "input": 2.499, + "output": 9.996 + }, "type": "chat" }, { - "id": "google/gemini-3-flash", - "name": "Gemini 3 Flash", - "display_name": "Gemini 3 Flash", + "id": "openai/o4-mini", + "name": "OpenAI o4-mini", + "display_name": "OpenAI o4-mini", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65000 + "context": 200000, + "output": 100000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -162782,37 +169947,30 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", + "mode": "effort", + "effort": "medium", + "effort_options": [ "low", "medium", "high" ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "visibility": "hidden" } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.05 + "input": 1.1, + "output": 4.4 }, "type": "chat" }, { - "id": "google/gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "display_name": "Gemini 3.1 Pro Preview", + "id": "openai/gpt-5.4-nano", + "name": "GPT 5.4 Nano", + "display_name": "GPT 5.4 Nano", "modalities": { "input": [ "text", @@ -162824,89 +169982,104 @@ ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 400000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ "low", + "medium", "high" ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-11-18", - "last_updated": "2026-02-19", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2 + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "google/gemini-3.1-flash-lite", - "name": "Gemini 3.1 Flash Lite", - "display_name": "Gemini 3.1 Flash Lite", + "id": "openai/gpt-5.1-codex", + "name": "GPT 5.1 Codex", + "display_name": "GPT 5.1 Codex", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65000 + "context": 400000, + "output": 128000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-05-07", - "last_updated": "2026-05-07", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.03 + "input": 1.25, + "output": 10 }, "type": "chat" }, { - "id": "google/gemini-2.5-flash-lite", - "name": "Gemini 2.5 Flash Lite", - "display_name": "Gemini 2.5 Flash Lite", + "id": "openai/gpt-5.1-codex-max", + "name": "GPT 5.1 Codex Max", + "display_name": "GPT 5.1 Codex Max", "modalities": { "input": [ "text", @@ -162918,10 +170091,9 @@ ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 400000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -162931,64 +170103,158 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "budget", - "budget": { - "default": -1, - "min": 512, - "max": 24576, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.01 + "input": 2.5, + "output": 20 }, "type": "chat" }, { - "id": "google/veo-3.1-generate-001", - "name": "Veo 3.1", - "display_name": "Veo 3.1", + "id": "openai/gpt-4o-2024-08-06", + "name": "GPT-4o (2024-08-06)", + "display_name": "GPT-4o (2024-08-06)", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2024-08-06", + "last_updated": "2024-08-06", + "cost": { + "input": 2.499, + "output": 9.996 + }, + "type": "chat" + }, + { + "id": "openai/o1-preview", + "name": "OpenAI o1-preview", + "display_name": "OpenAI o1-preview", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 32768 + }, + "tool_call": false, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": false, + "open_weights": false, + "release_date": "2024-09-12", + "last_updated": "2024-09-12", + "cost": { + "input": 14.993999999999998, + "output": 59.993 + }, + "type": "chat" + }, + { + "id": "openai/o3-mini", + "name": "OpenAI o3-mini", + "display_name": "OpenAI o3-mini", "modalities": { "input": [ "text" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 200000, + "output": 100000 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": false, "open_weights": false, - "release_date": "2026-06-08", - "last_updated": "2026-06-08", + "release_date": "2025-01-31", + "last_updated": "2025-01-31", + "cost": { + "input": 1.1, + "output": 4.4 + }, "type": "chat" }, { - "id": "google/gemma-4-26b-a4b-it", - "name": "Gemma 4 26B A4B IT", - "display_name": "Gemma 4 26B A4B IT", + "id": "openai/gpt-5.2", + "name": "GPT 5.2", + "display_name": "GPT 5.2", "modalities": { "input": [ "text", @@ -163000,30 +170266,50 @@ ] }, "limit": { - "context": 262144, - "output": 131072 + "context": 400000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, "open_weights": false, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "release_date": "2026-01-01", + "last_updated": "2026-01-01", "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.015 + "input": 1.75, + "output": 14 }, "type": "chat" }, { - "id": "google/gemini-3.5-flash", - "name": "Gemini 3.5 Flash", - "display_name": "Gemini 3.5 Flash", + "id": "openai/gpt-5.3-codex", + "name": "GPT 5.3 Codex", + "display_name": "GPT 5.3 Codex", "modalities": { "input": [ "text", @@ -163035,10 +170321,9 @@ ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 400000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -163048,294 +170333,269 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ "low", "medium", "high" ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-05-19", - "last_updated": "2026-05-19", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", "cost": { - "input": 1.5, - "output": 9, - "cache_read": 0.15 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "google/veo-3.0-generate-001", - "name": "Veo 3.0", - "display_name": "Veo 3.0", + "id": "openai/gpt-latest", + "name": "GPT Latest", + "display_name": "GPT Latest", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ - "video" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2026-06-08", - "last_updated": "2026-06-08", - "type": "chat" - }, - { - "id": "google/imagen-4.0-ultra-generate-001", - "name": "Imagen 4 Ultra", - "display_name": "Imagen 4 Ultra", - "modalities": { - "input": [ "text" - ], - "output": [ - "image" ] }, "limit": { - "context": 480, - "output": 8192 + "context": 1000000, + "output": 128000 }, - "temperature": false, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-05-24", - "last_updated": "2025-05-24", - "type": "imageGeneration" + "release_date": "2026-03-29", + "last_updated": "2026-03-29", + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5 + }, + "type": "chat" }, { - "id": "google/gemini-3-pro-preview", - "name": "Gemini 3 Pro Preview", - "display_name": "Gemini 3 Pro Preview", + "id": "openai/gpt-5.1-codex-mini", + "name": "GPT 5.1 Codex Mini", + "display_name": "GPT 5.1 Codex Mini", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 400000, + "output": 128000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ "low", + "medium", "high" ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "tiers": [ - { - "input": 4, - "output": 18, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 4, - "output": 18, - "cache_read": 0.4 - } + "input": 0.25, + "output": 2 }, "type": "chat" }, { - "id": "google/veo-3.0-fast-generate-001", - "name": "Veo 3.0 Fast Generate", - "display_name": "Veo 3.0 Fast Generate", + "id": "openai/o4-mini-deep-research", + "name": "OpenAI o4-mini Deep Research", + "display_name": "OpenAI o4-mini Deep Research", "modalities": { "input": [ "text" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 200000, + "output": 100000 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": false, "open_weights": false, - "release_date": "2026-06-08", - "last_updated": "2026-06-08", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "cost": { + "input": 9.996, + "output": 19.992 + }, "type": "chat" }, { - "id": "google/gemini-embedding-001", - "name": "Gemini Embedding 001", - "display_name": "Gemini Embedding 001", + "id": "openai/gpt-4.1-nano", + "name": "GPT 4.1 Nano", + "display_name": "GPT 4.1 Nano", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 1536 + "context": 1047576, + "output": 32768 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-05", - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "type": "embedding" + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "cost": { + "input": 0.1, + "output": 0.4 + }, + "type": "chat" }, { - "id": "google/gemini-3-pro-image", - "name": "Nano Banana Pro (Gemini 3 Pro Image)", - "display_name": "Nano Banana Pro (Gemini 3 Pro Image)", + "id": "openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "display_name": "GPT OSS 120B", "modalities": { "input": [ "text" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 65536, - "output": 32768 + "context": 128000, + "output": 16384 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "supported": true } }, "attachment": false, "open_weights": false, - "knowledge": "2025-03", - "release_date": "2025-09-01", - "last_updated": "2025-09", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2 + "input": 0.05, + "output": 0.25 }, "type": "chat" }, { - "id": "google/imagen-4.0-fast-generate-001", - "name": "Imagen 4 Fast", - "display_name": "Imagen 4 Fast", + "id": "openai/gpt-4o-2024-11-20", + "name": "GPT-4o (2024-11-20)", + "display_name": "GPT-4o (2024-11-20)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 480, - "output": 8192 + "context": 128000, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-06-01", - "last_updated": "2025-06", - "type": "imageGeneration" + "release_date": "2024-11-20", + "last_updated": "2024-11-20", + "cost": { + "input": 2.5, + "output": 10 + }, + "type": "chat" }, { - "id": "google/text-multilingual-embedding-002", - "name": "Text Multilingual Embedding 002", - "display_name": "Text Multilingual Embedding 002", + "id": "openai/o1", + "name": "OpenAI o1", + "display_name": "OpenAI o1", "modalities": { "input": [ "text" @@ -163345,39 +170605,56 @@ ] }, "limit": { - "context": 8192, - "output": 1536 + "context": 200000, + "output": 100000 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": false, "open_weights": false, - "release_date": "2024-03-01", - "last_updated": "2024-03", + "release_date": "2024-12-17", + "last_updated": "2024-12-17", + "cost": { + "input": 14.993999999999998, + "output": 59.993 + }, "type": "chat" }, { - "id": "google/gemini-3.1-flash-image-preview", - "name": "Gemini 3.1 Flash Image Preview (Nano Banana 2)", - "display_name": "Gemini 3.1 Flash Image Preview (Nano Banana 2)", + "id": "openai/o1-pro", + "name": "OpenAI o1 Pro", + "display_name": "OpenAI o1 Pro", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 200000, + "output": 100000 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": true, @@ -163385,31 +170662,36 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-02-26", - "last_updated": "2026-02-26", + "release_date": "2025-01-25", + "last_updated": "2025-01-25", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.05 + "input": 150, + "output": 600 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "google/gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "display_name": "Gemini 2.5 Flash", + "id": "openai/gpt-chat-latest", + "name": "GPT Chat Latest", + "display_name": "GPT Chat Latest", "modalities": { "input": [ "text", "image", - "audio", - "video", "pdf" ], "output": [ @@ -163417,58 +170699,37 @@ ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 400000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "supported": true } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "release_date": "2026-05-03", + "last_updated": "2026-05-03", "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.03, - "input_audio": 1 + "input": 5, + "output": 30, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "google/gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "display_name": "Gemini 2.5 Pro", + "id": "openai/gpt-5.4", + "name": "GPT 5.4", + "display_name": "GPT 5.4", "modalities": { "input": [ "text", "image", - "audio", - "video", "pdf" ], "output": [ @@ -163476,66 +170737,51 @@ ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 922000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 15, - "cache_read": 0.25 - } + "input": 2.5, + "output": 15, + "cache_read": 0.25 }, "type": "chat" }, { - "id": "openai/gpt-5-pro", - "name": "GPT-5 pro", - "display_name": "GPT-5 pro", + "id": "openai/gpt-5.4-mini", + "name": "GPT 5.4 Mini", + "display_name": "GPT 5.4 Mini", "modalities": { "input": [ "text", @@ -163543,26 +170789,31 @@ "pdf" ], "output": [ - "text", - "image" + "text" ] }, "limit": { "context": 400000, - "output": 272000 + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "fixed", - "effort": "high", + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], "verbosity": "medium", "verbosity_options": [ "low", @@ -163574,93 +170825,130 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-08-07", - "last_updated": "2025-10-06", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 15, - "output": 120 + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "openai/gpt-image-1", - "name": "GPT Image 1", - "display_name": "GPT Image 1", + "id": "openai/gpt-4.1", + "name": "GPT 4.1", + "display_name": "GPT 4.1", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1047576, + "output": 32768 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-09-10", + "last_updated": "2025-09-10", + "cost": { + "input": 2, + "output": 8 + }, + "type": "chat" + }, + { + "id": "openai/o3-deep-research", + "name": "OpenAI o3 Deep Research", + "display_name": "OpenAI o3 Deep Research", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 200000, + "output": 100000 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": false, "open_weights": false, - "release_date": "2025-03-25", - "last_updated": "2025-03-25", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", "cost": { - "input": 5, - "output": 40, - "cache_read": 1.25 + "input": 9.996, + "output": 19.992 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "openai/gpt-5-chat", - "name": "GPT-5 Chat", - "display_name": "GPT-5 Chat", + "id": "openai/gpt-4-turbo-preview", + "name": "GPT-4 Turbo Preview", + "display_name": "GPT-4 Turbo Preview", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ - "text", - "image" + "text" ] }, "limit": { "context": 128000, - "output": 16384 + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "release_date": "2023-11-06", + "last_updated": "2024-01-01", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 9.996, + "output": 30.004999999999995 }, "type": "chat" }, { - "id": "openai/gpt-5.2", - "name": "GPT-5.2", - "display_name": "GPT-5.2", + "id": "openai/gpt-5-mini", + "name": "GPT 5 Mini", + "display_name": "GPT 5 Mini", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -163670,24 +170958,22 @@ "context": 400000, "output": 128000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", - "effort": "none", + "effort": "medium", "effort_options": [ - "none", + "minimal", "low", "medium", - "high", - "xhigh" + "high" ], "verbosity": "medium", "verbosity_options": [ @@ -163700,95 +170986,94 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.25, + "output": 2 }, "type": "chat" }, { - "id": "openai/text-embedding-3-small", - "name": "text-embedding-3-small", - "display_name": "text-embedding-3-small", + "id": "openai/gpt-4.1-mini", + "name": "GPT 4.1 Mini", + "display_name": "GPT 4.1 Mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 1536 + "context": 1047576, + "output": 32768 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-01-25", - "last_updated": "2024-01-25", - "type": "embedding" + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "cost": { + "input": 0.4, + "output": 1.6 + }, + "type": "chat" }, { - "id": "openai/gpt-image-1-mini", - "name": "GPT Image 1 Mini", - "display_name": "GPT Image 1 Mini", + "id": "openai/gpt-4-turbo", + "name": "GPT-4 Turbo", + "display_name": "GPT-4 Turbo", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 128000, + "output": 4096 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-10-06", - "last_updated": "2025-10-06", + "release_date": "2023-11-06", + "last_updated": "2024-01-01", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.2 + "input": 10, + "output": 30 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "openai/gpt-5.4-pro", - "name": "GPT 5.4 Pro", - "display_name": "GPT 5.4 Pro", + "id": "openai/gpt-5-nano", + "name": "GPT 5 Nano", + "display_name": "GPT 5 Nano", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1050000, + "context": 400000, "output": 128000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -163798,11 +171083,12 @@ "supported": true, "default_enabled": true, "mode": "effort", - "effort": "high", + "effort": "medium", "effort_options": [ + "minimal", + "low", "medium", - "high", - "xhigh" + "high" ], "verbosity": "medium", "verbosity_options": [ @@ -163815,46 +171101,18 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 30, - "output": 180 + "input": 0.05, + "output": 0.4 }, "type": "chat" }, { - "id": "openai/text-embedding-3-large", - "name": "text-embedding-3-large", - "display_name": "text-embedding-3-large", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 8192, - "output": 1536 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2024-01-25", - "last_updated": "2024-01-25", - "type": "embedding" - }, - { - "id": "openai/gpt-5.2-pro", - "name": "GPT 5.2 ", - "display_name": "GPT 5.2 ", + "id": "openai/gpt-5.4-pro", + "name": "GPT 5.4 Pro", + "display_name": "GPT 5.4 Pro", "modalities": { "input": [ "text", @@ -163866,10 +171124,9 @@ ] }, "limit": { - "context": 400000, + "context": 922000, "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -163897,24 +171154,22 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 21, - "output": 168 + "input": 30, + "output": 180, + "cache_read": 3 }, "type": "chat" }, { - "id": "openai/o3-pro", - "name": "o3 Pro", - "display_name": "o3 Pro", + "id": "openai/o3-mini-high", + "name": "OpenAI o3-mini (High)", + "display_name": "OpenAI o3-mini (High)", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" @@ -163924,7 +171179,6 @@ "context": 200000, "output": 100000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -163944,21 +171198,51 @@ "visibility": "hidden" } }, + "attachment": false, + "open_weights": false, + "release_date": "2025-01-31", + "last_updated": "2025-01-31", + "cost": { + "input": 0.64, + "output": 2.588 + }, + "type": "chat" + }, + { + "id": "openai/gpt-4o-search-preview", + "name": "GPT-4o Search Preview", + "display_name": "GPT-4o Search Preview", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-04-16", - "last_updated": "2025-06-10", + "release_date": "2024-05-13", + "last_updated": "2024-05-13", "cost": { - "input": 20, - "output": 80 + "input": 1.47, + "output": 5.88 }, "type": "chat" }, { - "id": "openai/gpt-4o-mini-search-preview", - "name": "GPT 4o Mini Search Preview", - "display_name": "GPT 4o Mini Search Preview", + "id": "openai/gpt-5.1-2025-11-13", + "name": "GPT-5.1 (2025-11-13)", + "display_name": "GPT-5.1 (2025-11-13)", "modalities": { "input": [ "text" @@ -163967,62 +171251,145 @@ "text" ] }, + "limit": { + "context": 1000000, + "output": 32768 + }, + "tool_call": false, + "reasoning": { + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "cost": { + "input": 1.25, + "output": 10 + }, + "type": "chat" + }, + { + "id": "openai/gpt-4o-mini", + "name": "GPT-4o mini", + "display_name": "GPT-4o mini", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, "limit": { "context": 128000, "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, + "attachment": true, + "open_weights": false, + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "cost": { + "input": 0.1496, + "output": 0.595 + }, + "type": "chat" + }, + { + "id": "openai/gpt-oss-20b", + "name": "GPT OSS 20B", + "display_name": "GPT OSS 20B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "tool_call": false, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": false, "open_weights": false, - "knowledge": "2023-09", - "release_date": "2025-03-12", - "last_updated": "2025-01", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.04, + "output": 0.15 }, "type": "chat" }, { - "id": "openai/gpt-5.4", - "name": "GPT 5.4", - "display_name": "GPT 5.4", + "id": "openai/gpt-5-codex", + "name": "GPT-5 Codex", + "display_name": "GPT-5 Codex", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 256000, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", - "effort": "none", + "effort": "medium", "effort_options": [ - "none", + "minimal", "low", "medium", - "high", - "xhigh" + "high" ], "verbosity": "medium", "verbosity_options": [ @@ -164033,22 +171400,20 @@ "visibility": "hidden" } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", "cost": { - "input": 2.5, - "output": 15, - "cache_read": 0.25 + "input": 9.996, + "output": 19.992 }, "type": "chat" }, { - "id": "openai/gpt-5.5", - "name": "GPT 5.5", - "display_name": "GPT 5.5", + "id": "openai/gpt-5.2-codex", + "name": "GPT 5.2 Codex", + "display_name": "GPT 5.2 Codex", "modalities": { "input": [ "text", @@ -164060,10 +171425,9 @@ ] }, "limit": { - "context": 1000000, + "context": 400000, "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -164092,59 +171456,18 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-24", - "last_updated": "2026-04-23", - "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5 - }, - "type": "chat" - }, - { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "display_name": "GPT OSS 120B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 131000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", "cost": { - "input": 0.35, - "output": 0.75, - "cache_read": 0.25 + "input": 1.75, + "output": 14 }, "type": "chat" }, { - "id": "openai/gpt-5.1-codex-max", - "name": "GPT 5.1 Codex Max", - "display_name": "GPT 5.1 Codex Max", + "id": "openai/gpt-5.1", + "name": "GPT 5.1", + "display_name": "GPT 5.1", "modalities": { "input": [ "text", @@ -164159,7 +171482,6 @@ "context": 400000, "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -164188,20 +171510,18 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-11-19", + "release_date": "2025-11-13", "last_updated": "2025-11-13", "cost": { "input": 1.25, - "output": 10, - "cache_read": 0.125 + "output": 10 }, "type": "chat" }, { - "id": "openai/gpt-5.1-codex-mini", - "name": "GPT-5.1 Codex mini", - "display_name": "GPT-5.1 Codex mini", + "id": "openai/gpt-5.5", + "name": "GPT 5.5", + "display_name": "GPT 5.5", "modalities": { "input": [ "text", @@ -164213,26 +171533,25 @@ ] }, "limit": { - "context": 400000, + "context": 1000000, "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, + "default_enabled": true, "mode": "effort", - "effort": "none", + "effort": "medium", "effort_options": [ - "none", "low", "medium", - "high" + "high", + "xhigh" ], "verbosity": "medium", "verbosity_options": [ @@ -164245,20 +171564,19 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-11-12", - "last_updated": "2025-11-13", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 5, + "output": 30, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "openai/text-embedding-ada-002", - "name": "text-embedding-ada-002", - "display_name": "text-embedding-ada-002", + "id": "Gryphe/MythoMax-L2-13b", + "name": "MythoMax 13B", + "display_name": "MythoMax 13B", "modalities": { "input": [ "text" @@ -164268,24 +171586,27 @@ ] }, "limit": { - "context": 8192, - "output": 1536 + "context": 4000, + "output": 4096 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2022-12-15", - "last_updated": "2022-12-15", - "type": "embedding" + "release_date": "2025-08-08", + "last_updated": "2025-08-08", + "cost": { + "input": 0.1003, + "output": 0.1003 + }, + "type": "chat" }, { - "id": "openai/gpt-oss-20b", - "name": "GPT OSS 20B", - "display_name": "GPT OSS 20B", + "id": "Unbabel/M-Prometheus-14B", + "name": "M-Prometheus 14B", + "display_name": "M-Prometheus 14B", "modalities": { "input": [ "text" @@ -164295,240 +171616,147 @@ ] }, "limit": { - "context": 131072, + "context": 32768, "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "open_weights": false, + "release_date": "2026-05-29", + "last_updated": "2026-05-29", "cost": { - "input": 0.05, + "input": 0.2, "output": 0.2 }, "type": "chat" }, { - "id": "openai/o3-deep-research", - "name": "o3-deep-research", - "display_name": "o3-deep-research", + "id": "LLM360/K2-Think", + "name": "K2-Think", + "display_name": "K2-Think", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 128000, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-06-26", - "last_updated": "2024-06-26", + "release_date": "2025-07-26", + "last_updated": "2025-07-26", "cost": { - "input": 10, - "output": 40, - "cache_read": 2.5 + "input": 0.17, + "output": 0.68 }, "type": "chat" }, { - "id": "openai/gpt-5.4-nano", - "name": "GPT 5.4 Nano", - "display_name": "GPT 5.4 Nano", + "id": "NousResearch/hermes-4-405b", + "name": "Hermes 4 Large", + "display_name": "Hermes 4 Large", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "release_date": "2025-08-26", + "last_updated": "2025-08-26", "cost": { - "input": 0.2, - "output": 1.25, - "cache_read": 0.02 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "openai/gpt-5.3-codex", - "name": "GPT 5.3 Codex", - "display_name": "GPT 5.3 Codex", + "id": "NousResearch/hermes-3-llama-3.1-70b", + "name": "Hermes 3 70B", + "display_name": "Hermes 3 70B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 65536, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-24", - "last_updated": "2026-02-05", + "release_date": "2026-01-07", + "last_updated": "2026-01-07", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.408, + "output": 0.408 }, "type": "chat" }, { - "id": "openai/gpt-5.5-pro", - "name": "GPT 5.5 Pro", - "display_name": "GPT 5.5 Pro", + "id": "NousResearch/Hermes-4-70B:thinking", + "name": "Hermes 4 (Thinking)", + "display_name": "Hermes 4 (Thinking)", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 128000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-24", - "last_updated": "2026-04-23", + "release_date": "2025-09-17", + "last_updated": "2025-09-17", "cost": { - "input": 30, - "output": 180 + "input": 0.2006, + "output": 0.3995 }, "type": "chat" }, { - "id": "openai/gpt-3.5-turbo", - "name": "GPT-3.5 Turbo", - "display_name": "GPT-3.5 Turbo", + "id": "NousResearch/hermes-4-70b", + "name": "Hermes 4 Medium", + "display_name": "Hermes 4 Medium", "modalities": { "input": [ "text" @@ -164538,34 +171766,30 @@ ] }, "limit": { - "context": 16385, - "output": 4096 + "context": 128000, + "output": 8192 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2021-09", - "release_date": "2023-05-28", - "last_updated": "2023-11-06", + "release_date": "2025-07-03", + "last_updated": "2025-07-03", "cost": { - "input": 0.5, - "output": 1.5 + "input": 0.2006, + "output": 0.3995 }, "type": "chat" }, { - "id": "openai/gpt-5.2-chat", - "name": "GPT-5.2 Chat", - "display_name": "GPT-5.2 Chat", + "id": "NousResearch/DeepHermes-3-Mistral-24B-Preview", + "name": "DeepHermes-3 Mistral 24B (Preview)", + "display_name": "DeepHermes-3 Mistral 24B (Preview)", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" @@ -164573,30 +171797,26 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-12-11", - "last_updated": "2025-08-07", + "release_date": "2025-05-10", + "last_updated": "2025-05-10", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.3, + "output": 0.3 }, "type": "chat" }, { - "id": "openai/gpt-3.5-turbo-instruct", - "name": "GPT-3.5 Turbo Instruct", - "display_name": "GPT-3.5 Turbo Instruct", + "id": "NousResearch/hermes-4-405b:thinking", + "name": "Hermes 4 Large (Thinking)", + "display_name": "Hermes 4 Large (Thinking)", "modalities": { "input": [ "text" @@ -164606,33 +171826,30 @@ ] }, "limit": { - "context": 8192, - "output": 4096 + "context": 128000, + "output": 8192 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2021-09", - "release_date": "2023-09-28", - "last_updated": "2023-03-01", + "release_date": "2024-01-01", + "last_updated": "2024-01-01", "cost": { - "input": 1.5, - "output": 2 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "openai/gpt-5.1-instant", - "name": "GPT-5.1 Instant", - "display_name": "GPT-5.1 Instant", + "id": "unsloth/gemma-3-12b-it", + "name": "Gemma 3 12B IT", + "display_name": "Gemma 3 12B IT", "modalities": { "input": [ "text", - "image", "pdf" ], "output": [ @@ -164641,55 +171858,29 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 131072 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-11-12", - "last_updated": "2025-08-07", + "release_date": "2025-03-10", + "last_updated": "2025-03-10", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.272, + "output": 0.272 }, "type": "chat" }, { - "id": "openai/gpt-5.2-codex", - "name": "GPT-5.2-Codex", - "display_name": "GPT-5.2-Codex", + "id": "unsloth/gemma-3-4b-it", + "name": "Gemma 3 4B IT", + "display_name": "Gemma 3 4B IT", "modalities": { "input": [ "text", - "image", "pdf" ], "output": [ @@ -164697,141 +171888,150 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "attachment": true, + "open_weights": false, + "release_date": "2025-03-10", + "last_updated": "2025-03-10", + "cost": { + "input": 0.2006, + "output": 0.2006 + }, + "type": "chat" + }, + { + "id": "unsloth/gemma-3-27b-it", + "name": "Gemma 3 27B IT", + "display_name": "Gemma 3 27B IT", + "modalities": { + "input": [ + "text", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 96000 + }, + "tool_call": false, + "reasoning": { + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-12-18", - "last_updated": "2025-12-11", + "release_date": "2025-03-10", + "last_updated": "2025-03-10", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.2992, + "output": 0.2992 }, "type": "chat" }, { - "id": "openai/gpt-image-2", - "name": "GPT Image 2", - "display_name": "GPT Image 2", + "id": "NeverSleep/Lumimaid-v0.2-70B", + "name": "Lumimaid v0.2", + "display_name": "Lumimaid v0.2", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, + "context": 16384, "output": 8192 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "release_date": "2024-07-01", + "last_updated": "2024-07-01", "cost": { - "input": 5, - "output": 30, - "cache_read": 1.25 + "input": 1, + "output": 1.5 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "openai/gpt-5.1-codex", - "name": "GPT-5.1-Codex", - "display_name": "GPT-5.1-Codex", + "id": "mistralai/mixtral-8x7b-instruct-v0.1", + "name": "Mixtral 8x7B", + "display_name": "Mixtral 8x7B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 32768, + "output": 32768 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "cost": { + "input": 0.27, + "output": 0.27 + }, + "type": "chat" + }, + { + "id": "mistralai/mistral-small-4-119b-2603:thinking", + "name": "Mistral Small 4 119B Thinking", + "display_name": "Mistral Small 4 119B Thinking", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 16384 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-11-12", - "last_updated": "2025-11-13", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.4, + "output": 1.4 }, "type": "chat" }, { - "id": "openai/gpt-oss-safeguard-20b", - "name": "gpt-oss-safeguard-20b", - "display_name": "gpt-oss-safeguard-20b", + "id": "mistralai/mixtral-8x22b-instruct-v0.1", + "name": "Mixtral 8x22B", + "display_name": "Mixtral 8x22B", "modalities": { "input": [ "text" @@ -164841,184 +172041,120 @@ ] }, "limit": { - "context": 131072, - "output": 65536 + "context": 65536, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-12-01", - "last_updated": "2024-12-01", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.075, - "output": 0.3, - "cache_read": 0.037 + "input": 0.8999999999999999, + "output": 0.8999999999999999 }, "type": "chat" }, { - "id": "openai/gpt-5.4-mini", - "name": "GPT 5.4 Mini", - "display_name": "GPT 5.4 Mini", + "id": "mistralai/Devstral-Small-2505", + "name": "Mistral Devstral Small 2505", + "display_name": "Mistral Devstral Small 2505", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 32768, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "release_date": "2025-08-02", + "last_updated": "2025-08-02", "cost": { - "input": 0.75, - "output": 4.5, - "cache_read": 0.075 + "input": 0.060000000000000005, + "output": 0.060000000000000005 }, "type": "chat" }, { - "id": "openai/gpt-5.1-thinking", - "name": "GPT 5.1 Thinking", - "display_name": "GPT 5.1 Thinking", + "id": "mistralai/ministral-8b-2512", + "name": "Ministral 8B", + "display_name": "Ministral 8B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-11-12", - "last_updated": "2025-08-07", + "release_date": "2025-12-04", + "last_updated": "2025-12-04", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.15, + "output": 0.15 }, "type": "chat" }, { - "id": "openai/gpt-image-1.5", - "name": "GPT Image 1.5", - "display_name": "GPT Image 1.5", + "id": "mistralai/mistral-saba", + "name": "Mistral Saba", + "display_name": "Mistral Saba", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 32000, + "output": 32768 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-12-16", - "last_updated": "2025-12-16", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", "cost": { - "input": 5, - "output": 32, - "cache_read": 1.25 + "input": 0.1989, + "output": 0.595 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "openai/gpt-5.3-chat", - "name": "GPT-5.3 Chat", - "display_name": "GPT-5.3 Chat", + "id": "mistralai/mistral-large", + "name": "Mistral Large 2411", + "display_name": "Mistral Large 2411", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" @@ -165026,113 +172162,117 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 256000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-03-03", - "last_updated": "2026-03-06", + "release_date": "2024-02-26", + "last_updated": "2024-02-26", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 2.006, + "output": 6.001 }, "type": "chat" }, { - "id": "openai/gpt-4.1-nano", - "name": "GPT-4.1 nano", - "display_name": "GPT-4.1 nano", + "id": "mistralai/mistral-medium-3.1", + "name": "Mistral Medium 3.1", + "display_name": "Mistral Medium 3.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, + "context": 131072, "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "cost": { + "input": 0.4, + "output": 2 + }, + "type": "chat" + }, + { + "id": "mistralai/ministral-3b-2512", + "name": "Ministral 3B", + "display_name": "Ministral 3B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 32768 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-12-04", + "last_updated": "2025-12-04", "cost": { "input": 0.1, - "output": 0.4, - "cache_read": 0.025 + "output": 0.1 }, "type": "chat" }, { - "id": "openai/o1", - "name": "o1", - "display_name": "o1", + "id": "mistralai/ministral-14b-instruct-2512", + "name": "Ministral 3 14B", + "display_name": "Ministral 3 14B", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 262144, + "output": 32768 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-12-05", - "last_updated": "2024-12-05", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", "cost": { - "input": 15, - "output": 60, - "cache_read": 7.5 + "input": 0.1, + "output": 0.4 }, "type": "chat" }, { - "id": "openai/gpt-4-turbo", - "name": "GPT-4 Turbo", - "display_name": "GPT-4 Turbo", + "id": "mistralai/mistral-small-4-119b-2603", + "name": "Mistral Small 4 119B", + "display_name": "Mistral Small 4 119B", "modalities": { "input": [ "text", @@ -165143,99 +172283,89 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 262144, + "output": 16384 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2023-12", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", + "release_date": "2026-03-16", + "last_updated": "2026-03-16", "cost": { - "input": 10, - "output": 30 + "input": 0.4, + "output": 1.4 }, "type": "chat" }, { - "id": "openai/gpt-4.1", - "name": "GPT-4.1", - "display_name": "GPT-4.1", + "id": "mistralai/ministral-14b-2512", + "name": "Ministral 14B", + "display_name": "Ministral 14B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, + "context": 262144, "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "release_date": "2025-12-04", + "last_updated": "2025-12-04", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "openai/gpt-4o-mini", - "name": "GPT-4o mini", - "display_name": "GPT-4o mini", + "id": "mistralai/mistral-large-3-675b-instruct-2512", + "name": "Mistral Large 3 675B", + "display_name": "Mistral Large 3 675B", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 262144, + "output": 256000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.075 + "input": 1, + "output": 3 }, "type": "chat" }, { - "id": "openai/gpt-5-nano", - "name": "GPT-5 Nano", - "display_name": "GPT-5 Nano", + "id": "mistralai/mistral-medium-3", + "name": "Mistral Medium 3", + "display_name": "Mistral Medium 3", "modalities": { "input": [ "text", @@ -165246,52 +172376,27 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 32768 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", "cost": { - "input": 0.05, - "output": 0.4, - "cache_read": 0.005 + "input": 0.4, + "output": 2 }, "type": "chat" }, { - "id": "openai/o3-mini", - "name": "o3-mini", - "display_name": "o3-mini", + "id": "mistralai/devstral-2-123b-instruct-2512", + "name": "Devstral 2 123B", + "display_name": "Devstral 2 123B", "modalities": { "input": [ "text" @@ -165301,326 +172406,208 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 262144, + "output": 65536 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": false, "open_weights": false, - "knowledge": "2024-05", - "release_date": "2024-12-20", - "last_updated": "2025-01-29", + "release_date": "2025-12-09", + "last_updated": "2025-12-09", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.55 + "input": 0.4, + "output": 1.4 }, "type": "chat" }, { - "id": "openai/o4-mini", - "name": "o4-mini", - "display_name": "o4-mini", + "id": "mistralai/codestral-2508", + "name": "Codestral 2508", + "display_name": "Codestral 2508", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 256000, + "output": 32768 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "release_date": "2025-08-01", + "last_updated": "2025-08-01", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.275 + "input": 0.3, + "output": 0.8999999999999999 }, "type": "chat" }, { - "id": "openai/gpt-4.1-mini", - "name": "GPT-4.1 mini", - "display_name": "GPT-4.1 mini", + "id": "mistralai/Mistral-Nemo-Instruct-2407", + "name": "Mistral Nemo", + "display_name": "Mistral Nemo", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 16384, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", "cost": { - "input": 0.4, - "output": 1.6, - "cache_read": 0.1 + "input": 0.1003, + "output": 0.1207 }, "type": "chat" }, { - "id": "openai/gpt-5", - "name": "GPT-5", - "display_name": "GPT-5", + "id": "bytedance-seed/seed-2.0-lite", + "name": "ByteDance Seed 2.0 Lite", + "display_name": "ByteDance Seed 2.0 Lite", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 131072 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "release_date": "2026-03-10", + "last_updated": "2026-03-10", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.25, + "output": 2 }, "type": "chat" }, { - "id": "openai/o3", - "name": "o3", - "display_name": "o3", + "id": "anthracite-org/magnum-v2-72b", + "name": "Magnum V2 72B", + "display_name": "Magnum V2 72B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 16384, + "output": 8192 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "release_date": "2024-07-01", + "last_updated": "2024-07-01", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 2.006, + "output": 2.992 }, "type": "chat" }, { - "id": "openai/gpt-5-codex", - "name": "GPT-5-Codex", - "display_name": "GPT-5-Codex", + "id": "anthracite-org/magnum-v4-72b", + "name": "Magnum v4 72B", + "display_name": "Magnum v4 72B", "modalities": { "input": [ "text", - "image" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 16384, + "output": 8192 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 2.006, + "output": 2.992 }, "type": "chat" }, { - "id": "openai/gpt-4o", - "name": "GPT-4o", - "display_name": "GPT-4o", + "id": "inflatebot/MN-12B-Mag-Mell-R1", + "name": "Mag Mell R1", + "display_name": "Mag Mell R1", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 16384, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-08-06", + "release_date": "2024-07-01", + "last_updated": "2024-07-01", "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 + "input": 0.49299999999999994, + "output": 0.49299999999999994 }, "type": "chat" }, { - "id": "openai/gpt-5-mini", - "name": "GPT-5 Mini", - "display_name": "GPT-5 Mini", + "id": "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning", + "name": "Nvidia Nemotron 3 Nano Omni", + "display_name": "Nvidia Nemotron 3 Nano Omni", "modalities": { "input": [ "text", @@ -165631,62 +172618,39 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 256000, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, "attachment": true, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "release_date": "2026-04-28", + "last_updated": "2026-04-28", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 0.105, + "output": 0.42 }, "type": "chat" }, { - "id": "bytedance/seedance-v1.0-pro-fast", - "name": "Seedance v1.0 Pro Fast", - "display_name": "Seedance v1.0 Pro Fast", + "id": "nvidia/Llama-3.1-Nemotron-70B-Instruct-HF", + "name": "Nvidia Nemotron 70b", + "display_name": "Nvidia Nemotron 70b", "modalities": { "input": [ "text" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, + "context": 16384, "output": 8192 }, "temperature": true, @@ -165696,25 +172660,29 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-10-31", - "last_updated": "2025-10-31", + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "cost": { + "input": 0.357, + "output": 0.408 + }, "type": "chat" }, { - "id": "bytedance/seedance-v1.0-lite-t2v", - "name": "Seedance v1.0 Lite Text-to-Video", - "display_name": "Seedance v1.0 Lite Text-to-Video", + "id": "nvidia/nvidia-nemotron-nano-9b-v2", + "name": "Nvidia Nemotron Nano 9B v2", + "display_name": "Nvidia Nemotron Nano 9B v2", "modalities": { "input": [ "text" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": false, @@ -165723,53 +172691,60 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-06-01", - "last_updated": "2025-06-01", + "release_date": "2025-08-18", + "last_updated": "2025-08-18", + "cost": { + "input": 0.17, + "output": 0.68 + }, "type": "chat" }, { - "id": "bytedance/seedance-2.0-fast", - "name": "Seedance 2.0 Fast", - "display_name": "Seedance 2.0 Fast", + "id": "nvidia/Llama-3_3-Nemotron-Super-49B-v1_5", + "name": "Nvidia Nemotron Super 49B v1.5", + "display_name": "Nvidia Nemotron Super 49B v1.5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-14", - "last_updated": "2026-04-14", + "release_date": "2025-08-08", + "last_updated": "2025-08-08", + "cost": { + "input": 0.05, + "output": 0.25 + }, "type": "chat" }, { - "id": "bytedance/seedance-v1.0-lite-i2v", - "name": "Seedance v1.0 Lite Image-to-Video", - "display_name": "Seedance v1.0 Lite Image-to-Video", + "id": "nvidia/nemotron-3-nano-30b-a3b", + "name": "Nvidia Nemotron 3 Nano 30B", + "display_name": "Nvidia Nemotron 3 Nano 30B", "modalities": { "input": [ "text" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 256000, + "output": 262144 }, "temperature": true, "tool_call": false, @@ -165778,25 +172753,29 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-06-01", - "last_updated": "2025-06-01", + "release_date": "2025-12-15", + "last_updated": "2025-12-15", + "cost": { + "input": 0.17, + "output": 0.68 + }, "type": "chat" }, { - "id": "bytedance/seedream-5.0-lite", - "name": "Seedream 5.0 Lite", - "display_name": "Seedream 5.0 Lite", + "id": "nvidia/Llama-3.3-Nemotron-Super-49B-v1", + "name": "Nvidia Nemotron Super 49B", + "display_name": "Nvidia Nemotron Super 49B", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": false, @@ -165805,96 +172784,112 @@ }, "attachment": false, "open_weights": false, - "release_date": "2026-01-28", - "last_updated": "2026-01-28", + "release_date": "2025-08-08", + "last_updated": "2025-08-08", + "cost": { + "input": 0.15, + "output": 0.15 + }, "type": "chat" }, { - "id": "bytedance/seedance-2.0", - "name": "Seedance 2.0", - "display_name": "Seedance 2.0", + "id": "nvidia/nemotron-3-super-120b-a12b:thinking", + "name": "Nvidia Nemotron 3 Super 120B Thinking", + "display_name": "Nvidia Nemotron 3 Super 120B Thinking", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 262144, + "output": 16384 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-14", - "last_updated": "2026-04-14", + "release_date": "2026-03-01", + "last_updated": "2026-03-01", + "cost": { + "input": 0.05, + "output": 0.25 + }, "type": "chat" }, { - "id": "bytedance/seedream-4.0", - "name": "Seedream 4.0", - "display_name": "Seedream 4.0", + "id": "nvidia/nemotron-3-super-120b-a12b", + "name": "Nvidia Nemotron 3 Super 120B", + "display_name": "Nvidia Nemotron 3 Super 120B", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 262144, + "output": 16384 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2025-08-28", - "last_updated": "2025-08-28", + "release_date": "2026-03-01", + "last_updated": "2026-03-01", + "cost": { + "input": 0.05, + "output": 0.25 + }, "type": "chat" }, { - "id": "bytedance/seedream-4.5", - "name": "Seedream 4.5", - "display_name": "Seedream 4.5", + "id": "cognitivecomputations/dolphin-2.9.2-qwen2-72b", + "name": "Dolphin 72b", + "display_name": "Dolphin 72b", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { "context": 8192, - "output": 8192 + "output": 4096 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-11-28", - "last_updated": "2025-11-28", + "release_date": "2025-02-27", + "last_updated": "2025-02-27", + "cost": { + "input": 0.306, + "output": 0.306 + }, "type": "chat" }, { - "id": "bytedance/seed-1.6", - "name": "Seed 1.6", - "display_name": "Seed 1.6", + "id": "xiaomi/mimo-v2-flash-original", + "name": "MiMo V2 Flash Original", + "display_name": "MiMo V2 Flash Original", "modalities": { "input": [ "text" @@ -165905,335 +172900,408 @@ }, "limit": { "context": 256000, - "output": 32000 + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-09-01", - "last_updated": "2025-09", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.05 + "input": 0.102, + "output": 0.306 }, "type": "chat" }, { - "id": "bytedance/seedance-v1.0-pro", - "name": "Seedance v1.0 Pro", - "display_name": "Seedance v1.0 Pro", + "id": "xiaomi/mimo-v2-flash-thinking-original", + "name": "MiMo V2 Flash (Thinking) Original", + "display_name": "MiMo V2 Flash (Thinking) Original", "modalities": { "input": [ "text" ], "output": [ - "video" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 256000, + "output": 32768 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2025-06-11", - "last_updated": "2025-06-11", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "cost": { + "input": 0.102, + "output": 0.306 + }, "type": "chat" }, { - "id": "bytedance/seed-1.8", - "name": "Seed 1.8", - "display_name": "Seed 1.8", + "id": "xiaomi/mimo-v2.5", + "name": "MiMo V2.5", + "display_name": "MiMo V2.5", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 64000 + "context": 1048576, + "output": 131072 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-09-01", - "last_updated": "2025-10", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.05 + "input": 0.14, + "output": 0.28, + "cache_read": 0.0028 }, "type": "chat" }, { - "id": "bytedance/seedance-v1.5-pro", - "name": "Seedance v1.5 Pro", - "display_name": "Seedance v1.5 Pro", + "id": "xiaomi/mimo-v2-omni", + "name": "MiMo V2 Omni", + "display_name": "MiMo V2 Omni", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio" ], "output": [ - "video" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2025-12-16", - "last_updated": "2025-12-16", - "type": "chat" - }, - { - "id": "recraft/recraft-v4.1-utility", - "name": "Recraft V4.1 Utility", - "display_name": "Recraft V4.1 Utility", - "modalities": { - "input": [ "text" - ], - "output": [ - "image" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 262144, + "output": 65536 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-05-14", - "last_updated": "2026-05-14", + "release_date": "2026-03-19", + "last_updated": "2026-03-19", + "cost": { + "input": 0.4, + "output": 2, + "cache_read": 0.08 + }, "type": "chat" }, { - "id": "recraft/recraft-v4.1-pro", - "name": "Recraft V4.1 Pro", - "display_name": "Recraft V4.1 Pro", + "id": "xiaomi/mimo-v2-flash", + "name": "MiMo V2 Flash", + "display_name": "MiMo V2 Flash", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 256000, + "output": 32768 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2026-05-14", - "last_updated": "2026-05-14", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "cost": { + "input": 0.102, + "output": 0.306 + }, "type": "chat" }, { - "id": "recraft/recraft-v4-pro", - "name": "Recraft V4 Pro", - "display_name": "Recraft V4 Pro", + "id": "xiaomi/mimo-v2-pro", + "name": "MiMo V2 Pro", + "display_name": "MiMo V2 Pro", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 1048576, + "output": 131072 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2026-02-17", - "last_updated": "2026-02-17", + "release_date": "2026-03-19", + "last_updated": "2026-03-19", + "cost": { + "input": 1, + "output": 3, + "cache_read": 0.2 + }, "type": "chat" }, { - "id": "recraft/recraft-v4.1-utility-pro", - "name": "Recraft V4.1 Utility Pro", - "display_name": "Recraft V4.1 Utility Pro", + "id": "xiaomi/mimo-v2.5-pro", + "name": "MiMo V2.5 Pro", + "display_name": "MiMo V2.5 Pro", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 1048576, + "output": 131072 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2026-05-14", - "last_updated": "2026-05-14", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "cost": { + "input": 0.435, + "output": 0.87, + "cache_read": 0.0036 + }, "type": "chat" }, { - "id": "recraft/recraft-v2", - "name": "Recraft V2", - "display_name": "Recraft V2", + "id": "xiaomi/mimo-v2-flash-thinking", + "name": "MiMo V2 Flash (Thinking)", + "display_name": "MiMo V2 Flash (Thinking)", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 512, - "output": 8192 + "context": 256000, + "output": 32768 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2024-03-01", - "last_updated": "2024-03", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "cost": { + "input": 0.102, + "output": 0.306 + }, "type": "chat" }, { - "id": "recraft/recraft-v3", - "name": "Recraft V3", - "display_name": "Recraft V3", + "id": "anthropic/claude-haiku-latest", + "name": "Claude Haiku Latest", + "display_name": "Claude Haiku Latest", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 512, - "output": 8192 + "context": 200000, + "output": 64000 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-10-01", - "last_updated": "2024-10", + "release_date": "2026-03-29", + "last_updated": "2026-03-29", + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1 + }, "type": "chat" }, { - "id": "recraft/recraft-v4", - "name": "Recraft V4", - "display_name": "Recraft V4", + "id": "anthropic/claude-opus-4.7:thinking", + "name": "Claude 4.7 Opus Thinking", + "display_name": "Claude 4.7 Opus Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 1000000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-02-17", - "last_updated": "2026-02-17", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "cost": { + "input": 4.998, + "output": 25.007, + "cache_read": 0.4998 + }, "type": "chat" }, { - "id": "recraft/recraft-v4.1", - "name": "Recraft V4.1", - "display_name": "Recraft V4.1", + "id": "anthropic/claude-opus-4.6:thinking:max", + "name": "Claude 4.6 Opus Thinking Max", + "display_name": "Claude 4.6 Opus Thinking Max", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 1000000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } + }, + "attachment": true, "open_weights": false, - "release_date": "2026-05-14", - "last_updated": "2026-05-14", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "cost": { + "input": 4.998, + "output": 25.007 + }, "type": "chat" }, { - "id": "minimax/minimax-m3", - "name": "MiniMax M3", - "display_name": "MiniMax M3", + "id": "anthropic/claude-opus-4.6:thinking:low", + "name": "Claude 4.6 Opus Thinking Low", + "display_name": "Claude 4.6 Opus Thinking Low", "modalities": { "input": [ "text", @@ -166246,9 +173314,8 @@ }, "limit": { "context": 1000000, - "output": 1000000 + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -166256,37 +173323,60 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] } }, "attachment": true, "open_weights": false, - "release_date": "2026-05-31", - "last_updated": "2026-06-01", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06 + "input": 4.998, + "output": 25.007 }, "type": "chat" }, { - "id": "minimax/minimax-m2.7-highspeed", - "name": "MiniMax M2.7 High Speed", - "display_name": "MiniMax M2.7 High Speed", + "id": "anthropic/claude-sonnet-4.6:thinking", + "name": "Claude Sonnet 4.6 Thinking", + "display_name": "Claude Sonnet 4.6 Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131100 + "context": 1000000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -166295,84 +173385,120 @@ "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": true, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, "attachment": true, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", "cost": { - "input": 0.6, - "output": 2.4, - "cache_read": 0.06, - "cache_write": 0.375 + "input": 2.992, + "output": 14.993999999999998 }, "type": "chat" }, { - "id": "minimax/minimax-m2.1", - "name": "MiniMax M2.1", - "display_name": "MiniMax M2.1", + "id": "anthropic/claude-opus-4.7", + "name": "Claude 4.7 Opus", + "display_name": "Claude 4.7 Opus", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1000000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-10-27", - "last_updated": "2025-12-23", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.03, - "cache_write": 0.375 + "input": 4.998, + "output": 25.007, + "cache_read": 0.4998 }, "type": "chat" }, { - "id": "minimax/minimax-m2.7", - "name": "Minimax M2.7", - "display_name": "Minimax M2.7", + "id": "anthropic/claude-opus-4.6:thinking:medium", + "name": "Claude 4.6 Opus Thinking Medium", + "display_name": "Claude 4.6 Opus Thinking Medium", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131000 + "context": 1000000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -166381,43 +173507,59 @@ "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": true, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, "attachment": true, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "open_weights": false, + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06, - "cache_write": 0.375 + "input": 4.998, + "output": 25.007 }, "type": "chat" }, { - "id": "minimax/minimax-m2", - "name": "MiniMax M2", - "display_name": "MiniMax M2", + "id": "anthropic/claude-opus-4.8:thinking", + "name": "Claude Opus 4.8 Thinking", + "display_name": "Claude Opus 4.8 Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 205000, - "output": 205000 + "context": 1000000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -166426,179 +173568,170 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-10-27", - "last_updated": "2025-10-27", + "attachment": true, + "open_weights": false, + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.03, - "cache_write": 0.375 + "input": 4.998, + "output": 25.007, + "cache_read": 0.4998 }, "type": "chat" }, { - "id": "minimax/minimax-m2.5", - "name": "MiniMax M2.5", - "display_name": "MiniMax M2.5", + "id": "anthropic/claude-sonnet-latest", + "name": "Claude Sonnet Latest", + "display_name": "Claude Sonnet Latest", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131000 + "context": 1000000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "release_date": "2026-03-01", + "last_updated": "2026-03-01", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.03, - "cache_write": 0.375 + "input": 2.992, + "output": 14.994, + "cache_read": 0.2992 }, "type": "chat" }, { - "id": "minimax/minimax-m2.5-highspeed", - "name": "MiniMax M2.5 High Speed", - "display_name": "MiniMax M2.5 High Speed", + "id": "anthropic/claude-opus-4.8", + "name": "Claude Opus 4.8", + "display_name": "Claude Opus 4.8", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131000 + "context": 1000000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-02-12", - "last_updated": "2026-02-13", + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "cost": { - "input": 0.6, - "output": 2.4, - "cache_read": 0.03, - "cache_write": 0.375 + "input": 4.998, + "output": 25.007, + "cache_read": 0.4998 }, "type": "chat" }, { - "id": "minimax/minimax-m2.1-lightning", - "name": "MiniMax M2.1 Lightning", - "display_name": "MiniMax M2.1 Lightning", + "id": "anthropic/claude-opus-latest", + "name": "Claude Opus Latest", + "display_name": "Claude Opus Latest", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1000000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-10", - "release_date": "2025-10-27", - "last_updated": "2025-10-27", - "cost": { - "input": 0.3, - "output": 2.4, - "cache_read": 0.03, - "cache_write": 0.375 - }, - "type": "chat" - } - ] - }, - "abacus": { - "id": "abacus", - "name": "Abacus", - "display_name": "Abacus", - "api": "https://routellm.abacus.ai/v1", - "doc": "https://abacus.ai/help/api", - "models": [ - { - "id": "route-llm", - "name": "Route LLM", - "display_name": "Route LLM", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 16384 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, "attachment": true, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-01-01", - "last_updated": "2024-01-01", + "release_date": "2026-03-29", + "last_updated": "2026-03-29", "cost": { - "input": 3, - "output": 15 + "input": 4.998, + "output": 25.007, + "cache_read": 0.4998 }, "type": "chat" }, { - "id": "claude-sonnet-4-6", + "id": "anthropic/claude-sonnet-4.6", "name": "Claude Sonnet 4.6", "display_name": "Claude Sonnet 4.6", "modalities": { @@ -166612,10 +173745,9 @@ ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 1000000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -166655,29 +173787,29 @@ "release_date": "2026-02-17", "last_updated": "2026-02-17", "cost": { - "input": 3, - "output": 15 + "input": 2.992, + "output": 14.993999999999998 }, "type": "chat" }, { - "id": "gpt-5-mini", - "name": "GPT-5 Mini", - "display_name": "GPT-5 Mini", + "id": "anthropic/claude-opus-4.6:thinking", + "name": "Claude 4.6 Opus Thinking", + "display_name": "Claude 4.6 Opus Thinking", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, + "context": 1000000, "output": 128000 }, - "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -166687,52 +173819,58 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "effort", - "effort": "medium", + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", "effort_options": [ - "minimal", "low", "medium", - "high" + "high", + "max" ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 0.25, - "output": 2 + "input": 4.998, + "output": 25.007 }, "type": "chat" }, { - "id": "gpt-5.2", - "name": "GPT-5.2", - "display_name": "GPT-5.2", + "id": "anthropic/claude-opus-4.6", + "name": "Claude 4.6 Opus", + "display_name": "Claude 4.6 Opus", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, + "context": 1000000, "output": 128000 }, - "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -166742,236 +173880,263 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "effort", - "effort": "none", + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", "effort_options": [ - "none", "low", "medium", "high", - "xhigh" + "max" ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ], - "visibility": "hidden" + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 1.75, - "output": 14 + "input": 4.998, + "output": 25.007 }, "type": "chat" }, { - "id": "gpt-5-codex", - "name": "GPT-5 Codex", - "display_name": "GPT-5 Codex", + "id": "tencent/Hunyuan-MT-7B", + "name": "Hunyuan MT 7B", + "display_name": "Hunyuan MT 7B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 8192, + "output": 8192 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-09-18", + "last_updated": "2025-09-18", + "cost": { + "input": 10, + "output": 20 + }, + "type": "chat" + }, + { + "id": "tencent/hy3-preview", + "name": "Tencent: Hy3 preview", + "display_name": "Tencent: Hy3 preview", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "tool_call": false, + "reasoning": { + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 1.25, - "output": 10 + "input": 0.066, + "output": 0.26, + "cache_read": 0.029 }, "type": "chat" }, { - "id": "o3", - "name": "o3", - "display_name": "o3", + "id": "chutesai/Mistral-Small-3.2-24B-Instruct-2506", + "name": "Mistral Small 3.2 24b Instruct", + "display_name": "Mistral Small 3.2 24b Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 128000, + "output": 131072 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "attachment": false, + "open_weights": false, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "cost": { + "input": 0.2, + "output": 0.4 }, - "attachment": true, + "type": "chat" + }, + { + "id": "dmind/dmind-1-mini", + "name": "DMind-1-Mini", + "display_name": "DMind-1-Mini", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 32768, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "release_date": "2025-06-01", + "last_updated": "2025-06-01", "cost": { - "input": 2, - "output": 8 + "input": 0.2, + "output": 0.4 }, "type": "chat" }, { - "id": "gpt-5.3-chat-latest", - "name": "GPT-5.3 Chat Latest", - "display_name": "GPT-5.3 Chat Latest", + "id": "dmind/dmind-1", + "name": "DMind-1", + "display_name": "DMind-1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 32768, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-03-01", - "last_updated": "2026-03-01", + "release_date": "2025-06-01", + "last_updated": "2025-06-01", "cost": { - "input": 1.75, - "output": 14 + "input": 0.3, + "output": 0.6 }, "type": "chat" }, { - "id": "claude-haiku-4-5-20251001", - "name": "Claude Haiku 4.5", - "display_name": "Claude Haiku 4.5", + "id": "MarinaraSpaghetti/NemoMix-Unleashed-12B", + "name": "NemoMix 12B Unleashed", + "display_name": "NemoMix 12B Unleashed", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 32768, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "attachment": false, + "open_weights": false, + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 }, - "attachment": true, + "type": "chat" + }, + { + "id": "deepcogito/cogito-v1-preview-qwen-32B", + "name": "Cogito v1 Preview Qwen 32B", + "display_name": "Cogito v1 Preview Qwen 32B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 32768 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "release_date": "2025-05-10", + "last_updated": "2025-05-10", "cost": { - "input": 1, - "output": 5 + "input": 1.7999999999999998, + "output": 1.7999999999999998 }, "type": "chat" }, { - "id": "gpt-4o-2024-11-20", - "name": "GPT-4o (2024-11-20)", - "display_name": "GPT-4o (2024-11-20)", + "id": "cohere/command-r", + "name": "Cohere: Command R", + "display_name": "Cohere: Command R", "modalities": { "input": [ - "text", - "image", - "audio" + "text" ], "output": [ "text" @@ -166979,228 +174144,184 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-10", - "release_date": "2024-11-20", - "last_updated": "2024-11-20", + "release_date": "2024-03-11", + "last_updated": "2024-03-11", "cost": { - "input": 2.5, - "output": 10 + "input": 0.476, + "output": 1.428 }, "type": "chat" }, { - "id": "gpt-5", - "name": "GPT-5", - "display_name": "GPT-5", + "id": "cohere/command-r-plus-08-2024", + "name": "Cohere: Command R+", + "display_name": "Cohere: Command R+", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 4096 }, - "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", "cost": { - "input": 1.25, - "output": 10 + "input": 2.856, + "output": 14.246 }, "type": "chat" }, { - "id": "gemini-3.1-flash-lite-preview", - "name": "Gemini 3.1 Flash Lite Preview", - "display_name": "Gemini 3.1 Flash Lite Preview", + "id": "stepfun/step-3.7-flash:thinking", + "name": "Step 3.7 Flash Thinking", + "display_name": "Step 3.7 Flash Thinking", "modalities": { "input": [ "text", "image", - "audio", - "video", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 256000, + "output": 256000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, "attachment": true, "open_weights": false, - "release_date": "2026-03-01", - "last_updated": "2026-03-01", + "release_date": "2026-05-29", + "last_updated": "2026-05-29", "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.025, - "cache_write": 1 + "input": 0.2, + "output": 1.15, + "cache_read": 0.04 }, "type": "chat" }, { - "id": "grok-4-0709", - "name": "Grok 4", - "display_name": "Grok 4", + "id": "nex-agi/deepseek-v3.1-nex-n1", + "name": "DeepSeek V3.1 Nex N1", + "display_name": "DeepSeek V3.1 Nex N1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 16384 + "context": 128000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", + "release_date": "2025-12-10", + "last_updated": "2025-12-10", "cost": { - "input": 3, - "output": 15 + "input": 0.27999999999999997, + "output": 0.42000000000000004 }, "type": "chat" }, { - "id": "grok-4-fast-non-reasoning", - "name": "Grok 4 Fast (Non-Reasoning)", - "display_name": "Grok 4 Fast (Non-Reasoning)", + "id": "undi95/remm-slerp-l2-13b", + "name": "ReMM SLERP 13B", + "display_name": "ReMM SLERP 13B", "modalities": { "input": [ "text", - "image" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 16384 + "context": 6144, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0.2, - "output": 0.5 + "input": 0.7989999999999999, + "output": 1.2069999999999999 }, "type": "chat" }, { - "id": "gpt-4.1-mini", - "name": "GPT-4.1 Mini", - "display_name": "GPT-4.1 Mini", + "id": "nothingiisreal/L3.1-70B-Celeste-V0.1-BF16", + "name": "Llama 3.1 70B Celeste v0.1", + "display_name": "Llama 3.1 70B Celeste v0.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 16384, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 0.4, - "output": 1.6 + "input": 0.49299999999999994, + "output": 0.49299999999999994 }, "type": "chat" }, { - "id": "o3-pro", - "name": "o3-pro", - "display_name": "o3-pro", + "id": "zai-org/glm-4.7-flash-original:thinking", + "name": "GLM 4.7 Flash Original Thinking", + "display_name": "GLM 4.7 Flash Original Thinking", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -167208,48 +174329,30 @@ }, "limit": { "context": 200000, - "output": 100000 + "output": 128000 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-06-10", - "last_updated": "2025-06-10", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", "cost": { - "input": 20, - "output": 40 + "input": 0.07, + "output": 0.4 }, "type": "chat" }, { - "id": "claude-opus-4-20250514", - "name": "Claude Opus 4", - "display_name": "Claude Opus 4", + "id": "zai-org/glm-4.7", + "name": "GLM 4.7", + "display_name": "GLM 4.7", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" @@ -167257,153 +174360,130 @@ }, "limit": { "context": 200000, - "output": 32000 + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": true, - "open_weights": false, - "release_date": "2025-05-14", - "last_updated": "2025-05-14", + "attachment": false, + "open_weights": true, + "release_date": "2026-01-29", + "last_updated": "2026-01-29", "cost": { - "input": 15, - "output": 75 + "input": 0.15, + "output": 0.8 }, "type": "chat" }, { - "id": "o4-mini", - "name": "o4-mini", - "display_name": "o4-mini", + "id": "zai-org/GLM-4.5-Air:thinking", + "name": "GLM 4.5 Air (Thinking)", + "display_name": "GLM 4.5 Air (Thinking)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 128000, + "output": 98304 }, - "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "attachment": false, + "open_weights": false, + "release_date": "2024-01-01", + "last_updated": "2024-01-01", + "cost": { + "input": 0.12, + "output": 0.8 }, - "attachment": true, + "type": "chat" + }, + { + "id": "zai-org/GLM-4.5:thinking", + "name": "GLM 4.5 (Thinking)", + "display_name": "GLM 4.5 (Thinking)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 65536 + }, + "tool_call": false, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "release_date": "2024-01-01", + "last_updated": "2024-01-01", "cost": { - "input": 1.1, - "output": 4.4 + "input": 0.3, + "output": 1.3 }, "type": "chat" }, { - "id": "gpt-5.4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "zai-org/glm-4.5", + "name": "GLM 4.5", + "display_name": "GLM 4.5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 128000, + "output": 65536 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "release_date": "2025-04-15", + "last_updated": "2025-04-15", "cost": { - "input": 2.5, - "output": 15 + "input": 0.3, + "output": 1.3 }, "type": "chat" }, { - "id": "o3-mini", - "name": "o3-mini", - "display_name": "o3-mini", + "id": "zai-org/glm-5-original", + "name": "GLM 5 Original", + "display_name": "GLM 5 Original", "modalities": { "input": [ "text" @@ -167414,60 +174494,40 @@ }, "limit": { "context": 200000, - "output": 100000 + "output": 128000 }, - "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, "attachment": false, "open_weights": false, - "knowledge": "2024-05", - "release_date": "2024-12-20", - "last_updated": "2025-01-29", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 1.1, - "output": 4.4 + "input": 1, + "output": 3.2, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "gemini-3-flash-preview", - "name": "Gemini 3 Flash Preview", - "display_name": "Gemini 3 Flash Preview", + "id": "zai-org/glm-5.1", + "name": "GLM 5.1", + "display_name": "GLM 5.1", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 200000, + "output": 131072 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -167475,38 +174535,23 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "supported": true } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "attachment": false, + "open_weights": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 0.5, - "output": 3 + "input": 0.3, + "output": 2.55 }, "type": "chat" }, { - "id": "qwen-2.5-coder-32b", - "name": "Qwen 2.5 Coder 32B", - "display_name": "Qwen 2.5 Coder 32B", + "id": "zai-org/glm-4.7-original", + "name": "GLM 4.7 Original", + "display_name": "GLM 4.7 Original", "modalities": { "input": [ "text" @@ -167516,28 +174561,29 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 200000, + "output": 65535 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": true, - "release_date": "2024-11-11", - "last_updated": "2024-11-11", + "open_weights": false, + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 0.79, - "output": 0.79 + "input": 0.6, + "output": 2.2, + "cache_read": 0.11 }, "type": "chat" }, { - "id": "qwen3-max", - "name": "Qwen3 Max", - "display_name": "Qwen3 Max", + "id": "zai-org/glm-4.7-original:thinking", + "name": "GLM 4.7 Original Thinking", + "display_name": "GLM 4.7 Original Thinking", "modalities": { "input": [ "text" @@ -167547,217 +174593,153 @@ ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 200000, + "output": 65535 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, "open_weights": false, - "release_date": "2025-05-28", - "last_updated": "2025-05-28", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 1.2, - "output": 6 + "input": 0.6, + "output": 2.2, + "cache_read": 0.11 }, "type": "chat" }, { - "id": "gpt-5.2-chat-latest", - "name": "GPT-5.2 Chat Latest", - "display_name": "GPT-5.2 Chat Latest", + "id": "zai-org/glm-4.7-flash-original", + "name": "GLM 4.7 Flash Original", + "display_name": "GLM 4.7 Flash Original", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, + "context": 200000, "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2026-01-01", - "last_updated": "2026-01-01", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", "cost": { - "input": 1.75, - "output": 14 + "input": 0.07, + "output": 0.4 }, "type": "chat" }, { - "id": "gpt-5.1", - "name": "GPT-5.1", - "display_name": "GPT-5.1", + "id": "zai-org/glm-4.7:thinking", + "name": "GLM 4.7 Thinking", + "display_name": "GLM 4.7 Thinking", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 65535 }, - "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 1.25, - "output": 10 + "input": 0.2, + "output": 0.8 }, "type": "chat" }, { - "id": "gpt-5-nano", - "name": "GPT-5 Nano", - "display_name": "GPT-5 Nano", + "id": "zai-org/glm-5.1:thinking", + "name": "GLM 5.1 Thinking", + "display_name": "GLM 5.1 Thinking", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 131072 }, - "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "attachment": false, + "open_weights": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 0.05, - "output": 0.4 + "input": 0.3, + "output": 2.55 }, "type": "chat" }, { - "id": "gpt-4o-mini", - "name": "GPT-4o Mini", - "display_name": "GPT-4o Mini", + "id": "zai-org/glm-5:thinking", + "name": "GLM 5 Thinking", + "display_name": "GLM 5 Thinking", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.3, + "output": 2.55 }, "type": "chat" }, { - "id": "gpt-5.1-codex-max", - "name": "GPT-5.1 Codex Max", - "display_name": "GPT-5.1 Codex Max", + "id": "zai-org/glm-4.6v", + "name": "GLM 4.6V", + "display_name": "GLM 4.6V", "modalities": { "input": [ "text", @@ -167768,352 +174750,228 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 24000 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 1.25, - "output": 10 + "input": 0.3, + "output": 0.9 }, "type": "chat" }, { - "id": "grok-4-1-fast-non-reasoning", - "name": "Grok 4.1 Fast (Non-Reasoning)", - "display_name": "Grok 4.1 Fast (Non-Reasoning)", + "id": "zai-org/glm-4.6-original", + "name": "GLM 4.6 Original", + "display_name": "GLM 4.6 Original", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 2000000, - "output": 16384 + "context": 256000, + "output": 65535 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-11-17", - "last_updated": "2025-11-17", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.2, - "output": 0.5 + "input": 0.35, + "output": 1.4 }, "type": "chat" }, { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "display_name": "Gemini 2.5 Pro", + "id": "zai-org/glm-5-original:thinking", + "name": "GLM 5 Original Thinking", + "display_name": "GLM 5 Original Thinking", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 200000, + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-25", - "last_updated": "2025-03-25", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 1.25, - "output": 10 + "input": 1, + "output": 3.2, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "gpt-4.1", - "name": "GPT-4.1", - "display_name": "GPT-4.1", + "id": "zai-org/glm-4.7-flash:thinking", + "name": "GLM 4.7 Flash Thinking", + "display_name": "GLM 4.7 Flash Thinking", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 200000, + "output": 128000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", "cost": { - "input": 2, - "output": 8 + "input": 0.07, + "output": 0.4 }, "type": "chat" }, { - "id": "claude-sonnet-4-5-20250929", - "name": "Claude Sonnet 4.5", - "display_name": "Claude Sonnet 4.5", + "id": "zai-org/glm-4.6v-flash-original", + "name": "GLM 4.6V Flash", + "display_name": "GLM 4.6V Flash", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 128000, + "output": 24000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", "cost": { - "input": 3, - "output": 15 + "input": 0.1, + "output": 0.4 }, "type": "chat" }, { - "id": "claude-opus-4-1-20250805", - "name": "Claude Opus 4.1", - "display_name": "Claude Opus 4.1", + "id": "zai-org/glm-4.6v-original", + "name": "GLM 4.6V Original", + "display_name": "GLM 4.6V Original", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 128000, + "output": 24000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", "cost": { - "input": 15, - "output": 75 + "input": 0.6, + "output": 0.9 }, "type": "chat" }, { - "id": "gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "display_name": "Gemini 3.1 Pro Preview", + "id": "zai-org/glm-latest", + "name": "GLM Latest", + "display_name": "GLM Latest", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 200000, + "output": 131072 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", + "release_date": "2026-05-03", + "last_updated": "2026-05-03", "cost": { - "input": 2, - "output": 12 + "input": 0.75, + "output": 2.6, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "gpt-5.3-codex", - "name": "GPT-5.3 Codex", - "display_name": "GPT-5.3 Codex", + "id": "zai-org/glm-4.7-flash", + "name": "GLM 4.7 Flash", + "display_name": "GLM 4.7 Flash", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, + "context": 200000, "output": 128000 }, - "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -168121,152 +174979,84 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "attachment": false, + "open_weights": true, + "release_date": "2026-01-19", + "last_updated": "2026-01-19", "cost": { - "input": 1.75, - "output": 14 + "input": 0.07, + "output": 0.4 }, "type": "chat" }, { - "id": "gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "display_name": "Gemini 2.5 Flash", + "id": "zai-org/GLM-4.6-turbo:thinking", + "name": "GLM 4.6 Turbo (Thinking)", + "display_name": "GLM 4.6 Turbo (Thinking)", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 200000, + "output": 204800 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "release_date": "2025-10-02", + "last_updated": "2025-10-02", "cost": { - "input": 0.3, - "output": 2.5 + "input": 1, + "output": 3 }, "type": "chat" }, { - "id": "claude-3-7-sonnet-20250219", - "name": "Claude Sonnet 3.7", - "display_name": "Claude Sonnet 3.7", + "id": "zai-org/GLM-4.5-Air", + "name": "GLM 4.5 Air", + "display_name": "GLM 4.5 Air", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 128000, + "output": 98304 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": false, - "summaries": false, - "visibility": "full", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic uses thinking budget tokens" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-10-31", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", + "release_date": "2025-04-15", + "last_updated": "2025-04-15", "cost": { - "input": 3, - "output": 15 + "input": 0.12, + "output": 0.8 }, "type": "chat" }, { - "id": "kimi-k2-turbo-preview", - "name": "Kimi K2 Turbo Preview", - "display_name": "Kimi K2 Turbo Preview", + "id": "zai-org/GLM-4.6-turbo", + "name": "GLM 4.6 Turbo", + "display_name": "GLM 4.6 Turbo", "modalities": { "input": [ "text" @@ -168276,33 +175066,30 @@ ] }, "limit": { - "context": 256000, - "output": 8192 + "context": 200000, + "output": 204800 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-07-08", - "last_updated": "2025-07-08", + "release_date": "2025-10-02", + "last_updated": "2025-10-02", "cost": { - "input": 0.15, - "output": 8 + "input": 1, + "output": 3 }, "type": "chat" }, { - "id": "claude-opus-4-5-20251101", - "name": "Claude Opus 4.5", - "display_name": "Claude Opus 4.5", + "id": "zai-org/glm-5", + "name": "GLM 5", + "display_name": "GLM 5", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" @@ -168310,222 +175097,158 @@ }, "limit": { "context": 200000, - "output": 64000 + "output": 128000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-01", - "last_updated": "2025-11-01", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 5, - "output": 25 + "input": 0.3, + "output": 2.55 }, "type": "chat" }, { - "id": "gpt-5.2-codex", - "name": "GPT-5.2 Codex", - "display_name": "GPT-5.2 Codex", + "id": "Infermatic/MN-12B-Inferor-v0.0", + "name": "Mistral Nemo Inferor 12B", + "display_name": "Mistral Nemo Inferor 12B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 16384, + "output": 8192 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2024-07-01", + "last_updated": "2024-07-01", "cost": { - "input": 1.75, - "output": 14 + "input": 0.25499999999999995, + "output": 0.49299999999999994 }, "type": "chat" }, { - "id": "gpt-5.1-codex", - "name": "GPT-5.1 Codex", - "display_name": "GPT-5.1 Codex", + "id": "shisa-ai/shisa-v2.1-llama3.3-70b", + "name": "Shisa V2.1 Llama 3.3 70B", + "display_name": "Shisa V2.1 Llama 3.3 70B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 32768, + "output": 4096 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 1.25, - "output": 10 + "input": 0.5, + "output": 0.5 }, "type": "chat" }, { - "id": "claude-sonnet-4-20250514", - "name": "Claude Sonnet 4", - "display_name": "Claude Sonnet 4", + "id": "shisa-ai/shisa-v2-llama3.3-70b", + "name": "Shisa V2 Llama 3.3 70B", + "display_name": "Shisa V2 Llama 3.3 70B", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 128000, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "attachment": false, + "open_weights": false, + "release_date": "2025-07-26", + "last_updated": "2025-07-26", + "cost": { + "input": 0.5, + "output": 0.5 }, - "attachment": true, + "type": "chat" + }, + { + "id": "abacusai/Dracarys-72B-Instruct", + "name": "Llama 3.1 70B Dracarys 2", + "display_name": "Llama 3.1 70B Dracarys 2", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 16384, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, "open_weights": false, - "release_date": "2025-05-14", - "last_updated": "2025-05-14", + "release_date": "2025-08-02", + "last_updated": "2025-08-02", "cost": { - "input": 3, - "output": 15 + "input": 0.49299999999999994, + "output": 0.49299999999999994 }, "type": "chat" }, { - "id": "llama-3.3-70b-versatile", - "name": "Llama 3.3 70B Versatile", - "display_name": "Llama 3.3 70B Versatile", + "id": "deepseek-ai/DeepSeek-V3.1:thinking", + "name": "DeepSeek V3.1 Thinking", + "display_name": "DeepSeek V3.1 Thinking", "modalities": { "input": [ "text" @@ -168536,140 +175259,100 @@ }, "limit": { "context": 128000, - "output": 32768 + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "open_weights": false, + "release_date": "2025-08-21", + "last_updated": "2025-08-21", "cost": { - "input": 0.59, - "output": 0.79 + "input": 0.2, + "output": 0.7 }, "type": "chat" }, { - "id": "claude-opus-4-6", - "name": "Claude Opus 4.6", - "display_name": "Claude Opus 4.6", + "id": "deepseek-ai/DeepSeek-V3.1-Terminus", + "name": "DeepSeek V3.1 Terminus", + "display_name": "DeepSeek V3.1 Terminus", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 128000, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "release_date": "2025-08-02", + "last_updated": "2025-08-02", "cost": { - "input": 5, - "output": 25 + "input": 0.25, + "output": 0.7 }, "type": "chat" }, { - "id": "gpt-5.1-chat-latest", - "name": "GPT-5.1 Chat Latest", - "display_name": "GPT-5.1 Chat Latest", + "id": "deepseek-ai/deepseek-v3.2-exp-thinking", + "name": "DeepSeek V3.2 Exp Thinking", + "display_name": "DeepSeek V3.2 Exp Thinking", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 163840, + "output": 65536 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 1.25, - "output": 10 + "input": 0.27999999999999997, + "output": 0.42000000000000004 }, "type": "chat" }, { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "deepseek-ai/DeepSeek-R1-0528", + "name": "DeepSeek R1 0528", + "display_name": "DeepSeek R1 0528", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 128000, + "output": 163840 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -168686,24 +175369,22 @@ } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01", - "last_updated": "2026-01", + "open_weights": false, + "release_date": "2025-05-28", + "last_updated": "2025-05-28", "cost": { - "input": 0.6, - "output": 3 + "input": 0.4, + "output": 1.7 }, "type": "chat" }, { - "id": "gpt-5.3-codex-xhigh", - "name": "GPT-5.3 Codex XHigh", - "display_name": "GPT-5.3 Codex XHigh", + "id": "deepseek-ai/DeepSeek-V3.1", + "name": "DeepSeek V3.1", + "display_name": "DeepSeek V3.1", "modalities": { "input": [ "text", - "image", "pdf" ], "output": [ @@ -168711,121 +175392,87 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 65536 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "release_date": "2025-07-26", + "last_updated": "2025-07-26", "cost": { - "input": 1.75, - "output": 14 + "input": 0.2, + "output": 0.7 }, "type": "chat" }, { - "id": "grok-code-fast-1", - "name": "Grok Code Fast 1", - "display_name": "Grok Code Fast 1", + "id": "deepseek-ai/deepseek-v3.2-exp", + "name": "DeepSeek V3.2 Exp", + "display_name": "DeepSeek V3.2 Exp", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 16384 + "context": 163840, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-09-01", - "last_updated": "2025-09-01", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0.2, - "output": 1.5 + "input": 0.27999999999999997, + "output": 0.42000000000000004 }, "type": "chat" }, { - "id": "gpt-4.1-nano", - "name": "GPT-4.1 Nano", - "display_name": "GPT-4.1 Nano", + "id": "deepseek-ai/DeepSeek-V3.1-Terminus:thinking", + "name": "DeepSeek V3.1 Terminus (Thinking)", + "display_name": "DeepSeek V3.1 Terminus (Thinking)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 128000, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "release_date": "2025-09-22", + "last_updated": "2025-09-22", "cost": { - "input": 0.1, - "output": 0.4 + "input": 0.25, + "output": 0.7 }, "type": "chat" }, { - "id": "deepseek/deepseek-v3.1", - "name": "DeepSeek V3.1", - "display_name": "DeepSeek V3.1", + "id": "arcee-ai/trinity-large-thinking", + "name": "Trinity Large Thinking", + "display_name": "Trinity Large Thinking", "modalities": { "input": [ "text" @@ -168835,29 +175482,28 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 262144, + "output": 80000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": false, - "open_weights": true, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", + "open_weights": false, + "release_date": "2026-04-01", + "last_updated": "2026-04-01", "cost": { - "input": 0.55, - "output": 1.66 + "input": 0.25, + "output": 0.9 }, "type": "chat" }, { - "id": "zai-org/glm-4.6", - "name": "GLM-4.6", - "display_name": "GLM-4.6", + "id": "arcee-ai/trinity-mini", + "name": "Trinity Mini", + "display_name": "Trinity Mini", "modalities": { "input": [ "text" @@ -168867,33 +175513,27 @@ ] }, "limit": { - "context": 128000, + "context": 131072, "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-03-01", - "last_updated": "2025-03-01", + "open_weights": false, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "cost": { - "input": 0.6, - "output": 2.2 + "input": 0.045000000000000005, + "output": 0.15 }, "type": "chat" }, { - "id": "zai-org/glm-4.7", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "soob3123/GrayLine-Qwen3-8B", + "name": "Grayline Qwen3 8B", + "display_name": "Grayline Qwen3 8B", "modalities": { "input": [ "text" @@ -168903,39 +175543,27 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 16384, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-06-01", - "last_updated": "2025-06-01", + "open_weights": false, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", "cost": { - "input": 0.6, - "output": 2.2 + "input": 0.3, + "output": 0.3 }, "type": "chat" }, { - "id": "zai-org/glm-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "soob3123/Veiled-Calla-12B", + "name": "Veiled Calla 12B", + "display_name": "Veiled Calla 12B", "modalities": { "input": [ "text" @@ -168945,40 +175573,27 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 32768, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "open_weights": false, + "release_date": "2025-04-13", + "last_updated": "2025-04-13", "cost": { - "input": 1, - "output": 3.2 + "input": 0.3, + "output": 0.3 }, "type": "chat" }, { - "id": "zai-org/glm-4.5", - "name": "GLM-4.5", - "display_name": "GLM-4.5", + "id": "soob3123/amoral-gemma3-27B-v2", + "name": "Amoral Gemma3 27B v2", + "display_name": "Amoral Gemma3 27B v2", "modalities": { "input": [ "text" @@ -168988,62 +175603,57 @@ ] }, "limit": { - "context": 128000, + "context": 32768, "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "open_weights": false, + "release_date": "2025-05-23", + "last_updated": "2025-05-23", "cost": { - "input": 0.6, - "output": 2.2 + "input": 0.3, + "output": 0.3 }, "type": "chat" }, { - "id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", - "name": "Llama 4 Maverick 17B 128E Instruct FP8", - "display_name": "Llama 4 Maverick 17B 128E Instruct FP8", + "id": "meganova-ai/manta-mini-1.0", + "name": "Manta Mini 1.0", + "display_name": "Manta Mini 1.0", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 32768 + "context": 8192, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "attachment": false, + "open_weights": false, + "release_date": "2025-12-20", + "last_updated": "2025-12-20", "cost": { - "input": 0.14, - "output": 0.59 + "input": 0.02, + "output": 0.16 }, "type": "chat" }, { - "id": "meta-llama/Meta-Llama-3.1-8B-Instruct", - "name": "Llama 3.1 8B Instruct", - "display_name": "Llama 3.1 8B Instruct", + "id": "meganova-ai/manta-flash-1.0", + "name": "Manta Flash 1.0", + "display_name": "Manta Flash 1.0", "modalities": { "input": [ "text" @@ -169053,28 +175663,27 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 16384, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "open_weights": false, + "release_date": "2025-12-20", + "last_updated": "2025-12-20", "cost": { "input": 0.02, - "output": 0.05 + "output": 0.16 }, "type": "chat" }, { - "id": "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo", - "name": "Llama 3.1 405B Instruct Turbo", - "display_name": "Llama 3.1 405B Instruct Turbo", + "id": "meganova-ai/manta-pro-1.0", + "name": "Manta Pro 1.0", + "display_name": "Manta Pro 1.0", "modalities": { "input": [ "text" @@ -169084,60 +175693,71 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 32768, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", + "open_weights": false, + "release_date": "2025-12-20", + "last_updated": "2025-12-20", "cost": { - "input": 3.5, - "output": 3.5 + "input": 0.060000000000000005, + "output": 0.5 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.1-Terminus", - "name": "DeepSeek V3.1 Terminus", - "display_name": "DeepSeek V3.1 Terminus", + "id": "qwen/Qwen3.6-35B-A3B:thinking", + "name": "Qwen3.6 35B A3B Thinking", + "display_name": "Qwen3.6 35B A3B Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-06-01", - "last_updated": "2025-06-01", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-04-19", + "last_updated": "2026-04-19", "cost": { - "input": 0.27, - "output": 1 + "input": 0.112, + "output": 0.8 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.2", - "name": "DeepSeek V3.2", - "display_name": "DeepSeek V3.2", + "id": "qwen/qwen3-coder-plus", + "name": "Qwen3 Coder Plus", + "display_name": "Qwen3 Coder Plus", "modalities": { "input": [ "text" @@ -169148,50 +175768,43 @@ }, "limit": { "context": 128000, - "output": 8192 + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-06-15", - "last_updated": "2025-06-15", + "open_weights": false, + "release_date": "2025-09-17", + "last_updated": "2025-09-17", "cost": { - "input": 0.27, - "output": 0.4 + "input": 1, + "output": 5 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-R1", - "name": "DeepSeek R1", - "display_name": "DeepSeek R1", + "id": "qwen/Qwen3.6-35B-A3B", + "name": "Qwen3.6 35B A3B", + "display_name": "Qwen3.6 35B A3B", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 262144, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -169204,37 +175817,36 @@ ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", + "attachment": true, + "open_weights": false, + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { - "input": 3, - "output": 7 + "input": 0.112, + "output": 0.8 }, "type": "chat" }, { - "id": "Qwen/QwQ-32B", - "name": "QwQ 32B", - "display_name": "QwQ 32B", + "id": "qwen/qwen3-32b", + "name": "Qwen 3 32b", + "display_name": "Qwen 3 32b", "modalities": { "input": [ - "text" + "text", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 32768, + "context": 41000, "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -169247,23 +175859,24 @@ ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2024-11-28", - "last_updated": "2024-11-28", + "attachment": true, + "open_weights": false, + "release_date": "2024-01-01", + "last_updated": "2024-01-01", "cost": { - "input": 0.4, - "output": 0.4 + "input": 0.1, + "output": 0.3 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-72B-Instruct", - "name": "Qwen 2.5 72B Instruct", - "display_name": "Qwen 2.5 72B Instruct", + "id": "qwen/Qwen3-VL-235B-A22B-Instruct", + "name": "Qwen3 VL 235B A22B Instruct", + "display_name": "Qwen3 VL 235B A22B Instruct", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -169271,27 +175884,26 @@ }, "limit": { "context": 128000, - "output": 8192 + "output": 262144 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, - "open_weights": true, - "release_date": "2024-09-19", - "last_updated": "2024-09-19", + "attachment": true, + "open_weights": false, + "release_date": "2024-01-01", + "last_updated": "2024-01-01", "cost": { - "input": 0.11, - "output": 0.38 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "Qwen/qwen3-coder-480b-a35b-instruct", - "name": "Qwen3 Coder 480B A35B Instruct", - "display_name": "Qwen3 Coder 480B A35B Instruct", + "id": "qwen/qwen3-max", + "name": "Qwen3 Max", + "display_name": "Qwen3 Max", "modalities": { "input": [ "text" @@ -169301,61 +175913,82 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 256000, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": true, - "release_date": "2025-07-22", - "last_updated": "2025-07-22", + "open_weights": false, + "release_date": "2025-09-05", + "last_updated": "2025-09-05", "cost": { - "input": 0.29, - "output": 1.2 + "input": 1.08018, + "output": 5.4009 }, "type": "chat" }, { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen3 235B A22B Instruct", - "display_name": "Qwen3 235B A22B Instruct", + "id": "qwen/qwen3.5-397b-a17b-thinking", + "name": "Qwen3.5 397B A17B Thinking", + "display_name": "Qwen3.5 397B A17B Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 8192 + "context": 258048, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-07-01", - "last_updated": "2025-07-01", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-02-16", + "last_updated": "2026-02-16", "cost": { - "input": 0.13, - "output": 0.6 + "input": 0.6, + "output": 3.6 }, "type": "chat" }, { - "id": "Qwen/Qwen3-32B", - "name": "Qwen3 32B", - "display_name": "Qwen3 32B", + "id": "qwen/Qwen3-Next-80B-A3B-Instruct", + "name": "Qwen3 Next 80B A3B (Instruct)", + "display_name": "Qwen3 Next 80B A3B (Instruct)", "modalities": { "input": [ "text" @@ -169365,87 +175998,57 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 256000, + "output": 262144 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-04-29", - "last_updated": "2025-04-29", + "open_weights": false, + "release_date": "2025-09-11", + "last_updated": "2025-09-11", "cost": { - "input": 0.09, - "output": 0.29 + "input": 0.15, + "output": 0.65 }, "type": "chat" }, { - "id": "openai/gpt-oss-120b", - "name": "GPT-OSS 120B", - "display_name": "GPT-OSS 120B", + "id": "qwen/Qwen3-235B-A22B-Instruct-2507-TEE", + "name": "Qwen 3 235b A22B 2507 (TEE)", + "display_name": "Qwen 3 235b A22B 2507 (TEE)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 256000, + "output": 262144 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "attachment": false, + "open_weights": false, + "release_date": "2025-07-25", + "last_updated": "2025-07-25", "cost": { - "input": 0.08, - "output": 0.44 + "input": 0.13, + "output": 0.5 }, "type": "chat" - } - ] - }, - "drun": { - "id": "drun", - "name": "D.Run (China)", - "display_name": "D.Run (China)", - "api": "https://chat.d.run/v1", - "doc": "https://www.d.run", - "models": [ + }, { - "id": "public/deepseek-r1", - "name": "DeepSeek R1", - "display_name": "DeepSeek R1", + "id": "qwen/qwq-32b-preview", + "name": "Qwen QwQ 32B Preview", + "display_name": "Qwen QwQ 32B Preview", "modalities": { "input": [ "text" @@ -169455,14 +176058,12 @@ ] }, "limit": { - "context": 131072, - "output": 32000 + "context": 32768, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -169476,20 +176077,19 @@ } }, "attachment": false, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", + "open_weights": false, + "release_date": "2025-02-27", + "last_updated": "2025-02-27", "cost": { - "input": 0.55, - "output": 2.2 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "public/minimax-m25", - "name": "MiniMax M2.5", - "display_name": "MiniMax M2.5", + "id": "qwen/qwen3-next-80b-a3b-thinking", + "name": "Qwen3 Next 80B A3B (Thinking)", + "display_name": "Qwen3 Next 80B A3B (Thinking)", "modalities": { "input": [ "text" @@ -169499,14 +176099,12 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 256000, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -169521,18 +176119,18 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-03-01", - "last_updated": "2025-03-01", + "release_date": "2024-01-01", + "last_updated": "2024-01-01", "cost": { - "input": 0.29, - "output": 1.16 + "input": 0.15, + "output": 0.65 }, "type": "chat" }, { - "id": "public/deepseek-v3", - "name": "DeepSeek V3", - "display_name": "DeepSeek V3", + "id": "qwen/qwen3-coder", + "name": "Qwen 3 Coder 480B", + "display_name": "Qwen 3 Coder 480B", "modalities": { "input": [ "text" @@ -169542,269 +176140,273 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 262000, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2024-12-26", - "last_updated": "2024-12-26", + "open_weights": false, + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0.28, - "output": 1.1 + "input": 0.13, + "output": 0.5 }, "type": "chat" - } - ] - }, - "google": { - "id": "google", - "name": "google", - "display_name": "google", - "doc": "https://ai.google.dev/gemini-api/docs/models", - "models": [ + }, { - "id": "gemini-2.5-flash-preview-tts", - "name": "Gemini 2.5 Flash Preview TTS", - "display_name": "Gemini 2.5 Flash Preview TTS", + "id": "qwen/Qwen3-235B-A22B-Thinking-2507", + "name": "Qwen 3 235b A22B 2507 Thinking", + "display_name": "Qwen 3 235b A22B 2507 Thinking", "modalities": { "input": [ "text" ], "output": [ - "audio" + "text" ] }, "limit": { - "context": 8192, - "output": 16384 + "context": 256000, + "output": 262144 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-05-01", - "last_updated": "2025-05-01", + "release_date": "2025-09-11", + "last_updated": "2025-09-11", "cost": { - "input": 0.5, - "output": 10 + "input": 0.3, + "output": 0.5 }, "type": "chat" }, { - "id": "gemini-2.5-flash-image", - "name": "Gemini 2.5 Flash Image", - "display_name": "Gemini 2.5 Flash Image", + "id": "qwen/qwen3.5-plus", + "name": "Qwen3.5 Plus", + "display_name": "Qwen3.5 Plus", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 983616, + "output": 65536 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2025-06", - "release_date": "2025-08-26", - "last_updated": "2025-08-26", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", "cost": { - "input": 0.3, - "output": 30, - "cache_read": 0.075 + "input": 0.4, + "output": 2.4, + "cache_read": 0.04 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "gemini-3.1-flash-lite-preview", - "name": "Gemini 3.1 Flash Lite Preview", - "display_name": "Gemini 3.1 Flash Lite Preview", + "id": "qwen/qwen3.5-plus-thinking", + "name": "Qwen3.5 Plus Thinking", + "display_name": "Qwen3.5 Plus Thinking", "modalities": { "input": [ "text", "image", - "video", - "audio", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 1048576, + "context": 983616, "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-03-03", - "last_updated": "2026-03-03", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.025, - "input_audio": 0.5 + "input": 0.4, + "output": 2.4, + "cache_read": 0.04 }, "type": "chat" }, { - "id": "gemini-2.0-flash-lite", - "name": "Gemini 2.0 Flash Lite", - "display_name": "Gemini 2.0 Flash Lite", + "id": "qwen/qwen3-235b-a22b", + "name": "Qwen 3 235b A22B", + "display_name": "Qwen 3 235b A22B", "modalities": { "input": [ "text", - "image" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 8192 + "context": 41000, + "output": 32768 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true }, - "search": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, "open_weights": false, - "knowledge": "2024-06", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "release_date": "2025-04-29", + "last_updated": "2025-04-29", "cost": { - "input": 0.075, - "output": 0.3 + "input": 0.3, + "output": 0.5 }, "type": "chat" }, { - "id": "gemma-4-31b-it", - "name": "Gemma 4 31B IT", - "display_name": "Gemma 4 31B IT", + "id": "qwen/qwen-2.5-72b-instruct", + "name": "Qwen2.5 72B", + "display_name": "Qwen2.5 72B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 131072, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-07-03", + "last_updated": "2025-07-03", + "cost": { + "input": 0.357, + "output": 0.408 }, - "attachment": true, - "open_weights": true, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", "type": "chat" }, { - "id": "gemini-flash-lite-latest", - "name": "Gemini Flash-Lite Latest", - "display_name": "Gemini Flash-Lite Latest", + "id": "qwen/qwen3-coder-next", + "name": "Qwen3 Coder Next", + "display_name": "Qwen3 Coder Next", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, + "context": 262144, "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.025 + "input": 0.15, + "output": 1.5 }, "type": "chat" }, { - "id": "gemini-3-flash-preview", - "name": "Gemini 3 Flash Preview", - "display_name": "Gemini 3 Flash Preview", + "id": "qwen/qwen3.5-9b", + "name": "Qwen3.5 9B", + "display_name": "Qwen3.5 9B", "modalities": { "input": [ "text", - "image", - "video", - "audio", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, + "context": 256000, "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true @@ -169812,714 +176414,504 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "release_date": "2026-03-10", + "last_updated": "2026-03-10", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.05, - "input_audio": 1 + "input": 0.05, + "output": 0.15 }, "type": "chat" }, { - "id": "gemini-3.1-pro-preview-customtools", - "name": "Gemini 3.1 Pro Preview Custom Tools", - "display_name": "Gemini 3.1 Pro Preview Custom Tools", + "id": "qwen/qwen3.5-397b-a17b", + "name": "Qwen3.5 397B A17B", + "display_name": "Qwen3.5 397B A17B", "modalities": { "input": [ "text", "image", - "video", - "audio", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 1048576, + "context": 258048, "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-16", + "last_updated": "2026-02-16", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "tiers": [ - { - "input": 4, - "output": 18, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 4, - "output": 18, - "cache_read": 0.4 - } + "input": 0.6, + "output": 3.6 }, "type": "chat" }, { - "id": "gemini-flash-latest", - "name": "Gemini Flash Latest", - "display_name": "Gemini Flash Latest", + "id": "qwen/qwen3-coder-flash", + "name": "Qwen3 Coder Flash", + "display_name": "Qwen3 Coder Flash", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, + "context": 128000, "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "release_date": "2025-09-17", + "last_updated": "2025-09-17", "cost": { "input": 0.3, - "output": 2.5, - "cache_read": 0.075, - "input_audio": 1 + "output": 1.5 }, "type": "chat" }, { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "display_name": "Gemini 2.5 Pro", + "id": "qwen/Qwen2.5-Coder-32B-Instruct", + "name": "Qwen 2.5 Coder 32b", + "display_name": "Qwen 2.5 Coder 32b", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 32000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true, - "budget": { - "default": -1, - "min": 128, - "max": 32768 - } + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-07-03", + "last_updated": "2025-07-03", + "cost": { + "input": 0.2006, + "output": 0.2006 + }, + "type": "chat" + }, + { + "id": "qwen/Qwen3-8B", + "name": "Qwen 3 8B", + "display_name": "Qwen 3 8B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 41000, + "output": 32768 + }, + "tool_call": false, + "reasoning": { + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "search": { - "supported": true, - "default": false - }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "release_date": "2024-01-01", + "last_updated": "2024-01-01", "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 - } - } - ], - "context_over_200k": { - "input": 2.5, - "output": 15, - "cache_read": 0.25 - } + "input": 0.47, + "output": 0.47 }, "type": "chat" }, { - "id": "gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "display_name": "Gemini 3.1 Pro Preview", + "id": "qwen/qwen3-14b", + "name": "Qwen 3 14b", + "display_name": "Qwen 3 14b", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 41000, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", + "release_date": "2024-01-01", + "last_updated": "2024-01-01", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "tiers": [ - { - "input": 4, - "output": 18, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 4, - "output": 18, - "cache_read": 0.4 - } + "input": 0.08, + "output": 0.24 }, "type": "chat" }, { - "id": "gemini-3.1-flash-lite", - "name": "Gemini 3.1 Flash Lite", - "display_name": "Gemini 3.1 Flash Lite", + "id": "qwen/Qwen3-235B-A22B-Instruct-2507", + "name": "Qwen 3 235b A22B 2507", + "display_name": "Qwen 3 235b A22B 2507", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 256000, + "output": 262144 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-05-07", - "last_updated": "2026-05-07", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.025, - "input_audio": 0.5 + "input": 0.13, + "output": 0.5 }, "type": "chat" }, { - "id": "gemini-2.5-flash-lite", - "name": "Gemini 2.5 Flash Lite", - "display_name": "Gemini 2.5 Flash Lite", + "id": "qwen/qwen3-30b-a3b", + "name": "Qwen3 30B A3B", + "display_name": "Qwen3 30B A3B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 41000, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false, - "budget": { - "default": -1, - "min": 512, - "max": 24576 - } + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "default": -1, - "min": 512, - "max": 24576, - "auto": -1, - "unit": "tokens" - }, + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "search": { - "supported": true, - "default": false - }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", + "release_date": "2025-02-27", + "last_updated": "2025-02-27", "cost": { "input": 0.1, - "output": 0.4, - "cache_read": 0.01, - "input_audio": 0.3 + "output": 0.3 }, "type": "chat" }, { - "id": "gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "display_name": "Gemini 2.5 Flash", + "id": "amazon/nova-lite-v1", + "name": "Amazon Nova Lite 1.0", + "display_name": "Amazon Nova Lite 1.0", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 300000, + "output": 5120 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true, - "budget": { - "default": -1, - "min": 0, - "max": 24576 - } - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "search": { - "supported": true, - "default": false + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.03, - "input_audio": 1 + "input": 0.0595, + "output": 0.238 }, "type": "chat" }, { - "id": "gemma-4-26b-a4b-it", - "name": "Gemma 4 26B A4B IT", - "display_name": "Gemma 4 26B A4B IT", + "id": "amazon/nova-pro-v1", + "name": "Amazon Nova Pro 1.0", + "display_name": "Amazon Nova Pro 1.0", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 300000, + "output": 32000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2024-12-03", + "last_updated": "2024-12-03", + "cost": { + "input": 0.7989999999999999, + "output": 3.1959999999999997 }, - "attachment": true, - "open_weights": true, - "release_date": "2026-04-02", - "last_updated": "2026-04-02", "type": "chat" }, { - "id": "gemini-2.0-flash", - "name": "Gemini 2.0 Flash", - "display_name": "Gemini 2.0 Flash", + "id": "amazon/nova-micro-v1", + "name": "Amazon Nova Micro 1.0", + "display_name": "Amazon Nova Micro 1.0", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 8192 + "context": 128000, + "output": 5120 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "search": { - "supported": true, - "default": false + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-06", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.025 + "input": 0.0357, + "output": 0.1394 }, "type": "chat" }, { - "id": "gemini-3.5-flash", - "name": "Gemini 3.5 Flash", - "display_name": "Gemini 3.5 Flash", + "id": "amazon/nova-2-lite-v1", + "name": "Amazon Nova 2 Lite", + "display_name": "Amazon Nova 2 Lite", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 1000000, + "output": 65535 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-05-19", - "last_updated": "2026-05-19", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", "cost": { - "input": 1.5, - "output": 9, - "cache_read": 0.15, - "input_audio": 1.5 + "input": 0.5099999999999999, + "output": 4.25 }, "type": "chat" }, { - "id": "gemini-3-pro-preview", - "name": "Gemini 3 Pro Preview", - "display_name": "Gemini 3 Pro Preview", + "id": "alibaba/qwen3.6-flash", + "name": "Qwen3.6 Flash", + "display_name": "Qwen3.6 Flash", "modalities": { "input": [ "text", "image", - "video", - "audio", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 1048576, + "context": 991800, "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "tiers": [ - { - "input": 4, - "output": 18, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 4, - "output": 18, - "cache_read": 0.4 - } + "input": 0.19, + "output": 1.16 }, "type": "chat" }, { - "id": "gemini-embedding-001", - "name": "Gemini Embedding 001", - "display_name": "Gemini Embedding 001", + "id": "alibaba/qwen3.6-27b", + "name": "Qwen3.6 27B", + "display_name": "Qwen3.6 27B", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 2048, - "output": 1 + "context": 260096, + "output": 65536 }, - "temperature": false, "tool_call": false, "reasoning": { - "supported": false + "supported": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, "open_weights": false, - "knowledge": "2025-05", - "release_date": "2025-05-20", - "last_updated": "2025-05-20", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 0.15, - "output": 0 + "input": 0.203, + "output": 2.24 }, - "type": "embedding" + "type": "chat" }, { - "id": "gemini-2.5-pro-preview-tts", - "name": "Gemini 2.5 Pro Preview TTS", - "display_name": "Gemini 2.5 Pro Preview TTS", + "id": "alibaba/qwen3.6-27b:thinking", + "name": "Qwen3.6 27B Thinking", + "display_name": "Qwen3.6 27B Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ - "audio" + "text" ] }, "limit": { - "context": 8192, - "output": 16384 + "context": 260096, + "output": 65536 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": true, @@ -170528,303 +176920,210 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-05-01", - "last_updated": "2025-05-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 1, - "output": 20 + "input": 0.203, + "output": 2.24 }, "type": "chat" }, { - "id": "gemini-3-pro-image-preview", - "name": "Nano Banana Pro", - "display_name": "Nano Banana Pro", + "id": "aion-labs/aion-rp-llama-3.1-8b", + "name": "Llama 3.1 8b (uncensored)", + "display_name": "Llama 3.1 8b (uncensored)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 32768, + "output": 16384 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-11-20", - "last_updated": "2025-11-20", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 2, - "output": 120 + "input": 0.2006, + "output": 0.2006 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "gemini-3.1-flash-image-preview", - "name": "Nano Banana 2", - "display_name": "Nano Banana 2", + "id": "aion-labs/aion-2.5", + "name": "AionLabs: Aion-2.5", + "display_name": "AionLabs: Aion-2.5", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 65536, - "output": 65536 + "context": 131072, + "output": 32768 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-02-26", - "last_updated": "2026-02-26", + "release_date": "2026-03-20", + "last_updated": "2026-03-20", "cost": { - "input": 0.5, - "output": 60 + "input": 1, + "output": 3, + "cache_read": 0.35 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "gemini-2.5-flash-preview-09-2025", - "name": "Gemini 2.5 Flash Preview 09 2025", - "display_name": "Gemini 2.5 Flash Preview 09 2025", + "id": "aion-labs/aion-1.0-mini", + "name": "Aion 1.0 mini (DeepSeek)", + "display_name": "Aion 1.0 mini (DeepSeek)", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 131072, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true, - "budget": { - "default": -1, - "min": 0, - "max": 24576 - } - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, - "search": { - "supported": true, - "default": false + "attachment": false, + "open_weights": false, + "release_date": "2025-02-20", + "last_updated": "2025-02-20", + "cost": { + "input": 0.7989999999999999, + "output": 1.394 }, - "attachment": true, "type": "chat" }, { - "id": "gemini-2.5-flash-image-preview", - "name": "Gemini 2.5 Flash Image Preview", - "display_name": "Gemini 2.5 Flash Image Preview", + "id": "aion-labs/aion-2.0", + "name": "AionLabs: Aion-2.0", + "display_name": "AionLabs: Aion-2.0", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 32768, + "context": 131072, "output": 32768 }, - "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "type": "imageGeneration" + "open_weights": false, + "release_date": "2026-02-23", + "last_updated": "2026-02-23", + "cost": { + "input": 0.8, + "output": 1.6 + }, + "type": "chat" }, { - "id": "gemini-2.5-flash-lite-preview-09-2025", - "name": "Gemini 2.5 Flash Lite Preview 09 2025", - "display_name": "Gemini 2.5 Flash Lite Preview 09 2025", + "id": "aion-labs/aion-1.0", + "name": "Aion 1.0", + "display_name": "Aion 1.0", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 65536, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false, - "budget": { - "default": -1, - "min": 512, - "max": 24576 - } - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "default": -1, - "min": 512, - "max": 24576, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, - "search": { - "supported": true, - "default": false + "attachment": false, + "open_weights": false, + "release_date": "2025-02-01", + "last_updated": "2025-02-01", + "cost": { + "input": 3.995, + "output": 7.99 }, - "attachment": true, "type": "chat" }, { - "id": "gemini-2.0-flash-preview-image-generation", - "name": "Gemini 2.0 Flash Preview Image Generation", - "display_name": "Gemini 2.0 Flash Preview Image Generation", + "id": "pamanseau/OpenReasoning-Nemotron-32B", + "name": "OpenReasoning Nemotron 32B", + "display_name": "OpenReasoning Nemotron 32B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 32000, - "output": 8192 + "context": 32768, + "output": 65536 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "search": { - "supported": false + "attachment": false, + "open_weights": false, + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "cost": { + "input": 0.1, + "output": 0.4 }, - "attachment": true, "type": "chat" - } - ] - }, - "wandb": { - "id": "wandb", - "name": "Weights & Biases", - "display_name": "Weights & Biases", - "api": "https://api.inference.wandb.ai/v1", - "doc": "https://docs.wandb.ai/guides/integrations/inference/", - "models": [ + }, { - "id": "MiniMaxAI/MiniMax-M2.5", - "name": "MiniMax M2.5", - "display_name": "MiniMax M2.5", + "id": "LatitudeGames/Wayfarer-Large-70B-Llama-3.3", + "name": "Llama 3.3 70B Wayfarer", + "display_name": "Llama 3.3 70B Wayfarer", "modalities": { "input": [ "text" @@ -170834,33 +177133,27 @@ ] }, "limit": { - "context": 196608, - "output": 196608 + "context": 16384, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-03-12", + "open_weights": false, + "release_date": "2025-02-20", + "last_updated": "2025-02-20", "cost": { - "input": 0.3, - "output": 1.2 + "input": 0.700000007, + "output": 0.700000007 }, "type": "chat" }, { - "id": "zai-org/GLM-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "baseten/Kimi-K2-Instruct-FP4", + "name": "Kimi K2 0711 Instruct FP4", + "display_name": "Kimi K2 0711 Instruct FP4", "modalities": { "input": [ "text" @@ -170870,42 +177163,27 @@ ] }, "limit": { - "context": 200000, + "context": 128000, "output": 131072 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "open_weights": false, + "release_date": "2025-07-11", + "last_updated": "2025-07-11", "cost": { - "input": 1.4, - "output": 4.4, - "cache_read": 0.26, - "cache_write": 0 + "input": 0.1, + "output": 2 }, "type": "chat" }, { - "id": "zai-org/GLM-5-FP8", - "name": "GLM 5", - "display_name": "GLM 5", + "id": "inflection/inflection-3-pi", + "name": "Inflection 3 Pi", + "display_name": "Inflection 3 Pi", "modalities": { "input": [ "text" @@ -170915,28 +177193,27 @@ ] }, "limit": { - "context": 200000, - "output": 200000 + "context": 8000, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-03-12", + "open_weights": false, + "release_date": "2024-10-11", + "last_updated": "2024-10-11", "cost": { - "input": 1, - "output": 3.2 + "input": 2.499, + "output": 9.996 }, "type": "chat" }, { - "id": "OpenPipe/Qwen3-14B-Instruct", - "name": "OpenPipe Qwen3 14B Instruct", - "display_name": "OpenPipe Qwen3 14B Instruct", + "id": "inflection/inflection-3-productivity", + "name": "Inflection 3 Productivity", + "display_name": "Inflection 3 Productivity", "modalities": { "input": [ "text" @@ -170946,72 +177223,57 @@ ] }, "limit": { - "context": 32768, - "output": 32768 + "context": 8000, + "output": 4096 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-04-29", - "last_updated": "2026-03-12", + "open_weights": false, + "release_date": "2024-10-11", + "last_updated": "2024-10-11", "cost": { - "input": 0.05, - "output": 0.22 + "input": 2.499, + "output": 9.996 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "ReadyArt/MS3.2-The-Omega-Directive-24B-Unslop-v2.0", + "name": "Omega Directive 24B Unslop v2.0", + "display_name": "Omega Directive 24B Unslop v2.0", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 16384, + "output": 32768 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": true, - "release_date": "2026-01-27", - "last_updated": "2026-03-12", + "attachment": false, + "open_weights": false, + "release_date": "2025-12-08", + "last_updated": "2025-12-08", "cost": { "input": 0.5, - "output": 2.85 + "output": 0.5 }, "type": "chat" }, { - "id": "meta-llama/Llama-3.1-70B-Instruct", - "name": "Llama 3.1 70B", - "display_name": "Llama 3.1 70B", + "id": "MiniMaxAI/MiniMax-M1-80k", + "name": "MiniMax M1 80K", + "display_name": "MiniMax M1 80K", "modalities": { "input": [ "text" @@ -171021,28 +177283,27 @@ ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 1000000, + "output": 131072 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2024-07-23", - "last_updated": "2026-03-12", + "open_weights": false, + "release_date": "2025-06-16", + "last_updated": "2025-06-16", "cost": { - "input": 0.8, - "output": 0.8 + "input": 0.6052, + "output": 2.4225000000000003 }, "type": "chat" }, { - "id": "meta-llama/Llama-3.1-8B-Instruct", - "name": "Meta-Llama-3.1-8B-Instruct", - "display_name": "Meta-Llama-3.1-8B-Instruct", + "id": "upstage/solar-pro-3", + "name": "Solar Pro 3", + "display_name": "Solar Pro 3", "modalities": { "input": [ "text" @@ -171055,27 +177316,25 @@ "context": 128000, "output": 128000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2026-03-12", + "open_weights": false, + "release_date": "2026-03-03", + "last_updated": "2026-03-03", "cost": { - "input": 0.22, - "output": 0.22 + "input": 0.15, + "output": 0.6, + "cache_read": 0.015 }, "type": "chat" }, { - "id": "meta-llama/Llama-3.3-70B-Instruct", - "name": "Llama-3.3-70B-Instruct", - "display_name": "Llama-3.3-70B-Instruct", + "id": "allenai/olmo-3-32b-think", + "name": "Olmo 3 32B Think", + "display_name": "Olmo 3 32B Think", "modalities": { "input": [ "text" @@ -171086,63 +177345,57 @@ }, "limit": { "context": 128000, - "output": 128000 + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "attachment": false, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2026-03-12", + "open_weights": false, + "release_date": "2025-11-01", + "last_updated": "2025-11-01", "cost": { - "input": 0.71, - "output": 0.71 + "input": 0.3, + "output": 0.44999999999999996 }, "type": "chat" }, { - "id": "meta-llama/Llama-4-Scout-17B-16E-Instruct", - "name": "Llama 4 Scout 17B 16E Instruct", - "display_name": "Llama 4 Scout 17B 16E Instruct", + "id": "essentialai/rnj-1-instruct", + "name": "RNJ-1 Instruct 8B", + "display_name": "RNJ-1 Instruct 8B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 64000, - "output": 64000 + "context": 128000, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-01-31", - "last_updated": "2026-03-12", + "open_weights": false, + "release_date": "2025-12-13", + "last_updated": "2025-12-13", "cost": { - "input": 0.17, - "output": 0.66 + "input": 0.15, + "output": 0.15 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.1", - "name": "DeepSeek V3.1", - "display_name": "DeepSeek V3.1", + "id": "deepseek/deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ "text" @@ -171152,28 +177405,40 @@ ] }, "limit": { - "context": 161000, - "output": 161000 + "context": 1048576, + "output": 384000 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, - "open_weights": true, - "release_date": "2025-08-21", - "last_updated": "2026-03-12", + "open_weights": false, + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.55, - "output": 1.65 + "input": 0.14, + "output": 0.28, + "cache_read": 0.028 }, "type": "chat" }, { - "id": "nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8", - "name": "NVIDIA Nemotron 3 Super 120B", - "display_name": "NVIDIA Nemotron 3 Super 120B", + "id": "deepseek/deepseek-v4-flash:thinking", + "name": "DeepSeek V4 Flash (Thinking)", + "display_name": "DeepSeek V4 Flash (Thinking)", "modalities": { "input": [ "text" @@ -171183,28 +177448,29 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1048576, + "output": 384000 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": true, - "release_date": "2026-03-11", - "last_updated": "2026-03-12", + "open_weights": false, + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.2, - "output": 0.8 + "input": 0.14, + "output": 0.28, + "cache_read": 0.028 }, "type": "chat" }, { - "id": "microsoft/Phi-4-mini-instruct", - "name": "Phi-4-mini-instruct", - "display_name": "Phi-4-mini-instruct", + "id": "deepseek/deepseek-v4-pro-cheaper:thinking", + "name": "DeepSeek V4 Pro Cheaper (Thinking)", + "display_name": "DeepSeek V4 Pro Cheaper (Thinking)", "modalities": { "input": [ "text" @@ -171214,30 +177480,29 @@ ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 1048576, + "output": 384000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, "attachment": false, - "open_weights": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2026-03-12", + "open_weights": false, + "release_date": "2026-04-25", + "last_updated": "2026-04-25", "cost": { - "input": 0.08, - "output": 0.35 + "input": 0.435, + "output": 0.87, + "cache_read": 0.003625 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", - "name": "Qwen3-Coder-480B-A35B-Instruct", - "display_name": "Qwen3-Coder-480B-A35B-Instruct", + "id": "deepseek/deepseek-prover-v2-671b", + "name": "DeepSeek Prover v2 671B", + "display_name": "DeepSeek Prover v2 671B", "modalities": { "input": [ "text" @@ -171247,29 +177512,27 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 160000, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2026-03-12", + "open_weights": false, + "release_date": "2025-04-30", + "last_updated": "2025-04-30", "cost": { "input": 1, - "output": 1.5 + "output": 2.5 }, "type": "chat" }, { - "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", - "name": "Qwen3 30B A3B Instruct 2507", - "display_name": "Qwen3 30B A3B Instruct 2507", + "id": "deepseek/deepseek-latest", + "name": "DeepSeek Latest", + "display_name": "DeepSeek Latest", "modalities": { "input": [ "text" @@ -171279,28 +177542,29 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1048576, + "output": 384000 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": true, - "release_date": "2025-07-29", - "last_updated": "2026-03-12", + "open_weights": false, + "release_date": "2026-05-03", + "last_updated": "2026-05-03", "cost": { - "input": 0.1, - "output": 0.3 + "input": 1.1, + "output": 2.2, + "cache_read": 0.11 }, "type": "chat" }, { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen3-235B-A22B-Thinking-2507", - "display_name": "Qwen3-235B-A22B-Thinking-2507", + "id": "deepseek/deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ "text" @@ -171310,10 +177574,9 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1048576, + "output": 384000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -171331,20 +177594,20 @@ } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-25", - "last_updated": "2026-03-12", + "open_weights": false, + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.1, - "output": 0.1 + "input": 1.1, + "output": 2.2, + "cache_read": 0.11 }, "type": "chat" }, { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "display_name": "Qwen3 235B A22B Instruct 2507", + "id": "deepseek/deepseek-v4-pro:thinking", + "name": "DeepSeek V4 Pro (Thinking)", + "display_name": "DeepSeek V4 Pro (Thinking)", "modalities": { "input": [ "text" @@ -171354,65 +177617,61 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1048576, + "output": 384000 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04-28", - "last_updated": "2026-03-12", + "open_weights": false, + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.1, - "output": 0.1 + "input": 1.1, + "output": 2.2, + "cache_read": 0.11 }, "type": "chat" }, { - "id": "openai/gpt-oss-120b", - "name": "gpt-oss-120b", - "display_name": "gpt-oss-120b", + "id": "deepseek/deepseek-v3.2-speciale", + "name": "DeepSeek V3.2 Speciale", + "display_name": "DeepSeek V3.2 Speciale", "modalities": { "input": [ - "text" + "text", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 163000, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2026-03-12", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", "cost": { - "input": 0.15, - "output": 0.6 + "input": 0.27999999999999997, + "output": 0.42000000000000004 }, "type": "chat" }, { - "id": "openai/gpt-oss-20b", - "name": "gpt-oss-20b", - "display_name": "gpt-oss-20b", + "id": "deepseek/deepseek-v4-pro-cheaper", + "name": "DeepSeek V4 Pro Cheaper", + "display_name": "DeepSeek V4 Pro Cheaper", "modalities": { "input": [ "text" @@ -171422,106 +177681,97 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 1048576, + "output": 384000 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2026-03-12", + "release_date": "2026-04-25", + "last_updated": "2026-04-25", "cost": { - "input": 0.05, - "output": 0.2 + "input": 0.435, + "output": 0.87, + "cache_read": 0.003625 }, "type": "chat" - } - ] - }, - "meganova": { - "id": "meganova", - "name": "Meganova", - "display_name": "Meganova", - "api": "https://api.meganova.ai/v1", - "doc": "https://docs.meganova.ai", - "models": [ + }, { - "id": "XiaomiMiMo/MiMo-V2-Flash", - "name": "MiMo V2 Flash", - "display_name": "MiMo V2 Flash", + "id": "deepseek/deepseek-v3.2:thinking", + "name": "DeepSeek V3.2 Thinking", + "display_name": "DeepSeek V3.2 Thinking", "modalities": { "input": [ - "text" + "text", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32000 + "context": 163000, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-12-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "attachment": true, + "open_weights": false, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "cost": { - "input": 0.1, - "output": 0.3 + "input": 0.27999999999999997, + "output": 0.42000000000000004 }, "type": "chat" }, { - "id": "mistralai/Mistral-Nemo-Instruct-2407", - "name": "Mistral Nemo Instruct 2407", - "display_name": "Mistral Nemo Instruct 2407", + "id": "deepseek/deepseek-v3.2", + "name": "DeepSeek V3.2", + "display_name": "DeepSeek V3.2", "modalities": { "input": [ - "text" + "text", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, + "context": 163000, "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true }, - "attachment": false, - "open_weights": true, - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "cost": { - "input": 0.02, - "output": 0.04 + "input": 0.27999999999999997, + "output": 0.42000000000000004 }, "type": "chat" }, { - "id": "mistralai/Mistral-Small-3.2-24B-Instruct-2506", - "name": "Mistral Small 3.2 24B Instruct", - "display_name": "Mistral Small 3.2 24B Instruct", + "id": "minimax/minimax-m3:thinking", + "name": "MiniMax M3 Thinking", + "display_name": "MiniMax M3 Thinking", "modalities": { "input": [ "text", @@ -171532,27 +177782,27 @@ ] }, "limit": { - "context": 32768, - "output": 8192 + "context": 512000, + "output": 80000 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-06-20", - "last_updated": "2025-06-20", + "open_weights": false, + "release_date": "2026-06-01", + "last_updated": "2026-06-01", "cost": { - "input": 0, - "output": 0 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "MiniMaxAI/MiniMax-M2.5", + "id": "minimax/minimax-m2.5", "name": "MiniMax M2.5", "display_name": "MiniMax M2.5", "modalities": { @@ -171567,7 +177817,6 @@ "context": 204800, "output": 131072 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -171575,17 +177824,11 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, - "open_weights": true, + "open_weights": false, "release_date": "2026-02-12", "last_updated": "2026-02-12", "cost": { @@ -171595,7 +177838,7 @@ "type": "chat" }, { - "id": "MiniMaxAI/MiniMax-M2.1", + "id": "minimax/minimax-m2.1", "name": "MiniMax M2.1", "display_name": "MiniMax M2.1", "modalities": { @@ -171607,10 +177850,9 @@ ] }, "limit": { - "context": 196608, + "context": 200000, "output": 131072 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -171618,29 +177860,23 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, - "open_weights": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "open_weights": false, + "release_date": "2025-12-19", + "last_updated": "2025-12-19", "cost": { - "input": 0.28, - "output": 1.2 + "input": 0.33, + "output": 1.32 }, "type": "chat" }, { - "id": "zai-org/GLM-4.7", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "minimax/minimax-m2.7-turbo", + "name": "MiniMax M2.7 Turbo", + "display_name": "MiniMax M2.7 Turbo", "modalities": { "input": [ "text" @@ -171650,84 +177886,96 @@ ] }, "limit": { - "context": 202752, + "context": 204800, "output": 131072 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "open_weights": false, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.2, - "output": 0.8 + "input": 0.6, + "output": 2.4 }, "type": "chat" }, { - "id": "zai-org/GLM-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "minimax/minimax-01", + "name": "MiniMax 01", + "display_name": "MiniMax 01", "modalities": { "input": [ + "text", + "pdf" + ], + "output": [ "text" + ] + }, + "limit": { + "context": 1000192, + "output": 16384 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-01-15", + "last_updated": "2025-01-15", + "cost": { + "input": 0.1394, + "output": 1.1219999999999999 + }, + "type": "chat" + }, + { + "id": "minimax/minimax-m3", + "name": "MiniMax M3", + "display_name": "MiniMax M3", + "modalities": { + "input": [ + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 202752, - "output": 131072 + "context": 512000, + "output": 80000 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "attachment": true, + "open_weights": false, + "release_date": "2026-06-01", + "last_updated": "2026-06-01", "cost": { - "input": 0.8, - "output": 2.56 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "zai-org/GLM-4.6", - "name": "GLM-4.6", - "display_name": "GLM-4.6", + "id": "minimax/minimax-m2-her", + "name": "MiniMax M2-her", + "display_name": "MiniMax M2-her", "modalities": { "input": [ "text" @@ -171737,41 +177985,27 @@ ] }, "limit": { - "context": 202752, - "output": 131072 + "context": 65532, + "output": 2048 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", + "open_weights": false, + "release_date": "2026-01-24", + "last_updated": "2026-01-24", "cost": { - "input": 0.45, - "output": 1.9 + "input": 0.30200000000000005, + "output": 1.2069999999999999 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "minimax/minimax-latest", + "name": "MiniMax Latest", + "display_name": "MiniMax Latest", "modalities": { "input": [ "text", @@ -171782,41 +178016,29 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 512000, + "output": 80000 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2026-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "attachment": true, + "open_weights": false, + "release_date": "2026-05-03", + "last_updated": "2026-05-03", "cost": { - "input": 0.45, - "output": 2.8 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2-Thinking", - "name": "Kimi K2 Thinking", - "display_name": "Kimi K2 Thinking", + "id": "minimax/minimax-m2.7", + "name": "MiniMax M2.7", + "display_name": "MiniMax M2.7", "modalities": { "input": [ "text" @@ -171826,10 +178048,9 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 204800, + "output": 131072 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -171847,20 +178068,19 @@ } }, "attachment": false, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", + "open_weights": false, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.6, - "output": 2.6 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "meta-llama/Llama-3.3-70B-Instruct", - "name": "Llama 3.3 70B Instruct", - "display_name": "Llama 3.3 70B Instruct", + "id": "kwaipilot/kat-coder-pro-v2", + "name": "KAT Coder Pro V2", + "display_name": "KAT Coder Pro V2", "modalities": { "input": [ "text" @@ -171870,28 +178090,27 @@ ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 256000, + "output": 80000 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "open_weights": false, + "release_date": "2026-03-28", + "last_updated": "2026-03-28", "cost": { - "input": 0.1, - "output": 0.3 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.1", - "name": "DeepSeek V3.1", - "display_name": "DeepSeek V3.1", + "id": "mlabonne/NeuralDaredevil-8B-abliterated", + "name": "Neural Daredevil 8B abliterated", + "display_name": "Neural Daredevil 8B abliterated", "modalities": { "input": [ "text" @@ -171901,28 +178120,27 @@ ] }, "limit": { - "context": 164000, - "output": 164000 + "context": 8192, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-08-25", - "last_updated": "2025-08-25", + "open_weights": false, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", "cost": { - "input": 0.27, - "output": 1 + "input": 0.44, + "output": 0.44 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.2", - "name": "DeepSeek V3.2", - "display_name": "DeepSeek V3.2", + "id": "VongolaChouko/Starcannon-Unleashed-12B-v1.0", + "name": "Mistral Nemo Starcannon 12b v1", + "display_name": "Mistral Nemo Starcannon 12b v1", "modalities": { "input": [ "text" @@ -171932,13 +178150,43 @@ ] }, "limit": { - "context": 164000, - "output": 164000 + "context": 16384, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + }, + "type": "chat" + }, + { + "id": "TEE/minimax-m2.5", + "name": "MiniMax M2.5 TEE", + "display_name": "MiniMax M2.5 TEE", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 196608, + "output": 131072 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -171946,19 +178194,19 @@ } }, "attachment": false, - "open_weights": true, - "release_date": "2025-12-03", - "last_updated": "2025-12-03", + "open_weights": false, + "release_date": "2026-04-20", + "last_updated": "2026-04-20", "cost": { - "input": 0.26, - "output": 0.38 + "input": 0.2, + "output": 1.38 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3-0324", - "name": "DeepSeek V3 0324", - "display_name": "DeepSeek V3 0324", + "id": "TEE/glm-4.7", + "name": "GLM 4.7 TEE", + "display_name": "GLM 4.7 TEE", "modalities": { "input": [ "text" @@ -171968,28 +178216,68 @@ ] }, "limit": { - "context": 163840, - "output": 163840 + "context": 131000, + "output": 65535 }, - "temperature": true, - "tool_call": true, + "tool_call": false, + "reasoning": { + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": false, + "release_date": "2026-01-29", + "last_updated": "2026-01-29", + "cost": { + "input": 0.85, + "output": 3.3 + }, + "type": "chat" + }, + { + "id": "TEE/llama3-3-70b", + "name": "Llama 3.3 70B", + "display_name": "Llama 3.3 70B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-03-24", - "last_updated": "2025-03-24", + "open_weights": false, + "release_date": "2025-07-03", + "last_updated": "2025-07-03", "cost": { - "input": 0.25, - "output": 0.88 + "input": 2, + "output": 2 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.2-Exp", - "name": "DeepSeek V3.2 Exp", - "display_name": "DeepSeek V3.2 Exp", + "id": "TEE/gemma-4-31b-it", + "name": "Gemma 4 31B IT TEE", + "display_name": "Gemma 4 31B IT TEE", "modalities": { "input": [ "text" @@ -171999,28 +178287,58 @@ ] }, "limit": { - "context": 164000, - "output": 164000 + "context": 262144, + "output": 262144 }, - "temperature": true, "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": false, + "release_date": "2026-05-26", + "last_updated": "2026-05-26", + "cost": { + "input": 0.15, + "output": 0.46 + }, + "type": "chat" + }, + { + "id": "TEE/qwen3-30b-a3b-instruct-2507", + "name": "Qwen3 30B A3B Instruct 2507 TEE", + "display_name": "Qwen3 30B A3B Instruct 2507 TEE", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262000, + "output": 32768 + }, + "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-10-10", - "last_updated": "2025-10-10", + "open_weights": false, + "release_date": "2025-07-29", + "last_updated": "2025-07-29", "cost": { - "input": 0.27, - "output": 0.4 + "input": 0.15, + "output": 0.44999999999999996 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-R1-0528", - "name": "DeepSeek R1 0528", - "display_name": "DeepSeek R1 0528", + "id": "TEE/glm-5.1", + "name": "GLM 5.1 TEE", + "display_name": "GLM 5.1 TEE", "modalities": { "input": [ "text" @@ -172030,56 +178348,45 @@ ] }, "limit": { - "context": 163840, - "output": 64000 + "context": 202752, + "output": 65535 }, - "temperature": true, "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-05-28", - "last_updated": "2025-05-28", + "open_weights": false, + "release_date": "2026-04-20", + "last_updated": "2026-04-20", "cost": { - "input": 0.5, - "output": 2.15 + "input": 1.5, + "output": 5.25, + "cache_read": 0.3 }, "type": "chat" }, { - "id": "Qwen/Qwen3.5-Plus", - "name": "Qwen3.5 Plus", - "display_name": "Qwen3.5 Plus", + "id": "TEE/deepseek-v4-pro", + "name": "DeepSeek V4 Pro TEE", + "display_name": "DeepSeek V4 Pro TEE", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 800000, "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -172098,20 +178405,19 @@ }, "attachment": false, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-02", - "last_updated": "2026-02", + "release_date": "2026-04-25", + "last_updated": "2026-04-25", "cost": { - "input": 0.4, - "output": 2.4, - "reasoning": 2.4 + "input": 1.5, + "output": 5.25, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "display_name": "Qwen3 235B A22B Instruct 2507", + "id": "TEE/deepseek-v4-pro:thinking", + "name": "DeepSeek V4 Pro Thinking TEE", + "display_name": "DeepSeek V4 Pro Thinking TEE", "modalities": { "input": [ "text" @@ -172121,319 +178427,210 @@ ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 800000, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": true, - "release_date": "2025-07-23", - "last_updated": "2025-07-23", + "open_weights": false, + "release_date": "2026-04-29", + "last_updated": "2026-04-29", "cost": { - "input": 0.09, - "output": 0.6 + "input": 1.5, + "output": 5.25, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-VL-32B-Instruct", - "name": "Qwen2.5 VL 32B Instruct", - "display_name": "Qwen2.5 VL 32B Instruct", + "id": "TEE/gemma4-31b:thinking", + "name": "Gemma 4 31B Thinking TEE", + "display_name": "Gemma 4 31B Thinking TEE", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 262144, + "output": 131072 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": true, - "release_date": "2025-03-24", - "last_updated": "2025-03-24", + "attachment": false, + "open_weights": false, + "release_date": "2026-05-02", + "last_updated": "2026-05-02", "cost": { - "input": 0.2, - "output": 0.6 + "input": 0.45, + "output": 1 }, "type": "chat" - } - ] - }, - "opencode": { - "id": "opencode", - "name": "OpenCode Zen", - "display_name": "OpenCode Zen", - "api": "https://opencode.ai/zen/v1", - "doc": "https://opencode.ai/docs/zen", - "models": [ + }, { - "id": "claude-opus-4-5", - "name": "Claude Opus 4.5", - "display_name": "Claude Opus 4.5", + "id": "TEE/kimi-k2.5", + "name": "Kimi K2.5 TEE", + "display_name": "Kimi K2.5 TEE", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 128000, + "output": 65535 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", + "release_date": "2026-01-29", + "last_updated": "2026-01-29", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 0.3, + "output": 1.9 }, "type": "chat" }, { - "id": "mimo-v2-flash-free", - "name": "MiMo V2 Flash Free", - "display_name": "MiMo V2 Flash Free", + "id": "TEE/qwen2.5-vl-72b-instruct", + "name": "Qwen2.5 VL 72B TEE", + "display_name": "Qwen2.5 VL 72B TEE", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 65536, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-12-16", - "last_updated": "2025-12-16", + "attachment": true, + "open_weights": false, + "release_date": "2025-02-01", + "last_updated": "2025-02-01", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 0.7, + "output": 0.7 }, "type": "chat" }, { - "id": "claude-sonnet-4", - "name": "Claude Sonnet 4", - "display_name": "Claude Sonnet 4", + "id": "TEE/gpt-oss-120b", + "name": "GPT-OSS 120B TEE", + "display_name": "GPT-OSS 120B TEE", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 131072, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "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 - } - } - ], - "context_over_200k": { - "input": 6, - "output": 22.5, - "cache_read": 0.6, - "cache_write": 7.5 - } + "input": 2, + "output": 2 }, "type": "chat" }, { - "id": "claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "display_name": "Claude Sonnet 4.6", + "id": "TEE/qwen3.5-27b", + "name": "Qwen3.5 27B TEE", + "display_name": "Qwen3.5 27B TEE", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 262144, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "mixed", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "max" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", - "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-02-17", + "release_date": "2026-03-13", + "last_updated": "2026-03-13", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75 + "input": 0.3, + "output": 2.4 }, "type": "chat" }, { - "id": "grok-build-0.1", - "name": "Grok Build 0.1", - "display_name": "Grok Build 0.1", + "id": "TEE/gemma-4-26b-a4b-uncensored", + "name": "Gemma 4 26B A4B Uncensored TEE", + "display_name": "Gemma 4 26B A4B Uncensored TEE", "modalities": { "input": [ "text", @@ -172444,92 +178641,57 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 65536, + "output": 65536 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2026-05-20", - "last_updated": "2026-05-20", + "release_date": "2026-05-23", + "last_updated": "2026-05-23", "cost": { - "input": 1, - "output": 2, - "cache_read": 0.2 + "input": 0.15, + "output": 0.7 }, "type": "chat" }, { - "id": "gpt-5.2", - "name": "GPT-5.2", - "display_name": "GPT-5.2", + "id": "TEE/deepseek-v3.1", + "name": "DeepSeek V3.1 TEE", + "display_name": "DeepSeek V3.1 TEE", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 164000, + "output": 8192 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2025-08-21", + "last_updated": "2025-08-21", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 1, + "output": 2.5 }, "type": "chat" }, { - "id": "gpt-5-codex", - "name": "GPT-5 Codex", - "display_name": "GPT-5 Codex", + "id": "TEE/kimi-k2.6", + "name": "Kimi K2.6 TEE", + "display_name": "Kimi K2.6 TEE", "modalities": { "input": [ "text", @@ -172540,52 +178702,33 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 65536 }, - "temperature": false, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 1.07, - "output": 8.5, - "cache_read": 0.107 + "input": 1.5, + "output": 5.25, + "cache_read": 0.375 }, "type": "chat" }, { - "id": "hy3-preview-free", - "name": "Hy3 preview Free", - "display_name": "Hy3 preview Free", + "id": "TEE/qwen3.5-397b-a17b", + "name": "Qwen3.5 397B A17B TEE", + "display_name": "Qwen3.5 397B A17B TEE", "modalities": { "input": [ "text" @@ -172595,36 +178738,38 @@ ] }, "limit": { - "context": 256000, - "output": 64000 + "context": 258048, + "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-06", - "release_date": "2026-04-20", - "last_updated": "2026-04-20", + "open_weights": false, + "release_date": "2026-02-28", + "last_updated": "2026-02-28", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 0.6, + "output": 3.6 }, "type": "chat" }, { - "id": "glm-4.6", - "name": "GLM-4.6", - "display_name": "GLM-4.6", + "id": "TEE/kimi-k2.5-thinking", + "name": "Kimi K2.5 Thinking TEE", + "display_name": "Kimi K2.5 Thinking TEE", "modalities": { "input": [ "text" @@ -172634,49 +178779,41 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 128000, + "output": 65535 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", + "open_weights": false, + "release_date": "2026-01-29", + "last_updated": "2026-01-29", "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.1 + "input": 0.3, + "output": 1.9 }, "type": "chat" }, { - "id": "kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "display_name": "Kimi K2 Thinking", + "id": "TEE/qwen3.6-35b-a3b-uncensored", + "name": "Qwen3.6 35B A3B Uncensored TEE", + "display_name": "Qwen3.6 35B A3B Uncensored TEE", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 131072, + "output": 131072 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -172693,385 +178830,258 @@ ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", + "attachment": true, + "open_weights": false, + "release_date": "2026-05-23", + "last_updated": "2026-05-23", "cost": { - "input": 0.4, - "output": 2.5, - "cache_read": 0.4 + "input": 0.3, + "output": 1.5 }, "type": "chat" }, { - "id": "gemini-3-pro", - "name": "Gemini 3 Pro", - "display_name": "Gemini 3 Pro", + "id": "TEE/glm-4.7-flash", + "name": "GLM 4.7 Flash TEE", + "display_name": "GLM 4.7 Flash TEE", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 203000, + "output": 65535 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "tiers": [ - { - "input": 4, - "output": 18, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 4, - "output": 18, - "cache_read": 0.4 - } + "input": 0.15, + "output": 0.5 }, "type": "chat" }, { - "id": "gpt-5", - "name": "GPT-5", - "display_name": "GPT-5", + "id": "TEE/gemma4-31b", + "name": "Gemma 4 31B", + "display_name": "Gemma 4 31B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 131072 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "attachment": false, + "open_weights": false, + "release_date": "2026-04-04", + "last_updated": "2026-04-04", + "cost": { + "input": 0.45, + "output": 1 }, - "attachment": true, + "type": "chat" + }, + { + "id": "TEE/gemma-3-27b-it", + "name": "Gemma 3 27B TEE", + "display_name": "Gemma 3 27B TEE", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "release_date": "2025-03-10", + "last_updated": "2025-03-10", "cost": { - "input": 1.07, - "output": 8.5, - "cache_read": 0.107 + "input": 0.2, + "output": 0.8 }, "type": "chat" }, { - "id": "claude-haiku-4-5", - "name": "Claude Haiku 4.5", - "display_name": "Claude Haiku 4.5", + "id": "TEE/gpt-oss-20b", + "name": "GPT-OSS 20B TEE", + "display_name": "GPT-OSS 20B TEE", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 64000 + "context": 131072, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 1, - "output": 5, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 0.2, + "output": 0.8 }, "type": "chat" }, { - "id": "gpt-5.4-pro", - "name": "GPT-5.4 Pro", - "display_name": "GPT-5.4 Pro", + "id": "TEE/glm-5", + "name": "GLM 5 TEE", + "display_name": "GLM 5 TEE", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 203000, + "output": 65535 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 30, - "output": 180, - "cache_read": 30 + "input": 1.2, + "output": 3.5 }, "type": "chat" }, { - "id": "gpt-5.4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "TEE/glm-5.1-thinking", + "name": "GLM 5.1 Thinking TEE", + "display_name": "GLM 5.1 Thinking TEE", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 202752, + "output": 65535 }, - "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "release_date": "2026-04-20", + "last_updated": "2026-04-20", "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 - } - } - ], - "context_over_200k": { - "input": 5, - "output": 22.5, - "cache_read": 0.5 - } + "input": 1.5, + "output": 5.25, + "cache_read": 0.3 }, "type": "chat" }, { - "id": "qwen3.5-plus", - "name": "Qwen3.5 Plus", - "display_name": "Qwen3.5 Plus", + "id": "TEE/deepseek-v3.2", + "name": "DeepSeek V3.2 TEE", + "display_name": "DeepSeek V3.2 TEE", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, + "context": 164000, "output": 65536 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "cost": { - "input": 0.2, - "output": 1.2, - "cache_read": 0.02, - "cache_write": 0.25 + "input": 0.5, + "output": 1 }, "type": "chat" }, { - "id": "minimax-m2.1", - "name": "MiniMax M2.1", - "display_name": "MiniMax M2.1", + "id": "TEE/qwen3.5-122b-a10b", + "name": "Qwen3.5 122B A10B TEE", + "display_name": "Qwen3.5 122B A10B TEE", "modalities": { "input": [ "text" @@ -173081,10 +179091,9 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 262144, + "output": 262144 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -173102,141 +179111,79 @@ } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "open_weights": false, + "release_date": "2026-05-26", + "last_updated": "2026-05-26", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.1 + "input": 0.46, + "output": 3.68 }, "type": "chat" }, { - "id": "gpt-5.5", - "name": "GPT-5.5", - "display_name": "GPT-5.5", + "id": "Sao10K/L3.1-70B-Hanami-x1", + "name": "Llama 3.1 70B Hanami", + "display_name": "Llama 3.1 70B Hanami", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 16384, + "output": 16384 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5, - "tiers": [ - { - "input": 10, - "output": 45, - "cache_read": 1, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 10, - "output": 45, - "cache_read": 1 - } + "input": 0.49299999999999994, + "output": 0.49299999999999994 }, "type": "chat" }, { - "id": "kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "Sao10K/L3-8B-Stheno-v3.2", + "name": "Sao10K Stheno 8b", + "display_name": "Sao10K Stheno 8b", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 16384, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "attachment": false, + "open_weights": false, + "release_date": "2024-11-29", + "last_updated": "2024-11-29", "cost": { - "input": 0.95, - "output": 4, - "cache_read": 0.16 + "input": 0.2006, + "output": 0.2006 }, "type": "chat" }, { - "id": "glm-4.7", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "Sao10K/L3.3-70B-Euryale-v2.3", + "name": "Llama 3.3 70B Euryale", + "display_name": "Llama 3.3 70B Euryale", "modalities": { "input": [ "text" @@ -173246,372 +179193,207 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 20480, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "open_weights": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 0.6, - "output": 2.2, - "cache_read": 0.1 + "input": 0.49299999999999994, + "output": 0.49299999999999994 }, "type": "chat" }, { - "id": "gpt-5.1", - "name": "GPT-5.1", - "display_name": "GPT-5.1", + "id": "Sao10K/L3.1-70B-Euryale-v2.2", + "name": "Llama 3.1 70B Euryale", + "display_name": "Llama 3.1 70B Euryale", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 20480, + "output": 16384 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 1.07, - "output": 8.5, - "cache_read": 0.107 + "input": 0.306, + "output": 0.357 }, "type": "chat" }, { - "id": "gpt-5-nano", - "name": "GPT-5 Nano", - "display_name": "GPT-5 Nano", + "id": "Steelskull/L3.3-MS-Evalebis-70b", + "name": "MS Evalebis 70b", + "display_name": "MS Evalebis 70b", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 16384, + "output": 16384 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 0.05, - "output": 0.4, - "cache_read": 0.005 + "input": 0.49299999999999994, + "output": 0.49299999999999994 }, "type": "chat" }, { - "id": "claude-opus-4-1", - "name": "Claude Opus 4.1", - "display_name": "Claude Opus 4.1", + "id": "Steelskull/L3.3-MS-Nevoria-70b", + "name": "Steelskull Nevoria 70b", + "display_name": "Steelskull Nevoria 70b", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 16384, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 15, - "output": 75, - "cache_read": 1.5, - "cache_write": 18.75 + "input": 0.49299999999999994, + "output": 0.49299999999999994 }, "type": "chat" }, { - "id": "gpt-5.1-codex-max", - "name": "GPT-5.1 Codex Max", - "display_name": "GPT-5.1 Codex Max", + "id": "Steelskull/L3.3-Cu-Mai-R1-70b", + "name": "Llama 3.3 70B Cu Mai", + "display_name": "Llama 3.3 70B Cu Mai", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 16384, + "output": 16384 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.49299999999999994, + "output": 0.49299999999999994 }, "type": "chat" }, { - "id": "gpt-5.1-codex-mini", - "name": "GPT-5.1 Codex Mini", - "display_name": "GPT-5.1 Codex Mini", + "id": "Steelskull/L3.3-MS-Evayale-70B", + "name": "Evayale 70b ", + "display_name": "Evayale 70b ", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 16384, + "output": 16384 }, - "temperature": false, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 0.49299999999999994, + "output": 0.49299999999999994 }, "type": "chat" }, { - "id": "mimo-v2-omni-free", - "name": "MiMo V2 Omni Free", - "display_name": "MiMo V2 Omni Free", + "id": "Steelskull/L3.3-Nevoria-R1-70b", + "name": "Steelskull Nevoria R1 70b", + "display_name": "Steelskull Nevoria R1 70b", "modalities": { "input": [ - "text", - "image", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 64000 + "context": 16384, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "attachment": false, + "open_weights": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 0.49299999999999994, + "output": 0.49299999999999994 }, "type": "chat" }, { - "id": "ring-2.6-1t-free", - "name": "Ring 2.6 1T Free", - "display_name": "Ring 2.6 1T Free", + "id": "Steelskull/L3.3-Electra-R1-70b", + "name": "Steelskull Electra R1 70b", + "display_name": "Steelskull Electra R1 70b", "modalities": { "input": [ "text" @@ -173621,41 +179403,36 @@ ] }, "limit": { - "context": 262000, - "output": 66000 + "context": 16384, + "output": 16384 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-06", - "release_date": "2026-05-08", - "last_updated": "2026-05-08", + "open_weights": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 0, - "output": 0 + "input": 0.69989, + "output": 0.69989 }, "type": "chat" - }, + } + ] + }, + "moark": { + "id": "moark", + "name": "Moark", + "display_name": "Moark", + "api": "https://moark.com/v1", + "doc": "https://moark.com/docs/openapi/v1#tag/%E6%96%87%E6%9C%AC%E7%94%9F%E6%88%90", + "models": [ { - "id": "nemotron-3-ultra-free", - "name": "Nemotron 3 Ultra Free", - "display_name": "Nemotron 3 Ultra Free", + "id": "MiniMax-M2.1", + "name": "MiniMax-M2.1", + "display_name": "MiniMax-M2.1", "modalities": { "input": [ "text" @@ -173665,8 +179442,8 @@ ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -173676,31 +179453,23 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": true, - "knowledge": "2026-02", - "release_date": "2026-06-04", - "last_updated": "2026-06-04", + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 2.1, + "output": 8.4 }, "type": "chat" }, { - "id": "trinity-large-preview-free", - "name": "Trinity Large Preview", - "display_name": "Trinity Large Preview", + "id": "GLM-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", "modalities": { "input": [ "text" @@ -173710,44 +179479,64 @@ ] }, "limit": { - "context": 131072, + "context": 204800, "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "knowledge": "2025-06", - "release_date": "2026-01-28", - "last_updated": "2026-01-28", + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 0, - "output": 0 + "input": 3.5, + "output": 14 }, "type": "chat" - }, + } + ] + }, + "lilac": { + "id": "lilac", + "name": "Lilac", + "display_name": "Lilac", + "api": "https://api.getlilac.com/v1", + "doc": "https://docs.getlilac.com/inference/models", + "models": [ { - "id": "claude-fable-5", - "name": "Claude Fable 5", - "display_name": "Claude Fable 5", + "id": "moonshotai/kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 128000 + "context": 262144, + "output": 262144 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -173756,61 +179545,41 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" - ], - "notes": [ - "Adaptive thinking is always on for Claude Fable 5 and Claude Mythos 5; thinking.type = \"disabled\" is rejected.", - "Manual budget_tokens requests return 400 on Claude Fable 5 and Claude Mythos 5.", - "thinking.display defaults to omitted; set display to summarized to receive readable thinking summaries." ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-06-09", - "last_updated": "2026-06-09", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 10, - "output": 50, - "cache_read": 1, - "cache_write": 12.5 + "input": 0.7, + "output": 3.5, + "cache_read": 0.2 }, "type": "chat" }, { - "id": "gemini-3-flash", - "name": "Gemini 3 Flash", - "display_name": "Gemini 3 Flash", + "id": "minimaxai/minimax-m2.7", + "name": "MiniMax M2.7", + "display_name": "MiniMax M2.7", "modalities": { "input": [ - "text", - "image", - "video", - "audio", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 204800, + "output": 204800 }, "temperature": true, "tool_call": true, @@ -173821,38 +179590,30 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", - "low", - "medium", - "high" - ], + "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ - "thought_signatures" + "thinking_blocks" ] } }, - "attachment": true, - "open_weights": false, + "attachment": false, + "open_weights": true, "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.05 + "input": 0.3, + "output": 1.2, + "cache_read": 0.055 }, "type": "chat" }, { - "id": "qwen3.6-plus", - "name": "Qwen3.6 Plus", - "display_name": "Qwen3.6 Plus", + "id": "google/gemma-4-31b-it", + "name": "Gemma 4 31B IT", + "display_name": "Gemma 4 31B IT", "modalities": { "input": [ "text", @@ -173864,8 +179625,8 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 262100, + "output": 262100 }, "temperature": true, "tool_call": true, @@ -173885,36 +179646,31 @@ } }, "attachment": true, - "open_weights": false, - "knowledge": "2025-04", + "open_weights": true, + "knowledge": "2025-01", "release_date": "2026-04-02", "last_updated": "2026-04-02", "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.05, - "cache_write": 0.625 + "input": 0.11, + "output": 0.35 }, "type": "chat" }, { - "id": "mimo-v2.5-free", - "name": "MiMo V2.5 Free", - "display_name": "MiMo V2.5 Free", + "id": "zai-org/glm-5.1", + "name": "GLM 5.1", + "display_name": "GLM 5.1", "modalities": { "input": [ - "text", - "image", - "audio", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 202800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -173933,131 +179689,91 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "knowledge": "2025-04", + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 0.9, + "output": 3, + "cache_read": 0.27 }, "type": "chat" - }, + } + ] + }, + "ambient": { + "id": "ambient", + "name": "Ambient", + "display_name": "Ambient", + "api": "https://api.ambient.xyz/v1", + "doc": "https://ambient.xyz", + "models": [ { - "id": "gpt-5.4-nano", - "name": "GPT-5.4 Nano", - "display_name": "GPT-5.4 Nano", + "id": "moonshotai/kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 262144 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "cost": { - "input": 0.2, - "output": 1.25, - "cache_read": 0.02 - }, - "type": "chat" - }, - { - "id": "claude-3-5-haiku", - "name": "Claude Haiku 3.5", - "display_name": "Claude Haiku 3.5", - "modalities": { - "input": [ - "text", - "image", - "pdf" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 200000, - "output": 8192 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-07-31", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0.8, + "input": 0.95, "output": 4, - "cache_read": 0.08, - "cache_write": 1 + "cache_read": 0.2, + "cache_write": 0 }, "type": "chat" }, { - "id": "gpt-5.3-codex", - "name": "GPT-5.3 Codex", - "display_name": "GPT-5.3 Codex", + "id": "zai-org/GLM-5.1-FP8", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 202752, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -174066,53 +179782,56 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-24", - "last_updated": "2026-02-24", + "attachment": false, + "open_weights": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 1.4, + "output": 4.4, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" - }, + } + ] + }, + "neon": { + "id": "neon", + "name": "Neon", + "display_name": "Neon", + "api": "${NEON_AI_GATEWAY_BASE_URL}/ai-gateway/mlflow/v1", + "doc": "https://neon.com/docs", + "models": [ { - "id": "gpt-5.3-codex-spark", - "name": "GPT-5.3 Codex Spark", - "display_name": "GPT-5.3 Codex Spark", + "id": "gemini-3-flash", + "name": "Gemini 3 Flash Preview", + "display_name": "Gemini 3 Flash Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 1048576, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -174122,86 +179841,96 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ + "mode": "level", + "level": "high", + "level_options": [ + "minimal", "low", "medium", "high" ], - "visibility": "hidden" + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "input_audio": 1 }, "type": "chat" }, { - "id": "qwen3.6-plus-free", - "name": "Qwen3.6 Plus Free", - "display_name": "Qwen3.6 Plus Free", + "id": "claude-sonnet-4", + "name": "Claude Sonnet 4.5", + "display_name": "Claude Sonnet 4.5", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "gpt-5.5-pro", - "name": "GPT-5.5 Pro", - "display_name": "GPT-5.5 Pro", + "id": "claude-opus-4-5", + "name": "Claude Opus 4.5 (latest)", + "display_name": "Claude Opus 4.5 (latest)", "modalities": { "input": [ "text", @@ -174213,92 +179942,73 @@ ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 200000, + "output": 64000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", - "cost": { - "input": 30, - "output": 180, - "cache_read": 30 - }, - "type": "chat" - }, - { - "id": "minimax-m2.1-free", - "name": "MiniMax M2.1 Free", - "display_name": "MiniMax M2.1 Free", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 204800, - "output": 131072 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "gemini-3.1-pro", - "name": "Gemini 3.1 Pro Preview", - "display_name": "Gemini 3.1 Pro Preview", + "id": "gpt-5", + "name": "GPT-5", + "display_name": "GPT-5", "modalities": { "input": [ "text", - "image", - "video", - "audio", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -174308,120 +180018,110 @@ "reasoning": { "supported": true, "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", "low", + "medium", "high" ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "tiers": [ - { - "input": 4, - "output": 18, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 4, - "output": 18, - "cache_read": 0.4 - } + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "gemini-3.5-flash", - "name": "Gemini 3.5 Flash", - "display_name": "Gemini 3.5 Flash", + "id": "gpt-5-1", + "name": "GPT-5.1", + "display_name": "GPT-5.1", "modalities": { "input": [ "text", - "image", - "video", - "audio", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "minimal", + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", "low", "medium", "high" ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-05-19", - "last_updated": "2026-05-19", + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", "cost": { - "input": 1.5, - "output": 9, - "cache_read": 0.15, - "input_audio": 1.5 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "deepseek-v4-flash-free", - "name": "DeepSeek V4 Flash Free", - "display_name": "DeepSeek V4 Flash Free", + "id": "gemini-3-pro", + "name": "Gemini 3 Pro Preview", + "display_name": "Gemini 3 Pro Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -174432,35 +180132,56 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "gpt-5.2-codex", - "name": "GPT-5.2 Codex", - "display_name": "GPT-5.2 Codex", + "id": "gpt-5-2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -174474,15 +180195,16 @@ "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, + "default_enabled": false, "mode": "effort", - "effort": "medium", + "effort": "none", "effort_options": [ + "none", "low", "medium", "high", @@ -174500,8 +180222,8 @@ "attachment": true, "open_weights": false, "knowledge": "2025-08-31", - "release_date": "2026-01-14", - "last_updated": "2026-01-14", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { "input": 1.75, "output": 14, @@ -174510,20 +180232,24 @@ "type": "chat" }, { - "id": "minimax-m2.7", - "name": "MiniMax M2.7", - "display_name": "MiniMax M2.7", + "id": "gemini-3-1-flash-lite", + "name": "Gemini 3.1 Flash Lite Preview", + "display_name": "Gemini 3.1 Flash Lite Preview", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -174531,125 +180257,81 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, + "attachment": true, + "open_weights": false, "knowledge": "2025-01", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06 - }, - "type": "chat" - }, - { - "id": "deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 384000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.03 + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "input_audio": 0.5 }, "type": "chat" }, { - "id": "kimi-k2.5-free", - "name": "Kimi K2.5 Free", - "display_name": "Kimi K2.5 Free", + "id": "claude-sonnet-4-5", + "name": "Claude Sonnet 4.5 (latest)", + "display_name": "Claude Sonnet 4.5 (latest)", "modalities": { "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "open_weights": false, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "claude-opus-4-8", - "name": "Claude Opus 4.8", - "display_name": "Claude Opus 4.8", + "id": "claude-opus-4-7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", "modalities": { "input": [ "text", @@ -174698,8 +180380,9 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-05-28", - "last_updated": "2026-05-28", + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { "input": 5, "output": 25, @@ -174709,20 +180392,24 @@ "type": "chat" }, { - "id": "nemotron-3-super-free", - "name": "Nemotron 3 Super Free", - "display_name": "Nemotron 3 Super Free", + "id": "gemini-2-5-pro", + "name": "Gemini 2.5 Pro", + "display_name": "Gemini 2.5 Pro", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 128000 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -174730,78 +180417,38 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2026-02", - "release_date": "2026-03-11", - "last_updated": "2026-03-11", + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 - }, - "type": "chat" - }, - { - "id": "glm-5", - "name": "GLM-5", - "display_name": "GLM-5", - "modalities": { - "input": [ - "text" + "input": 1.25, + "output": 10, + "cache_read": 0.125, + "tiers": [ + { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tier": { + "type": "context", + "size": 200000 + } + } ], - "output": [ - "text" - ] - }, - "limit": { - "context": 204800, - "output": 131072 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "context_over_200k": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "cost": { - "input": 1, - "output": 3.2, - "cache_read": 0.2 - }, "type": "chat" }, { - "id": "gpt-5.1-codex", - "name": "GPT-5.1 Codex", - "display_name": "GPT-5.1 Codex", + "id": "gpt-5-4-nano", + "name": "GPT-5.4 nano", + "display_name": "GPT-5.4 nano", "modalities": { "input": [ "text", @@ -174831,7 +180478,8 @@ "none", "low", "medium", - "high" + "high", + "xhigh" ], "verbosity": "medium", "verbosity_options": [ @@ -174844,55 +180492,25 @@ }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "cost": { - "input": 1.07, - "output": 8.5, - "cache_read": 0.107 - }, - "type": "chat" - }, - { - "id": "qwen3-coder", - "name": "Qwen3 Coder", - "display_name": "Qwen3 Coder", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 65536 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0.45, - "output": 1.8 + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "big-pickle", - "name": "Big Pickle", - "display_name": "Big Pickle", + "id": "claude-opus-4-1", + "name": "Claude Opus 4.1 (latest)", + "display_name": "Claude Opus 4.1 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" @@ -174906,120 +180524,118 @@ "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-10-17", - "last_updated": "2025-10-17", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 - }, - "type": "chat" - }, - { - "id": "ling-2.6-flash-free", - "name": "Ling 2.6 Flash Free", - "display_name": "Ling 2.6 Flash Free", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262100, - "output": 32800 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-06", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0, - "output": 0 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 }, "type": "chat" }, { - "id": "minimax-m3-free", - "name": "MiniMax M3 Free", - "display_name": "MiniMax M3 Free", + "id": "gpt-5-4-mini", + "name": "GPT-5.4 mini", + "display_name": "GPT-5.4 mini", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 32000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-05-31", - "last_updated": "2026-05-31", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "minimax-m2.5", - "name": "MiniMax M2.5", - "display_name": "MiniMax M2.5", + "id": "gemini-2-5-flash", + "name": "Gemini 2.5 Flash", + "display_name": "Gemini 2.5 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 1048576, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -175027,33 +180643,23 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, + "attachment": true, + "open_weights": false, "knowledge": "2025-01", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { "input": 0.3, - "output": 1.2, - "cache_read": 0.06 + "output": 2.5, + "cache_read": 0.03, + "input_audio": 1 }, "type": "chat" }, { - "id": "glm-4.7-free", - "name": "GLM-4.7 Free", - "display_name": "GLM-4.7 Free", + "id": "gpt-oss-120b", + "name": "GPT OSS 120B", + "display_name": "GPT OSS 120B", "modalities": { "input": [ "text" @@ -175063,8 +180669,8 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -175074,31 +180680,23 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 0.072, + "output": 0.28 }, "type": "chat" }, { - "id": "claude-sonnet-4-5", - "name": "Claude Sonnet 4.5", - "display_name": "Claude Sonnet 4.5", + "id": "gpt-5-5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ "text", @@ -175110,75 +180708,74 @@ ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "budget", - "budget": { - "min": 1024, - "unit": "tokens" - }, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" ], - "notes": [ - "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", - "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." - ] + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, "open_weights": false, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75, + "input": 5, + "output": 30, + "cache_read": 0.5, "tiers": [ { - "input": 6, - "output": 22.5, - "cache_read": 0.6, - "cache_write": 7.5, + "input": 10, + "output": 45, + "cache_read": 1, "tier": { "type": "context", - "size": 200000 + "size": 272000 } } ], "context_over_200k": { - "input": 6, - "output": 22.5, - "cache_read": 0.6, - "cache_write": 7.5 + "input": 10, + "output": 45, + "cache_read": 1 } }, "type": "chat" }, { - "id": "gpt-5.4-mini", - "name": "GPT-5.4 Mini", - "display_name": "GPT-5.4 Mini", + "id": "gemini-3-1-pro", + "name": "Gemini 3.1 Pro Preview Custom Tools", + "display_name": "Gemini 3.1 Pro Preview Custom Tools", "modalities": { "input": [ "text", "image", + "video", + "audio", "pdf" ], "output": [ @@ -175186,91 +180783,98 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1048576, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "default": true }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", "cost": { - "input": 0.75, - "output": 4.5, - "cache_read": 0.075 + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "mimo-v2-pro-free", - "name": "MiMo V2 Pro Free", - "display_name": "MiMo V2 Pro Free", + "id": "claude-haiku-4-5", + "name": "Claude Haiku 4.5 (latest)", + "display_name": "Claude Haiku 4.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048576, + "context": 200000, "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, "attachment": true, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "open_weights": false, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, @@ -175340,57 +180944,79 @@ "type": "chat" }, { - "id": "kimi-k2", - "name": "Kimi K2", - "display_name": "Kimi K2", + "id": "gpt-5-mini", + "name": "GPT-5 Mini", + "display_name": "GPT-5 Mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.4, - "output": 2.5, - "cache_read": 0.4 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "gpt-5-nano", + "name": "GPT-5 Nano", + "display_name": "GPT-5 Nano", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -175399,30 +181025,40 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "attachment": true, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "open_weights": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.6, - "output": 3, - "cache_read": 0.08 + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 }, "type": "chat" }, { - "id": "claude-opus-4-7", - "name": "Claude Opus 4.7", - "display_name": "Claude Opus 4.7", + "id": "claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ "text", @@ -175435,9 +181071,9 @@ }, "limit": { "context": 1000000, - "output": 128000 + "output": 64000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -175447,89 +181083,121 @@ "reasoning": { "supported": true, "default_enabled": false, - "mode": "effort", + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, "effort": "high", "effort_options": [ "low", "medium", "high", - "xhigh", "max" ], "interleaved": true, "summaries": true, - "visibility": "omitted", + "visibility": "summary", "continuation": [ "thinking_blocks" ], "notes": [ - "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", - "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", - "task_budget is separate from thinking control and should not be treated as a thinking budget." + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, "attachment": true, "open_weights": false, - "knowledge": "2026-01-31", - "release_date": "2026-04-16", - "last_updated": "2026-04-16", + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "north-mini-code-free", - "name": "North Mini Code Free", - "display_name": "North Mini Code Free", + "id": "gpt-5-4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 64000 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-09-23", - "release_date": "2026-06-09", - "last_updated": "2026-06-09", + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0, - "output": 0 + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tiers": [ + { + "input": 5, + "output": 22.5, + "cache_read": 0.5, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 5, + "output": 22.5, + "cache_read": 0.5 + } }, "type": "chat" }, { - "id": "glm-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "gpt-oss-20b", + "name": "GPT OSS 20B", + "display_name": "GPT OSS 20B", "modalities": { "input": [ "text" @@ -175539,8 +181207,8 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -175550,31 +181218,32 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-04-07", - "last_updated": "2026-04-07", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 1.4, - "output": 4.4, - "cache_read": 0.26 + "input": 0.05, + "output": 0.2 }, "type": "chat" - }, + } + ] + }, + "upstage": { + "id": "upstage", + "name": "Upstage", + "display_name": "Upstage", + "api": "https://api.upstage.ai/v1/solar", + "doc": "https://developers.upstage.ai/docs/apis/chat", + "models": [ { - "id": "grok-code", - "name": "Grok Code Fast 1", - "display_name": "Grok Code Fast 1", + "id": "solar-pro2", + "name": "solar-pro2", + "display_name": "solar-pro2", "modalities": { "input": [ "text" @@ -175584,8 +181253,8 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 65536, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -175593,22 +181262,21 @@ "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-08-20", - "last_updated": "2025-08-20", + "knowledge": "2025-03", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.25, + "output": 0.25 }, "type": "chat" }, { - "id": "minimax-m2.5-free", - "name": "MiniMax M2.5 Free", - "display_name": "MiniMax M2.5 Free", + "id": "solar-pro3", + "name": "solar-pro3", + "display_name": "solar-pro3", "modalities": { "input": [ "text" @@ -175618,8 +181286,8 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 131072, + "output": 8192 }, "temperature": true, "tool_call": true, @@ -175627,27 +181295,21 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, "attachment": false, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "open_weights": false, + "knowledge": "2025-03", + "release_date": "2026-01", + "last_updated": "2026-01", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 0.25, + "output": 0.25 }, "type": "chat" }, { - "id": "glm-5-free", - "name": "GLM-5 Free", - "display_name": "GLM-5 Free", + "id": "solar-mini", + "name": "solar-mini", + "display_name": "solar-mini", "modalities": { "input": [ "text" @@ -175657,98 +181319,99 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 32768, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "open_weights": false, + "knowledge": "2024-09", + "release_date": "2024-06-12", + "last_updated": "2025-04-22", "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 0.15, + "output": 0.15 }, "type": "chat" } ] }, - "openai": { - "id": "openai", - "name": "OpenAI", - "display_name": "OpenAI", - "doc": "https://platform.openai.com/docs/models", + "zhipuai-coding-plan": { + "id": "zhipuai-coding-plan", + "name": "Zhipu AI Coding Plan", + "display_name": "Zhipu AI Coding Plan", + "api": "https://open.bigmodel.cn/api/coding/paas/v4", + "doc": "https://docs.bigmodel.cn/cn/coding-plan/overview", "models": [ { - "id": "gpt-4o-2024-08-06", - "name": "GPT-4o (2024-08-06)", - "display_name": "GPT-4o (2024-08-06)", + "id": "glm-5.1", + "name": "GLM-5.1", + "display_name": "GLM-5.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-08-06", - "last_updated": "2024-08-06", + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "gpt-5-pro", - "name": "GPT-5 Pro", - "display_name": "GPT-5 Pro", + "id": "glm-5v-turbo", + "name": "GLM-5V-Turbo", + "display_name": "GLM-5V-Turbo", "modalities": { "input": [ "text", - "image" + "image", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 272000 + "context": 200000, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -175757,47 +181420,43 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "fixed", - "effort": "high", - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-10-06", - "last_updated": "2025-10-06", + "release_date": "2026-04-01", + "last_updated": "2026-04-01", "cost": { - "input": 15, - "output": 120 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "gpt-5-mini", - "name": "GPT-5 Mini", - "display_name": "GPT-5 Mini", + "id": "glm-5-turbo", + "name": "GLM-5-Turbo", + "display_name": "GLM-5-Turbo", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 200000, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -175806,73 +181465,70 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "release_date": "2026-03-16", + "last_updated": "2026-03-16", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "gpt-image-1", - "name": "gpt-image-1", - "display_name": "gpt-image-1", + "id": "glm-4.5-air", + "name": "GLM-4.5-Air", + "display_name": "GLM-4.5-Air", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 131072, + "output": 98304 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-04-24", - "last_updated": "2025-04-24", - "type": "imageGeneration" + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + }, + "type": "chat" }, { - "id": "gpt-4o", - "name": "GPT-4o", - "display_name": "GPT-4o", + "id": "glm-4.6v", + "name": "GLM-4.6V", + "display_name": "GLM-4.6V", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" @@ -175880,135 +181536,144 @@ }, "limit": { "context": 128000, - "output": 16384 + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-08-06", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 + "input": 0.3, + "output": 0.9 }, "type": "chat" }, { - "id": "gpt-5.2", - "name": "GPT-5.2", - "display_name": "GPT-5.2", + "id": "glm-5.2", + "name": "GLM-5.2", + "display_name": "GLM-5.2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 1000000, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2026-06-13", + "last_updated": "2026-06-13", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "gpt-5-chat-latest", - "name": "GPT-5 Chat (latest)", - "display_name": "GPT-5 Chat (latest)", + "id": "glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 204800, + "output": 131072 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" - }, + } + ] + }, + "chutes": { + "id": "chutes", + "name": "Chutes", + "display_name": "Chutes", + "api": "https://llm.chutes.ai/v1", + "doc": "https://llm.chutes.ai/v1/models", + "models": [ { - "id": "gpt-5-codex", - "name": "GPT-5-Codex", - "display_name": "GPT-5-Codex", + "id": "moonshotai/Kimi-K2.6-TEE", + "name": "Kimi K2.6 TEE", + "display_name": "Kimi K2.6 TEE", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 65535 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -176017,55 +181682,45 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", + "attachment": true, + "open_weights": true, + "knowledge": "2025-12", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.95, + "output": 4, + "cache_read": 0.475 }, "type": "chat" }, { - "id": "o3", - "name": "o3", - "display_name": "o3", + "id": "moonshotai/Kimi-K2.5-TEE", + "name": "Kimi K2.5 TEE", + "display_name": "Kimi K2.5 TEE", "modalities": { "input": [ "text", "image", - "pdf" + "video" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 262144, + "output": 65535 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -176074,33 +181729,30 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "open_weights": true, + "knowledge": "2024-10", + "release_date": "2026-01", + "last_updated": "2026-01", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0.44, + "output": 2, + "cache_read": 0.22 }, "type": "chat" }, { - "id": "gpt-5.3-chat-latest", - "name": "GPT-5.3 Chat (latest)", - "display_name": "GPT-5.3 Chat (latest)", + "id": "google/gemma-4-31B-turbo-TEE", + "name": "gemma 4 31B turbo TEE", + "display_name": "gemma 4 31B turbo TEE", "modalities": { "input": [ "text", @@ -176111,30 +181763,30 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 131072, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-03", - "last_updated": "2026-03-03", + "open_weights": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.13, + "output": 0.38, + "cache_read": 0.065 }, "type": "chat" }, { - "id": "text-embedding-3-small", - "name": "text-embedding-3-small", - "display_name": "text-embedding-3-small", + "id": "Qwen/Qwen3-32B-TEE", + "name": "Qwen3 32B TEE", + "display_name": "Qwen3 32B TEE", "modalities": { "input": [ "text" @@ -176144,29 +181796,31 @@ ] }, "limit": { - "context": 8191, - "output": 1536 + "context": 40960, + "output": 40960 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "knowledge": "2024-01", - "release_date": "2024-01-25", - "last_updated": "2024-01-25", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", "cost": { - "input": 0.02, - "output": 0 + "input": 0.08, + "output": 0.24, + "cache_read": 0.04 }, - "type": "embedding" + "type": "chat" }, { - "id": "gpt-4o-2024-11-20", - "name": "GPT-4o (2024-11-20)", - "display_name": "GPT-4o (2024-11-20)", + "id": "Qwen/Qwen2.5-VL-32B-Instruct", + "name": "Qwen2.5 VL 32B Instruct", + "display_name": "Qwen2.5 VL 32B Instruct", "modalities": { "input": [ "text", @@ -176177,129 +181831,107 @@ ] }, "limit": { - "context": 128000, + "context": 16384, "output": 16384 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-11-20", - "last_updated": "2024-11-20", + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 + "input": 0.0543, + "output": 0.2174, + "cache_read": 0.02715 }, "type": "chat" }, { - "id": "gpt-5", - "name": "GPT-5", - "display_name": "GPT-5", + "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "name": "Qwen3 Next 80B A3B Instruct", + "display_name": "Qwen3 Next 80B A3B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 262144 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "attachment": false, + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.1, + "output": 0.8, + "cache_read": 0.05 }, "type": "chat" }, { - "id": "gpt-image-1-mini", - "name": "gpt-image-1-mini", - "display_name": "gpt-image-1-mini", + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507-TEE", + "name": "Qwen3 235B A22B Instruct 2507 TEE", + "display_name": "Qwen3 235B A22B Instruct 2507 TEE", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 262144, + "output": 65536 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "release_date": "2025-09-26", - "last_updated": "2025-09-26", - "type": "imageGeneration" + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "cost": { + "input": 0.1, + "output": 0.6, + "cache_read": 0.05 + }, + "type": "chat" }, { - "id": "gpt-5.4-pro", - "name": "GPT-5.4 Pro", - "display_name": "GPT-5.4 Pro", + "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", + "name": "Qwen3 235B A22B Thinking 2507", + "display_name": "Qwen3 235B A22B Thinking 2507", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 262144, + "output": 262144 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -176308,87 +181940,74 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "attachment": false, + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", "cost": { - "input": 30, - "output": 180, - "tiers": [ - { - "input": 60, - "output": 270, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 60, - "output": 270 - } + "input": 0.11, + "output": 0.6, + "cache_read": 0.055 }, "type": "chat" }, { - "id": "gpt-4.1-mini", - "name": "GPT-4.1 mini", - "display_name": "GPT-4.1 mini", + "id": "Qwen/Qwen3.6-27B-TEE", + "name": "Qwen3.6 27B TEE", + "display_name": "Qwen3.6 27B TEE", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "open_weights": true, + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 0.4, - "output": 1.6, - "cache_read": 0.1 + "input": 0.195, + "output": 1.56, + "cache_read": 0.0975 }, "type": "chat" }, { - "id": "text-embedding-3-large", - "name": "text-embedding-3-large", - "display_name": "text-embedding-3-large", + "id": "Qwen/Qwen3Guard-Gen-0.6B", + "name": "Qwen3Guard Gen 0.6B", + "display_name": "Qwen3Guard Gen 0.6B", "modalities": { "input": [ "text" @@ -176398,254 +182017,170 @@ ] }, "limit": { - "context": 8191, - "output": 3072 + "context": 32768, + "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2024-01", - "release_date": "2024-01-25", - "last_updated": "2024-01-25", + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", "cost": { - "input": 0.13, - "output": 0 + "input": 0.01, + "output": 0.0109, + "cache_read": 0.005 }, - "type": "embedding" + "type": "chat" }, { - "id": "gpt-5.2-pro", - "name": "GPT-5.2 Pro", - "display_name": "GPT-5.2 Pro", + "id": "Qwen/Qwen3-Coder-Next-TEE", + "name": "Qwen3 Coder Next TEE", + "display_name": "Qwen3 Coder Next TEE", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 262144, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "attachment": false, + "open_weights": true, + "release_date": "2026-04-25", + "last_updated": "2026-04-25", "cost": { - "input": 21, - "output": 168 + "input": 0.12, + "output": 0.75, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "o3-pro", - "name": "o3-pro", - "display_name": "o3-pro", + "id": "Qwen/Qwen2.5-Coder-32B-Instruct", + "name": "Qwen2.5 Coder 32B Instruct", + "display_name": "Qwen2.5 Coder 32B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 32768, + "output": 32768 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-06-10", - "last_updated": "2025-06-10", + "attachment": false, + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", "cost": { - "input": 20, - "output": 80 + "input": 0.0272, + "output": 0.1087, + "cache_read": 0.0136 }, "type": "chat" }, { - "id": "o4-mini", - "name": "o4-mini", - "display_name": "o4-mini", + "id": "Qwen/Qwen2.5-72B-Instruct", + "name": "Qwen2.5 72B Instruct", + "display_name": "Qwen2.5 72B Instruct", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 32768, + "output": 32768 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "attachment": false, + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.275 + "input": 0.2989, + "output": 1.1957, + "cache_read": 0.14945 }, "type": "chat" }, { - "id": "gpt-5.4", - "name": "GPT-5.4", - "display_name": "GPT-5.4", + "id": "Qwen/Qwen3.5-397B-A17B-TEE", + "name": "Qwen3.5 397B A17B TEE", + "display_name": "Qwen3.5 397B A17B TEE", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 262144, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", + "open_weights": true, + "release_date": "2026-02-15", + "last_updated": "2026-02-15", "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 - } - } - ], - "context_over_200k": { - "input": 5, - "output": 22.5, - "cache_read": 0.5 - } + "input": 0.39, + "output": 2.34, + "cache_read": 0.195 }, "type": "chat" - }, - { - "id": "o3-mini", - "name": "o3-mini", - "display_name": "o3-mini", + }, + { + "id": "Qwen/Qwen3-30B-A3B", + "name": "Qwen3 30B A3B", + "display_name": "Qwen3 30B A3B", "modalities": { "input": [ "text" @@ -176655,10 +182190,10 @@ ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 40960, + "output": 40960 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -176667,48 +182202,42 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2024-12-20", - "last_updated": "2025-01-29", + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.55 + "input": 0.06, + "output": 0.22, + "cache_read": 0.03 }, "type": "chat" }, { - "id": "gpt-5.5", - "name": "GPT-5.5", - "display_name": "GPT-5.5", + "id": "openai/gpt-oss-120b-TEE", + "name": "gpt oss 120b TEE", + "display_name": "gpt oss 120b TEE", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 131072, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -176717,267 +182246,203 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "attachment": false, + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", "cost": { - "input": 5, - "output": 30, - "cache_read": 0.5, - "tiers": [ - { - "input": 10, - "output": 45, - "cache_read": 1, - "tier": { - "type": "context", - "size": 272000 - } - } - ], - "context_over_200k": { - "input": 10, - "output": 45, - "cache_read": 1 - } + "input": 0.09, + "output": 0.36, + "cache_read": 0.045 }, "type": "chat" }, { - "id": "gpt-5.2-chat-latest", - "name": "GPT-5.2 Chat", - "display_name": "GPT-5.2 Chat", + "id": "XiaomiMiMo/MiMo-V2-Flash-TEE", + "name": "MiMo V2 Flash TEE", + "display_name": "MiMo V2 Flash TEE", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 262144, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "attachment": false, + "open_weights": true, + "knowledge": "2024-12-01", + "release_date": "2025-12-16", + "last_updated": "2026-02-04", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.09, + "output": 0.29, + "cache_read": 0.045 }, "type": "chat" }, { - "id": "gpt-5.1", - "name": "GPT-5.1", - "display_name": "GPT-5.1", + "id": "NousResearch/Hermes-4-14B", + "name": "Hermes 4 14B", + "display_name": "Hermes 4 14B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 40960, + "output": 40960 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "attachment": false, + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.0136, + "output": 0.0543, + "cache_read": 0.0068 }, "type": "chat" }, { - "id": "gpt-5-nano", - "name": "GPT-5 Nano", - "display_name": "GPT-5 Nano", + "id": "NousResearch/DeepHermes-3-Mistral-24B-Preview", + "name": "DeepHermes 3 Mistral 24B Preview", + "display_name": "DeepHermes 3 Mistral 24B Preview", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 32768, + "output": 32768 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "minimal", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "attachment": false, + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", "cost": { - "input": 0.05, - "output": 0.4, - "cache_read": 0.005 + "input": 0.0245, + "output": 0.0978, + "cache_read": 0.01225 }, "type": "chat" }, { - "id": "gpt-4o-mini", - "name": "GPT-4o mini", - "display_name": "GPT-4o mini", + "id": "unsloth/Llama-3.2-1B-Instruct", + "name": "Llama 3.2 1B Instruct", + "display_name": "Llama 3.2 1B Instruct", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 16384, + "output": 8192 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", + "attachment": false, + "open_weights": true, + "release_date": "2026-01-27", + "last_updated": "2026-04-25", "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.075 + "input": 0.01, + "output": 0.0109, + "cache_read": 0.005 }, "type": "chat" }, { - "id": "chatgpt-image-latest", - "name": "chatgpt-image-latest", - "display_name": "chatgpt-image-latest", + "id": "unsloth/gemma-3-12b-it", + "name": "gemma 3 12b it", + "display_name": "gemma 3 12b it", "modalities": { "input": [ "text", "image" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 131072, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": true, - "open_weights": false, - "release_date": "2025-12-16", - "last_updated": "2025-12-16", + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "cost": { + "input": 0.03, + "output": 0.1, + "cache_read": 0.015 + }, "type": "chat" }, { - "id": "gpt-5.1-codex-max", - "name": "GPT-5.1 Codex Max", - "display_name": "GPT-5.1 Codex Max", + "id": "unsloth/gemma-3-4b-it", + "name": "gemma 3 4b it", + "display_name": "gemma 3 4b it", "modalities": { "input": [ "text", @@ -176988,52 +182453,29 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 96000, + "output": 96000 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.01, + "output": 0.0272, + "cache_read": 0.005 }, "type": "chat" }, { - "id": "gpt-5.1-codex-mini", - "name": "GPT-5.1 Codex mini", - "display_name": "GPT-5.1 Codex mini", + "id": "unsloth/gemma-3-27b-it", + "name": "gemma 3 27b it", + "display_name": "gemma 3 27b it", "modalities": { "input": [ "text", @@ -177044,100 +182486,61 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": false - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", "cost": { - "input": 0.25, - "output": 2, - "cache_read": 0.025 + "input": 0.0272, + "output": 0.1087, + "cache_read": 0.0136 }, "type": "chat" }, { - "id": "o1-pro", - "name": "o1-pro", - "display_name": "o1-pro", + "id": "unsloth/Mistral-Nemo-Instruct-2407", + "name": "Mistral Nemo Instruct 2407", + "display_name": "Mistral Nemo Instruct 2407", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 131072, + "output": 131072 }, - "temperature": false, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2025-03-19", - "last_updated": "2025-03-19", + "attachment": false, + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", "cost": { - "input": 150, - "output": 600 + "input": 0.02, + "output": 0.04, + "cache_read": 0.01 }, "type": "chat" }, { - "id": "text-embedding-ada-002", - "name": "text-embedding-ada-002", - "display_name": "text-embedding-ada-002", + "id": "unsloth/Llama-3.2-3B-Instruct", + "name": "Llama 3.2 3B Instruct", + "display_name": "Llama 3.2 3B Instruct", "modalities": { "input": [ "text" @@ -177147,185 +182550,164 @@ ] }, "limit": { - "context": 8192, - "output": 1536 + "context": 16384, + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2022-12", - "release_date": "2022-12-15", - "last_updated": "2022-12-15", + "open_weights": true, + "release_date": "2025-02-12", + "last_updated": "2026-04-25", "cost": { - "input": 0.1, - "output": 0 + "input": 0.01, + "output": 0.0136, + "cache_read": 0.005 }, - "type": "embedding" + "type": "chat" }, { - "id": "o3-deep-research", - "name": "o3-deep-research", - "display_name": "o3-deep-research", + "id": "tngtech/DeepSeek-TNG-R1T2-Chimera-TEE", + "name": "DeepSeek TNG R1T2 Chimera TEE", + "display_name": "DeepSeek TNG R1T2 Chimera TEE", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 163840, + "output": 163840 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } - }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2024-06-26", - "last_updated": "2024-06-26", + "attachment": false, + "open_weights": true, + "release_date": "2026-04-25", + "last_updated": "2026-04-25", "cost": { - "input": 10, - "output": 40, - "cache_read": 2.5 + "input": 0.3, + "output": 1.1, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "gpt-4.1", - "name": "GPT-4.1", - "display_name": "GPT-4.1", + "id": "zai-org/GLM-4.7-TEE", + "name": "GLM 4.7 TEE", + "display_name": "GLM 4.7 TEE", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 202752, + "output": 65535 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0.39, + "output": 1.75, + "cache_read": 0.195 }, "type": "chat" }, { - "id": "gpt-5.4-nano", - "name": "GPT-5.4 nano", - "display_name": "GPT-5.4 nano", + "id": "zai-org/GLM-5-TEE", + "name": "GLM 5 TEE", + "display_name": "GLM 5 TEE", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 202752, + "output": 65535 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 0.2, - "output": 1.25, - "cache_read": 0.02 + "input": 0.95, + "output": 2.55, + "cache_read": 0.475 }, "type": "chat" }, { - "id": "gpt-5.3-codex", - "name": "GPT-5.3 Codex", - "display_name": "GPT-5.3 Codex", + "id": "zai-org/GLM-5.1-TEE", + "name": "GLM 5.1 TEE", + "display_name": "GLM 5.1 TEE", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 202752, + "output": 65535 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -177334,55 +182716,43 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "attachment": false, + "open_weights": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 1.05, + "output": 3.5, + "cache_read": 0.525 }, "type": "chat" }, { - "id": "gpt-5.3-codex-spark", - "name": "GPT-5.3 Codex Spark", - "display_name": "GPT-5.3 Codex Spark", + "id": "zai-org/GLM-4.6V", + "name": "GLM 4.6V", + "display_name": "GLM 4.6V", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32000 + "context": 131072, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -177391,55 +182761,42 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.3, + "output": 0.9, + "cache_read": 0.15 }, "type": "chat" }, { - "id": "gpt-5.5-pro", - "name": "GPT-5.5 Pro", - "display_name": "GPT-5.5 Pro", + "id": "zai-org/GLM-5-Turbo", + "name": "GLM 5 Turbo", + "display_name": "GLM 5 Turbo", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1050000, - "output": 128000 + "context": 202752, + "output": 65535 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -177447,52 +182804,76 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-12-01", - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "attachment": false, + "open_weights": true, + "release_date": "2026-03-11", + "last_updated": "2026-04-25", "cost": { - "input": 30, - "output": 180, - "tiers": [ - { - "input": 60, - "output": 270, - "tier": { - "type": "context", - "size": 272000 - } - } + "input": 0.4891, + "output": 1.9565, + "cache_read": 0.24455 + }, + "type": "chat" + }, + { + "id": "zai-org/GLM-4.7-FP8", + "name": "GLM 4.7 FP8", + "display_name": "GLM 4.7 FP8", + "modalities": { + "input": [ + "text" ], - "context_over_200k": { - "input": 60, - "output": 270 - } + "output": [ + "text" + ] + }, + "limit": { + "context": 202752, + "output": 65535 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-01-27", + "last_updated": "2026-04-25", + "cost": { + "input": 0.2989, + "output": 1.1957, + "cache_read": 0.14945 }, "type": "chat" }, { - "id": "o4-mini-deep-research", - "name": "o4-mini-deep-research", - "display_name": "o4-mini-deep-research", + "id": "deepseek-ai/DeepSeek-V3.2-TEE", + "name": "DeepSeek V3.2 TEE", + "display_name": "DeepSeek V3.2 TEE", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 131072, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -177501,33 +182882,29 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-05", - "release_date": "2024-06-26", - "last_updated": "2024-06-26", + "attachment": false, + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0.28, + "output": 0.42, + "cache_read": 0.14 }, "type": "chat" }, { - "id": "gpt-3.5-turbo", - "name": "GPT-3.5-turbo", - "display_name": "GPT-3.5-turbo", + "id": "deepseek-ai/DeepSeek-V3-0324-TEE", + "name": "DeepSeek V3 0324 TEE", + "display_name": "DeepSeek V3 0324 TEE", "modalities": { "input": [ "text" @@ -177537,45 +182914,42 @@ ] }, "limit": { - "context": 16385, - "output": 4096 + "context": 163840, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2021-09-01", - "release_date": "2023-03-01", - "last_updated": "2023-11-06", + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", "cost": { - "input": 0.5, - "output": 1.5, - "cache_read": 0 + "input": 0.25, + "output": 1, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "gpt-5.2-codex", - "name": "GPT-5.2 Codex", - "display_name": "GPT-5.2 Codex", + "id": "deepseek-ai/DeepSeek-V3.1-TEE", + "name": "DeepSeek V3.1 TEE", + "display_name": "DeepSeek V3.1 TEE", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 163840, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -177584,186 +182958,162 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "attachment": false, + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", "cost": { - "input": 1.75, - "output": 14, - "cache_read": 0.175 + "input": 0.27, + "output": 1, + "cache_read": 0.135 }, "type": "chat" }, { - "id": "gpt-5.1-codex", - "name": "GPT-5.1 Codex", - "display_name": "GPT-5.1 Codex", + "id": "deepseek-ai/DeepSeek-R1-Distill-Llama-70B", + "name": "DeepSeek R1 Distill Llama 70B", + "display_name": "DeepSeek R1 Distill Llama 70B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 131072, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "attachment": false, + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0.0272, + "output": 0.1087, + "cache_read": 0.0136 }, "type": "chat" }, { - "id": "gpt-4o-2024-05-13", - "name": "GPT-4o (2024-05-13)", - "display_name": "GPT-4o (2024-05-13)", + "id": "deepseek-ai/DeepSeek-R1-0528-TEE", + "name": "DeepSeek R1 0528 TEE", + "display_name": "DeepSeek R1 0528 TEE", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 163840, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-05-13", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-05-29", "cost": { - "input": 5, - "output": 15 + "input": 0.45, + "output": 2.15, + "cache_read": 0.225 }, "type": "chat" }, { - "id": "gpt-5.4-mini", - "name": "GPT-5.4 mini", - "display_name": "GPT-5.4 mini", + "id": "MiniMaxAI/MiniMax-M2.5-TEE", + "name": "MiniMax M2.5 TEE", + "display_name": "MiniMax M2.5 TEE", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 196608, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": false + "default": true }, "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": false, - "mode": "effort", - "effort": "none", - "effort_options": [ - "none", - "low", - "medium", - "high", - "xhigh" - ], - "verbosity": "medium", - "verbosity_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.75, - "output": 4.5, + "input": 0.15, + "output": 1.2, "cache_read": 0.075 }, "type": "chat" }, { - "id": "gpt-4-turbo", - "name": "GPT-4 Turbo", - "display_name": "GPT-4 Turbo", + "id": "rednote-hilab/dots.ocr", + "name": "dots.ocr", + "display_name": "dots.ocr", "modalities": { "input": [ "text", @@ -177774,79 +183124,88 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 131072, + "output": 131072 }, "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "attachment": true, - "open_weights": false, - "knowledge": "2023-12", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", + "open_weights": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", "cost": { - "input": 10, - "output": 30 + "input": 0.01, + "output": 0.0109, + "cache_read": 0.005 }, "type": "chat" - }, + } + ] + }, + "minimax-cn-coding-plan": { + "id": "minimax-cn-coding-plan", + "name": "MiniMax Token Plan (minimaxi.com)", + "display_name": "MiniMax Token Plan (minimaxi.com)", + "api": "https://api.minimaxi.com/anthropic/v1", + "doc": "https://platform.minimaxi.com/docs/token-plan/intro", + "models": [ { - "id": "gpt-5.1-chat-latest", - "name": "GPT-5.1 Chat", - "display_name": "GPT-5.1 Chat", + "id": "MiniMax-M2.1", + "name": "MiniMax-M2.1", + "display_name": "MiniMax-M2.1", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 204800, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "o1", - "name": "o1", - "display_name": "o1", + "id": "MiniMax-M2.5-highspeed", + "name": "MiniMax-M2.5-highspeed", + "display_name": "MiniMax-M2.5-highspeed", "modalities": { "input": [ - "text", - "image", - "pdf" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 100000 + "context": 204800, + "output": 131072 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -177854,34 +183213,25 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" + "supported": true } }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-09", - "release_date": "2024-12-05", - "last_updated": "2024-12-05", + "attachment": false, + "open_weights": true, + "release_date": "2026-02-13", + "last_updated": "2026-02-13", "cost": { - "input": 15, - "output": 60, - "cache_read": 7.5 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "gpt-4", - "name": "GPT-4", - "display_name": "GPT-4", + "id": "MiniMax-M2.7-highspeed", + "name": "MiniMax-M2.7-highspeed", + "display_name": "MiniMax-M2.7-highspeed", "modalities": { "input": [ "text" @@ -177891,134 +183241,159 @@ ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2023-11", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 30, - "output": 60 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "gpt-image-1.5", - "name": "gpt-image-1.5", - "display_name": "gpt-image-1.5", + "id": "MiniMax-M2", + "name": "MiniMax-M2", + "display_name": "MiniMax-M2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ - "text", - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 196608, + "output": 128000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "release_date": "2025-11-25", - "last_updated": "2025-11-25", - "type": "imageGeneration" + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-10-27", + "last_updated": "2025-10-27", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" }, { - "id": "gpt-4.1-nano", - "name": "GPT-4.1 nano", - "display_name": "GPT-4.1 nano", + "id": "MiniMax-M2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0.025 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, "type": "chat" }, { - "id": "gpt-image-2", - "name": "gpt-image-2", - "display_name": "gpt-image-2", + "id": "MiniMax-M3", + "name": "MiniMax-M3", + "display_name": "MiniMax-M3", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 512000, + "output": 128000 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "attachment": true, - "open_weights": false, - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "open_weights": true, + "release_date": "2026-06-01", + "last_updated": "2026-06-01", "cost": { - "input": 5, - "output": 30, - "cache_read": 1.25 + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 }, - "type": "imageGeneration" - } - ] - }, - "poolside": { - "id": "poolside", - "name": "Poolside", - "display_name": "Poolside", - "api": "https://inference.poolside.ai/v1", - "doc": "https://platform.poolside.ai", - "models": [ + "type": "chat" + }, { - "id": "poolside/laguna-m.1", - "name": "Laguna M.1", - "display_name": "Laguna M.1", + "id": "MiniMax-M2.7", + "name": "MiniMax-M2.7", + "display_name": "MiniMax-M2.7", "modalities": { "input": [ "text" @@ -178028,8 +183403,8 @@ ] }, "limit": { - "context": 131040, - "output": 8192 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -178049,9 +183424,9 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2026-04-28", - "last_updated": "2026-04-28", + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { "input": 0, "output": 0, @@ -178059,11 +183434,20 @@ "cache_write": 0 }, "type": "chat" - }, + } + ] + }, + "deepseek": { + "id": "deepseek", + "name": "DeepSeek", + "display_name": "DeepSeek", + "api": "https://api.deepseek.com", + "doc": "https://api-docs.deepseek.com/quick_start/pricing", + "models": [ { - "id": "poolside/laguna-xs.2", - "name": "Laguna XS.2", - "display_name": "Laguna XS.2", + "id": "deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "display_name": "DeepSeek V4 Flash", "modalities": { "input": [ "text" @@ -178073,8 +183457,8 @@ ] }, "limit": { - "context": 131040, - "output": 8192 + "context": 1000000, + "output": 384000 }, "temperature": true, "tool_call": true, @@ -178095,29 +183479,20 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-04-28", - "last_updated": "2026-04-28", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.14, + "output": 0.28, + "cache_read": 0.0028 }, "type": "chat" - } - ] - }, - "sarvam": { - "id": "sarvam", - "name": "Sarvam AI", - "display_name": "Sarvam AI", - "api": "https://api.sarvam.ai/v1", - "doc": "https://docs.sarvam.ai/api-reference-docs/getting-started/models", - "models": [ + }, { - "id": "sarvam-105b", - "name": "Sarvam-105B", - "display_name": "Sarvam-105B", + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "display_name": "DeepSeek V4 Pro", "modalities": { "input": [ "text" @@ -178127,8 +183502,8 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 1000000, + "output": 384000 }, "temperature": true, "tool_call": true, @@ -178149,14 +183524,20 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-02-18", - "last_updated": "2026-03-06", + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "cost": { + "input": 0.435, + "output": 0.87, + "cache_read": 0.003625 + }, "type": "chat" }, { - "id": "sarvam-30b", - "name": "Sarvam-30B", - "display_name": "Sarvam-30B", + "id": "deepseek-reasoner", + "name": "DeepSeek Reasoner", + "display_name": "DeepSeek Reasoner", "modalities": { "input": [ "text" @@ -178166,8 +183547,8 @@ ] }, "limit": { - "context": 65536, - "output": 65536 + "context": 1000000, + "output": 384000 }, "temperature": true, "tool_call": true, @@ -178186,25 +183567,64 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2026-02-18", - "last_updated": "2026-03-06", + "knowledge": "2025-09", + "release_date": "2025-12-01", + "last_updated": "2026-02-28", + "cost": { + "input": 0.14, + "output": 0.28, + "cache_read": 0.0028 + }, + "type": "chat" + }, + { + "id": "deepseek-chat", + "name": "DeepSeek Chat", + "display_name": "DeepSeek Chat", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 384000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "knowledge": "2025-09", + "release_date": "2025-12-01", + "last_updated": "2026-02-28", + "cost": { + "input": 0.14, + "output": 0.28, + "cache_read": 0.0028 + }, "type": "chat" } ] }, - "baseten": { - "id": "baseten", - "name": "Baseten", - "display_name": "Baseten", - "api": "https://inference.baseten.co/v1", - "doc": "https://docs.baseten.co/inference/model-apis/overview", + "minimax": { + "id": "minimax", + "name": "MiniMax (minimax.io)", + "display_name": "MiniMax (minimax.io)", + "api": "https://api.minimax.io/anthropic/v1", + "doc": "https://platform.minimax.io/docs/guides/quickstart", "models": [ { - "id": "MiniMaxAI/MiniMax-M2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "MiniMax-M2.1", + "name": "MiniMax-M2.1", + "display_name": "MiniMax-M2.1", "modalities": { "input": [ "text" @@ -178214,8 +183634,8 @@ ] }, "limit": { - "context": 204000, - "output": 204000 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -178225,20 +183645,13 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": true, - "knowledge": "2026-01", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "cost": { "input": 0.3, "output": 1.2 @@ -178246,9 +183659,9 @@ "type": "chat" }, { - "id": "zai-org/GLM-4.7", - "name": "GLM 4.7", - "display_name": "GLM 4.7", + "id": "MiniMax-M2.5-highspeed", + "name": "MiniMax-M2.5-highspeed", + "display_name": "MiniMax-M2.5-highspeed", "modalities": { "input": [ "text" @@ -178258,8 +183671,8 @@ ] }, "limit": { - "context": 200000, - "output": 200000 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -178269,31 +183682,25 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "release_date": "2026-02-13", + "last_updated": "2026-02-13", "cost": { - "input": 0.12, - "output": 2.2, - "cache_read": 0.12 + "input": 0.6, + "output": 2.4, + "cache_read": 0.06, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "zai-org/GLM-5", - "name": "GLM 5", - "display_name": "GLM 5", + "id": "MiniMax-M2.7-highspeed", + "name": "MiniMax-M2.7-highspeed", + "display_name": "MiniMax-M2.7-highspeed", "modalities": { "input": [ "text" @@ -178303,8 +183710,8 @@ ] }, "limit": { - "context": 202800, - "output": 202800 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -178325,20 +183732,20 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2026-01", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.95, - "output": 3.15, - "cache_read": 0.2 + "input": 0.6, + "output": 2.4, + "cache_read": 0.06, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "zai-org/GLM-5.1", - "name": "GLM 5.1", - "display_name": "GLM 5.1", + "id": "MiniMax-M2", + "name": "MiniMax-M2", + "display_name": "MiniMax-M2", "modalities": { "input": [ "text" @@ -178348,8 +183755,8 @@ ] }, "limit": { - "context": 202800, - "output": 202800 + "context": 196608, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -178359,42 +183766,34 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "release_date": "2025-10-27", + "last_updated": "2025-10-27", "cost": { - "input": 1.3, - "output": 4.3, - "cache_read": 0.26 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "MiniMax-M2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -178404,43 +183803,38 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "cost": { - "input": 0.95, - "output": 4, - "cache_read": 0.16 + "input": 0.3, + "output": 1.2, + "cache_read": 0.03, + "cache_write": 0.375 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "MiniMax-M3", + "name": "MiniMax-M3", + "display_name": "MiniMax-M3", "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262000, - "output": 262000 + "context": 512000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -178450,31 +183844,24 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": true, "open_weights": true, - "knowledge": "2025-12", - "release_date": "2026-01-30", - "last_updated": "2026-02-12", + "release_date": "2026-06-01", + "last_updated": "2026-06-01", "cost": { "input": 0.6, - "output": 3, + "output": 2.4, "cache_read": 0.12 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.1", - "name": "DeepSeek V3.1", - "display_name": "DeepSeek V3.1", + "id": "MiniMax-M2.7", + "name": "MiniMax-M2.7", + "display_name": "MiniMax-M2.7", "modalities": { "input": [ "text" @@ -178484,8 +183871,8 @@ ] }, "limit": { - "context": 164000, - "output": 131000 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -178493,165 +183880,208 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": true, - "release_date": "2025-08-25", - "last_updated": "2025-08-25", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { - "input": 0.5, - "output": 1.5 + "input": 0.3, + "output": 1.2, + "cache_read": 0.06, + "cache_write": 0.375 }, "type": "chat" - }, + } + ] + }, + "github-copilot": { + "id": "github-copilot", + "name": "GitHub Copilot", + "display_name": "GitHub Copilot", + "api": "https://api.githubcopilot.com", + "doc": "https://docs.github.com/en/copilot", + "models": [ { - "id": "deepseek-ai/DeepSeek-V4-Pro", - "name": "Deepseek V4 Pro", - "display_name": "Deepseek V4 Pro", + "id": "raptor-mini", + "name": "Raptor mini", + "display_name": "Raptor mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131000, - "output": 131000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "attachment": true, + "open_weights": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 1.74, - "output": 3.48, - "cache_read": 0.145 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B", - "name": "Nemotron Ultra", - "display_name": "Nemotron Ultra", + "id": "claude-sonnet-4.5", + "name": "Claude Sonnet 4.5 (latest)", + "display_name": "Claude Sonnet 4.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 202800, - "output": 202800 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-06-04", - "last_updated": "2026-06-04", + "attachment": true, + "open_weights": false, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 0.6, - "output": 2.4, - "cache_read": 0.12 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "nvidia/Nemotron-120B-A12B", - "name": "Nemotron Super", - "display_name": "Nemotron Super", + "id": "claude-sonnet-4", + "name": "Claude Sonnet 4 (latest)", + "display_name": "Claude Sonnet 4 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 202800, - "output": 202800 + "context": 216000, + "output": 16000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2026-02", - "release_date": "2026-03-11", - "last_updated": "2026-03-11", + "attachment": true, + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0.06, - "output": 0.75, - "cache_read": 0.06 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "openai/gpt-oss-120b", - "name": "OpenAI GPT 120B", - "display_name": "OpenAI GPT 120B", + "id": "gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "display_name": "Gemini 2.5 Pro", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128072, - "output": 128072 + "context": 128000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -178661,171 +184091,291 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-08", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { - "input": 0.1, - "output": 0.5 + "input": 1.25, + "output": 10, + "cache_read": 0.125, + "tiers": [ + { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } }, "type": "chat" - } - ] - }, - "lucidquery": { - "id": "lucidquery", - "name": "LucidQuery AI", - "display_name": "LucidQuery AI", - "api": "https://lucidquery.com/api/v1", - "doc": "https://lucidquery.com/api/docs", - "models": [ + }, { - "id": "lucidquery-nexus-coder", - "name": "LucidQuery Nexus Coder", - "display_name": "LucidQuery Nexus Coder", + "id": "claude-haiku-4.5", + "name": "Claude Haiku 4.5 (latest)", + "display_name": "Claude Haiku 4.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 250000, - "output": 60000 + "context": 200000, + "output": 64000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "budget", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude 4 manual thinking uses thinking.type = \"enabled\" with budget_tokens.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header for this model family." + ] + } }, "attachment": true, "open_weights": false, - "knowledge": "2025-08-01", - "release_date": "2025-09-01", - "last_updated": "2025-09-01", + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 2, - "output": 5 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, { - "id": "lucidnova-rf1-100b", - "name": "LucidNova RF1 100B", - "display_name": "LucidNova RF1 100B", + "id": "gemini-3.5-flash", + "name": "Gemini 3.5 Flash", + "display_name": "Gemini 3.5 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 120000, - "output": 8000 + "context": 200000, + "output": 64000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, "attachment": true, "open_weights": false, - "knowledge": "2025-09-16", - "release_date": "2024-12-28", - "last_updated": "2025-09-10", + "knowledge": "2025-01", + "release_date": "2026-05-19", + "last_updated": "2026-05-19", "cost": { - "input": 2, - "output": 5 + "input": 1.5, + "output": 9, + "cache_read": 0.15, + "input_audio": 1.5 }, "type": "chat" - } - ] - }, - "scaleway": { - "id": "scaleway", - "name": "Scaleway", - "display_name": "Scaleway", - "api": "https://api.scaleway.ai/v1", - "doc": "https://www.scaleway.com/en/docs/generative-apis/", - "models": [ + }, { - "id": "bge-multilingual-gemma2", - "name": "BGE Multilingual Gemma2", - "display_name": "BGE Multilingual Gemma2", + "id": "gpt-5.4-nano", + "name": "GPT-5.4 nano", + "display_name": "GPT-5.4 nano", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 8191, - "output": 3072 + "context": 400000, + "output": 128000 }, "temperature": false, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-07-26", - "last_updated": "2025-06-15", + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 0.1, - "output": 0 + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "qwen3-coder-30b-a3b-instruct", - "name": "Qwen3-Coder 30B-A3B Instruct", - "display_name": "Qwen3-Coder 30B-A3B Instruct", + "id": "claude-opus-4.7", + "name": "Claude Opus 4.7", + "display_name": "Claude Opus 4.7", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 200000, + "output": 32000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2026-03-17", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { - "input": 0.2, - "output": 0.8 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "mistral-small-3.2-24b-instruct-2506", - "name": "Mistral Small 3.2 24B Instruct (2506)", - "display_name": "Mistral Small 3.2 24B Instruct (2506)", + "id": "gpt-5.2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", "modalities": { "input": [ "text", @@ -178836,196 +184386,373 @@ ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-03", - "release_date": "2025-06-20", - "last_updated": "2026-03-17", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.15, - "output": 0.35 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "pixtral-12b-2409", - "name": "Pixtral 12B 2409", - "display_name": "Pixtral 12B 2409", + "id": "gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "display_name": "GPT-5.3 Codex", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, - "open_weights": true, - "knowledge": "2024-09", - "release_date": "2024-09-25", - "last_updated": "2026-03-17", + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", "cost": { - "input": 0.2, - "output": 0.2 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, { - "id": "gpt-oss-120b", - "name": "GPT-OSS 120B", - "display_name": "GPT-OSS 120B", + "id": "claude-opus-4.8", + "name": "Claude Opus 4.8", + "display_name": "Claude Opus 4.8", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 32768 + "context": 200000, + "output": 64000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": false }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.7 and newer Opus models require thinking.type = \"adaptive\" to enable thinking explicitly.", + "Manual budget_tokens requests return 400 on Claude Opus 4.7 and newer adaptive-only Opus models.", + "task_budget is separate from thinking control and should not be treated as a thinking budget." + ] } }, "attachment": true, - "open_weights": true, - "release_date": "2024-01-01", - "last_updated": "2026-03-17", + "open_weights": false, + "release_date": "2026-05-28", + "last_updated": "2026-05-28", "cost": { - "input": 0.15, - "output": 0.6 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "gemma-3-27b-it", - "name": "Gemma-3-27B-IT", - "display_name": "Gemma-3-27B-IT", + "id": "claude-fable-5", + "name": "Claude Fable 5", + "display_name": "Claude Fable 5", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 40000, - "output": 8192 + "context": 1000000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "omitted", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Adaptive thinking is always on for Claude Fable 5 and Claude Mythos 5; thinking.type = \"disabled\" is rejected.", + "Manual budget_tokens requests return 400 on Claude Fable 5 and Claude Mythos 5.", + "thinking.display defaults to omitted; set display to summarized to receive readable thinking summaries." + ] + } + }, "attachment": true, "open_weights": false, - "knowledge": "2024-12", - "release_date": "2024-12-01", - "last_updated": "2026-03-17", + "knowledge": "2026-01-31", + "release_date": "2026-06-09", + "last_updated": "2026-06-09", "cost": { - "input": 0.25, - "output": 0.5 + "input": 10, + "output": 50, + "cache_read": 1, + "cache_write": 12.5 }, "type": "chat" }, { - "id": "voxtral-small-24b-2507", - "name": "Voxtral Small 24B 2507", - "display_name": "Voxtral Small 24B 2507", + "id": "claude-opus-4.5", + "name": "Claude Opus 4.5 (latest)", + "display_name": "Claude Opus 4.5 (latest)", "modalities": { "input": [ "text", - "audio" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 32000, - "output": 16384 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Claude Opus 4.5 uses manual thinking.type = \"enabled\" with budget_tokens; effort can be used alongside the thinking budget.", + "Interleaved thinking requires the interleaved-thinking-2025-05-14 beta header." + ] + } }, "attachment": true, - "open_weights": true, - "release_date": "2025-07-01", - "last_updated": "2026-03-17", + "open_weights": false, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", "cost": { - "input": 0.15, - "output": 0.35 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "whisper-large-v3", - "name": "Whisper Large v3", - "display_name": "Whisper Large v3", + "id": "gpt-5.4", + "name": "GPT-5.4", + "display_name": "GPT-5.4", "modalities": { "input": [ - "audio" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 400000, + "output": 128000 }, "temperature": false, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false }, - "attachment": false, - "open_weights": true, - "knowledge": "2023-09", - "release_date": "2023-09-01", - "last_updated": "2026-03-17", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", "cost": { - "input": 0.003, - "output": 0 + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tiers": [ + { + "input": 5, + "output": 22.5, + "cache_read": 0.5, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 5, + "output": 22.5, + "cache_read": 0.5 + } }, "type": "chat" }, { - "id": "mistral-medium-3.5-128b", - "name": "Mistral Medium 3.5 128B", - "display_name": "Mistral Medium 3.5 128B", + "id": "gpt-5.4-mini", + "name": "GPT-5.4 mini", + "display_name": "GPT-5.4 mini", "modalities": { "input": [ "text", @@ -179036,72 +184763,103 @@ ] }, "limit": { - "context": 256000, - "output": 16384 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "effort", + "effort": "none", + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } }, "attachment": true, - "open_weights": true, - "release_date": "2026-04-29", - "last_updated": "2026-04-29", + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", "cost": { - "input": 1.5, - "output": 7.5 + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "qwen3-embedding-8b", - "name": "Qwen3 Embedding 8B", - "display_name": "Qwen3 Embedding 8B", + "id": "gpt-4.1", + "name": "GPT-4.1", + "display_name": "GPT-4.1", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 32768, - "output": 4096 + "context": 128000, + "output": 16384 }, - "temperature": false, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-25-11", - "last_updated": "2026-03-17", + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { - "input": 0.1, - "output": 0 + "input": 2, + "output": 8, + "cache_read": 0.5 }, - "type": "embedding" + "type": "chat" }, { - "id": "gemma-4-26b-a4b-it", - "name": "Gemma 4 26B A4B IT", - "display_name": "Gemma 4 26B A4B IT", + "id": "gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "display_name": "Gemini 3.1 Pro Preview", "modalities": { "input": [ "text", - "image" + "image", + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 16384 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -179109,113 +184867,191 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, "attachment": true, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-04-01", - "last_updated": "2026-05-22", + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", "cost": { - "input": 0.25, - "output": 0.5 + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } }, "type": "chat" }, { - "id": "qwen3.6-35b-a3b", - "name": "Qwen3.6 35B A3B", - "display_name": "Qwen3.6 35B A3B", + "id": "claude-sonnet-4.6", + "name": "Claude Sonnet 4.6", + "display_name": "Claude Sonnet 4.6", "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": true, - "default": true + "default": false }, "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." ] } }, "attachment": true, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-05-01", - "last_updated": "2026-05-22", + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", "cost": { - "input": 0.25, - "output": 1.5 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, { - "id": "qwen3-235b-a22b-instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "display_name": "Qwen3 235B A22B Instruct 2507", + "id": "gpt-5-mini", + "name": "GPT-5 Mini", + "display_name": "GPT-5 Mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 260000, - "output": 16384 + "context": 264000, + "output": 64000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-01", - "last_updated": "2026-03-17", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "minimal", + "low", + "medium", + "high" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", "cost": { - "input": 0.75, - "output": 2.25, - "reasoning": 8.4 + "input": 0.25, + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, { - "id": "qwen3.5-397b-a17b", - "name": "Qwen3.5 397B A17B", - "display_name": "Qwen3.5 397B A17B", + "id": "gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "display_name": "Gemini 3 Flash Preview", "modalities": { "input": [ "text", "image", - "video" + "video", + "audio", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 16384 + "context": 128000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -179226,145 +185062,255 @@ "extra_capabilities": { "reasoning": { "supported": true, - "interleaved": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], "summaries": true, "visibility": "summary", "continuation": [ - "thinking_blocks" + "thought_signatures" ] } }, "attachment": true, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", "cost": { - "input": 0.6, - "output": 3.6 + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "input_audio": 1 }, "type": "chat" }, { - "id": "llama-3.3-70b-instruct", - "name": "Llama-3.3-70B-Instruct", - "display_name": "Llama-3.3-70B-Instruct", + "id": "claude-opus-4.6", + "name": "Claude Opus 4.6", + "display_name": "Claude Opus 4.6", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 100000, - "output": 16384 + "context": 200000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": false + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": false, + "mode": "mixed", + "budget": { + "min": 1024, + "unit": "tokens" + }, + "effort": "high", + "effort_options": [ + "low", + "medium", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "Anthropic recommends adaptive thinking with effort for Claude 4.6; budget_tokens remains a deprecated compatibility path.", + "Anthropic API defaults effort to high; lower effort levels should be chosen per workload." + ] + } }, "attachment": true, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2026-03-17", + "open_weights": false, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", "cost": { - "input": 0.9, - "output": 0.9 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, { - "id": "devstral-2-123b-instruct-2512", - "name": "Devstral 2 123B Instruct (2512)", - "display_name": "Devstral 2 123B Instruct (2512)", + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "display_name": "GPT-5.2 Codex", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 16384 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-12", - "release_date": "2026-01-07", - "last_updated": "2026-03-17", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 0.4, - "output": 2 + "input": 1.75, + "output": 14, + "cache_read": 0.175 }, "type": "chat" - } - ] - }, - "cerebras": { - "id": "cerebras", - "name": "Cerebras", - "display_name": "Cerebras", - "doc": "https://inference-docs.cerebras.ai/models/overview", - "models": [ + }, { - "id": "zai-glm-4.7", - "name": "Z.AI GLM-4.7", - "display_name": "Z.AI GLM-4.7", + "id": "gpt-5.5", + "name": "GPT-5.5", + "display_name": "GPT-5.5", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 40000 + "context": 400000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2026-01-10", - "last_updated": "2026-01-10", + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", "cost": { - "input": 2.25, - "output": 2.75, - "cache_read": 0, - "cache_write": 0 + "input": 5, + "output": 30, + "cache_read": 0.5, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + } }, "type": "chat" - }, + } + ] + }, + "clarifai": { + "id": "clarifai", + "name": "Clarifai", + "display_name": "Clarifai", + "api": "https://api.clarifai.com/v2/ext/openai/v1", + "doc": "https://docs.clarifai.com/compute/inference/", + "models": [ { - "id": "gpt-oss-120b", - "name": "GPT OSS 120B", - "display_name": "GPT OSS 120B", + "id": "moonshotai/chat-completion/models/Kimi-K2_6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -179374,23 +185320,30 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 0.25, - "output": 0.69 + "input": 0.95, + "output": 4 }, "type": "chat" }, { - "id": "llama3.1-8b", - "name": "Llama 3.1 8B", - "display_name": "Llama 3.1 8B", + "id": "minimaxai/chat-completion/models/MiniMax-M2_5-high-throughput", + "name": "MiniMax-M2.5 High Throughput", + "display_name": "MiniMax-M2.5 High Throughput", "modalities": { "input": [ "text" @@ -179400,38 +185353,29 @@ ] }, "limit": { - "context": 32000, - "output": 8000 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2025-01-01", - "last_updated": "2026-05-27", + "release_date": "2026-02-12", + "last_updated": "2026-02-25", "cost": { - "input": 0.1, - "output": 0.1 + "input": 0.3, + "output": 1.2 }, "type": "chat" - } - ] - }, - "hpc-ai": { - "id": "hpc-ai", - "name": "HPC-AI", - "display_name": "HPC-AI", - "api": "https://api.hpc-ai.com/inference/v1", - "doc": "https://www.hpc-ai.com/doc/docs/quickstart/", - "models": [ + }, { - "id": "zai-org/glm-5.1", - "name": "GLM 5.1", - "display_name": "GLM 5.1", + "id": "openai/chat-completion/models/gpt-oss-120b-high-throughput", + "name": "GPT OSS 120B High Throughput", + "display_name": "GPT OSS 120B High Throughput", "modalities": { "input": [ "text" @@ -179441,8 +185385,8 @@ ] }, "limit": { - "context": 202000, - "output": 202000 + "context": 131072, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -179450,47 +185394,33 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, "open_weights": true, - "release_date": "2026-04-08", - "last_updated": "2026-06-01", + "release_date": "2025-08-05", + "last_updated": "2026-02-25", "cost": { - "input": 0.615, - "output": 2.46, - "cache_read": 0.133 + "input": 0.09, + "output": 0.36 }, "type": "chat" }, { - "id": "moonshotai/kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "openai/chat-completion/models/gpt-oss-20b", + "name": "GPT OSS 20B", + "display_name": "GPT OSS 20B", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, - "limit": { - "context": 262144, - "output": 262144 + "limit": { + "context": 131072, + "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -179498,42 +185428,35 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": true, - "knowledge": "2025-01-01", - "release_date": "2026-01-01", - "last_updated": "2026-06-01", + "release_date": "2025-08-05", + "last_updated": "2025-12-12", "cost": { - "input": 0.3, - "output": 1.5, - "cache_read": 0.05 + "input": 0.045, + "output": 0.18 }, "type": "chat" }, { - "id": "minimax/minimax-m2.5", - "name": "MiniMax M2.5", - "display_name": "MiniMax M2.5", + "id": "mistralai/completion/models/Ministral-3-14B-Reasoning-2512", + "name": "Ministral 3 14B Reasoning 2512", + "display_name": "Ministral 3 14B Reasoning 2512", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 131072 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -179541,46 +185464,33 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-06-01", + "knowledge": "2025-12", + "release_date": "2025-12-01", + "last_updated": "2025-12-12", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.03 + "input": 2.5, + "output": 1.7 }, "type": "chat" - } - ] - }, - "alibaba-token-plan": { - "id": "alibaba-token-plan", - "name": "Alibaba Token Plan", - "display_name": "Alibaba Token Plan", - "api": "https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1", - "doc": "https://www.alibabacloud.com/help/en/model-studio/token-plan-overview", - "models": [ + }, { - "id": "MiniMax-M2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "mistralai/completion/models/Ministral-3-3B-Reasoning-2512", + "name": "Ministral 3 3B Reasoning 2512", + "display_name": "Ministral 3 3B Reasoning 2512", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 196608, - "output": 24576 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -179588,39 +185498,27 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "release_date": "2025-12", + "last_updated": "2026-02-25", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 1.039, + "output": 0.54825 }, "type": "chat" }, { - "id": "qwen-image-2.0-pro", - "name": "Qwen Image 2.0 Pro", - "display_name": "Qwen Image 2.0 Pro", + "id": "deepseek-ai/deepseek-ocr/models/DeepSeek-OCR", + "name": "DeepSeek OCR", + "display_name": "DeepSeek OCR", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ - "image" + "text" ] }, "limit": { @@ -179632,20 +185530,20 @@ "reasoning": { "supported": false }, - "attachment": false, - "open_weights": false, - "release_date": "2026-03-03", - "last_updated": "2026-03-03", + "attachment": true, + "open_weights": true, + "release_date": "2025-10-20", + "last_updated": "2026-02-25", "cost": { - "input": 0, - "output": 0 + "input": 0.2, + "output": 0.7 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "deepseek-v3.2", - "name": "DeepSeek V3.2", - "display_name": "DeepSeek V3.2", + "id": "qwen/qwenLM/models/Qwen3-30B-A3B-Thinking-2507", + "name": "Qwen3 30B A3B Thinking 2507", + "display_name": "Qwen3 30B A3B Thinking 2507", "modalities": { "input": [ "text" @@ -179655,8 +185553,8 @@ ] }, "limit": { - "context": 131072, - "output": 65536 + "context": 262144, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -179666,60 +185564,63 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2025-12-03", - "last_updated": "2025-12-05", + "release_date": "2025-07-31", + "last_updated": "2026-02-25", "cost": { - "input": 0, - "output": 0 + "input": 0.36, + "output": 1.3 }, "type": "chat" }, { - "id": "wan2.7-image", - "name": "Wan2.7 Image", - "display_name": "Wan2.7 Image", + "id": "qwen/qwenLM/models/Qwen3-30B-A3B-Instruct-2507", + "name": "Qwen3 30B A3B Instruct 2507", + "display_name": "Qwen3 30B A3B Instruct 2507", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 262144, + "output": 262144 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-05-29", - "last_updated": "2026-05-29", + "open_weights": true, + "release_date": "2025-07-30", + "last_updated": "2026-02-25", "cost": { - "input": 0, - "output": 0 + "input": 0.3, + "output": 0.5 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "kimi-k2.6", - "name": "Kimi K2.6", - "display_name": "Kimi K2.6", + "id": "qwen/qwenCoder/models/Qwen3-Coder-30B-A3B-Instruct", + "name": "Qwen3 Coder 30B A3B Instruct", + "display_name": "Qwen3 Coder 30B A3B Instruct", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" @@ -179727,42 +185628,28 @@ }, "limit": { "context": 262144, - "output": 16384 + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "knowledge": "2025-04", + "release_date": "2025-07-31", + "last_updated": "2026-02-12", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.11458, + "output": 0.74812 }, "type": "chat" }, { - "id": "qwen3.7-max", - "name": "Qwen3.7 Max", - "display_name": "Qwen3.7 Max", + "id": "arcee_ai/AFM/models/trinity-mini", + "name": "Trinity Mini", + "display_name": "Trinity Mini", "modalities": { "input": [ "text" @@ -179772,8 +185659,8 @@ ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -179781,71 +185668,74 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, "attachment": false, - "open_weights": false, - "release_date": "2026-05-21", - "last_updated": "2026-05-21", + "open_weights": true, + "knowledge": "2024-10", + "release_date": "2025-12", + "last_updated": "2026-02-25", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.045, + "output": 0.15 }, "type": "chat" }, { - "id": "wan2.7-image-pro", - "name": "Wan2.7 Image Pro", - "display_name": "Wan2.7 Image Pro", + "id": "clarifai/main/models/mm-poly-8b", + "name": "MM Poly 8B", + "display_name": "MM Poly 8B", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 32768, + "output": 4096 }, "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-05-29", - "last_updated": "2026-05-29", + "release_date": "2025-06", + "last_updated": "2026-02-25", "cost": { - "input": 0, - "output": 0 + "input": 0.658, + "output": 1.11 }, - "type": "imageGeneration" - }, + "type": "chat" + } + ] + }, + "the-grid-ai": { + "id": "the-grid-ai", + "name": "The Grid AI", + "display_name": "The Grid AI", + "api": "https://api.thegrid.ai/v1", + "doc": "https://thegrid.ai/docs", + "models": [ { - "id": "qwen3.6-plus", - "name": "Qwen3.6 Plus", - "display_name": "Qwen3.6 Plus", + "id": "agent-prime", + "name": "Agent Prime", + "display_name": "Agent Prime", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 128000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -179853,39 +185743,20 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-04-02", - "last_updated": "2026-04-02", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 - }, + "release_date": "2026-05-04", + "last_updated": "2026-05-19", "type": "chat" }, { - "id": "qwen3.6-flash", - "name": "Qwen3.6 Flash", - "display_name": "Qwen3.6 Flash", + "id": "agent-max", + "name": "Agent Max", + "display_name": "Agent Max", "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" @@ -179893,7 +185764,7 @@ }, "limit": { "context": 1000000, - "output": 65536 + "output": 128000 }, "temperature": true, "tool_call": true, @@ -179912,53 +185783,44 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-27", - "last_updated": "2026-04-27", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 - }, + "release_date": "2026-05-04", + "last_updated": "2026-05-19", "type": "chat" }, { - "id": "qwen-image-2.0", - "name": "Qwen Image 2.0", - "display_name": "Qwen Image 2.0", + "id": "text-standard", + "name": "Text Standard", + "display_name": "Text Standard", "modalities": { "input": [ "text" ], "output": [ - "image" + "text" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 128000, + "output": 16000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": false, - "release_date": "2026-03-03", - "last_updated": "2026-03-03", - "cost": { - "input": 0, - "output": 0 - }, - "type": "imageGeneration" + "release_date": "2026-02-26", + "last_updated": "2026-05-19", + "type": "chat" }, { - "id": "deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "code-prime", + "name": "Code Prime", + "display_name": "Code Prime", "modalities": { "input": [ "text" @@ -179968,8 +185830,8 @@ ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 128000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -179977,33 +185839,16 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0 - }, + "open_weights": false, + "release_date": "2026-05-04", + "last_updated": "2026-05-19", "type": "chat" }, { - "id": "glm-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "text-prime", + "name": "Text Prime", + "display_name": "Text Prime", "modalities": { "input": [ "text" @@ -180013,8 +185858,8 @@ ] }, "limit": { - "context": 202752, - "output": 16384 + "context": 128000, + "output": 30000 }, "temperature": true, "tool_call": true, @@ -180022,36 +185867,20 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, "open_weights": false, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 - }, + "release_date": "2026-02-26", + "last_updated": "2026-05-19", "type": "chat" }, { - "id": "deepseek-v4-pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "code-max", + "name": "Code Max", + "display_name": "Code Max", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -180059,7 +185888,7 @@ }, "limit": { "context": 1000000, - "output": 384000 + "output": 128000 }, "temperature": true, "tool_call": true, @@ -180079,34 +185908,26 @@ } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0 - }, + "open_weights": false, + "release_date": "2026-05-04", + "last_updated": "2026-05-19", "type": "chat" }, { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "agent-standard", + "name": "Agent Standard", + "display_name": "Agent Standard", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 128000, + "output": 16000 }, "temperature": true, "tool_call": true, @@ -180114,44 +185935,27 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01", - "last_updated": "2026-01", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 - }, + "attachment": false, + "open_weights": false, + "release_date": "2026-05-04", + "last_updated": "2026-05-19", "type": "chat" }, { - "id": "glm-5.1", - "name": "GLM-5.1", - "display_name": "GLM-5.1", + "id": "text-max", + "name": "Text Max", + "display_name": "Text Max", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 202752, + "context": 1000000, "output": 128000 }, "temperature": true, @@ -180172,30 +185976,15 @@ } }, "attachment": false, - "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 - }, + "open_weights": false, + "release_date": "2026-03-24", + "last_updated": "2026-05-19", "type": "chat" - } - ] - }, - "tencent-tokenhub": { - "id": "tencent-tokenhub", - "name": "Tencent TokenHub", - "display_name": "Tencent TokenHub", - "api": "https://tokenhub.tencentmaas.com/v1", - "doc": "https://cloud.tencent.com/document/product/1823/130050", - "models": [ + }, { - "id": "hy3-preview", - "name": "Hy3 preview", - "display_name": "Hy3 preview", + "id": "code-standard", + "name": "Code Standard", + "display_name": "Code Standard", "modalities": { "input": [ "text" @@ -180205,8 +185994,8 @@ ] }, "limit": { - "context": 256000, - "output": 64000 + "context": 128000, + "output": 16000 }, "temperature": true, "tool_call": true, @@ -180214,81 +186003,58 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, "attachment": false, - "open_weights": true, - "release_date": "2026-04-20", - "last_updated": "2026-04-20", - "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 - }, + "open_weights": false, + "release_date": "2026-05-04", + "last_updated": "2026-05-19", "type": "chat" } ] }, - "alibaba-coding-plan-cn": { - "id": "alibaba-coding-plan-cn", - "name": "Alibaba Coding Plan (China)", - "display_name": "Alibaba Coding Plan (China)", - "api": "https://coding.dashscope.aliyuncs.com/v1", - "doc": "https://help.aliyun.com/zh/model-studio/coding-plan", + "synthetic": { + "id": "synthetic", + "name": "Synthetic", + "display_name": "Synthetic", + "api": "https://api.synthetic.new/openai/v1", + "doc": "https://synthetic.new/pricing", "models": [ { - "id": "MiniMax-M2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "hf:meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", + "name": "Llama-4-Maverick-17B-128E-Instruct-FP8", + "display_name": "Llama-4-Maverick-17B-128E-Instruct-FP8", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 196608, - "output": 24576 + "context": 524000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.22, + "output": 0.88 }, "type": "chat" }, { - "id": "qwen3.5-plus", - "name": "Qwen3.5 Plus", - "display_name": "Qwen3.5 Plus", + "id": "hf:meta-llama/Llama-4-Scout-17B-16E-Instruct", + "name": "Llama-4-Scout-17B-16E-Instruct", + "display_name": "Llama-4-Scout-17B-16E-Instruct", "modalities": { "input": [ "text", @@ -180299,43 +186065,29 @@ ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 328000, + "output": 4096 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", + "attachment": true, + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.15, + "output": 0.6 }, "type": "chat" }, { - "id": "qwen3-coder-plus", - "name": "Qwen3 Coder Plus", - "display_name": "Qwen3 Coder Plus", + "id": "hf:meta-llama/Llama-3.3-70B-Instruct", + "name": "Llama-3.3-70B-Instruct", + "display_name": "Llama-3.3-70B-Instruct", "modalities": { "input": [ "text" @@ -180345,31 +186097,30 @@ ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 128000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.9, + "output": 0.9 }, "type": "chat" }, { - "id": "glm-4.7", - "name": "GLM-4.7", - "display_name": "GLM-4.7", + "id": "hf:meta-llama/Llama-3.1-70B-Instruct", + "name": "Llama-3.1-70B-Instruct", + "display_name": "Llama-3.1-70B-Instruct", "modalities": { "input": [ "text" @@ -180379,8 +186130,8 @@ ] }, "limit": { - "context": 202752, - "output": 16384 + "context": 128000, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -180388,34 +186139,21 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.9, + "output": 0.9 }, "type": "chat" }, { - "id": "qwen3-coder-next", - "name": "Qwen3 Coder Next", - "display_name": "Qwen3 Coder Next", + "id": "hf:meta-llama/Llama-3.1-405B-Instruct", + "name": "Llama-3.1-405B-Instruct", + "display_name": "Llama-3.1-405B-Instruct", "modalities": { "input": [ "text" @@ -180425,30 +186163,30 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 128000, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "release_date": "2026-02-03", - "last_updated": "2026-02-03", + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 3, + "output": 3 }, "type": "chat" }, { - "id": "qwen3.7-max", - "name": "Qwen3.7 Max", - "display_name": "Qwen3.7 Max", + "id": "hf:meta-llama/Llama-3.1-8B-Instruct", + "name": "Llama-3.1-8B-Instruct", + "display_name": "Llama-3.1-8B-Instruct", "modalities": { "input": [ "text" @@ -180458,8 +186196,8 @@ ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 128000, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -180467,40 +186205,32 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, "attachment": false, - "open_weights": false, - "release_date": "2026-05-21", - "last_updated": "2026-05-21", + "open_weights": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "cost": { - "input": 2.5, - "output": 7.5, - "cache_read": 0.5, - "cache_write": 3.125 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "qwen3.6-plus", - "name": "Qwen3.6 Plus", - "display_name": "Qwen3.6 Plus", + "id": "hf:deepseek-ai/DeepSeek-R1", + "name": "DeepSeek R1", + "display_name": "DeepSeek R1", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -180520,35 +186250,62 @@ } }, "attachment": false, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "cost": { + "input": 0.55, + "output": 2.19 + }, + "type": "chat" + }, + { + "id": "hf:deepseek-ai/DeepSeek-V3-0324", + "name": "DeepSeek V3 (0324)", + "display_name": "DeepSeek V3 (0324)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 128000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-04-02", - "last_updated": "2026-04-02", + "release_date": "2025-08-01", + "last_updated": "2025-08-01", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 1.2, + "output": 1.2 }, "type": "chat" }, { - "id": "qwen3.6-flash", - "name": "Qwen3.6 Flash", - "display_name": "Qwen3.6 Flash", + "id": "hf:deepseek-ai/DeepSeek-V3.1-Terminus", + "name": "DeepSeek V3.1 Terminus", + "display_name": "DeepSeek V3.1 Terminus", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -180556,32 +186313,20 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2026-04-27", - "last_updated": "2026-04-27", + "release_date": "2025-09-22", + "last_updated": "2025-09-25", "cost": { - "input": 0.1875, - "output": 1.125, - "cache_write": 0.234375 + "input": 1.2, + "output": 1.2 }, "type": "chat" }, { - "id": "qwen3-max-2026-01-23", - "name": "Qwen3 Max", - "display_name": "Qwen3 Max", + "id": "hf:deepseek-ai/DeepSeek-R1-0528", + "name": "DeepSeek R1 (0528)", + "display_name": "DeepSeek R1 (0528)", "modalities": { "input": [ "text" @@ -180591,13 +186336,14 @@ ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -180612,21 +186358,18 @@ }, "attachment": false, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-01-23", - "last_updated": "2026-01-23", + "release_date": "2025-08-01", + "last_updated": "2025-08-01", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 3, + "output": 8 }, "type": "chat" }, { - "id": "glm-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "hf:deepseek-ai/DeepSeek-V3.1", + "name": "DeepSeek V3.1", + "display_name": "DeepSeek V3.1", "modalities": { "input": [ "text" @@ -180636,8 +186379,8 @@ ] }, "limit": { - "context": 202752, - "output": 16384 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -180645,45 +186388,31 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, "attachment": false, "open_weights": false, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "release_date": "2025-08-21", + "last_updated": "2025-08-21", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 0.56, + "output": 1.68 }, "type": "chat" }, { - "id": "qwen3.7-plus", - "name": "Qwen3.7 Plus", - "display_name": "Qwen3.7 Plus", + "id": "hf:deepseek-ai/DeepSeek-V3.2", + "name": "DeepSeek V3.2", + "display_name": "DeepSeek V3.2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 1000000, - "output": 64000 + "context": 162816, + "output": 8000 }, "temperature": true, "tool_call": true, @@ -180697,34 +186426,32 @@ } }, "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-06-02", - "last_updated": "2026-06-02", + "open_weights": true, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, + "input": 0.27, + "output": 0.4, + "cache_read": 0.27, "cache_write": 0 }, "type": "chat" }, { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "display_name": "Kimi K2.5", + "id": "hf:deepseek-ai/DeepSeek-V3", + "name": "DeepSeek V3", + "display_name": "DeepSeek V3", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32768 + "context": 128000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -180732,43 +186459,21 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-05-29", "cost": { - "input": 0, - "output": 0, - "cache_read": 0, - "cache_write": 0 + "input": 1.25, + "output": 1.25 }, "type": "chat" - } - ] - }, - "nebius": { - "id": "nebius", - "name": "Nebius Token Factory", - "display_name": "Nebius Token Factory", - "api": "https://api.tokenfactory.nebius.com/v1", - "doc": "https://docs.tokenfactory.nebius.com/", - "models": [ + }, { - "id": "MiniMaxAI/MiniMax-M2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "hf:moonshotai/Kimi-K2-Thinking", + "name": "Kimi K2 Thinking", + "display_name": "Kimi K2 Thinking", "modalities": { "input": [ "text" @@ -180778,8 +186483,8 @@ ] }, "limit": { - "context": 196608, - "output": 8192 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -180789,26 +186494,30 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2025-01-20", - "last_updated": "2026-05-07", + "knowledge": "2025-11", + "release_date": "2025-11-07", + "last_updated": "2025-11-07", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.03, - "cache_write": 0.375 + "input": 0.55, + "output": 2.19 }, "type": "chat" }, { - "id": "MiniMaxAI/MiniMax-M2.5-fast", - "name": "MiniMax-M2.5-fast", - "display_name": "MiniMax-M2.5-fast", + "id": "hf:moonshotai/Kimi-K2-Instruct-0905", + "name": "Kimi K2 0905", + "display_name": "Kimi K2 0905", "modalities": { "input": [ "text" @@ -180818,43 +186527,41 @@ ] }, "limit": { - "context": 8000, - "output": 8192 + "context": 262144, + "output": 32768 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2025-01-20", - "last_updated": "2026-05-07", + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.03, - "cache_write": 0.375 + "input": 1.2, + "output": 1.2 }, "type": "chat" }, { - "id": "zai-org/GLM-5", - "name": "GLM-5", - "display_name": "GLM-5", + "id": "hf:moonshotai/Kimi-K2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 16384 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -180873,34 +186580,34 @@ ] } }, - "attachment": false, - "open_weights": false, - "knowledge": "2026-01", - "release_date": "2026-03-01", - "last_updated": "2026-03-10", + "attachment": true, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "cost": { - "input": 1, - "output": 3.2, - "cache_read": 0.1, - "cache_write": 1 + "input": 0.95, + "output": 4, + "cache_read": 0.95 }, "type": "chat" }, { - "id": "NousResearch/Hermes-4-405B", - "name": "Hermes-4-405B", - "display_name": "Hermes-4-405B", + "id": "hf:moonshotai/Kimi-K2.5", + "name": "Kimi K2.5", + "display_name": "Kimi K2.5", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -180921,22 +186628,19 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-11", - "release_date": "2026-01-30", - "last_updated": "2026-02-04", + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", "cost": { - "input": 1, - "output": 3, - "reasoning": 3, - "cache_read": 0.1, - "cache_write": 1.25 + "input": 0.55, + "output": 2.19 }, "type": "chat" }, { - "id": "NousResearch/Hermes-4-70B", - "name": "Hermes-4-70B", - "display_name": "Hermes-4-70B", + "id": "hf:zai-org/GLM-4.7-Flash", + "name": "GLM-4.7-Flash", + "display_name": "GLM-4.7-Flash", "modalities": { "input": [ "text" @@ -180946,8 +186650,8 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 196608, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -180968,34 +186672,30 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-11", - "release_date": "2026-01-30", - "last_updated": "2026-02-04", + "release_date": "2026-01-18", + "last_updated": "2026-01-18", "cost": { - "input": 0.13, + "input": 0.06, "output": 0.4, - "reasoning": 0.4, - "cache_read": 0.013, - "cache_write": 0.16 + "cache_read": 0.06 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2.5", - "name": "Kimi-K2.5", - "display_name": "Kimi-K2.5", + "id": "hf:zai-org/GLM-4.6", + "name": "GLM 4.6", + "display_name": "GLM 4.6", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 8192 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -181005,45 +186705,35 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2025-06", - "release_date": "2025-12-15", - "last_updated": "2026-02-04", + "knowledge": "2025-04", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", "cost": { - "input": 0.5, - "output": 2.5, - "reasoning": 2.5, - "cache_read": 0.05, - "cache_write": 0.625 + "input": 0.55, + "output": 2.19 }, "type": "chat" }, { - "id": "moonshotai/Kimi-K2.5-fast", - "name": "Kimi-K2.5-fast", - "display_name": "Kimi-K2.5-fast", + "id": "hf:zai-org/GLM-5", + "name": "GLM-5", + "display_name": "GLM-5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 8192 + "context": 196608, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -181062,23 +186752,21 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2025-06", - "release_date": "2025-12-15", - "last_updated": "2026-02-04", + "release_date": "2026-02-12", + "last_updated": "2026-04-08", "cost": { - "input": 0.5, - "output": 2.5, - "cache_read": 0.05, - "cache_write": 0.625 + "input": 1, + "output": 3, + "cache_read": 1 }, "type": "chat" }, { - "id": "meta-llama/Meta-Llama-3.1-8B-Instruct", - "name": "Meta-Llama-3.1-8B-Instruct", - "display_name": "Meta-Llama-3.1-8B-Instruct", + "id": "hf:zai-org/GLM-4.7", + "name": "GLM 4.7", + "display_name": "GLM 4.7", "modalities": { "input": [ "text" @@ -181088,31 +186776,41 @@ ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2024-07-23", - "last_updated": "2026-02-04", + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", "cost": { - "input": 0.02, - "output": 0.06, - "cache_read": 0.002, - "cache_write": 0.025 + "input": 0.55, + "output": 2.19 }, "type": "chat" }, { - "id": "meta-llama/Llama-3.3-70B-Instruct", - "name": "Llama-3.3-70B-Instruct", - "display_name": "Llama-3.3-70B-Instruct", + "id": "hf:zai-org/GLM-5.1", + "name": "GLM 5.1", + "display_name": "GLM 5.1", "modalities": { "input": [ "text" @@ -181122,31 +186820,41 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 196608, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "knowledge": "2025-08", - "release_date": "2025-12-05", - "last_updated": "2026-02-04", + "release_date": "2026-03-27", + "last_updated": "2026-04-12", "cost": { - "input": 0.13, - "output": 0.4, - "cache_read": 0.013, - "cache_write": 0.16 + "input": 1, + "output": 3, + "cache_read": 1 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V4-Pro", - "name": "DeepSeek V4 Pro", - "display_name": "DeepSeek V4 Pro", + "id": "hf:MiniMaxAI/MiniMax-M2.1", + "name": "MiniMax-M2.1", + "display_name": "MiniMax-M2.1", "modalities": { "input": [ "text" @@ -181156,8 +186864,8 @@ ] }, "limit": { - "context": 1000000, - "output": 384000 + "context": 204800, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -181178,20 +186886,18 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "cost": { - "input": 1.75, - "output": 3.5, - "cache_read": 0.15 + "input": 0.55, + "output": 2.19 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.2", - "name": "DeepSeek-V3.2", - "display_name": "DeepSeek-V3.2", + "id": "hf:MiniMaxAI/MiniMax-M2", + "name": "MiniMax-M2", + "display_name": "MiniMax-M2", "modalities": { "input": [ "text" @@ -181201,8 +186907,8 @@ ] }, "limit": { - "context": 163000, - "output": 16384 + "context": 196608, + "output": 131000 }, "temperature": true, "tool_call": true, @@ -181212,33 +186918,23 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": true, - "knowledge": "2025-11", - "release_date": "2026-01-20", - "last_updated": "2026-02-04", + "release_date": "2025-10-27", + "last_updated": "2025-10-27", "cost": { - "input": 0.3, - "output": 0.45, - "reasoning": 0.45, - "cache_read": 0.03, - "cache_write": 0.375 + "input": 0.55, + "output": 2.19 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V3.2-fast", - "name": "DeepSeek-V3.2-fast", - "display_name": "DeepSeek-V3.2-fast", + "id": "hf:MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ "text" @@ -181248,8 +186944,8 @@ ] }, "limit": { - "context": 8000, - "output": 8192 + "context": 191488, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -181257,57 +186953,71 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2025-01-27", - "last_updated": "2026-05-07", + "release_date": "2026-02-07", + "last_updated": "2026-02-07", "cost": { - "input": 0.4, - "output": 2, - "cache_read": 0.04, - "cache_write": 0.5 + "input": 0.6, + "output": 3, + "cache_read": 0.6 }, "type": "chat" }, { - "id": "nvidia/Llama-3_1-Nemotron-Ultra-253B-v1", - "name": "Llama-3.1-Nemotron-Ultra-253B-v1", - "display_name": "Llama-3.1-Nemotron-Ultra-253B-v1", + "id": "hf:MiniMaxAI/MiniMax-M3", + "name": "MiniMax-M3", + "display_name": "MiniMax-M3", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 524288, + "output": 65536 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-01-15", - "last_updated": "2026-02-04", + "release_date": "2026-06-12", + "last_updated": "2026-06-12", "cost": { "input": 0.6, - "output": 1.8, - "cache_read": 0.06, - "cache_write": 0.75 + "output": 1.2, + "cache_read": 0.6 }, "type": "chat" }, { - "id": "nvidia/Nemotron-3-Nano-Omni", - "name": "Nemotron-3-Nano-Omni", - "display_name": "Nemotron-3-Nano-Omni", + "id": "hf:openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "display_name": "GPT OSS 120B", "modalities": { "input": [ "text" @@ -181317,8 +187027,8 @@ ] }, "limit": { - "context": 65536, - "output": 8192 + "context": 128000, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -181326,34 +187036,37 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2025-01-20", - "last_updated": "2026-05-07", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0.06, - "output": 0.24, - "cache_read": 0.006, - "cache_write": 0.075 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "nvidia/nemotron-3-super-120b-a12b", - "name": "Nemotron-3-Super-120B-A12B", - "display_name": "Nemotron-3-Super-120B-A12B", + "id": "hf:Qwen/Qwen3.5-397B-A17B", + "name": "Qwen3.5-97B-A17B", + "display_name": "Qwen3.5-97B-A17B", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 32768 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -181361,21 +187074,32 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": true, - "knowledge": "2026-02", - "release_date": "2026-03-11", - "last_updated": "2026-03-12", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", "cost": { - "input": 0.3, - "output": 0.9 + "input": 0.6, + "output": 3, + "cache_read": 0.6 }, "type": "chat" }, { - "id": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B", - "name": "Nemotron-3-Nano-30B-A3B", - "display_name": "Nemotron-3-Nano-30B-A3B", + "id": "hf:Qwen/Qwen3-235B-A22B-Thinking-2507", + "name": "Qwen3 235B A22B Thinking 2507", + "display_name": "Qwen3 235B A22B Thinking 2507", "modalities": { "input": [ "text" @@ -181385,31 +187109,41 @@ ] }, "limit": { - "context": 32000, - "output": 4096 + "context": 256000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": false, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2025-08-10", - "last_updated": "2026-02-04", + "knowledge": "2025-04", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", "cost": { - "input": 0.06, - "output": 0.24, - "cache_read": 0.006, - "cache_write": 0.075 + "input": 0.65, + "output": 3 }, "type": "chat" }, { - "id": "PrimeIntellect/INTELLECT-3", - "name": "INTELLECT-3", - "display_name": "INTELLECT-3", + "id": "hf:Qwen/Qwen3-Coder-480B-A35B-Instruct", + "name": "Qwen 3 Coder 480B", + "display_name": "Qwen 3 Coder 480B", "modalities": { "input": [ "text" @@ -181419,8 +187153,8 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 256000, + "output": 32000 }, "temperature": true, "tool_call": true, @@ -181429,21 +187163,19 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-10", - "release_date": "2026-01-25", - "last_updated": "2026-02-04", + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", "cost": { - "input": 0.2, - "output": 1.1, - "cache_read": 0.02, - "cache_write": 0.25 + "input": 2, + "output": 2 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Embedding-8B", - "name": "Qwen3-Embedding-8B", - "display_name": "Qwen3-Embedding-8B", + "id": "hf:Qwen/Qwen2.5-Coder-32B-Instruct", + "name": "Qwen2.5-Coder-32B-Instruct", + "display_name": "Qwen2.5-Coder-32B-Instruct", "modalities": { "input": [ "text" @@ -181454,28 +187186,28 @@ }, "limit": { "context": 32768, - "output": 8192 + "output": 32768 }, - "temperature": false, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-10", - "release_date": "2026-01-10", - "last_updated": "2026-02-04", + "knowledge": "2024-10", + "release_date": "2024-11-11", + "last_updated": "2024-11-11", "cost": { - "input": 0.01, - "output": 0 + "input": 0.8, + "output": 0.8 }, - "type": "embedding" + "type": "chat" }, { - "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", - "name": "Qwen3-30B-A3B-Instruct-2507", - "display_name": "Qwen3-30B-A3B-Instruct-2507", + "id": "hf:Qwen/Qwen3-235B-A22B-Instruct-2507", + "name": "Qwen 3 235B Instruct", + "display_name": "Qwen 3 235B Instruct", "modalities": { "input": [ "text" @@ -181485,8 +187217,8 @@ ] }, "limit": { - "context": 128000, - "output": 8192 + "context": 256000, + "output": 32000 }, "temperature": true, "tool_call": true, @@ -181495,24 +187227,23 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-12", - "release_date": "2026-01-28", - "last_updated": "2026-02-04", + "knowledge": "2025-04", + "release_date": "2025-04-28", + "last_updated": "2025-07-21", "cost": { - "input": 0.1, - "output": 0.3, - "cache_read": 0.01, - "cache_write": 0.125 + "input": 0.2, + "output": 0.6 }, "type": "chat" }, { - "id": "Qwen/Qwen3.5-397B-A17B", - "name": "Qwen3.5-397B-A17B", - "display_name": "Qwen3.5-397B-A17B", + "id": "hf:nvidia/Kimi-K2.5-NVFP4", + "name": "Kimi K2.5 (NVFP4)", + "display_name": "Kimi K2.5 (NVFP4)", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -181520,7 +187251,7 @@ }, "limit": { "context": 262144, - "output": 8192 + "output": 65536 }, "temperature": true, "tool_call": true, @@ -181541,21 +187272,19 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-07", - "release_date": "2025-07-15", - "last_updated": "2026-05-07", + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", "cost": { - "input": 0.6, - "output": 3.6, - "cache_read": 0.06, - "cache_write": 0.75 + "input": 0.55, + "output": 2.19 }, "type": "chat" }, { - "id": "Qwen/Qwen3.5-397B-A17B-fast", - "name": "Qwen3.5-397B-A17B-fast", - "display_name": "Qwen3.5-397B-A17B-fast", + "id": "hf:nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4", + "name": "Nemotron 3 Super 120B", + "display_name": "Nemotron 3 Super 120B", "modalities": { "input": [ "text" @@ -181565,8 +187294,8 @@ ] }, "limit": { - "context": 8000, - "output": 8192 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -181587,21 +187316,29 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-07", - "release_date": "2025-07-15", - "last_updated": "2026-05-07", + "knowledge": "2024-04", + "release_date": "2026-03-11", + "last_updated": "2026-04-03", "cost": { - "input": 0.6, - "output": 3.6, - "cache_read": 0.06, - "cache_write": 0.75 + "input": 0.3, + "output": 1, + "cache_read": 0.3 }, "type": "chat" - }, + } + ] + }, + "iflowcn": { + "id": "iflowcn", + "name": "iFlow", + "display_name": "iFlow", + "api": "https://apis.iflow.cn/v1", + "doc": "https://platform.iflow.cn/en/docs", + "models": [ { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "display_name": "Qwen3 235B A22B Instruct 2507", + "id": "qwen3-coder-plus", + "name": "Qwen3-Coder-Plus", + "display_name": "Qwen3-Coder-Plus", "modalities": { "input": [ "text" @@ -181611,30 +187348,29 @@ ] }, "limit": { - "context": 262144, - "output": 8192 + "context": 256000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": false, - "knowledge": "2025-07", - "release_date": "2025-07-25", - "last_updated": "2025-10-04", + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-07-01", + "last_updated": "2025-07-01", "cost": { - "input": 0.2, - "output": 0.6 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Next-80B-A3B-Thinking-fast", - "name": "Qwen3-Next-80B-A3B-Thinking-fast", - "display_name": "Qwen3-Next-80B-A3B-Thinking-fast", + "id": "deepseek-v3", + "name": "DeepSeek-V3", + "display_name": "DeepSeek-V3", "modalities": { "input": [ "text" @@ -181644,47 +187380,32 @@ ] }, "limit": { - "context": 8000, - "output": 8192 + "context": 128000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-07", - "release_date": "2025-07-25", - "last_updated": "2026-05-07", + "knowledge": "2024-10", + "release_date": "2024-12-26", + "last_updated": "2024-12-26", "cost": { - "input": 0.15, - "output": 1.2, - "cache_read": 0.015, - "cache_write": 0.1875 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-VL-72B-Instruct", - "name": "Qwen2.5-VL-72B-Instruct", - "display_name": "Qwen2.5-VL-72B-Instruct", + "id": "kimi-k2", + "name": "Kimi-K2", + "display_name": "Kimi-K2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -181692,28 +187413,26 @@ }, "limit": { "context": 128000, - "output": 8192 + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": true, - "open_weights": true, - "knowledge": "2024-12", - "release_date": "2025-01-20", - "last_updated": "2026-02-04", + "attachment": false, + "open_weights": false, + "knowledge": "2024-10", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", "cost": { - "input": 0.25, - "output": 0.75, - "cache_read": 0.025, - "cache_write": 0.31 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "Qwen/Qwen3-32B", + "id": "qwen3-32b", "name": "Qwen3-32B", "display_name": "Qwen3-32B", "modalities": { @@ -181726,7 +187445,7 @@ }, "limit": { "context": 128000, - "output": 8192 + "output": 32000 }, "temperature": true, "tool_call": true, @@ -181746,21 +187465,19 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-12", - "release_date": "2026-01-28", - "last_updated": "2026-02-04", + "knowledge": "2024-10", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", "cost": { - "input": 0.1, - "output": 0.3, - "cache_read": 0.01, - "cache_write": 0.125 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507-fast", - "name": "Qwen3-235B-A22B-Thinking-2507-fast", - "display_name": "Qwen3-235B-A22B-Thinking-2507-fast", + "id": "qwen3-max-preview", + "name": "Qwen3-Max-Preview", + "display_name": "Qwen3-Max-Preview", "modalities": { "input": [ "text" @@ -181770,14 +187487,13 @@ ] }, "limit": { - "context": 8000, - "output": 8192 + "context": 256000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -181791,22 +187507,20 @@ } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-07", - "release_date": "2025-07-25", - "last_updated": "2026-05-07", + "open_weights": false, + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0.5, - "output": 2, - "cache_read": 0.05, - "cache_write": 0.625 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "Qwen/Qwen3-Next-80B-A3B-Thinking", - "name": "Qwen3-Next-80B-A3B-Thinking", - "display_name": "Qwen3-Next-80B-A3B-Thinking", + "id": "qwen3-max", + "name": "Qwen3-Max", + "display_name": "Qwen3-Max", "modalities": { "input": [ "text" @@ -181816,14 +187530,13 @@ ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 256000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -181837,23 +187550,20 @@ } }, "attachment": false, - "open_weights": true, - "knowledge": "2025-12", - "release_date": "2026-01-28", - "last_updated": "2026-02-04", + "open_weights": false, + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0.15, - "output": 1.2, - "reasoning": 1.2, - "cache_read": 0.015, - "cache_write": 0.18 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemma-2-2b-it", - "name": "Gemma-2-2b-it", - "display_name": "Gemma-2-2b-it", + "id": "qwen3-235b", + "name": "Qwen3-235B-A22B", + "display_name": "Qwen3-235B-A22B", "modalities": { "input": [ "text" @@ -181863,66 +187573,68 @@ ] }, "limit": { - "context": 8192, - "output": 4096 + "context": 128000, + "output": 32000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "knowledge": "2024-06", - "release_date": "2024-07-31", - "last_updated": "2026-02-04", + "knowledge": "2024-10", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", "cost": { - "input": 0.02, - "output": 0.06, - "cache_read": 0.002, - "cache_write": 0.025 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "google/gemma-3-27b-it", - "name": "Gemma-3-27b-it", - "display_name": "Gemma-3-27b-it", + "id": "glm-4.6", + "name": "GLM-4.6", + "display_name": "GLM-4.6", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 110000, - "output": 8192 + "context": 200000, + "output": 128000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-10", - "release_date": "2026-01-20", - "last_updated": "2026-02-04", + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": false, + "knowledge": "2024-10", + "release_date": "2024-12-01", + "last_updated": "2025-11-13", "cost": { - "input": 0.1, - "output": 0.3, - "cache_read": 0.01, - "cache_write": 0.125 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "openai/gpt-oss-120b-fast", - "name": "gpt-oss-120b-fast", - "display_name": "gpt-oss-120b-fast", + "id": "qwen3-235b-a22b-thinking-2507", + "name": "Qwen3-235B-A22B-Thinking", + "display_name": "Qwen3-235B-A22B-Thinking", "modalities": { "input": [ "text" @@ -181932,8 +187644,8 @@ ] }, "limit": { - "context": 8000, - "output": 8192 + "context": 256000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -181941,23 +187653,32 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, "attachment": false, "open_weights": true, - "knowledge": "2025-06", - "release_date": "2025-06-10", - "last_updated": "2026-05-07", + "knowledge": "2025-04", + "release_date": "2025-07-01", + "last_updated": "2025-07-01", "cost": { - "input": 0.1, - "output": 0.5, - "cache_read": 0.01, - "cache_write": 0.125 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "openai/gpt-oss-120b", - "name": "gpt-oss-120b", - "display_name": "gpt-oss-120b", + "id": "deepseek-r1", + "name": "DeepSeek-R1", + "display_name": "DeepSeek-R1", "modalities": { "input": [ "text" @@ -181968,7 +187689,7 @@ }, "limit": { "context": 128000, - "output": 8192 + "output": 32000 }, "temperature": true, "tool_call": true, @@ -181989,110 +187710,95 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-09", - "release_date": "2026-01-10", - "last_updated": "2026-02-04", + "knowledge": "2024-12", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", "cost": { - "input": 0.15, - "output": 0.6, - "reasoning": 0.6, - "cache_read": 0.015, - "cache_write": 0.18 + "input": 0, + "output": 0 }, "type": "chat" - } - ] - }, - "minimax": { - "id": "minimax", - "name": "MiniMax (minimax.io)", - "display_name": "MiniMax (minimax.io)", - "api": "https://api.minimax.io/anthropic/v1", - "doc": "https://platform.minimax.io/docs/guides/quickstart", - "models": [ + }, { - "id": "MiniMax-M2.5", - "name": "MiniMax-M2.5", - "display_name": "MiniMax-M2.5", + "id": "qwen3-vl-plus", + "name": "Qwen3-VL-Plus", + "display_name": "Qwen3-VL-Plus", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 256000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "attachment": true, + "open_weights": false, + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.03, - "cache_write": 0.375 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "MiniMax-M3", - "name": "MiniMax-M3", - "display_name": "MiniMax-M3", + "id": "qwen3-235b-a22b-instruct", + "name": "Qwen3-235B-A22B-Instruct", + "display_name": "Qwen3-235B-A22B-Instruct", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 512000, - "output": 128000 + "context": 256000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2026-06-01", - "last_updated": "2026-06-01", + "knowledge": "2025-04", + "release_date": "2025-07-01", + "last_updated": "2025-07-01", "cost": { - "input": 0.6, - "output": 2.4, - "cache_read": 0.12 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "MiniMax-M2.5-highspeed", - "name": "MiniMax-M2.5-highspeed", - "display_name": "MiniMax-M2.5-highspeed", + "id": "kimi-k2-0905", + "name": "Kimi-K2-0905", + "display_name": "Kimi-K2-0905", "modalities": { "input": [ "text" @@ -182102,36 +187808,29 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 256000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2026-02-13", - "last_updated": "2026-02-13", + "open_weights": false, + "knowledge": "2024-12", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", "cost": { - "input": 0.6, - "output": 2.4, - "cache_read": 0.06, - "cache_write": 0.375 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "MiniMax-M2.7", - "name": "MiniMax-M2.7", - "display_name": "MiniMax-M2.7", + "id": "deepseek-v3.2", + "name": "DeepSeek-V3.2-Exp", + "display_name": "DeepSeek-V3.2-Exp", "modalities": { "input": [ "text" @@ -182141,79 +187840,73 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 128000, + "output": 64000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06, - "cache_write": 0.375 + "input": 0, + "output": 0 }, "type": "chat" - }, + } + ] + }, + "xiaomi-token-plan-sgp": { + "id": "xiaomi-token-plan-sgp", + "name": "Xiaomi Token Plan (Singapore)", + "display_name": "Xiaomi Token Plan (Singapore)", + "api": "https://token-plan-sgp.xiaomimimo.com/v1", + "doc": "https://platform.xiaomimimo.com/#/docs", + "models": [ { - "id": "MiniMax-M2", - "name": "MiniMax-M2", - "display_name": "MiniMax-M2", + "id": "mimo-v2.5-tts", + "name": "MiMo-V2.5-TTS", + "display_name": "MiMo-V2.5-TTS", "modalities": { "input": [ "text" ], "output": [ - "text" + "audio" ] }, "limit": { - "context": 196608, - "output": 128000 + "context": 8192, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-10-27", - "last_updated": "2025-10-27", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 0.3, - "output": 1.2 + "input": 0, + "output": 0 }, "type": "chat" }, { - "id": "MiniMax-M2.7-highspeed", - "name": "MiniMax-M2.7-highspeed", - "display_name": "MiniMax-M2.7-highspeed", + "id": "mimo-v2.5-pro", + "name": "MiMo-V2.5-Pro", + "display_name": "MiMo-V2.5-Pro", "modalities": { "input": [ "text" @@ -182223,7 +187916,7 @@ ] }, "limit": { - "context": 204800, + "context": 1048576, "output": 131072 }, "temperature": true, @@ -182245,20 +187938,20 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { - "input": 0.6, - "output": 2.4, - "cache_read": 0.06, - "cache_write": 0.375 + "input": 0, + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "MiniMax-M2.1", - "name": "MiniMax-M2.1", - "display_name": "MiniMax-M2.1", + "id": "mimo-v2-pro", + "name": "MiMo-V2-Pro", + "display_name": "MiMo-V2-Pro", "modalities": { "input": [ "text" @@ -182268,7 +187961,7 @@ ] }, "limit": { - "context": 204800, + "context": 1048576, "output": 131072 }, "temperature": true, @@ -182279,86 +187972,51 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "cost": { - "input": 0.3, - "output": 1.2 - }, - "type": "chat" - } - ] - }, - "llama": { - "id": "llama", - "name": "Llama", - "display_name": "Llama", - "api": "https://api.llama.com/compat/v1/", - "doc": "https://llama.developer.meta.com/docs/models", - "models": [ - { - "id": "cerebras-llama-4-maverick-17b-128e-instruct", - "name": "Cerebras-Llama-4-Maverick-17B-128E-Instruct", - "display_name": "Cerebras-Llama-4-Maverick-17B-128E-Instruct", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 4096 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-01", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "open_weights": false, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { "input": 0, - "output": 0 + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "groq-llama-4-maverick-17b-128e-instruct", - "name": "Groq-Llama-4-Maverick-17B-128E-Instruct", - "display_name": "Groq-Llama-4-Maverick-17B-128E-Instruct", + "id": "mimo-v2-tts", + "name": "MiMo-V2-TTS", + "display_name": "MiMo-V2-TTS", "modalities": { "input": [ "text" ], "output": [ - "text" + "audio" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 8192, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { "input": 0, "output": 0 @@ -182366,97 +188024,126 @@ "type": "chat" }, { - "id": "llama-4-maverick-17b-128e-instruct-fp8", - "name": "Llama-4-Maverick-17B-128E-Instruct-FP8", - "display_name": "Llama-4-Maverick-17B-128E-Instruct-FP8", + "id": "mimo-v2-omni", + "name": "MiMo-V2-Omni", + "display_name": "MiMo-V2-Omni", "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 262144, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, - "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "open_weights": false, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "cost": { "input": 0, - "output": 0 + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "llama-4-scout-17b-16e-instruct-fp8", - "name": "Llama-4-Scout-17B-16E-Instruct-FP8", - "display_name": "Llama-4-Scout-17B-16E-Instruct-FP8", + "id": "mimo-v2.5", + "name": "MiMo-V2.5", + "display_name": "MiMo-V2.5", "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 1048576, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { "input": 0, - "output": 0 + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "cerebras-llama-4-scout-17b-16e-instruct", - "name": "Cerebras-Llama-4-Scout-17B-16E-Instruct", - "display_name": "Cerebras-Llama-4-Scout-17B-16E-Instruct", + "id": "mimo-v2.5-tts-voicedesign", + "name": "MiMo-V2.5-TTS-VoiceDesign", + "display_name": "MiMo-V2.5-TTS-VoiceDesign", "modalities": { "input": [ "text" ], "output": [ - "text" + "audio" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 8192, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { "input": 0, "output": 0 @@ -182464,66 +188151,77 @@ "type": "chat" }, { - "id": "llama-3.3-8b-instruct", - "name": "Llama-3.3-8B-Instruct", - "display_name": "Llama-3.3-8B-Instruct", + "id": "mimo-v2.5-tts-voiceclone", + "name": "MiMo-V2.5-TTS-VoiceClone", + "display_name": "MiMo-V2.5-TTS-VoiceClone", "modalities": { "input": [ "text" ], "output": [ - "text" + "audio" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 8192, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "cost": { "input": 0, "output": 0 }, "type": "chat" - }, + } + ] + }, + "claudinio": { + "id": "claudinio", + "name": "Claudinio", + "display_name": "Claudinio", + "api": "https://api.claudin.io/v1", + "doc": "https://claudin.io", + "models": [ { - "id": "llama-3.3-70b-instruct", - "name": "Llama-3.3-70B-Instruct", - "display_name": "Llama-3.3-70B-Instruct", + "id": "claudinio", + "name": "Claudinio", + "display_name": "Claudinio", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 4096 + "context": 256000, + "output": 64000 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, - "open_weights": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", + "open_weights": false, + "knowledge": "2026-05", + "release_date": "2026-05-12", + "last_updated": "2026-06-02", "cost": { - "input": 0, - "output": 0 + "input": 0.5, + "output": 2, + "cache_read": 0.15 }, "type": "chat" } @@ -186952,6 +192650,28 @@ }, "type": "chat" }, + { + "id": "granite4.1-guardian:8b", + "name": "granite4.1-guardian 8b", + "display_name": "granite4.1-guardian 8b", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 16384, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "type": "chat" + }, { "id": "granite4.1:30b", "name": "granite4.1 30b", @@ -188854,6 +194574,94 @@ }, "type": "chat" }, + { + "id": "minicpm-v4.5", + "name": "minicpm-v4.5", + "display_name": "minicpm-v4.5", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 4096, + "output": 2048 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "type": "chat" + }, + { + "id": "minicpm-v4.5:8b", + "name": "minicpm-v4.5 8b", + "display_name": "minicpm-v4.5 8b", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 16384, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "type": "chat" + }, + { + "id": "minicpm-v4.6", + "name": "minicpm-v4.6", + "display_name": "minicpm-v4.6", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 4096, + "output": 2048 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "type": "chat" + }, + { + "id": "minicpm-v4.6:1b", + "name": "minicpm-v4.6 1b", + "display_name": "minicpm-v4.6 1b", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 8192, + "output": 4096 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "type": "chat" + }, { "id": "ministral-3", "name": "ministral-3", @@ -194610,123 +200418,9 @@ "type": "chat" }, { - "id": "qwen3-vl:235b-instruct", - "name": "qwen3-vl:235b-instruct", - "display_name": "qwen3-vl:235b-instruct", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 131072 - }, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": true, - "release_date": "2025-09-22", - "last_updated": "2026-01-19", - "type": "chat" - }, - { - "id": "kimi-k2:1t", - "name": "kimi-k2:1t", - "display_name": "kimi-k2:1t", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 262144 - }, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-07-11", - "last_updated": "2026-01-19", - "type": "chat" - }, - { - "id": "glm-4.6", - "name": "glm-4.6", - "display_name": "glm-4.6", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 202752, - "output": 131072 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-09-29", - "last_updated": "2026-01-19", - "type": "chat" - }, - { - "id": "nemotron-3-ultra", - "name": "nemotron-3-ultra", - "display_name": "nemotron-3-ultra", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 128000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-06-04", - "last_updated": "2026-06-04", - "type": "chat" - }, - { - "id": "kimi-k2-thinking", - "name": "kimi-k2-thinking", - "display_name": "kimi-k2-thinking", + "id": "deepseek-v4-flash", + "name": "deepseek-v4-flash", + "display_name": "deepseek-v4-flash", "modalities": { "input": [ "text" @@ -194736,8 +200430,8 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1048576, + "output": 1048576 }, "tool_call": true, "reasoning": { @@ -194757,30 +200451,26 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2026-01-19", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "type": "chat" }, { - "id": "minimax-m3", - "name": "minimax-m3", - "display_name": "minimax-m3", + "id": "minimax-m2.5", + "name": "minimax-m2.5", + "display_name": "minimax-m2.5", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 512000, + "context": 204800, "output": 131072 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -194791,17 +200481,17 @@ "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": true, "knowledge": "2025-01", - "release_date": "2026-05-31", - "last_updated": "2026-05-31", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "type": "chat" }, { - "id": "deepseek-v3.2", - "name": "deepseek-v3.2", - "display_name": "deepseek-v3.2", + "id": "glm-4.7", + "name": "glm-4.7", + "display_name": "glm-4.7", "modalities": { "input": [ "text" @@ -194811,8 +200501,8 @@ ] }, "limit": { - "context": 163840, - "output": 65536 + "context": 202752, + "output": 131072 }, "tool_call": true, "reasoning": { @@ -194821,12 +200511,18 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, "open_weights": true, - "release_date": "2025-06-15", + "release_date": "2025-12-22", "last_updated": "2026-01-19", "type": "chat" }, @@ -194863,9 +200559,9 @@ "type": "chat" }, { - "id": "kimi-k2.6", - "name": "kimi-k2.6", - "display_name": "kimi-k2.6", + "id": "kimi-k2.7-code", + "name": "kimi-k2.7-code", + "display_name": "kimi-k2.7-code", "modalities": { "input": [ "text", @@ -194879,6 +200575,7 @@ "context": 262144, "output": 262144 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -194891,14 +200588,15 @@ }, "attachment": true, "open_weights": true, - "release_date": "2026-04-20", - "last_updated": "2026-04-20", + "knowledge": "2025-01", + "release_date": "2026-06-12", + "last_updated": "2026-06-12", "type": "chat" }, { - "id": "glm-4.7", - "name": "glm-4.7", - "display_name": "glm-4.7", + "id": "glm-5.1", + "name": "glm-5.1", + "display_name": "glm-5.1", "modalities": { "input": [ "text" @@ -194929,26 +200627,25 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-12-22", - "last_updated": "2026-01-19", + "release_date": "2026-03-27", + "last_updated": "2026-04-07", "type": "chat" }, { - "id": "qwen3.5:397b", - "name": "qwen3.5:397b", - "display_name": "qwen3.5:397b", + "id": "deepseek-v4-pro", + "name": "deepseek-v4-pro", + "display_name": "deepseek-v4-pro", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 1048576, + "output": 1048576 }, "tool_call": true, "reasoning": { @@ -194966,43 +200663,16 @@ ] } }, - "attachment": true, - "open_weights": true, - "release_date": "2026-02-15", - "last_updated": "2026-02-17", - "type": "chat" - }, - { - "id": "mistral-large-3:675b", - "name": "mistral-large-3:675b", - "display_name": "mistral-large-3:675b", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 262144 - }, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2025-12-02", - "last_updated": "2026-01-19", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "type": "chat" }, { - "id": "minimax-m2.7", - "name": "minimax-m2.7", - "display_name": "minimax-m2.7", + "id": "glm-4.6", + "name": "glm-4.6", + "display_name": "glm-4.6", "modalities": { "input": [ "text" @@ -195012,8 +200682,8 @@ ] }, "limit": { - "context": 196608, - "output": 196608 + "context": 202752, + "output": 131072 }, "tool_call": true, "reasoning": { @@ -195022,25 +200692,19 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "release_date": "2025-09-29", + "last_updated": "2026-01-19", "type": "chat" }, { - "id": "deepseek-v4-flash", - "name": "deepseek-v4-flash", - "display_name": "deepseek-v4-flash", + "id": "kimi-k2-thinking", + "name": "kimi-k2-thinking", + "display_name": "kimi-k2-thinking", "modalities": { "input": [ "text" @@ -195050,8 +200714,8 @@ ] }, "limit": { - "context": 1048576, - "output": 1048576 + "context": 262144, + "output": 262144 }, "tool_call": true, "reasoning": { @@ -195071,26 +200735,30 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2026-01-19", "type": "chat" }, { - "id": "glm-5", - "name": "glm-5", - "display_name": "glm-5", + "id": "minimax-m3", + "name": "minimax-m3", + "display_name": "minimax-m3", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 202752, + "context": 512000, "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -195098,19 +200766,14 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", + "knowledge": "2025-01", + "release_date": "2026-05-31", + "last_updated": "2026-05-31", "type": "chat" }, { @@ -195146,9 +200809,9 @@ "type": "chat" }, { - "id": "minimax-m2.5", - "name": "minimax-m2.5", - "display_name": "minimax-m2.5", + "id": "kimi-k2:1t", + "name": "kimi-k2:1t", + "display_name": "kimi-k2:1t", "modalities": { "input": [ "text" @@ -195158,30 +200821,24 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 262144, + "output": 262144 }, "tool_call": true, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "attachment": false, "open_weights": true, - "knowledge": "2025-01", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "knowledge": "2024-10", + "release_date": "2025-07-11", + "last_updated": "2026-01-19", "type": "chat" }, { - "id": "deepseek-v4-pro", - "name": "deepseek-v4-pro", - "display_name": "deepseek-v4-pro", + "id": "minimax-m2.7", + "name": "minimax-m2.7", + "display_name": "minimax-m2.7", "modalities": { "input": [ "text" @@ -195191,8 +200848,8 @@ ] }, "limit": { - "context": 1048576, - "output": 1048576 + "context": 196608, + "output": 196608 }, "tool_call": true, "reasoning": { @@ -195212,8 +200869,8 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "type": "chat" }, { @@ -195256,9 +200913,163 @@ "type": "chat" }, { - "id": "glm-5.1", - "name": "glm-5.1", - "display_name": "glm-5.1", + "id": "qwen3.5:397b", + "name": "qwen3.5:397b", + "display_name": "qwen3.5:397b", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 65536 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-02-15", + "last_updated": "2026-02-17", + "type": "chat" + }, + { + "id": "kimi-k2.6", + "name": "kimi-k2.6", + "display_name": "kimi-k2.6", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-04-20", + "last_updated": "2026-04-20", + "type": "chat" + }, + { + "id": "qwen3-vl:235b-instruct", + "name": "qwen3-vl:235b-instruct", + "display_name": "qwen3-vl:235b-instruct", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 131072 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "release_date": "2025-09-22", + "last_updated": "2026-01-19", + "type": "chat" + }, + { + "id": "mistral-large-3:675b", + "name": "mistral-large-3:675b", + "display_name": "mistral-large-3:675b", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "release_date": "2025-12-02", + "last_updated": "2026-01-19", + "type": "chat" + }, + { + "id": "nemotron-3-ultra", + "name": "nemotron-3-ultra", + "display_name": "nemotron-3-ultra", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 128000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-06-04", + "last_updated": "2026-06-04", + "type": "chat" + }, + { + "id": "glm-5", + "name": "glm-5", + "display_name": "glm-5", "modalities": { "input": [ "text" @@ -195289,8 +201100,40 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-04-07", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "type": "chat" + }, + { + "id": "deepseek-v3.2", + "name": "deepseek-v3.2", + "display_name": "deepseek-v3.2", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 163840, + "output": 65536 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-06-15", + "last_updated": "2026-01-19", "type": "chat" } ] @@ -199199,7 +205042,7 @@ "default": true }, "attachment": false, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199224,7 +205067,7 @@ "default": true }, "attachment": false, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199249,7 +205092,7 @@ "default": true }, "attachment": false, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199273,7 +205116,7 @@ "supported": false }, "attachment": false, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199297,7 +205140,7 @@ "supported": false }, "attachment": false, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199321,7 +205164,7 @@ "supported": false }, "attachment": false, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199346,7 +205189,7 @@ "supported": false }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199371,7 +205214,7 @@ "supported": false }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "embedding" }, { @@ -199396,7 +205239,7 @@ "supported": false }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "embedding" }, { @@ -199422,7 +205265,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199448,7 +205291,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199474,7 +205317,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199500,7 +205343,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199526,7 +205369,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199552,7 +205395,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199578,7 +205421,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199604,7 +205447,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199630,7 +205473,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199656,7 +205499,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199682,7 +205525,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199708,7 +205551,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199732,7 +205575,7 @@ "supported": false }, "attachment": false, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199758,7 +205601,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199782,7 +205625,7 @@ "supported": false }, "attachment": false, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" }, { @@ -199803,7 +205646,7 @@ "supported": false }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z" + "last_updated": "2026-06-12T03:41:23Z" }, { "id": "doubao-seedance-1-0-pro-fast-251015", @@ -199823,7 +205666,7 @@ "supported": false }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z" + "last_updated": "2026-06-12T03:41:23Z" }, { "id": "doubao-seedance-1-5-pro-251215", @@ -199844,7 +205687,7 @@ "supported": false }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z" + "last_updated": "2026-06-12T03:41:23Z" }, { "id": "doubao-seedance-2-0-260128", @@ -199866,7 +205709,7 @@ "supported": false }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z" + "last_updated": "2026-06-12T03:41:23Z" }, { "id": "doubao-seedance-2-0-fast-260128", @@ -199888,7 +205731,7 @@ "supported": false }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z" + "last_updated": "2026-06-12T03:41:23Z" }, { "id": "doubao-seedream-4-0-250828", @@ -199904,7 +205747,7 @@ "supported": false }, "attachment": false, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "imageGeneration" }, { @@ -199921,7 +205764,7 @@ "supported": false }, "attachment": false, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "imageGeneration" }, { @@ -199942,7 +205785,7 @@ "supported": false }, "attachment": true, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "imageGeneration" }, { @@ -199967,7 +205810,7 @@ "default": true }, "attachment": false, - "last_updated": "2026-05-29T03:49:20Z", + "last_updated": "2026-06-12T03:41:23Z", "type": "chat" } ] @@ -199977,6 +205820,26 @@ "name": "PPInfra", "display_name": "PPInfra", "models": [ + { + "id": "moonshotai/kimi-k2.7-code", + "name": "Kimi K2.7 Code", + "display_name": "Kimi K2.7 Code", + "limit": { + "context": 262144, + "output": 262144 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "type": "chat" + }, { "id": "minimax/minimax-m3", "name": "MiniMax-M3", @@ -205969,7 +211832,7 @@ ] }, "limit": { - "context": 204800, + "context": 200000, "output": 131072 }, "temperature": true, @@ -206015,7 +211878,7 @@ ] }, "limit": { - "context": 204800, + "context": 200000, "output": 131072 }, "temperature": true, @@ -206621,6 +212484,55 @@ }, "type": "chat" }, + { + "id": "kimi-k2.7-code-highspeed", + "name": "Kimi K2.7 Code Highspeed", + "display_name": "Kimi K2.7 Code Highspeed", + "modalities": { + "input": [ + "text", + "image", + "video" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "fixed", + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "attachment": true, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + }, + "type": "chat" + }, { "id": "MiniMax-M2.5", "name": "MiniMax-M2.5", @@ -206982,6 +212894,101 @@ }, "type": "chat" }, + { + "id": "gemini-3.1-flash-image", + "name": "gemini-3.1-flash-image", + "display_name": "gemini-3.1-flash-image", + "modalities": { + "input": [ + "text", + "image" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.5 + }, + "type": "imageGeneration" + }, + { + "id": "kimi-k2.7-code", + "name": "kimi-k2.7-code", + "display_name": "kimi-k2.7-code", + "modalities": { + "input": [ + "text", + "image", + "video" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "cost": { + "input": 0.95, + "output": 3.9995, + "cache_read": 0.160835 + }, + "type": "chat" + }, + { + "id": "kimi-k2.7-code-highspeed", + "name": "kimi-k2.7-code-highspeed", + "display_name": "kimi-k2.7-code-highspeed", + "modalities": { + "input": [ + "text", + "image", + "video" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "cost": { + "input": 1.9, + "output": 7.999, + "cache_read": 0.32167 + }, + "type": "chat" + }, { "id": "step-3.7-flash-free", "name": "step-3.7-flash-free", @@ -207007,6 +213014,49 @@ }, "type": "chat" }, + { + "id": "gemini-3-pro-image", + "name": "gemini-3-pro-image", + "display_name": "gemini-3-pro-image", + "modalities": { + "input": [ + "text", + "image" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 2 + }, + "type": "imageGeneration" + }, { "id": "hy3-preview", "name": "hy3-preview", @@ -207115,9 +213165,9 @@ "supported": false }, "cost": { - "input": 0.22, - "output": 1.32, - "cache_read": 0.044 + "input": 0.022, + "output": 0.132, + "cache_read": 0.0044 }, "type": "chat" }, @@ -207325,6 +213375,35 @@ }, "type": "chat" }, + { + "id": "coding-glm-5.2", + "name": "coding-glm-5.2", + "display_name": "coding-glm-5.2", + "modalities": { + "input": [ + "text" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "cost": { + "input": 0.06, + "output": 0.22 + }, + "type": "chat" + }, { "id": "happyhorse-1.0-i2v", "name": "happyhorse-1.0-i2v", @@ -207417,35 +213496,6 @@ }, "type": "chat" }, - { - "id": "coding-minimax-m3-free", - "name": "coding-minimax-m3-free", - "display_name": "coding-minimax-m3-free", - "modalities": { - "input": [ - "text" - ] - }, - "limit": { - "context": 204800, - "output": 204800 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "cost": { - "input": 0, - "output": 0 - }, - "type": "chat" - }, { "id": "gpt-5.5", "name": "gpt-5.5", @@ -207524,6 +213574,35 @@ }, "type": "chat" }, + { + "id": "coding-minimax-m3-free", + "name": "coding-minimax-m3-free", + "display_name": "coding-minimax-m3-free", + "modalities": { + "input": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 204800 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, { "id": "deepseek-v4-flash", "name": "deepseek-v4-flash", @@ -208285,9 +214364,9 @@ "type": "imageGeneration" }, { - "id": "wan2.7-videoedit", - "name": "wan2.7-videoedit", - "display_name": "wan2.7-videoedit", + "id": "wan2.7-r2v", + "name": "wan2.7-r2v", + "display_name": "wan2.7-r2v", "modalities": { "input": [ "text", @@ -208309,12 +214388,13 @@ "type": "chat" }, { - "id": "wan2.7-t2v", - "name": "wan2.7-t2v", - "display_name": "wan2.7-t2v", + "id": "wan2.7-videoedit", + "name": "wan2.7-videoedit", + "display_name": "wan2.7-videoedit", "modalities": { "input": [ - "text" + "text", + "video" ] }, "limit": { @@ -208332,13 +214412,12 @@ "type": "chat" }, { - "id": "wan2.7-r2v", - "name": "wan2.7-r2v", - "display_name": "wan2.7-r2v", + "id": "wan2.7-t2v", + "name": "wan2.7-t2v", + "display_name": "wan2.7-t2v", "modalities": { "input": [ - "text", - "video" + "text" ] }, "limit": { @@ -209997,6 +216076,36 @@ }, "type": "chat" }, + { + "id": "coding-glm-5.2-free", + "name": "coding-glm-5.2-free", + "display_name": "coding-glm-5.2-free", + "modalities": { + "input": [ + "text" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + }, + "type": "chat" + }, { "id": "coding-minimax-m2.7-free", "name": "coding-minimax-m2.7-free", @@ -213635,12 +219744,11 @@ "type": "chat" }, { - "id": "wan2.6-i2v", - "name": "wan2.6-i2v", - "display_name": "wan2.6-i2v", + "id": "wan2.6-t2v", + "name": "wan2.6-t2v", + "display_name": "wan2.6-t2v", "modalities": { "input": [ - "image", "text" ] }, @@ -213659,11 +219767,12 @@ "type": "chat" }, { - "id": "wan2.6-t2v", - "name": "wan2.6-t2v", - "display_name": "wan2.6-t2v", + "id": "wan2.6-i2v", + "name": "wan2.6-i2v", + "display_name": "wan2.6-i2v", "modalities": { "input": [ + "image", "text" ] }, @@ -214316,29 +220425,6 @@ }, "type": "chat" }, - { - "id": "Kimi-K2-0905", - "name": "Kimi-K2-0905", - "display_name": "Kimi-K2-0905", - "modalities": { - "input": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 262144 - }, - "tool_call": true, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.548, - "output": 2.192 - }, - "type": "chat" - }, { "id": "claude-opus-4-0", "name": "claude-opus-4-0", @@ -216652,6 +222738,30 @@ }, "type": "chat" }, + { + "id": "gte-rerank-v2", + "name": "gte-rerank-v2", + "display_name": "gte-rerank-v2", + "modalities": { + "input": [ + "text", + "image" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.11, + "output": 0.11 + }, + "type": "rerank" + }, { "id": "inclusionAI/Ling-flash-2.0", "name": "inclusionAI/Ling-flash-2.0", @@ -217254,30 +223364,6 @@ }, "type": "embedding" }, - { - "id": "gte-rerank-v2", - "name": "gte-rerank-v2", - "display_name": "gte-rerank-v2", - "modalities": { - "input": [ - "text", - "image" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.11, - "output": 0.11 - }, - "type": "rerank" - }, { "id": "bce-reranker-base", "name": "bce-reranker-base", @@ -219535,25 +225621,6 @@ }, "type": "chat" }, - { - "id": "unsloth/gemma-3-12b-it", - "name": "unsloth/gemma-3-12b-it", - "display_name": "unsloth/gemma-3-12b-it", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.2, - "output": 0.8, - "cache_read": 0 - }, - "type": "chat" - }, { "id": "gemini-exp-1206", "name": "gemini-exp-1206", @@ -219596,6 +225663,25 @@ }, "type": "chat" }, + { + "id": "unsloth/gemma-3-12b-it", + "name": "unsloth/gemma-3-12b-it", + "display_name": "unsloth/gemma-3-12b-it", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.2, + "output": 0.8, + "cache_read": 0 + }, + "type": "chat" + }, { "id": "qwen-max-0125", "name": "qwen-max-0125", @@ -220273,6 +226359,36 @@ }, "type": "chat" }, + { + "id": "qwen3-14b", + "name": "qwen3-14b", + "display_name": "qwen3-14b", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } + }, + "cost": { + "input": 0.16, + "output": 1.6, + "cache_read": 0 + }, + "type": "chat" + }, { "id": "aihub-Phi-4", "name": "aihub-Phi-4", @@ -220339,9 +226455,28 @@ "type": "imageGeneration" }, { - "id": "qwen3-14b", - "name": "qwen3-14b", - "display_name": "qwen3-14b", + "id": "grok-3-fast", + "name": "grok-3-fast", + "display_name": "grok-3-fast", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 5.5, + "output": 27.5, + "cache_read": 0 + }, + "type": "chat" + }, + { + "id": "qwen3-8b", + "name": "qwen3-8b", + "display_name": "qwen3-8b", "limit": { "context": 8192, "output": 8192 @@ -220362,16 +226497,16 @@ } }, "cost": { - "input": 0.16, - "output": 1.6, + "input": 0.08, + "output": 0.8, "cache_read": 0 }, "type": "chat" }, { - "id": "qwen3-8b", - "name": "qwen3-8b", - "display_name": "qwen3-8b", + "id": "qwen3-4b", + "name": "qwen3-4b", + "display_name": "qwen3-4b", "limit": { "context": 8192, "output": 8192 @@ -220392,16 +226527,16 @@ } }, "cost": { - "input": 0.08, - "output": 0.8, + "input": 0.046, + "output": 0.46, "cache_read": 0 }, "type": "chat" }, { - "id": "grok-3-fast", - "name": "grok-3-fast", - "display_name": "grok-3-fast", + "id": "deepseek-ai/DeepSeek-R1-Zero", + "name": "deepseek-ai/DeepSeek-R1-Zero", + "display_name": "deepseek-ai/DeepSeek-R1-Zero", "limit": { "context": 8192, "output": 8192 @@ -220411,9 +226546,8 @@ "supported": false }, "cost": { - "input": 5.5, - "output": 27.5, - "cache_read": 0 + "input": 2.2, + "output": 2.2 }, "type": "chat" }, @@ -220456,39 +226590,9 @@ "type": "chat" }, { - "id": "qwen3-4b", - "name": "qwen3-4b", - "display_name": "qwen3-4b", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "cost": { - "input": 0.046, - "output": 0.46, - "cache_read": 0 - }, - "type": "chat" - }, - { - "id": "deepseek-ai/DeepSeek-R1-Zero", - "name": "deepseek-ai/DeepSeek-R1-Zero", - "display_name": "deepseek-ai/DeepSeek-R1-Zero", + "id": "grok-3-mini-beta", + "name": "grok-3-mini-beta", + "display_name": "grok-3-mini-beta", "limit": { "context": 8192, "output": 8192 @@ -220498,8 +226602,9 @@ "supported": false }, "cost": { - "input": 2.2, - "output": 2.2 + "input": 0.33, + "output": 0.5511, + "cache_read": 0 }, "type": "chat" }, @@ -220533,25 +226638,6 @@ }, "type": "chat" }, - { - "id": "grok-3-mini-beta", - "name": "grok-3-mini-beta", - "display_name": "grok-3-mini-beta", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.33, - "output": 0.5511, - "cache_read": 0 - }, - "type": "chat" - }, { "id": "qwen3-0.6b", "name": "qwen3-0.6b", @@ -221282,6 +227368,30 @@ }, "type": "chat" }, + { + "id": "wan2.6-t2i", + "name": "wan2.6-t2i", + "display_name": "wan2.6-t2i", + "modalities": { + "input": [ + "image", + "text" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 2, + "output": 0 + }, + "type": "imageGeneration" + }, { "id": "grok-2-1212", "name": "grok-2-1212", @@ -221301,15 +227411,9 @@ "type": "chat" }, { - "id": "wan2.6-t2i", - "name": "wan2.6-t2i", - "display_name": "wan2.6-t2i", - "modalities": { - "input": [ - "image", - "text" - ] - }, + "id": "gpt-image-test", + "name": "gpt-image-test", + "display_name": "gpt-image-test", "limit": { "context": 8192, "output": 8192 @@ -221318,11 +227422,105 @@ "reasoning": { "supported": false }, + "cost": { + "input": 5, + "output": 40, + "cache_read": 0 + }, + "type": "chat" + }, + { + "id": "grok-4.20-beta-0309-non-reasoning", + "name": "grok-4.20-beta-0309-non-reasoning", + "display_name": "grok-4.20-beta-0309-non-reasoning", + "modalities": { + "input": [ + "text", + "image" + ] + }, + "limit": { + "context": 2000000, + "output": 2000000 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "cost": { "input": 2, - "output": 0 + "output": 6, + "cache_read": 0.2 }, - "type": "imageGeneration" + "type": "chat" + }, + { + "id": "grok-4.20-beta-0309-reasoning", + "name": "grok-4.20-beta-0309-reasoning", + "display_name": "grok-4.20-beta-0309-reasoning", + "modalities": { + "input": [ + "text", + "image" + ] + }, + "limit": { + "context": 2000000, + "output": 2000000 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "cost": { + "input": 2, + "output": 6, + "cache_read": 0.2 + }, + "type": "chat" + }, + { + "id": "grok-4.20-multi-agent-beta-0309", + "name": "grok-4.20-multi-agent-beta-0309", + "display_name": "grok-4.20-multi-agent-beta-0309", + "modalities": { + "input": [ + "text", + "image" + ] + }, + "limit": { + "context": 2000000, + "output": 2000000 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "cost": { + "input": 2, + "output": 6, + "cache_read": 0.2 + }, + "type": "chat" }, { "id": "imagen-3.0-generate-002", @@ -221684,9 +227882,9 @@ "type": "chat" }, { - "id": "gpt-image-test", - "name": "gpt-image-test", - "display_name": "gpt-image-test", + "id": "Baichuan3-Turbo", + "name": "Baichuan3-Turbo", + "display_name": "Baichuan3-Turbo", "limit": { "context": 8192, "output": 8192 @@ -221696,109 +227894,15 @@ "supported": false }, "cost": { - "input": 5, - "output": 40, - "cache_read": 0 - }, - "type": "chat" - }, - { - "id": "grok-4.20-beta-0309-non-reasoning", - "name": "grok-4.20-beta-0309-non-reasoning", - "display_name": "grok-4.20-beta-0309-non-reasoning", - "modalities": { - "input": [ - "text", - "image" - ] - }, - "limit": { - "context": 2000000, - "output": 2000000 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "cost": { - "input": 2, - "output": 6, - "cache_read": 0.2 - }, - "type": "chat" - }, - { - "id": "grok-4.20-beta-0309-reasoning", - "name": "grok-4.20-beta-0309-reasoning", - "display_name": "grok-4.20-beta-0309-reasoning", - "modalities": { - "input": [ - "text", - "image" - ] - }, - "limit": { - "context": 2000000, - "output": 2000000 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "cost": { - "input": 2, - "output": 6, - "cache_read": 0.2 - }, - "type": "chat" - }, - { - "id": "grok-4.20-multi-agent-beta-0309", - "name": "grok-4.20-multi-agent-beta-0309", - "display_name": "grok-4.20-multi-agent-beta-0309", - "modalities": { - "input": [ - "text", - "image" - ] - }, - "limit": { - "context": 2000000, - "output": 2000000 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "cost": { - "input": 2, - "output": 6, - "cache_read": 0.2 + "input": 1.9, + "output": 1.9 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V2-Chat", - "name": "deepseek-ai/DeepSeek-V2-Chat", - "display_name": "deepseek-ai/DeepSeek-V2-Chat", + "id": "Baichuan3-Turbo-128k", + "name": "Baichuan3-Turbo-128k", + "display_name": "Baichuan3-Turbo-128k", "limit": { "context": 8192, "output": 8192 @@ -221808,15 +227912,15 @@ "supported": false }, "cost": { - "input": 0.16, - "output": 0.32 + "input": 3.8, + "output": 3.8 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-V2.5", - "name": "deepseek-ai/DeepSeek-V2.5", - "display_name": "deepseek-ai/DeepSeek-V2.5", + "id": "Baichuan4", + "name": "Baichuan4", + "display_name": "Baichuan4", "limit": { "context": 8192, "output": 8192 @@ -221826,15 +227930,15 @@ "supported": false }, "cost": { - "input": 0.16, - "output": 0.32 + "input": 16, + "output": 16 }, "type": "chat" }, { - "id": "deepseek-ai/deepseek-llm-67b-chat", - "name": "deepseek-ai/deepseek-llm-67b-chat", - "display_name": "deepseek-ai/deepseek-llm-67b-chat", + "id": "Baichuan4-Air", + "name": "Baichuan4-Air", + "display_name": "Baichuan4-Air", "limit": { "context": 8192, "output": 8192 @@ -221850,9 +227954,9 @@ "type": "chat" }, { - "id": "deepseek-ai/deepseek-vl2", - "name": "deepseek-ai/deepseek-vl2", - "display_name": "deepseek-ai/deepseek-vl2", + "id": "Baichuan4-Turbo", + "name": "Baichuan4-Turbo", + "display_name": "Baichuan4-Turbo", "limit": { "context": 8192, "output": 8192 @@ -221862,15 +227966,15 @@ "supported": false }, "cost": { - "input": 0.16, - "output": 0.16 + "input": 2.4, + "output": 2.4 }, "type": "chat" }, { - "id": "deepseek-v3", - "name": "deepseek-v3", - "display_name": "deepseek-v3", + "id": "DeepSeek-v3", + "name": "DeepSeek-v3", + "display_name": "DeepSeek-v3", "limit": { "context": 8192, "output": 8192 @@ -221881,20 +227985,14 @@ }, "cost": { "input": 0.272, - "output": 1.088, - "cache_read": 0 + "output": 1.088 }, "type": "chat" }, { - "id": "distil-whisper-large-v3-en", - "name": "distil-whisper-large-v3-en", - "display_name": "distil-whisper-large-v3-en", - "modalities": { - "input": [ - "audio" - ] - }, + "id": "Doubao-1.5-lite-32k", + "name": "Doubao-1.5-lite-32k", + "display_name": "Doubao-1.5-lite-32k", "limit": { "context": 8192, "output": 8192 @@ -221904,15 +228002,16 @@ "supported": false }, "cost": { - "input": 5.556, - "output": 5.556 + "input": 0.05, + "output": 0.1, + "cache_read": 0.01 }, "type": "chat" }, { - "id": "doubao-1-5-thinking-vision-pro-250428", - "name": "doubao-1-5-thinking-vision-pro-250428", - "display_name": "doubao-1-5-thinking-vision-pro-250428", + "id": "Doubao-1.5-pro-256k", + "name": "Doubao-1.5-pro-256k", + "display_name": "Doubao-1.5-pro-256k", "limit": { "context": 8192, "output": 8192 @@ -221922,16 +228021,16 @@ "supported": false }, "cost": { - "input": 2, - "output": 2, - "cache_read": 2 + "input": 0.8, + "output": 1.44, + "cache_read": 0.8 }, "type": "chat" }, { - "id": "fx-flux-2-pro", - "name": "fx-flux-2-pro", - "display_name": "fx-flux-2-pro", + "id": "Doubao-1.5-pro-32k", + "name": "Doubao-1.5-pro-32k", + "display_name": "Doubao-1.5-pro-32k", "limit": { "context": 8192, "output": 8192 @@ -221941,68 +228040,34 @@ "supported": false }, "cost": { - "input": 2, - "output": 0, - "cache_read": 0 + "input": 0.134, + "output": 0.335, + "cache_read": 0.0268 }, "type": "chat" }, { - "id": "gemini-2.5-pro-exp-03-25", - "name": "gemini-2.5-pro-exp-03-25", - "display_name": "gemini-2.5-pro-exp-03-25", - "modalities": { - "input": [ - "text", - "image", - "audio", - "video" - ] - }, + "id": "Doubao-1.5-vision-pro-32k", + "name": "Doubao-1.5-vision-pro-32k", + "display_name": "Doubao-1.5-vision-pro-32k", "limit": { "context": 8192, "output": 8192 }, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 128, - "max": 32768, - "auto": -1, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, "cost": { - "input": 1.25, - "output": 5, - "cache_read": 0.125 + "input": 0.46, + "output": 1.38 }, "type": "chat" }, { - "id": "gemini-embedding-exp-03-07", - "name": "gemini-embedding-exp-03-07", - "display_name": "gemini-embedding-exp-03-07", - "modalities": { - "input": [ - "text" - ] - }, + "id": "Doubao-lite-128k", + "name": "Doubao-lite-128k", + "display_name": "Doubao-lite-128k", "limit": { "context": 8192, "output": 8192 @@ -222012,15 +228077,16 @@ "supported": false }, "cost": { - "input": 0.02, - "output": 0.02 + "input": 0.14, + "output": 0.28, + "cache_read": 0.14 }, - "type": "embedding" + "type": "chat" }, { - "id": "gemini-exp-1114", - "name": "gemini-exp-1114", - "display_name": "gemini-exp-1114", + "id": "Doubao-lite-32k", + "name": "Doubao-lite-32k", + "display_name": "Doubao-lite-32k", "limit": { "context": 8192, "output": 8192 @@ -222030,15 +228096,16 @@ "supported": false }, "cost": { - "input": 1.25, - "output": 5 + "input": 0.06, + "output": 0.12, + "cache_read": 0.012 }, "type": "chat" }, { - "id": "gemini-exp-1121", - "name": "gemini-exp-1121", - "display_name": "gemini-exp-1121", + "id": "Doubao-lite-4k", + "name": "Doubao-lite-4k", + "display_name": "Doubao-lite-4k", "limit": { "context": 8192, "output": 8192 @@ -222048,15 +228115,16 @@ "supported": false }, "cost": { - "input": 1.25, - "output": 5 + "input": 0.06, + "output": 0.12, + "cache_read": 0.06 }, "type": "chat" }, { - "id": "gemini-pro", - "name": "gemini-pro", - "display_name": "gemini-pro", + "id": "Doubao-pro-128k", + "name": "Doubao-pro-128k", + "display_name": "Doubao-pro-128k", "limit": { "context": 8192, "output": 8192 @@ -222066,15 +228134,15 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.6 + "input": 0.8, + "output": 1.44 }, "type": "chat" }, { - "id": "gemini-pro-vision", - "name": "gemini-pro-vision", - "display_name": "gemini-pro-vision", + "id": "Doubao-pro-256k", + "name": "Doubao-pro-256k", + "display_name": "Doubao-pro-256k", "limit": { "context": 8192, "output": 8192 @@ -222084,15 +228152,16 @@ "supported": false }, "cost": { - "input": 1, - "output": 1 + "input": 0.8, + "output": 1.44, + "cache_read": 0.8 }, "type": "chat" }, { - "id": "gemma-7b-it", - "name": "gemma-7b-it", - "display_name": "gemma-7b-it", + "id": "Doubao-pro-32k", + "name": "Doubao-pro-32k", + "display_name": "Doubao-pro-32k", "limit": { "context": 8192, "output": 8192 @@ -222102,15 +228171,16 @@ "supported": false }, "cost": { - "input": 0.1, - "output": 0.1 + "input": 0.14, + "output": 0.35, + "cache_read": 0.028 }, "type": "chat" }, { - "id": "glm-3-turbo", - "name": "glm-3-turbo", - "display_name": "glm-3-turbo", + "id": "Doubao-pro-4k", + "name": "Doubao-pro-4k", + "display_name": "Doubao-pro-4k", "limit": { "context": 8192, "output": 8192 @@ -222120,33 +228190,38 @@ "supported": false }, "cost": { - "input": 0.71, - "output": 0.71 + "input": 0.14, + "output": 0.35 }, "type": "chat" }, { - "id": "glm-4", - "name": "glm-4", - "display_name": "glm-4", + "id": "GPT-OSS-20B", + "name": "GPT-OSS-20B", + "display_name": "GPT-OSS-20B", "limit": { "context": 8192, "output": 8192 }, "tool_call": false, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "cost": { - "input": 14.2, - "output": 14.2 + "input": 0.11, + "output": 0.55 }, "type": "chat" }, { - "id": "glm-4-flash", - "name": "glm-4-flash", - "display_name": "glm-4-flash", + "id": "Gryphe/MythoMax-L2-13b", + "name": "Gryphe/MythoMax-L2-13b", + "display_name": "Gryphe/MythoMax-L2-13b", "limit": { "context": 8192, "output": 8192 @@ -222156,15 +228231,20 @@ "supported": false }, "cost": { - "input": 0.1, - "output": 0.1 + "input": 0.4, + "output": 0.4 }, "type": "chat" }, { - "id": "glm-4-plus", - "name": "glm-4-plus", - "display_name": "glm-4-plus", + "id": "MiniMax-Text-01", + "name": "MiniMax-Text-01", + "display_name": "MiniMax-Text-01", + "modalities": { + "input": [ + "text" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -222174,20 +228254,15 @@ "supported": false }, "cost": { - "input": 8, - "output": 8 + "input": 0.14, + "output": 1.12 }, "type": "chat" }, { - "id": "glm-4.5-airx", - "name": "glm-4.5-airx", - "display_name": "glm-4.5-airx", - "modalities": { - "input": [ - "text" - ] - }, + "id": "Mistral-large-2407", + "name": "Mistral-large-2407", + "display_name": "Mistral-large-2407", "limit": { "context": 8192, "output": 8192 @@ -222197,16 +228272,15 @@ "supported": false }, "cost": { - "input": 1.1, - "output": 4.51, - "cache_read": 0.22 + "input": 3, + "output": 9 }, "type": "chat" }, { - "id": "glm-4v", - "name": "glm-4v", - "display_name": "glm-4v", + "id": "Qwen/Qwen2-1.5B-Instruct", + "name": "Qwen/Qwen2-1.5B-Instruct", + "display_name": "Qwen/Qwen2-1.5B-Instruct", "limit": { "context": 8192, "output": 8192 @@ -222216,15 +228290,15 @@ "supported": false }, "cost": { - "input": 14.2, - "output": 14.2 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "glm-4v-plus", - "name": "glm-4v-plus", - "display_name": "glm-4v-plus", + "id": "Qwen/Qwen2-57B-A14B-Instruct", + "name": "Qwen/Qwen2-57B-A14B-Instruct", + "display_name": "Qwen/Qwen2-57B-A14B-Instruct", "limit": { "context": 8192, "output": 8192 @@ -222234,15 +228308,15 @@ "supported": false }, "cost": { - "input": 2, - "output": 2 + "input": 0.24, + "output": 0.24 }, "type": "chat" }, { - "id": "google-gemma-3-12b-it", - "name": "google-gemma-3-12b-it", - "display_name": "google-gemma-3-12b-it", + "id": "Qwen/Qwen2-72B-Instruct", + "name": "Qwen/Qwen2-72B-Instruct", + "display_name": "Qwen/Qwen2-72B-Instruct", "limit": { "context": 8192, "output": 8192 @@ -222252,15 +228326,15 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.2 + "input": 0.8, + "output": 0.8 }, "type": "chat" }, { - "id": "google-gemma-3-27b-it", - "name": "google-gemma-3-27b-it", - "display_name": "google-gemma-3-27b-it", + "id": "Qwen/Qwen2-7B-Instruct", + "name": "Qwen/Qwen2-7B-Instruct", + "display_name": "Qwen/Qwen2-7B-Instruct", "limit": { "context": 8192, "output": 8192 @@ -222270,16 +228344,15 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.2, - "cache_read": 0 + "input": 0.08, + "output": 0.08 }, "type": "chat" }, { - "id": "google-gemma-3-4b-it", - "name": "google-gemma-3-4b-it", - "display_name": "google-gemma-3-4b-it", + "id": "Qwen/Qwen2.5-32B-Instruct", + "name": "Qwen/Qwen2.5-32B-Instruct", + "display_name": "Qwen/Qwen2.5-32B-Instruct", "limit": { "context": 8192, "output": 8192 @@ -222289,16 +228362,15 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.2, - "cache_read": 0 + "input": 0.6, + "output": 0.6 }, "type": "chat" }, { - "id": "google/gemini-exp-1114", - "name": "google/gemini-exp-1114", - "display_name": "google/gemini-exp-1114", + "id": "Qwen/Qwen2.5-72B-Instruct", + "name": "Qwen/Qwen2.5-72B-Instruct", + "display_name": "Qwen/Qwen2.5-72B-Instruct", "limit": { "context": 8192, "output": 8192 @@ -222308,15 +228380,15 @@ "supported": false }, "cost": { - "input": 1.25, - "output": 5 + "input": 0.8, + "output": 0.8 }, "type": "chat" }, { - "id": "google/gemma-2-27b-it", - "name": "google/gemma-2-27b-it", - "display_name": "google/gemma-2-27b-it", + "id": "Qwen/Qwen2.5-72B-Instruct-128K", + "name": "Qwen/Qwen2.5-72B-Instruct-128K", + "display_name": "Qwen/Qwen2.5-72B-Instruct-128K", "limit": { "context": 8192, "output": 8192 @@ -222332,9 +228404,9 @@ "type": "chat" }, { - "id": "google/gemma-2-9b-it:free", - "name": "google/gemma-2-9b-it:free", - "display_name": "google/gemma-2-9b-it:free", + "id": "Qwen/Qwen2.5-7B-Instruct", + "name": "Qwen/Qwen2.5-7B-Instruct", + "display_name": "Qwen/Qwen2.5-7B-Instruct", "limit": { "context": 8192, "output": 8192 @@ -222344,15 +228416,15 @@ "supported": false }, "cost": { - "input": 0.02, - "output": 0.02 + "input": 0.4, + "output": 0.4 }, "type": "chat" }, { - "id": "gpt-3.5-turbo", - "name": "gpt-3.5-turbo", - "display_name": "gpt-3.5-turbo", + "id": "Qwen/Qwen2.5-Coder-32B-Instruct", + "name": "Qwen/Qwen2.5-Coder-32B-Instruct", + "display_name": "Qwen/Qwen2.5-Coder-32B-Instruct", "limit": { "context": 8192, "output": 8192 @@ -222362,33 +228434,50 @@ "supported": false }, "cost": { - "input": 0.5, - "output": 1.5 + "input": 0.16, + "output": 0.16 }, "type": "chat" }, { - "id": "gpt-3.5-turbo-0301", - "name": "gpt-3.5-turbo-0301", - "display_name": "gpt-3.5-turbo-0301", + "id": "Qwen3-235B-A22B-Thinking-2507", + "name": "Qwen3-235B-A22B-Thinking-2507", + "display_name": "Qwen3-235B-A22B-Thinking-2507", "limit": { "context": 8192, "output": 8192 }, "tool_call": false, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "cost": { - "input": 1.5, - "output": 1.5 + "input": 0.28, + "output": 2.8 }, "type": "chat" }, { - "id": "gpt-3.5-turbo-0613", - "name": "gpt-3.5-turbo-0613", - "display_name": "gpt-3.5-turbo-0613", + "id": "Stable-Diffusion-3-5-Large", + "name": "Stable-Diffusion-3-5-Large", + "display_name": "Stable-Diffusion-3-5-Large", + "modalities": { + "input": [ + "text", + "image" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -222398,15 +228487,16 @@ "supported": false }, "cost": { - "input": 1.5, - "output": 2 + "input": 4, + "output": 4, + "cache_read": 0 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "gpt-3.5-turbo-1106", - "name": "gpt-3.5-turbo-1106", - "display_name": "gpt-3.5-turbo-1106", + "id": "WizardLM/WizardCoder-Python-34B-V1.0", + "name": "WizardLM/WizardCoder-Python-34B-V1.0", + "display_name": "WizardLM/WizardCoder-Python-34B-V1.0", "limit": { "context": 8192, "output": 8192 @@ -222416,15 +228506,15 @@ "supported": false }, "cost": { - "input": 1, - "output": 2 + "input": 0.9, + "output": 0.9 }, "type": "chat" }, { - "id": "gpt-3.5-turbo-16k", - "name": "gpt-3.5-turbo-16k", - "display_name": "gpt-3.5-turbo-16k", + "id": "ahm-Phi-3-5-MoE-instruct", + "name": "ahm-Phi-3-5-MoE-instruct", + "display_name": "ahm-Phi-3-5-MoE-instruct", "limit": { "context": 8192, "output": 8192 @@ -222434,15 +228524,15 @@ "supported": false }, "cost": { - "input": 3, - "output": 4 + "input": 0.4, + "output": 1.6 }, "type": "chat" }, { - "id": "gpt-3.5-turbo-16k-0613", - "name": "gpt-3.5-turbo-16k-0613", - "display_name": "gpt-3.5-turbo-16k-0613", + "id": "ahm-Phi-3-5-mini-instruct", + "name": "ahm-Phi-3-5-mini-instruct", + "display_name": "ahm-Phi-3-5-mini-instruct", "limit": { "context": 8192, "output": 8192 @@ -222452,15 +228542,21 @@ "supported": false }, "cost": { - "input": 3, - "output": 4 + "input": 1, + "output": 3 }, "type": "chat" }, { - "id": "gpt-3.5-turbo-instruct", - "name": "gpt-3.5-turbo-instruct", - "display_name": "gpt-3.5-turbo-instruct", + "id": "ahm-Phi-3-5-vision-instruct", + "name": "ahm-Phi-3-5-vision-instruct", + "display_name": "ahm-Phi-3-5-vision-instruct", + "modalities": { + "input": [ + "text", + "image" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -222470,15 +228566,15 @@ "supported": false }, "cost": { - "input": 1.5, - "output": 2 + "input": 0.4, + "output": 1.6 }, "type": "chat" }, { - "id": "gpt-4", - "name": "gpt-4", - "display_name": "gpt-4", + "id": "ahm-Phi-3-medium-128k", + "name": "ahm-Phi-3-medium-128k", + "display_name": "ahm-Phi-3-medium-128k", "limit": { "context": 8192, "output": 8192 @@ -222488,15 +228584,15 @@ "supported": false }, "cost": { - "input": 30, - "output": 60 + "input": 6, + "output": 18 }, "type": "chat" }, { - "id": "gpt-4-0125-preview", - "name": "gpt-4-0125-preview", - "display_name": "gpt-4-0125-preview", + "id": "ahm-Phi-3-medium-4k", + "name": "ahm-Phi-3-medium-4k", + "display_name": "ahm-Phi-3-medium-4k", "limit": { "context": 8192, "output": 8192 @@ -222506,15 +228602,15 @@ "supported": false }, "cost": { - "input": 10, - "output": 30 + "input": 1, + "output": 3 }, "type": "chat" }, { - "id": "gpt-4-0314", - "name": "gpt-4-0314", - "display_name": "gpt-4-0314", + "id": "ahm-Phi-3-small-128k", + "name": "ahm-Phi-3-small-128k", + "display_name": "ahm-Phi-3-small-128k", "limit": { "context": 8192, "output": 8192 @@ -222524,15 +228620,15 @@ "supported": false }, "cost": { - "input": 30, - "output": 60 + "input": 1, + "output": 3 }, "type": "chat" }, { - "id": "gpt-4-0613", - "name": "gpt-4-0613", - "display_name": "gpt-4-0613", + "id": "aihubmix-Codestral-2501", + "name": "aihubmix-Codestral-2501", + "display_name": "aihubmix-Codestral-2501", "limit": { "context": 8192, "output": 8192 @@ -222542,15 +228638,20 @@ "supported": false }, "cost": { - "input": 30, - "output": 60 + "input": 0.4, + "output": 1.2 }, "type": "chat" }, { - "id": "gpt-4-1106-preview", - "name": "gpt-4-1106-preview", - "display_name": "gpt-4-1106-preview", + "id": "aihubmix-Cohere-command-r", + "name": "aihubmix-Cohere-command-r", + "display_name": "aihubmix-Cohere-command-r", + "modalities": { + "input": [ + "text" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -222560,15 +228661,15 @@ "supported": false }, "cost": { - "input": 10, - "output": 30 + "input": 0.64, + "output": 1.92 }, "type": "chat" }, { - "id": "gpt-4-32k-0314", - "name": "gpt-4-32k-0314", - "display_name": "gpt-4-32k-0314", + "id": "aihubmix-Jamba-1-5-Large", + "name": "aihubmix-Jamba-1-5-Large", + "display_name": "aihubmix-Jamba-1-5-Large", "limit": { "context": 8192, "output": 8192 @@ -222578,15 +228679,15 @@ "supported": false }, "cost": { - "input": 60, - "output": 120 + "input": 2.2, + "output": 8.8 }, "type": "chat" }, { - "id": "gpt-4-32k-0613", - "name": "gpt-4-32k-0613", - "display_name": "gpt-4-32k-0613", + "id": "aihubmix-Llama-3-1-405B-Instruct", + "name": "aihubmix-Llama-3-1-405B-Instruct", + "display_name": "aihubmix-Llama-3-1-405B-Instruct", "limit": { "context": 8192, "output": 8192 @@ -222596,15 +228697,15 @@ "supported": false }, "cost": { - "input": 60, - "output": 120 + "input": 5, + "output": 15 }, "type": "chat" }, { - "id": "gpt-4-turbo", - "name": "gpt-4-turbo", - "display_name": "gpt-4-turbo", + "id": "aihubmix-Llama-3-1-70B-Instruct", + "name": "aihubmix-Llama-3-1-70B-Instruct", + "display_name": "aihubmix-Llama-3-1-70B-Instruct", "limit": { "context": 8192, "output": 8192 @@ -222614,15 +228715,15 @@ "supported": false }, "cost": { - "input": 10, - "output": 30 + "input": 0.6, + "output": 0.78 }, "type": "chat" }, { - "id": "gpt-4-turbo-2024-04-09", - "name": "gpt-4-turbo-2024-04-09", - "display_name": "gpt-4-turbo-2024-04-09", + "id": "aihubmix-Llama-3-1-8B-Instruct", + "name": "aihubmix-Llama-3-1-8B-Instruct", + "display_name": "aihubmix-Llama-3-1-8B-Instruct", "limit": { "context": 8192, "output": 8192 @@ -222632,15 +228733,15 @@ "supported": false }, "cost": { - "input": 10, - "output": 30 + "input": 0.3, + "output": 0.6 }, "type": "chat" }, { - "id": "gpt-4-turbo-preview", - "name": "gpt-4-turbo-preview", - "display_name": "gpt-4-turbo-preview", + "id": "aihubmix-Llama-3-2-11B-Vision", + "name": "aihubmix-Llama-3-2-11B-Vision", + "display_name": "aihubmix-Llama-3-2-11B-Vision", "limit": { "context": 8192, "output": 8192 @@ -222650,15 +228751,15 @@ "supported": false }, "cost": { - "input": 10, - "output": 30 + "input": 0.4, + "output": 0.4 }, "type": "chat" }, { - "id": "gpt-4-vision-preview", - "name": "gpt-4-vision-preview", - "display_name": "gpt-4-vision-preview", + "id": "aihubmix-Llama-3-2-90B-Vision", + "name": "aihubmix-Llama-3-2-90B-Vision", + "display_name": "aihubmix-Llama-3-2-90B-Vision", "limit": { "context": 8192, "output": 8192 @@ -222668,40 +228769,33 @@ "supported": false }, "cost": { - "input": 10, - "output": 30 + "input": 2.4, + "output": 2.4 }, "type": "chat" }, { - "id": "gpt-4o-2024-05-13", - "name": "gpt-4o-2024-05-13", - "display_name": "gpt-4o-2024-05-13", + "id": "aihubmix-Llama-3-70B-Instruct", + "name": "aihubmix-Llama-3-70B-Instruct", + "display_name": "aihubmix-Llama-3-70B-Instruct", "limit": { - "context": 128000, - "output": 128000 + "context": 8192, + "output": 8192 }, "tool_call": false, "reasoning": { "supported": false }, "cost": { - "input": 5, - "output": 15, - "cache_read": 5 + "input": 0.7, + "output": 0.7 }, "type": "chat" }, { - "id": "gpt-4o-mini-2024-07-18", - "name": "gpt-4o-mini-2024-07-18", - "display_name": "gpt-4o-mini-2024-07-18", - "modalities": { - "input": [ - "text", - "image" - ] - }, + "id": "aihubmix-Mistral-large", + "name": "aihubmix-Mistral-large", + "display_name": "aihubmix-Mistral-large", "limit": { "context": 8192, "output": 8192 @@ -222711,49 +228805,41 @@ "supported": false }, "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.075 + "input": 4, + "output": 12 }, "type": "chat" }, { - "id": "gpt-oss-20b", - "name": "gpt-oss-20b", - "display_name": "gpt-oss-20b", + "id": "aihubmix-command-r-08-2024", + "name": "aihubmix-command-r-08-2024", + "display_name": "aihubmix-command-r-08-2024", "modalities": { "input": [ "text" ] }, "limit": { - "context": 128000, - "output": 128000 + "context": 8192, + "output": 8192 }, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "cost": { - "input": 0.11, - "output": 0.55 + "input": 0.2, + "output": 0.8 }, "type": "chat" }, { - "id": "grok-2-vision-1212", - "name": "grok-2-vision-1212", - "display_name": "grok-2-vision-1212", + "id": "aihubmix-command-r-plus", + "name": "aihubmix-command-r-plus", + "display_name": "aihubmix-command-r-plus", "modalities": { "input": [ - "text", - "image" + "text" ] }, "limit": { @@ -222765,19 +228851,18 @@ "supported": false }, "cost": { - "input": 1.8, - "output": 9 + "input": 3.84, + "output": 19.2 }, "type": "chat" }, { - "id": "grok-vision-beta", - "name": "grok-vision-beta", - "display_name": "grok-vision-beta", + "id": "aihubmix-command-r-plus-08-2024", + "name": "aihubmix-command-r-plus-08-2024", + "display_name": "aihubmix-command-r-plus-08-2024", "modalities": { "input": [ - "text", - "image" + "text" ] }, "limit": { @@ -222789,15 +228874,15 @@ "supported": false }, "cost": { - "input": 5.6, - "output": 16.8 + "input": 2.8, + "output": 11.2 }, "type": "chat" }, { - "id": "groq-llama-3.1-8b-instant", - "name": "groq-llama-3.1-8b-instant", - "display_name": "groq-llama-3.1-8b-instant", + "id": "alicloud-deepseek-v3.2", + "name": "alicloud-deepseek-v3.2", + "display_name": "alicloud-deepseek-v3.2", "limit": { "context": 8192, "output": 8192 @@ -222807,15 +228892,16 @@ "supported": false }, "cost": { - "input": 0.055, - "output": 0.088 + "input": 0.274, + "output": 0.411, + "cache_read": 0.0548 }, "type": "chat" }, { - "id": "groq-llama-3.3-70b-versatile", - "name": "groq-llama-3.3-70b-versatile", - "display_name": "groq-llama-3.3-70b-versatile", + "id": "alicloud-glm-4.7", + "name": "alicloud-glm-4.7", + "display_name": "alicloud-glm-4.7", "limit": { "context": 8192, "output": 8192 @@ -222825,15 +228911,16 @@ "supported": false }, "cost": { - "input": 0.649, - "output": 0.869011 + "input": 0.41096, + "output": 1.917786, + "cache_read": 0.41096 }, "type": "chat" }, { - "id": "groq-llama-4-maverick-17b-128e-instruct", - "name": "groq-llama-4-maverick-17b-128e-instruct", - "display_name": "groq-llama-4-maverick-17b-128e-instruct", + "id": "alicloud-kimi-k2-thinking", + "name": "alicloud-kimi-k2-thinking", + "display_name": "alicloud-kimi-k2-thinking", "limit": { "context": 8192, "output": 8192 @@ -222843,39 +228930,34 @@ "supported": false }, "cost": { - "input": 0.22, - "output": 0.66 + "input": 0.548, + "output": 2.192 }, "type": "chat" }, { - "id": "groq-llama-4-scout-17b-16e-instruct", - "name": "groq-llama-4-scout-17b-16e-instruct", - "display_name": "groq-llama-4-scout-17b-16e-instruct", + "id": "alicloud-kimi-k2.5", + "name": "alicloud-kimi-k2.5", + "display_name": "alicloud-kimi-k2.5", "limit": { - "context": 8192, - "output": 8192 + "context": 256000, + "output": 256000 }, "tool_call": false, "reasoning": { "supported": false }, "cost": { - "input": 0.122, - "output": 0.366 + "input": 0.548, + "output": 2.877, + "cache_read": 0.0959 }, "type": "chat" }, { - "id": "imagen-4.0-generate-preview-05-20", - "name": "imagen-4.0-generate-preview-05-20", - "display_name": "imagen-4.0-generate-preview-05-20", - "modalities": { - "input": [ - "text", - "image" - ] - }, + "id": "alicloud-minimax-m2.5", + "name": "alicloud-minimax-m2.5", + "display_name": "alicloud-minimax-m2.5", "limit": { "context": 8192, "output": 8192 @@ -222885,57 +228967,47 @@ "supported": false }, "cost": { - "input": 2, - "output": 2, - "cache_read": 0 + "input": 0.2876, + "output": 1.1504, + "cache_read": 0.05752 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "jina-embeddings-v2-base-code", - "name": "jina-embeddings-v2-base-code", - "display_name": "jina-embeddings-v2-base-code", + "id": "anthropic-opus-4-6", + "name": "anthropic-opus-4-6", + "display_name": "anthropic-opus-4-6", "modalities": { "input": [ - "text" + "text", + "image" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 200000, + "output": 200000 }, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false - }, - "cost": { - "input": 0.05, - "output": 0.05 - }, - "type": "embedding" - }, - { - "id": "learnlm-1.5-pro-experimental", - "name": "learnlm-1.5-pro-experimental", - "display_name": "learnlm-1.5-pro-experimental", - "limit": { - "context": 8192, - "output": 8192 + "supported": true, + "default": true }, - "tool_call": false, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "cost": { - "input": 1.25, - "output": 5 + "input": 5, + "output": 25, + "cache_read": 0.5 }, "type": "chat" }, { - "id": "llama-3.1-405b-instruct", - "name": "llama-3.1-405b-instruct", - "display_name": "llama-3.1-405b-instruct", + "id": "azure-deepseek-v3.2", + "name": "azure-deepseek-v3.2", + "display_name": "azure-deepseek-v3.2", "limit": { "context": 8192, "output": 8192 @@ -222945,15 +229017,15 @@ "supported": false }, "cost": { - "input": 4, - "output": 4 + "input": 0.58, + "output": 1.680028 }, "type": "chat" }, { - "id": "llama-3.1-405b-reasoning", - "name": "llama-3.1-405b-reasoning", - "display_name": "llama-3.1-405b-reasoning", + "id": "azure-deepseek-v3.2-speciale", + "name": "azure-deepseek-v3.2-speciale", + "display_name": "azure-deepseek-v3.2-speciale", "limit": { "context": 8192, "output": 8192 @@ -222963,18 +229035,18 @@ "supported": false }, "cost": { - "input": 4, - "output": 4 + "input": 0.58, + "output": 1.680028 }, "type": "chat" }, { - "id": "llama-3.1-70b-versatile", - "name": "llama-3.1-70b-versatile", - "display_name": "llama-3.1-70b-versatile", + "id": "azure-kimi-k2.5", + "name": "azure-kimi-k2.5", + "display_name": "azure-kimi-k2.5", "limit": { - "context": 8192, - "output": 8192 + "context": 256000, + "output": 256000 }, "tool_call": false, "reasoning": { @@ -222982,14 +229054,14 @@ }, "cost": { "input": 0.6, - "output": 0.6 + "output": 3 }, "type": "chat" }, { - "id": "llama-3.1-8b-instant", - "name": "llama-3.1-8b-instant", - "display_name": "llama-3.1-8b-instant", + "id": "cbs-glm-4.7", + "name": "cbs-glm-4.7", + "display_name": "cbs-glm-4.7", "limit": { "context": 8192, "output": 8192 @@ -222999,15 +229071,15 @@ "supported": false }, "cost": { - "input": 0.3, - "output": 0.6 + "input": 2.25, + "output": 2.749995 }, "type": "chat" }, { - "id": "llama-3.1-sonar-small-128k-online", - "name": "llama-3.1-sonar-small-128k-online", - "display_name": "llama-3.1-sonar-small-128k-online", + "id": "cerebras-llama-3.3-70b", + "name": "cerebras-llama-3.3-70b", + "display_name": "cerebras-llama-3.3-70b", "limit": { "context": 8192, "output": 8192 @@ -223017,15 +229089,15 @@ "supported": false }, "cost": { - "input": 0.3, - "output": 0.3 + "input": 0.6, + "output": 0.6 }, "type": "chat" }, { - "id": "llama-3.2-11b-vision-preview", - "name": "llama-3.2-11b-vision-preview", - "display_name": "llama-3.2-11b-vision-preview", + "id": "chatglm_lite", + "name": "chatglm_lite", + "display_name": "chatglm_lite", "limit": { "context": 8192, "output": 8192 @@ -223035,15 +229107,15 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.2 + "input": 0.2858, + "output": 0.2858 }, "type": "chat" }, { - "id": "llama-3.2-1b-preview", - "name": "llama-3.2-1b-preview", - "display_name": "llama-3.2-1b-preview", + "id": "chatglm_pro", + "name": "chatglm_pro", + "display_name": "chatglm_pro", "limit": { "context": 8192, "output": 8192 @@ -223053,15 +229125,15 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.2 + "input": 1.4286, + "output": 1.4286 }, "type": "chat" }, { - "id": "llama-3.2-3b-preview", - "name": "llama-3.2-3b-preview", - "display_name": "llama-3.2-3b-preview", + "id": "chatglm_std", + "name": "chatglm_std", + "display_name": "chatglm_std", "limit": { "context": 8192, "output": 8192 @@ -223071,15 +229143,15 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.2 + "input": 0.7144, + "output": 0.7144 }, "type": "chat" }, { - "id": "llama-3.2-90b-vision-preview", - "name": "llama-3.2-90b-vision-preview", - "display_name": "llama-3.2-90b-vision-preview", + "id": "chatglm_turbo", + "name": "chatglm_turbo", + "display_name": "chatglm_turbo", "limit": { "context": 8192, "output": 8192 @@ -223089,15 +229161,15 @@ "supported": false }, "cost": { - "input": 2.4, - "output": 2.4 + "input": 0.7144, + "output": 0.7144 }, "type": "chat" }, { - "id": "llama2-70b-4096", - "name": "llama2-70b-4096", - "display_name": "llama2-70b-4096", + "id": "claude-2", + "name": "claude-2", + "display_name": "claude-2", "limit": { "context": 8192, "output": 8192 @@ -223107,15 +229179,15 @@ "supported": false }, "cost": { - "input": 0.5, - "output": 0.5 + "input": 8.8, + "output": 8.8 }, "type": "chat" }, { - "id": "llama2-70b-40960", - "name": "llama2-70b-40960", - "display_name": "llama2-70b-40960", + "id": "claude-2.0", + "name": "claude-2.0", + "display_name": "claude-2.0", "limit": { "context": 8192, "output": 8192 @@ -223125,15 +229197,15 @@ "supported": false }, "cost": { - "input": 0.5, - "output": 0.5 + "input": 8.8, + "output": 39.6 }, "type": "chat" }, { - "id": "llama2-7b-2048", - "name": "llama2-7b-2048", - "display_name": "llama2-7b-2048", + "id": "claude-2.1", + "name": "claude-2.1", + "display_name": "claude-2.1", "limit": { "context": 8192, "output": 8192 @@ -223143,51 +229215,45 @@ "supported": false }, "cost": { - "input": 0.1, - "output": 0.1 + "input": 8.8, + "output": 39.6 }, "type": "chat" }, { - "id": "llama3-70b-8192", - "name": "llama3-70b-8192", - "display_name": "llama3-70b-8192", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.7, - "output": 0.937288 + "id": "claude-3-5-sonnet-20240620", + "name": "claude-3-5-sonnet-20240620", + "display_name": "claude-3-5-sonnet-20240620", + "modalities": { + "input": [ + "text", + "image" + ] }, - "type": "chat" - }, - { - "id": "llama3-8b-8192", - "name": "llama3-8b-8192", - "display_name": "llama3-8b-8192", "limit": { - "context": 8192, - "output": 8192 + "context": 200000, + "output": 200000 }, "tool_call": false, "reasoning": { "supported": false }, "cost": { - "input": 0.06, - "output": 0.12 + "input": 3.3, + "output": 16.5 }, "type": "chat" }, { - "id": "llama3-groq-70b-8192-tool-use-preview", - "name": "llama3-groq-70b-8192-tool-use-preview", - "display_name": "llama3-groq-70b-8192-tool-use-preview", + "id": "claude-3-haiku-20240229", + "name": "claude-3-haiku-20240229", + "display_name": "claude-3-haiku-20240229", + "modalities": { + "input": [ + "text", + "image" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -223197,15 +229263,21 @@ "supported": false }, "cost": { - "input": 0.00089, - "output": 0.00089 + "input": 0.275, + "output": 0.275 }, "type": "chat" }, { - "id": "llama3-groq-8b-8192-tool-use-preview", - "name": "llama3-groq-8b-8192-tool-use-preview", - "display_name": "llama3-groq-8b-8192-tool-use-preview", + "id": "claude-3-haiku-20240307", + "name": "claude-3-haiku-20240307", + "display_name": "claude-3-haiku-20240307", + "modalities": { + "input": [ + "text", + "image" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -223215,15 +229287,21 @@ "supported": false }, "cost": { - "input": 0.00019, - "output": 0.00019 + "input": 0.275, + "output": 1.375 }, "type": "chat" }, { - "id": "mai-image-2", - "name": "mai-image-2", - "display_name": "mai-image-2", + "id": "claude-3-sonnet-20240229", + "name": "claude-3-sonnet-20240229", + "display_name": "claude-3-sonnet-20240229", + "modalities": { + "input": [ + "text", + "image" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -223233,16 +229311,15 @@ "supported": false }, "cost": { - "input": 2, - "output": 2, - "cache_read": 0 + "input": 3.3, + "output": 16.5 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "meta-llama/Llama-3.2-90B-Vision-Instruct", - "name": "meta-llama/Llama-3.2-90B-Vision-Instruct", - "display_name": "meta-llama/Llama-3.2-90B-Vision-Instruct", + "id": "claude-instant-1", + "name": "claude-instant-1", + "display_name": "claude-instant-1", "limit": { "context": 8192, "output": 8192 @@ -223252,15 +229329,15 @@ "supported": false }, "cost": { - "input": 0.5, - "output": 0.5 + "input": 1.793, + "output": 1.793 }, "type": "chat" }, { - "id": "meta-llama/llama-3.1-405b-instruct:free", - "name": "meta-llama/llama-3.1-405b-instruct:free", - "display_name": "meta-llama/llama-3.1-405b-instruct:free", + "id": "claude-instant-1.2", + "name": "claude-instant-1.2", + "display_name": "claude-instant-1.2", "limit": { "context": 8192, "output": 8192 @@ -223270,15 +229347,15 @@ "supported": false }, "cost": { - "input": 0.02, - "output": 0.02 + "input": 0.88, + "output": 3.96 }, "type": "chat" }, { - "id": "meta-llama/llama-3.1-70b-instruct:free", - "name": "meta-llama/llama-3.1-70b-instruct:free", - "display_name": "meta-llama/llama-3.1-70b-instruct:free", + "id": "code-davinci-edit-001", + "name": "code-davinci-edit-001", + "display_name": "code-davinci-edit-001", "limit": { "context": 8192, "output": 8192 @@ -223288,15 +229365,15 @@ "supported": false }, "cost": { - "input": 0.02, - "output": 0.02 + "input": 20, + "output": 20 }, "type": "chat" }, { - "id": "meta-llama/llama-3.1-8b-instruct:free", - "name": "meta-llama/llama-3.1-8b-instruct:free", - "display_name": "meta-llama/llama-3.1-8b-instruct:free", + "id": "cogview-3", + "name": "cogview-3", + "display_name": "cogview-3", "limit": { "context": 8192, "output": 8192 @@ -223306,15 +229383,15 @@ "supported": false }, "cost": { - "input": 0.02, - "output": 0.02 + "input": 35.5, + "output": 35.5 }, "type": "chat" }, { - "id": "meta-llama/llama-3.2-11b-vision-instruct:free", - "name": "meta-llama/llama-3.2-11b-vision-instruct:free", - "display_name": "meta-llama/llama-3.2-11b-vision-instruct:free", + "id": "cogview-3-plus", + "name": "cogview-3-plus", + "display_name": "cogview-3-plus", "limit": { "context": 8192, "output": 8192 @@ -223324,15 +229401,20 @@ "supported": false }, "cost": { - "input": 0.02, - "output": 0.02 + "input": 10, + "output": 10 }, "type": "chat" }, { - "id": "meta-llama/llama-3.2-3b-instruct:free", - "name": "meta-llama/llama-3.2-3b-instruct:free", - "display_name": "meta-llama/llama-3.2-3b-instruct:free", + "id": "command", + "name": "command", + "display_name": "command", + "modalities": { + "input": [ + "text" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -223342,15 +229424,15 @@ "supported": false }, "cost": { - "input": 0.02, - "output": 0.02 + "input": 1, + "output": 2 }, "type": "chat" }, { - "id": "meta/llama-3.1-405b-instruct", - "name": "meta/llama-3.1-405b-instruct", - "display_name": "meta/llama-3.1-405b-instruct", + "id": "command-light", + "name": "command-light", + "display_name": "command-light", "limit": { "context": 8192, "output": 8192 @@ -223360,15 +229442,15 @@ "supported": false }, "cost": { - "input": 5, - "output": 5 + "input": 1, + "output": 2 }, "type": "chat" }, { - "id": "meta/llama3-8B-chat", - "name": "meta/llama3-8B-chat", - "display_name": "meta/llama3-8B-chat", + "id": "command-light-nightly", + "name": "command-light-nightly", + "display_name": "command-light-nightly", "limit": { "context": 8192, "output": 8192 @@ -223378,15 +229460,15 @@ "supported": false }, "cost": { - "input": 0.3, - "output": 0.3 + "input": 1, + "output": 2 }, "type": "chat" }, { - "id": "mistralai/mistral-7b-instruct:free", - "name": "mistralai/mistral-7b-instruct:free", - "display_name": "mistralai/mistral-7b-instruct:free", + "id": "command-nightly", + "name": "command-nightly", + "display_name": "command-nightly", "limit": { "context": 8192, "output": 8192 @@ -223396,15 +229478,20 @@ "supported": false }, "cost": { - "input": 0.002, - "output": 0.002 + "input": 1, + "output": 2 }, "type": "chat" }, { - "id": "mm-minimax-m3", - "name": "mm-minimax-m3", - "display_name": "mm-minimax-m3", + "id": "command-r", + "name": "command-r", + "display_name": "command-r", + "modalities": { + "input": [ + "text" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -223414,15 +229501,20 @@ "supported": false }, "cost": { - "input": 0.288, - "output": 1.152 + "input": 0.64, + "output": 1.92 }, "type": "chat" }, { - "id": "moonshot-kimi-k2.5", - "name": "moonshot-kimi-k2.5", - "display_name": "moonshot-kimi-k2.5", + "id": "command-r-08-2024", + "name": "command-r-08-2024", + "display_name": "command-r-08-2024", + "modalities": { + "input": [ + "text" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -223432,16 +229524,20 @@ "supported": false }, "cost": { - "input": 0.6, - "output": 3, - "cache_read": 0.105 + "input": 0.2, + "output": 0.8 }, "type": "chat" }, { - "id": "moonshot-v1-128k", - "name": "moonshot-v1-128k", - "display_name": "moonshot-v1-128k", + "id": "command-r-plus", + "name": "command-r-plus", + "display_name": "command-r-plus", + "modalities": { + "input": [ + "text" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -223451,15 +229547,20 @@ "supported": false }, "cost": { - "input": 10, - "output": 10 + "input": 3.84, + "output": 19.2 }, "type": "chat" }, { - "id": "moonshot-v1-128k-vision-preview", - "name": "moonshot-v1-128k-vision-preview", - "display_name": "moonshot-v1-128k-vision-preview", + "id": "command-r-plus-08-2024", + "name": "command-r-plus-08-2024", + "display_name": "command-r-plus-08-2024", + "modalities": { + "input": [ + "text" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -223469,15 +229570,21 @@ "supported": false }, "cost": { - "input": 10, - "output": 10 + "input": 2.8, + "output": 11.2 }, "type": "chat" }, { - "id": "moonshot-v1-32k", - "name": "moonshot-v1-32k", - "display_name": "moonshot-v1-32k", + "id": "dall-e-2", + "name": "dall-e-2", + "display_name": "dall-e-2", + "modalities": { + "input": [ + "text", + "image" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -223487,15 +229594,15 @@ "supported": false }, "cost": { - "input": 4, - "output": 4 + "input": 16, + "output": 16 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "moonshot-v1-32k-vision-preview", - "name": "moonshot-v1-32k-vision-preview", - "display_name": "moonshot-v1-32k-vision-preview", + "id": "davinci", + "name": "davinci", + "display_name": "davinci", "limit": { "context": 8192, "output": 8192 @@ -223505,15 +229612,15 @@ "supported": false }, "cost": { - "input": 4, - "output": 4 + "input": 20, + "output": 20 }, "type": "chat" }, { - "id": "moonshot-v1-8k", - "name": "moonshot-v1-8k", - "display_name": "moonshot-v1-8k", + "id": "davinci-002", + "name": "davinci-002", + "display_name": "davinci-002", "limit": { "context": 8192, "output": 8192 @@ -223529,9 +229636,9 @@ "type": "chat" }, { - "id": "moonshot-v1-8k-vision-preview", - "name": "moonshot-v1-8k-vision-preview", - "display_name": "moonshot-v1-8k-vision-preview", + "id": "deepinfra-llama-3.1-8b-instant", + "name": "deepinfra-llama-3.1-8b-instant", + "display_name": "deepinfra-llama-3.1-8b-instant", "limit": { "context": 8192, "output": 8192 @@ -223541,15 +229648,15 @@ "supported": false }, "cost": { - "input": 2, - "output": 2 + "input": 0.033, + "output": 0.054978 }, "type": "chat" }, { - "id": "nvidia/Llama-3_1-Nemotron-Ultra-253B-v1", - "name": "nvidia/Llama-3_1-Nemotron-Ultra-253B-v1", - "display_name": "nvidia/Llama-3_1-Nemotron-Ultra-253B-v1", + "id": "deepinfra-llama-3.3-70b-instant-turbo", + "name": "deepinfra-llama-3.3-70b-instant-turbo", + "display_name": "deepinfra-llama-3.3-70b-instant-turbo", "limit": { "context": 8192, "output": 8192 @@ -223559,50 +229666,33 @@ "supported": false }, "cost": { - "input": 0.5, - "output": 0.5, - "cache_read": 0 + "input": 0.11, + "output": 0.352 }, "type": "chat" }, { - "id": "o1-mini-2024-09-12", - "name": "o1-mini-2024-09-12", - "display_name": "o1-mini-2024-09-12", + "id": "deepinfra-llama-4-maverick-17b-128e-instruct", + "name": "deepinfra-llama-4-maverick-17b-128e-instruct", + "display_name": "deepinfra-llama-4-maverick-17b-128e-instruct", "limit": { "context": 8192, "output": 8192 }, "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "medium", - "effort_options": [ - "low", - "medium", - "high" - ], - "visibility": "hidden" - } + "supported": false }, "cost": { - "input": 3, - "output": 12, - "cache_read": 1.5 + "input": 1.65, + "output": 6.6 }, "type": "chat" }, { - "id": "omni-moderation-latest", - "name": "omni-moderation-latest", - "display_name": "omni-moderation-latest", + "id": "deepinfra-llama-4-scout-17b-16e-instruct", + "name": "deepinfra-llama-4-scout-17b-16e-instruct", + "display_name": "deepinfra-llama-4-scout-17b-16e-instruct", "limit": { "context": 8192, "output": 8192 @@ -223612,45 +229702,34 @@ "supported": false }, "cost": { - "input": 0.02, - "output": 0.02 + "input": 0.088, + "output": 0.33, + "cache_read": 0 }, "type": "chat" }, { - "id": "qwen-flash", - "name": "qwen-flash", - "display_name": "qwen-flash", + "id": "deepseek-ai/DeepSeek-Coder-V2-Instruct", + "name": "deepseek-ai/DeepSeek-Coder-V2-Instruct", + "display_name": "deepseek-ai/DeepSeek-Coder-V2-Instruct", "limit": { "context": 8192, "output": 8192 }, "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "cost": { - "input": 0.02, - "output": 0.2, - "cache_read": 0.02 + "input": 0.16, + "output": 0.32 }, "type": "chat" }, { - "id": "qwen-flash-2025-07-28", - "name": "qwen-flash-2025-07-28", - "display_name": "qwen-flash-2025-07-28", + "id": "deepseek-ai/DeepSeek-R1-Distill-Llama-70B", + "name": "deepseek-ai/DeepSeek-R1-Distill-Llama-70B", + "display_name": "deepseek-ai/DeepSeek-R1-Distill-Llama-70B", "limit": { "context": 8192, "output": 8192 @@ -223661,26 +229740,19 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "cost": { - "input": 0.02, - "output": 0.2, - "cache_read": 0.02 + "input": 0.6, + "output": 0.6 }, "type": "chat" }, { - "id": "qwen-long", - "name": "qwen-long", - "display_name": "qwen-long", + "id": "deepseek-ai/DeepSeek-R1-Distill-Llama-8B", + "name": "deepseek-ai/DeepSeek-R1-Distill-Llama-8B", + "display_name": "deepseek-ai/DeepSeek-R1-Distill-Llama-8B", "limit": { "context": 8192, "output": 8192 @@ -223690,15 +229762,15 @@ "supported": false }, "cost": { - "input": 0.1, - "output": 0.4 + "input": 0.01, + "output": 0.01 }, "type": "chat" }, { - "id": "qwen-max", - "name": "qwen-max", - "display_name": "qwen-max", + "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B", + "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B", + "display_name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B", "limit": { "context": 8192, "output": 8192 @@ -223708,15 +229780,15 @@ "supported": false }, "cost": { - "input": 0.38, - "output": 1.52 + "input": 0.01, + "output": 0.01 }, "type": "chat" }, { - "id": "qwen-max-longcontext", - "name": "qwen-max-longcontext", - "display_name": "qwen-max-longcontext", + "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", + "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", + "display_name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", "limit": { "context": 8192, "output": 8192 @@ -223726,85 +229798,15 @@ "supported": false }, "cost": { - "input": 7, - "output": 21 - }, - "type": "chat" - }, - { - "id": "qwen-plus", - "name": "qwen-plus", - "display_name": "qwen-plus", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "cost": { - "input": 0.1126, - "output": 1.126, - "cache_read": 0.02252 - }, - "type": "chat" - }, - { - "id": "qwen-turbo", - "name": "qwen-turbo", - "display_name": "qwen-turbo", - "modalities": { - "input": [ - "text" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "cost": { - "input": 0.046, - "output": 0.092, - "cache_read": 0.0092 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "qwen-turbo-2024-11-01", - "name": "qwen-turbo-2024-11-01", - "display_name": "qwen-turbo-2024-11-01", - "modalities": { - "input": [ - "text" - ] - }, + "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", + "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", + "display_name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", "limit": { "context": 8192, "output": 8192 @@ -223814,15 +229816,15 @@ "supported": false }, "cost": { - "input": 0.046, - "output": 0.092 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "qwen2.5-14b-instruct", - "name": "qwen2.5-14b-instruct", - "display_name": "qwen2.5-14b-instruct", + "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", + "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", + "display_name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", "limit": { "context": 8192, "output": 8192 @@ -223832,15 +229834,15 @@ "supported": false }, "cost": { - "input": 0.4, - "output": 1.2 + "input": 0.01, + "output": 0.01 }, "type": "chat" }, { - "id": "qwen2.5-32b-instruct", - "name": "qwen2.5-32b-instruct", - "display_name": "qwen2.5-32b-instruct", + "id": "deepseek-ai/DeepSeek-V2-Chat", + "name": "deepseek-ai/DeepSeek-V2-Chat", + "display_name": "deepseek-ai/DeepSeek-V2-Chat", "limit": { "context": 8192, "output": 8192 @@ -223850,15 +229852,15 @@ "supported": false }, "cost": { - "input": 0.6, - "output": 1.2 + "input": 0.16, + "output": 0.32 }, "type": "chat" }, { - "id": "qwen2.5-3b-instruct", - "name": "qwen2.5-3b-instruct", - "display_name": "qwen2.5-3b-instruct", + "id": "deepseek-ai/DeepSeek-V2.5", + "name": "deepseek-ai/DeepSeek-V2.5", + "display_name": "deepseek-ai/DeepSeek-V2.5", "limit": { "context": 8192, "output": 8192 @@ -223868,15 +229870,15 @@ "supported": false }, "cost": { - "input": 0.4, - "output": 0.8 + "input": 0.16, + "output": 0.32 }, "type": "chat" }, { - "id": "qwen2.5-72b-instruct", - "name": "qwen2.5-72b-instruct", - "display_name": "qwen2.5-72b-instruct", + "id": "deepseek-ai/deepseek-llm-67b-chat", + "name": "deepseek-ai/deepseek-llm-67b-chat", + "display_name": "deepseek-ai/deepseek-llm-67b-chat", "limit": { "context": 8192, "output": 8192 @@ -223886,15 +229888,15 @@ "supported": false }, "cost": { - "input": 0.8, - "output": 2.4 + "input": 0.16, + "output": 0.16 }, "type": "chat" }, { - "id": "qwen2.5-7b-instruct", - "name": "qwen2.5-7b-instruct", - "display_name": "qwen2.5-7b-instruct", + "id": "deepseek-ai/deepseek-vl2", + "name": "deepseek-ai/deepseek-vl2", + "display_name": "deepseek-ai/deepseek-vl2", "limit": { "context": 8192, "output": 8192 @@ -223904,15 +229906,15 @@ "supported": false }, "cost": { - "input": 0.4, - "output": 0.8 + "input": 0.16, + "output": 0.16 }, "type": "chat" }, { - "id": "qwen2.5-coder-1.5b-instruct", - "name": "qwen2.5-coder-1.5b-instruct", - "display_name": "qwen2.5-coder-1.5b-instruct", + "id": "deepseek-v3", + "name": "deepseek-v3", + "display_name": "deepseek-v3", "limit": { "context": 8192, "output": 8192 @@ -223922,15 +229924,21 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.4 + "input": 0.272, + "output": 1.088, + "cache_read": 0 }, "type": "chat" }, { - "id": "qwen2.5-coder-7b-instruct", - "name": "qwen2.5-coder-7b-instruct", - "display_name": "qwen2.5-coder-7b-instruct", + "id": "distil-whisper-large-v3-en", + "name": "distil-whisper-large-v3-en", + "display_name": "distil-whisper-large-v3-en", + "modalities": { + "input": [ + "audio" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -223940,15 +229948,15 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.4 + "input": 5.556, + "output": 5.556 }, "type": "chat" }, { - "id": "qwen2.5-math-1.5b-instruct", - "name": "qwen2.5-math-1.5b-instruct", - "display_name": "qwen2.5-math-1.5b-instruct", + "id": "doubao-1-5-thinking-vision-pro-250428", + "name": "doubao-1-5-thinking-vision-pro-250428", + "display_name": "doubao-1-5-thinking-vision-pro-250428", "limit": { "context": 8192, "output": 8192 @@ -223958,15 +229966,16 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.2 + "input": 2, + "output": 2, + "cache_read": 2 }, "type": "chat" }, { - "id": "qwen2.5-math-72b-instruct", - "name": "qwen2.5-math-72b-instruct", - "display_name": "qwen2.5-math-72b-instruct", + "id": "fx-flux-2-pro", + "name": "fx-flux-2-pro", + "display_name": "fx-flux-2-pro", "limit": { "context": 8192, "output": 8192 @@ -223976,33 +229985,68 @@ "supported": false }, "cost": { - "input": 0.8, - "output": 2.4 + "input": 2, + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "qwen2.5-math-7b-instruct", - "name": "qwen2.5-math-7b-instruct", - "display_name": "qwen2.5-math-7b-instruct", + "id": "gemini-2.5-pro-exp-03-25", + "name": "gemini-2.5-pro-exp-03-25", + "display_name": "gemini-2.5-pro-exp-03-25", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video" + ] + }, "limit": { "context": 8192, "output": 8192 }, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 128, + "max": 32768, + "auto": -1, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } }, "cost": { - "input": 0.2, - "output": 0.4 + "input": 1.25, + "output": 5, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "step-2-16k", - "name": "step-2-16k", - "display_name": "step-2-16k", + "id": "gemini-embedding-exp-03-07", + "name": "gemini-embedding-exp-03-07", + "display_name": "gemini-embedding-exp-03-07", + "modalities": { + "input": [ + "text" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -224012,15 +230056,15 @@ "supported": false }, "cost": { - "input": 2, - "output": 2 + "input": 0.02, + "output": 0.02 }, - "type": "chat" + "type": "embedding" }, { - "id": "text-ada-001", - "name": "text-ada-001", - "display_name": "text-ada-001", + "id": "gemini-exp-1114", + "name": "gemini-exp-1114", + "display_name": "gemini-exp-1114", "limit": { "context": 8192, "output": 8192 @@ -224030,15 +230074,15 @@ "supported": false }, "cost": { - "input": 0.4, - "output": 0.4 + "input": 1.25, + "output": 5 }, "type": "chat" }, { - "id": "text-babbage-001", - "name": "text-babbage-001", - "display_name": "text-babbage-001", + "id": "gemini-exp-1121", + "name": "gemini-exp-1121", + "display_name": "gemini-exp-1121", "limit": { "context": 8192, "output": 8192 @@ -224048,15 +230092,15 @@ "supported": false }, "cost": { - "input": 0.5, - "output": 0.5 + "input": 1.25, + "output": 5 }, "type": "chat" }, { - "id": "text-curie-001", - "name": "text-curie-001", - "display_name": "text-curie-001", + "id": "gemini-pro", + "name": "gemini-pro", + "display_name": "gemini-pro", "limit": { "context": 8192, "output": 8192 @@ -224066,15 +230110,15 @@ "supported": false }, "cost": { - "input": 2, - "output": 2 + "input": 0.2, + "output": 0.6 }, "type": "chat" }, { - "id": "text-davinci-002", - "name": "text-davinci-002", - "display_name": "text-davinci-002", + "id": "gemini-pro-vision", + "name": "gemini-pro-vision", + "display_name": "gemini-pro-vision", "limit": { "context": 8192, "output": 8192 @@ -224084,15 +230128,15 @@ "supported": false }, "cost": { - "input": 20, - "output": 20 + "input": 1, + "output": 1 }, "type": "chat" }, { - "id": "text-davinci-003", - "name": "text-davinci-003", - "display_name": "text-davinci-003", + "id": "gemma-7b-it", + "name": "gemma-7b-it", + "display_name": "gemma-7b-it", "limit": { "context": 8192, "output": 8192 @@ -224102,15 +230146,15 @@ "supported": false }, "cost": { - "input": 20, - "output": 20 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "text-davinci-edit-001", - "name": "text-davinci-edit-001", - "display_name": "text-davinci-edit-001", + "id": "glm-3-turbo", + "name": "glm-3-turbo", + "display_name": "glm-3-turbo", "limit": { "context": 8192, "output": 8192 @@ -224120,20 +230164,15 @@ "supported": false }, "cost": { - "input": 20, - "output": 20 + "input": 0.71, + "output": 0.71 }, "type": "chat" }, { - "id": "text-embedding-3-large", - "name": "text-embedding-3-large", - "display_name": "text-embedding-3-large", - "modalities": { - "input": [ - "text" - ] - }, + "id": "glm-4", + "name": "glm-4", + "display_name": "glm-4", "limit": { "context": 8192, "output": 8192 @@ -224143,20 +230182,15 @@ "supported": false }, "cost": { - "input": 0.13, - "output": 0.13 + "input": 14.2, + "output": 14.2 }, - "type": "embedding" + "type": "chat" }, { - "id": "text-embedding-3-small", - "name": "text-embedding-3-small", - "display_name": "text-embedding-3-small", - "modalities": { - "input": [ - "text" - ] - }, + "id": "glm-4-flash", + "name": "glm-4-flash", + "display_name": "glm-4-flash", "limit": { "context": 8192, "output": 8192 @@ -224166,20 +230200,15 @@ "supported": false }, "cost": { - "input": 0.02, - "output": 0.02 + "input": 0.1, + "output": 0.1 }, - "type": "embedding" + "type": "chat" }, { - "id": "text-embedding-ada-002", - "name": "text-embedding-ada-002", - "display_name": "text-embedding-ada-002", - "modalities": { - "input": [ - "text" - ] - }, + "id": "glm-4-plus", + "name": "glm-4-plus", + "display_name": "glm-4-plus", "limit": { "context": 8192, "output": 8192 @@ -224189,15 +230218,15 @@ "supported": false }, "cost": { - "input": 0.1, - "output": 0.1 + "input": 8, + "output": 8 }, - "type": "embedding" + "type": "chat" }, { - "id": "text-embedding-v1", - "name": "text-embedding-v1", - "display_name": "text-embedding-v1", + "id": "glm-4.5-airx", + "name": "glm-4.5-airx", + "display_name": "glm-4.5-airx", "modalities": { "input": [ "text" @@ -224212,15 +230241,16 @@ "supported": false }, "cost": { - "input": 0.1, - "output": 0.1 + "input": 1.1, + "output": 4.51, + "cache_read": 0.22 }, - "type": "embedding" + "type": "chat" }, { - "id": "text-moderation-007", - "name": "text-moderation-007", - "display_name": "text-moderation-007", + "id": "glm-4v", + "name": "glm-4v", + "display_name": "glm-4v", "limit": { "context": 8192, "output": 8192 @@ -224230,15 +230260,15 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.2 + "input": 14.2, + "output": 14.2 }, "type": "chat" }, { - "id": "text-moderation-latest", - "name": "text-moderation-latest", - "display_name": "text-moderation-latest", + "id": "glm-4v-plus", + "name": "glm-4v-plus", + "display_name": "glm-4v-plus", "limit": { "context": 8192, "output": 8192 @@ -224248,15 +230278,15 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.2 + "input": 2, + "output": 2 }, "type": "chat" }, { - "id": "text-moderation-stable", - "name": "text-moderation-stable", - "display_name": "text-moderation-stable", + "id": "google-gemma-3-12b-it", + "name": "google-gemma-3-12b-it", + "display_name": "google-gemma-3-12b-it", "limit": { "context": 8192, "output": 8192 @@ -224272,9 +230302,9 @@ "type": "chat" }, { - "id": "text-search-ada-doc-001", - "name": "text-search-ada-doc-001", - "display_name": "text-search-ada-doc-001", + "id": "google-gemma-3-27b-it", + "name": "google-gemma-3-27b-it", + "display_name": "google-gemma-3-27b-it", "limit": { "context": 8192, "output": 8192 @@ -224284,20 +230314,16 @@ "supported": false }, "cost": { - "input": 20, - "output": 20 + "input": 0.2, + "output": 0.2, + "cache_read": 0 }, "type": "chat" }, { - "id": "tts-1", - "name": "tts-1", - "display_name": "tts-1", - "modalities": { - "input": [ - "audio" - ] - }, + "id": "google-gemma-3-4b-it", + "name": "google-gemma-3-4b-it", + "display_name": "google-gemma-3-4b-it", "limit": { "context": 8192, "output": 8192 @@ -224307,41 +230333,16 @@ "supported": false }, "cost": { - "input": 15, - "output": 15 - } - }, - { - "id": "tts-1-1106", - "name": "tts-1-1106", - "display_name": "tts-1-1106", - "modalities": { - "input": [ - "audio" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false + "input": 0.2, + "output": 0.2, + "cache_read": 0 }, - "cost": { - "input": 15, - "output": 15 - } + "type": "chat" }, { - "id": "tts-1-hd", - "name": "tts-1-hd", - "display_name": "tts-1-hd", - "modalities": { - "input": [ - "audio" - ] - }, + "id": "google/gemini-exp-1114", + "name": "google/gemini-exp-1114", + "display_name": "google/gemini-exp-1114", "limit": { "context": 8192, "output": 8192 @@ -224351,19 +230352,15 @@ "supported": false }, "cost": { - "input": 30, - "output": 30 - } + "input": 1.25, + "output": 5 + }, + "type": "chat" }, { - "id": "tts-1-hd-1106", - "name": "tts-1-hd-1106", - "display_name": "tts-1-hd-1106", - "modalities": { - "input": [ - "audio" - ] - }, + "id": "google/gemma-2-27b-it", + "name": "google/gemma-2-27b-it", + "display_name": "google/gemma-2-27b-it", "limit": { "context": 8192, "output": 8192 @@ -224373,19 +230370,15 @@ "supported": false }, "cost": { - "input": 30, - "output": 30 - } + "input": 0.8, + "output": 0.8 + }, + "type": "chat" }, { - "id": "whisper-1", - "name": "whisper-1", - "display_name": "whisper-1", - "modalities": { - "input": [ - "audio" - ] - }, + "id": "google/gemma-2-9b-it:free", + "name": "google/gemma-2-9b-it:free", + "display_name": "google/gemma-2-9b-it:free", "limit": { "context": 8192, "output": 8192 @@ -224395,20 +230388,15 @@ "supported": false }, "cost": { - "input": 100, - "output": 100 + "input": 0.02, + "output": 0.02 }, "type": "chat" }, { - "id": "whisper-large-v3", - "name": "whisper-large-v3", - "display_name": "whisper-large-v3", - "modalities": { - "input": [ - "audio" - ] - }, + "id": "gpt-3.5-turbo", + "name": "gpt-3.5-turbo", + "display_name": "gpt-3.5-turbo", "limit": { "context": 8192, "output": 8192 @@ -224418,20 +230406,15 @@ "supported": false }, "cost": { - "input": 30.834, - "output": 30.834 + "input": 0.5, + "output": 1.5 }, "type": "chat" }, { - "id": "whisper-large-v3-turbo", - "name": "whisper-large-v3-turbo", - "display_name": "whisper-large-v3-turbo", - "modalities": { - "input": [ - "audio" - ] - }, + "id": "gpt-3.5-turbo-0301", + "name": "gpt-3.5-turbo-0301", + "display_name": "gpt-3.5-turbo-0301", "limit": { "context": 8192, "output": 8192 @@ -224441,15 +230424,15 @@ "supported": false }, "cost": { - "input": 5.556, - "output": 5.556 + "input": 1.5, + "output": 1.5 }, "type": "chat" }, { - "id": "yi-large", - "name": "yi-large", - "display_name": "yi-large", + "id": "gpt-3.5-turbo-0613", + "name": "gpt-3.5-turbo-0613", + "display_name": "gpt-3.5-turbo-0613", "limit": { "context": 8192, "output": 8192 @@ -224459,15 +230442,15 @@ "supported": false }, "cost": { - "input": 3, - "output": 3 + "input": 1.5, + "output": 2 }, "type": "chat" }, { - "id": "yi-large-rag", - "name": "yi-large-rag", - "display_name": "yi-large-rag", + "id": "gpt-3.5-turbo-1106", + "name": "gpt-3.5-turbo-1106", + "display_name": "gpt-3.5-turbo-1106", "limit": { "context": 8192, "output": 8192 @@ -224477,15 +230460,15 @@ "supported": false }, "cost": { - "input": 4, - "output": 4 + "input": 1, + "output": 2 }, "type": "chat" }, { - "id": "yi-large-turbo", - "name": "yi-large-turbo", - "display_name": "yi-large-turbo", + "id": "gpt-3.5-turbo-16k", + "name": "gpt-3.5-turbo-16k", + "display_name": "gpt-3.5-turbo-16k", "limit": { "context": 8192, "output": 8192 @@ -224495,15 +230478,15 @@ "supported": false }, "cost": { - "input": 1.8, - "output": 1.8 + "input": 3, + "output": 4 }, "type": "chat" }, { - "id": "yi-lightning", - "name": "yi-lightning", - "display_name": "yi-lightning", + "id": "gpt-3.5-turbo-16k-0613", + "name": "gpt-3.5-turbo-16k-0613", + "display_name": "gpt-3.5-turbo-16k-0613", "limit": { "context": 8192, "output": 8192 @@ -224513,15 +230496,15 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.2 + "input": 3, + "output": 4 }, "type": "chat" }, { - "id": "yi-medium", - "name": "yi-medium", - "display_name": "yi-medium", + "id": "gpt-3.5-turbo-instruct", + "name": "gpt-3.5-turbo-instruct", + "display_name": "gpt-3.5-turbo-instruct", "limit": { "context": 8192, "output": 8192 @@ -224531,15 +230514,15 @@ "supported": false }, "cost": { - "input": 0.4, - "output": 0.4 + "input": 1.5, + "output": 2 }, "type": "chat" }, { - "id": "yi-vl-plus", - "name": "yi-vl-plus", - "display_name": "yi-vl-plus", + "id": "gpt-4", + "name": "gpt-4", + "display_name": "gpt-4", "limit": { "context": 8192, "output": 8192 @@ -224549,15 +230532,15 @@ "supported": false }, "cost": { - "input": 0.000852, - "output": 0.000852 + "input": 30, + "output": 60 }, "type": "chat" }, { - "id": "Baichuan3-Turbo", - "name": "Baichuan3-Turbo", - "display_name": "Baichuan3-Turbo", + "id": "gpt-4-0125-preview", + "name": "gpt-4-0125-preview", + "display_name": "gpt-4-0125-preview", "limit": { "context": 8192, "output": 8192 @@ -224567,15 +230550,15 @@ "supported": false }, "cost": { - "input": 1.9, - "output": 1.9 + "input": 10, + "output": 30 }, "type": "chat" }, { - "id": "Baichuan3-Turbo-128k", - "name": "Baichuan3-Turbo-128k", - "display_name": "Baichuan3-Turbo-128k", + "id": "gpt-4-0314", + "name": "gpt-4-0314", + "display_name": "gpt-4-0314", "limit": { "context": 8192, "output": 8192 @@ -224585,15 +230568,15 @@ "supported": false }, "cost": { - "input": 3.8, - "output": 3.8 + "input": 30, + "output": 60 }, "type": "chat" }, { - "id": "Baichuan4", - "name": "Baichuan4", - "display_name": "Baichuan4", + "id": "gpt-4-0613", + "name": "gpt-4-0613", + "display_name": "gpt-4-0613", "limit": { "context": 8192, "output": 8192 @@ -224603,15 +230586,15 @@ "supported": false }, "cost": { - "input": 16, - "output": 16 + "input": 30, + "output": 60 }, "type": "chat" }, { - "id": "Baichuan4-Air", - "name": "Baichuan4-Air", - "display_name": "Baichuan4-Air", + "id": "gpt-4-1106-preview", + "name": "gpt-4-1106-preview", + "display_name": "gpt-4-1106-preview", "limit": { "context": 8192, "output": 8192 @@ -224621,15 +230604,15 @@ "supported": false }, "cost": { - "input": 0.16, - "output": 0.16 + "input": 10, + "output": 30 }, "type": "chat" }, { - "id": "Baichuan4-Turbo", - "name": "Baichuan4-Turbo", - "display_name": "Baichuan4-Turbo", + "id": "gpt-4-32k-0314", + "name": "gpt-4-32k-0314", + "display_name": "gpt-4-32k-0314", "limit": { "context": 8192, "output": 8192 @@ -224639,15 +230622,15 @@ "supported": false }, "cost": { - "input": 2.4, - "output": 2.4 + "input": 60, + "output": 120 }, "type": "chat" }, { - "id": "DeepSeek-v3", - "name": "DeepSeek-v3", - "display_name": "DeepSeek-v3", + "id": "gpt-4-32k-0613", + "name": "gpt-4-32k-0613", + "display_name": "gpt-4-32k-0613", "limit": { "context": 8192, "output": 8192 @@ -224657,15 +230640,15 @@ "supported": false }, "cost": { - "input": 0.272, - "output": 1.088 + "input": 60, + "output": 120 }, "type": "chat" }, { - "id": "Doubao-1.5-lite-32k", - "name": "Doubao-1.5-lite-32k", - "display_name": "Doubao-1.5-lite-32k", + "id": "gpt-4-turbo", + "name": "gpt-4-turbo", + "display_name": "gpt-4-turbo", "limit": { "context": 8192, "output": 8192 @@ -224675,16 +230658,15 @@ "supported": false }, "cost": { - "input": 0.05, - "output": 0.1, - "cache_read": 0.01 + "input": 10, + "output": 30 }, "type": "chat" }, { - "id": "Doubao-1.5-pro-256k", - "name": "Doubao-1.5-pro-256k", - "display_name": "Doubao-1.5-pro-256k", + "id": "gpt-4-turbo-2024-04-09", + "name": "gpt-4-turbo-2024-04-09", + "display_name": "gpt-4-turbo-2024-04-09", "limit": { "context": 8192, "output": 8192 @@ -224694,16 +230676,15 @@ "supported": false }, "cost": { - "input": 0.8, - "output": 1.44, - "cache_read": 0.8 + "input": 10, + "output": 30 }, "type": "chat" }, { - "id": "Doubao-1.5-pro-32k", - "name": "Doubao-1.5-pro-32k", - "display_name": "Doubao-1.5-pro-32k", + "id": "gpt-4-turbo-preview", + "name": "gpt-4-turbo-preview", + "display_name": "gpt-4-turbo-preview", "limit": { "context": 8192, "output": 8192 @@ -224713,16 +230694,15 @@ "supported": false }, "cost": { - "input": 0.134, - "output": 0.335, - "cache_read": 0.0268 + "input": 10, + "output": 30 }, "type": "chat" }, { - "id": "Doubao-1.5-vision-pro-32k", - "name": "Doubao-1.5-vision-pro-32k", - "display_name": "Doubao-1.5-vision-pro-32k", + "id": "gpt-4-vision-preview", + "name": "gpt-4-vision-preview", + "display_name": "gpt-4-vision-preview", "limit": { "context": 8192, "output": 8192 @@ -224732,34 +230712,40 @@ "supported": false }, "cost": { - "input": 0.46, - "output": 1.38 + "input": 10, + "output": 30 }, "type": "chat" }, { - "id": "Doubao-lite-128k", - "name": "Doubao-lite-128k", - "display_name": "Doubao-lite-128k", + "id": "gpt-4o-2024-05-13", + "name": "gpt-4o-2024-05-13", + "display_name": "gpt-4o-2024-05-13", "limit": { - "context": 8192, - "output": 8192 + "context": 128000, + "output": 128000 }, "tool_call": false, "reasoning": { "supported": false }, "cost": { - "input": 0.14, - "output": 0.28, - "cache_read": 0.14 + "input": 5, + "output": 15, + "cache_read": 5 }, "type": "chat" }, { - "id": "Doubao-lite-32k", - "name": "Doubao-lite-32k", - "display_name": "Doubao-lite-32k", + "id": "gpt-4o-mini-2024-07-18", + "name": "gpt-4o-mini-2024-07-18", + "display_name": "gpt-4o-mini-2024-07-18", + "modalities": { + "input": [ + "text", + "image" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -224769,35 +230755,51 @@ "supported": false }, "cost": { - "input": 0.06, - "output": 0.12, - "cache_read": 0.012 + "input": 0.15, + "output": 0.6, + "cache_read": 0.075 }, "type": "chat" }, { - "id": "Doubao-lite-4k", - "name": "Doubao-lite-4k", - "display_name": "Doubao-lite-4k", + "id": "gpt-oss-20b", + "name": "gpt-oss-20b", + "display_name": "gpt-oss-20b", + "modalities": { + "input": [ + "text" + ] + }, "limit": { - "context": 8192, - "output": 8192 + "context": 128000, + "output": 128000 }, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "cost": { - "input": 0.06, - "output": 0.12, - "cache_read": 0.06 + "input": 0.11, + "output": 0.55 }, "type": "chat" }, { - "id": "Doubao-pro-128k", - "name": "Doubao-pro-128k", - "display_name": "Doubao-pro-128k", + "id": "grok-2-vision-1212", + "name": "grok-2-vision-1212", + "display_name": "grok-2-vision-1212", + "modalities": { + "input": [ + "text", + "image" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -224807,15 +230809,21 @@ "supported": false }, "cost": { - "input": 0.8, - "output": 1.44 + "input": 1.8, + "output": 9 }, "type": "chat" }, { - "id": "Doubao-pro-256k", - "name": "Doubao-pro-256k", - "display_name": "Doubao-pro-256k", + "id": "grok-vision-beta", + "name": "grok-vision-beta", + "display_name": "grok-vision-beta", + "modalities": { + "input": [ + "text", + "image" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -224825,16 +230833,15 @@ "supported": false }, "cost": { - "input": 0.8, - "output": 1.44, - "cache_read": 0.8 + "input": 5.6, + "output": 16.8 }, "type": "chat" }, { - "id": "Doubao-pro-32k", - "name": "Doubao-pro-32k", - "display_name": "Doubao-pro-32k", + "id": "groq-llama-3.1-8b-instant", + "name": "groq-llama-3.1-8b-instant", + "display_name": "groq-llama-3.1-8b-instant", "limit": { "context": 8192, "output": 8192 @@ -224844,16 +230851,15 @@ "supported": false }, "cost": { - "input": 0.14, - "output": 0.35, - "cache_read": 0.028 + "input": 0.055, + "output": 0.088 }, "type": "chat" }, { - "id": "Doubao-pro-4k", - "name": "Doubao-pro-4k", - "display_name": "Doubao-pro-4k", + "id": "groq-llama-3.3-70b-versatile", + "name": "groq-llama-3.3-70b-versatile", + "display_name": "groq-llama-3.3-70b-versatile", "limit": { "context": 8192, "output": 8192 @@ -224863,38 +230869,33 @@ "supported": false }, "cost": { - "input": 0.14, - "output": 0.35 + "input": 0.649, + "output": 0.869011 }, "type": "chat" }, { - "id": "GPT-OSS-20B", - "name": "GPT-OSS-20B", - "display_name": "GPT-OSS-20B", + "id": "groq-llama-4-maverick-17b-128e-instruct", + "name": "groq-llama-4-maverick-17b-128e-instruct", + "display_name": "groq-llama-4-maverick-17b-128e-instruct", "limit": { "context": 8192, "output": 8192 }, "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "cost": { - "input": 0.11, - "output": 0.55 + "input": 0.22, + "output": 0.66 }, "type": "chat" }, { - "id": "Gryphe/MythoMax-L2-13b", - "name": "Gryphe/MythoMax-L2-13b", - "display_name": "Gryphe/MythoMax-L2-13b", + "id": "groq-llama-4-scout-17b-16e-instruct", + "name": "groq-llama-4-scout-17b-16e-instruct", + "display_name": "groq-llama-4-scout-17b-16e-instruct", "limit": { "context": 8192, "output": 8192 @@ -224904,18 +230905,19 @@ "supported": false }, "cost": { - "input": 0.4, - "output": 0.4 + "input": 0.122, + "output": 0.366 }, "type": "chat" }, { - "id": "MiniMax-Text-01", - "name": "MiniMax-Text-01", - "display_name": "MiniMax-Text-01", + "id": "imagen-4.0-generate-preview-05-20", + "name": "imagen-4.0-generate-preview-05-20", + "display_name": "imagen-4.0-generate-preview-05-20", "modalities": { "input": [ - "text" + "text", + "image" ] }, "limit": { @@ -224927,15 +230929,21 @@ "supported": false }, "cost": { - "input": 0.14, - "output": 1.12 + "input": 2, + "output": 2, + "cache_read": 0 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "Mistral-large-2407", - "name": "Mistral-large-2407", - "display_name": "Mistral-large-2407", + "id": "jina-embeddings-v2-base-code", + "name": "jina-embeddings-v2-base-code", + "display_name": "jina-embeddings-v2-base-code", + "modalities": { + "input": [ + "text" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -224945,15 +230953,15 @@ "supported": false }, "cost": { - "input": 3, - "output": 9 + "input": 0.05, + "output": 0.05 }, - "type": "chat" + "type": "embedding" }, { - "id": "Qwen/Qwen2-1.5B-Instruct", - "name": "Qwen/Qwen2-1.5B-Instruct", - "display_name": "Qwen/Qwen2-1.5B-Instruct", + "id": "learnlm-1.5-pro-experimental", + "name": "learnlm-1.5-pro-experimental", + "display_name": "learnlm-1.5-pro-experimental", "limit": { "context": 8192, "output": 8192 @@ -224963,15 +230971,15 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.2 + "input": 1.25, + "output": 5 }, "type": "chat" }, { - "id": "Qwen/Qwen2-57B-A14B-Instruct", - "name": "Qwen/Qwen2-57B-A14B-Instruct", - "display_name": "Qwen/Qwen2-57B-A14B-Instruct", + "id": "llama-3.1-405b-instruct", + "name": "llama-3.1-405b-instruct", + "display_name": "llama-3.1-405b-instruct", "limit": { "context": 8192, "output": 8192 @@ -224981,15 +230989,15 @@ "supported": false }, "cost": { - "input": 0.24, - "output": 0.24 + "input": 4, + "output": 4 }, "type": "chat" }, { - "id": "Qwen/Qwen2-72B-Instruct", - "name": "Qwen/Qwen2-72B-Instruct", - "display_name": "Qwen/Qwen2-72B-Instruct", + "id": "llama-3.1-405b-reasoning", + "name": "llama-3.1-405b-reasoning", + "display_name": "llama-3.1-405b-reasoning", "limit": { "context": 8192, "output": 8192 @@ -224999,15 +231007,15 @@ "supported": false }, "cost": { - "input": 0.8, - "output": 0.8 + "input": 4, + "output": 4 }, "type": "chat" }, { - "id": "Qwen/Qwen2-7B-Instruct", - "name": "Qwen/Qwen2-7B-Instruct", - "display_name": "Qwen/Qwen2-7B-Instruct", + "id": "llama-3.1-70b-versatile", + "name": "llama-3.1-70b-versatile", + "display_name": "llama-3.1-70b-versatile", "limit": { "context": 8192, "output": 8192 @@ -225017,15 +231025,15 @@ "supported": false }, "cost": { - "input": 0.08, - "output": 0.08 + "input": 0.6, + "output": 0.6 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-32B-Instruct", - "name": "Qwen/Qwen2.5-32B-Instruct", - "display_name": "Qwen/Qwen2.5-32B-Instruct", + "id": "llama-3.1-8b-instant", + "name": "llama-3.1-8b-instant", + "display_name": "llama-3.1-8b-instant", "limit": { "context": 8192, "output": 8192 @@ -225035,15 +231043,15 @@ "supported": false }, "cost": { - "input": 0.6, + "input": 0.3, "output": 0.6 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-72B-Instruct", - "name": "Qwen/Qwen2.5-72B-Instruct", - "display_name": "Qwen/Qwen2.5-72B-Instruct", + "id": "llama-3.1-sonar-small-128k-online", + "name": "llama-3.1-sonar-small-128k-online", + "display_name": "llama-3.1-sonar-small-128k-online", "limit": { "context": 8192, "output": 8192 @@ -225053,15 +231061,15 @@ "supported": false }, "cost": { - "input": 0.8, - "output": 0.8 + "input": 0.3, + "output": 0.3 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-72B-Instruct-128K", - "name": "Qwen/Qwen2.5-72B-Instruct-128K", - "display_name": "Qwen/Qwen2.5-72B-Instruct-128K", + "id": "llama-3.2-11b-vision-preview", + "name": "llama-3.2-11b-vision-preview", + "display_name": "llama-3.2-11b-vision-preview", "limit": { "context": 8192, "output": 8192 @@ -225071,15 +231079,15 @@ "supported": false }, "cost": { - "input": 0.8, - "output": 0.8 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-7B-Instruct", - "name": "Qwen/Qwen2.5-7B-Instruct", - "display_name": "Qwen/Qwen2.5-7B-Instruct", + "id": "llama-3.2-1b-preview", + "name": "llama-3.2-1b-preview", + "display_name": "llama-3.2-1b-preview", "limit": { "context": 8192, "output": 8192 @@ -225089,15 +231097,15 @@ "supported": false }, "cost": { - "input": 0.4, - "output": 0.4 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "Qwen/Qwen2.5-Coder-32B-Instruct", - "name": "Qwen/Qwen2.5-Coder-32B-Instruct", - "display_name": "Qwen/Qwen2.5-Coder-32B-Instruct", + "id": "llama-3.2-3b-preview", + "name": "llama-3.2-3b-preview", + "display_name": "llama-3.2-3b-preview", "limit": { "context": 8192, "output": 8192 @@ -225107,50 +231115,33 @@ "supported": false }, "cost": { - "input": 0.16, - "output": 0.16 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen3-235B-A22B-Thinking-2507", - "display_name": "Qwen3-235B-A22B-Thinking-2507", + "id": "llama-3.2-90b-vision-preview", + "name": "llama-3.2-90b-vision-preview", + "display_name": "llama-3.2-90b-vision-preview", "limit": { "context": 8192, "output": 8192 }, "tool_call": false, "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "supported": false }, "cost": { - "input": 0.28, - "output": 2.8 + "input": 2.4, + "output": 2.4 }, "type": "chat" }, { - "id": "Stable-Diffusion-3-5-Large", - "name": "Stable-Diffusion-3-5-Large", - "display_name": "Stable-Diffusion-3-5-Large", - "modalities": { - "input": [ - "text", - "image" - ] - }, + "id": "llama2-70b-4096", + "name": "llama2-70b-4096", + "display_name": "llama2-70b-4096", "limit": { "context": 8192, "output": 8192 @@ -225160,16 +231151,15 @@ "supported": false }, "cost": { - "input": 4, - "output": 4, - "cache_read": 0 + "input": 0.5, + "output": 0.5 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "WizardLM/WizardCoder-Python-34B-V1.0", - "name": "WizardLM/WizardCoder-Python-34B-V1.0", - "display_name": "WizardLM/WizardCoder-Python-34B-V1.0", + "id": "llama2-70b-40960", + "name": "llama2-70b-40960", + "display_name": "llama2-70b-40960", "limit": { "context": 8192, "output": 8192 @@ -225179,15 +231169,15 @@ "supported": false }, "cost": { - "input": 0.9, - "output": 0.9 + "input": 0.5, + "output": 0.5 }, "type": "chat" }, { - "id": "ahm-Phi-3-5-MoE-instruct", - "name": "ahm-Phi-3-5-MoE-instruct", - "display_name": "ahm-Phi-3-5-MoE-instruct", + "id": "llama2-7b-2048", + "name": "llama2-7b-2048", + "display_name": "llama2-7b-2048", "limit": { "context": 8192, "output": 8192 @@ -225197,15 +231187,15 @@ "supported": false }, "cost": { - "input": 0.4, - "output": 1.6 + "input": 0.1, + "output": 0.1 }, "type": "chat" }, { - "id": "ahm-Phi-3-5-mini-instruct", - "name": "ahm-Phi-3-5-mini-instruct", - "display_name": "ahm-Phi-3-5-mini-instruct", + "id": "llama3-70b-8192", + "name": "llama3-70b-8192", + "display_name": "llama3-70b-8192", "limit": { "context": 8192, "output": 8192 @@ -225215,21 +231205,15 @@ "supported": false }, "cost": { - "input": 1, - "output": 3 + "input": 0.7, + "output": 0.937288 }, "type": "chat" }, { - "id": "ahm-Phi-3-5-vision-instruct", - "name": "ahm-Phi-3-5-vision-instruct", - "display_name": "ahm-Phi-3-5-vision-instruct", - "modalities": { - "input": [ - "text", - "image" - ] - }, + "id": "llama3-8b-8192", + "name": "llama3-8b-8192", + "display_name": "llama3-8b-8192", "limit": { "context": 8192, "output": 8192 @@ -225239,15 +231223,15 @@ "supported": false }, "cost": { - "input": 0.4, - "output": 1.6 + "input": 0.06, + "output": 0.12 }, "type": "chat" }, { - "id": "ahm-Phi-3-medium-128k", - "name": "ahm-Phi-3-medium-128k", - "display_name": "ahm-Phi-3-medium-128k", + "id": "llama3-groq-70b-8192-tool-use-preview", + "name": "llama3-groq-70b-8192-tool-use-preview", + "display_name": "llama3-groq-70b-8192-tool-use-preview", "limit": { "context": 8192, "output": 8192 @@ -225257,15 +231241,15 @@ "supported": false }, "cost": { - "input": 6, - "output": 18 + "input": 0.00089, + "output": 0.00089 }, "type": "chat" }, { - "id": "ahm-Phi-3-medium-4k", - "name": "ahm-Phi-3-medium-4k", - "display_name": "ahm-Phi-3-medium-4k", + "id": "llama3-groq-8b-8192-tool-use-preview", + "name": "llama3-groq-8b-8192-tool-use-preview", + "display_name": "llama3-groq-8b-8192-tool-use-preview", "limit": { "context": 8192, "output": 8192 @@ -225275,15 +231259,15 @@ "supported": false }, "cost": { - "input": 1, - "output": 3 + "input": 0.00019, + "output": 0.00019 }, "type": "chat" }, { - "id": "ahm-Phi-3-small-128k", - "name": "ahm-Phi-3-small-128k", - "display_name": "ahm-Phi-3-small-128k", + "id": "mai-image-2", + "name": "mai-image-2", + "display_name": "mai-image-2", "limit": { "context": 8192, "output": 8192 @@ -225293,15 +231277,16 @@ "supported": false }, "cost": { - "input": 1, - "output": 3 + "input": 2, + "output": 2, + "cache_read": 0 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "aihubmix-Codestral-2501", - "name": "aihubmix-Codestral-2501", - "display_name": "aihubmix-Codestral-2501", + "id": "meta-llama/Llama-3.2-90B-Vision-Instruct", + "name": "meta-llama/Llama-3.2-90B-Vision-Instruct", + "display_name": "meta-llama/Llama-3.2-90B-Vision-Instruct", "limit": { "context": 8192, "output": 8192 @@ -225311,20 +231296,15 @@ "supported": false }, "cost": { - "input": 0.4, - "output": 1.2 + "input": 0.5, + "output": 0.5 }, "type": "chat" }, { - "id": "aihubmix-Cohere-command-r", - "name": "aihubmix-Cohere-command-r", - "display_name": "aihubmix-Cohere-command-r", - "modalities": { - "input": [ - "text" - ] - }, + "id": "meta-llama/llama-3.1-405b-instruct:free", + "name": "meta-llama/llama-3.1-405b-instruct:free", + "display_name": "meta-llama/llama-3.1-405b-instruct:free", "limit": { "context": 8192, "output": 8192 @@ -225334,15 +231314,15 @@ "supported": false }, "cost": { - "input": 0.64, - "output": 1.92 + "input": 0.02, + "output": 0.02 }, "type": "chat" }, { - "id": "aihubmix-Jamba-1-5-Large", - "name": "aihubmix-Jamba-1-5-Large", - "display_name": "aihubmix-Jamba-1-5-Large", + "id": "meta-llama/llama-3.1-70b-instruct:free", + "name": "meta-llama/llama-3.1-70b-instruct:free", + "display_name": "meta-llama/llama-3.1-70b-instruct:free", "limit": { "context": 8192, "output": 8192 @@ -225352,15 +231332,15 @@ "supported": false }, "cost": { - "input": 2.2, - "output": 8.8 + "input": 0.02, + "output": 0.02 }, "type": "chat" }, { - "id": "aihubmix-Llama-3-1-405B-Instruct", - "name": "aihubmix-Llama-3-1-405B-Instruct", - "display_name": "aihubmix-Llama-3-1-405B-Instruct", + "id": "meta-llama/llama-3.1-8b-instruct:free", + "name": "meta-llama/llama-3.1-8b-instruct:free", + "display_name": "meta-llama/llama-3.1-8b-instruct:free", "limit": { "context": 8192, "output": 8192 @@ -225370,15 +231350,15 @@ "supported": false }, "cost": { - "input": 5, - "output": 15 + "input": 0.02, + "output": 0.02 }, "type": "chat" }, { - "id": "aihubmix-Llama-3-1-70B-Instruct", - "name": "aihubmix-Llama-3-1-70B-Instruct", - "display_name": "aihubmix-Llama-3-1-70B-Instruct", + "id": "meta-llama/llama-3.2-11b-vision-instruct:free", + "name": "meta-llama/llama-3.2-11b-vision-instruct:free", + "display_name": "meta-llama/llama-3.2-11b-vision-instruct:free", "limit": { "context": 8192, "output": 8192 @@ -225388,15 +231368,15 @@ "supported": false }, "cost": { - "input": 0.6, - "output": 0.78 + "input": 0.02, + "output": 0.02 }, "type": "chat" }, { - "id": "aihubmix-Llama-3-1-8B-Instruct", - "name": "aihubmix-Llama-3-1-8B-Instruct", - "display_name": "aihubmix-Llama-3-1-8B-Instruct", + "id": "meta-llama/llama-3.2-3b-instruct:free", + "name": "meta-llama/llama-3.2-3b-instruct:free", + "display_name": "meta-llama/llama-3.2-3b-instruct:free", "limit": { "context": 8192, "output": 8192 @@ -225406,15 +231386,15 @@ "supported": false }, "cost": { - "input": 0.3, - "output": 0.6 + "input": 0.02, + "output": 0.02 }, "type": "chat" - }, - { - "id": "aihubmix-Llama-3-2-11B-Vision", - "name": "aihubmix-Llama-3-2-11B-Vision", - "display_name": "aihubmix-Llama-3-2-11B-Vision", + }, + { + "id": "meta/llama-3.1-405b-instruct", + "name": "meta/llama-3.1-405b-instruct", + "display_name": "meta/llama-3.1-405b-instruct", "limit": { "context": 8192, "output": 8192 @@ -225424,15 +231404,15 @@ "supported": false }, "cost": { - "input": 0.4, - "output": 0.4 + "input": 5, + "output": 5 }, "type": "chat" }, { - "id": "aihubmix-Llama-3-2-90B-Vision", - "name": "aihubmix-Llama-3-2-90B-Vision", - "display_name": "aihubmix-Llama-3-2-90B-Vision", + "id": "meta/llama3-8B-chat", + "name": "meta/llama3-8B-chat", + "display_name": "meta/llama3-8B-chat", "limit": { "context": 8192, "output": 8192 @@ -225442,15 +231422,15 @@ "supported": false }, "cost": { - "input": 2.4, - "output": 2.4 + "input": 0.3, + "output": 0.3 }, "type": "chat" }, { - "id": "aihubmix-Llama-3-70B-Instruct", - "name": "aihubmix-Llama-3-70B-Instruct", - "display_name": "aihubmix-Llama-3-70B-Instruct", + "id": "mistralai/mistral-7b-instruct:free", + "name": "mistralai/mistral-7b-instruct:free", + "display_name": "mistralai/mistral-7b-instruct:free", "limit": { "context": 8192, "output": 8192 @@ -225460,15 +231440,15 @@ "supported": false }, "cost": { - "input": 0.7, - "output": 0.7 + "input": 0.002, + "output": 0.002 }, "type": "chat" }, { - "id": "aihubmix-Mistral-large", - "name": "aihubmix-Mistral-large", - "display_name": "aihubmix-Mistral-large", + "id": "mm-minimax-m3", + "name": "mm-minimax-m3", + "display_name": "mm-minimax-m3", "limit": { "context": 8192, "output": 8192 @@ -225478,20 +231458,15 @@ "supported": false }, "cost": { - "input": 4, - "output": 12 + "input": 0.288, + "output": 1.152 }, "type": "chat" }, { - "id": "aihubmix-command-r-08-2024", - "name": "aihubmix-command-r-08-2024", - "display_name": "aihubmix-command-r-08-2024", - "modalities": { - "input": [ - "text" - ] - }, + "id": "moonshot-kimi-k2.5", + "name": "moonshot-kimi-k2.5", + "display_name": "moonshot-kimi-k2.5", "limit": { "context": 8192, "output": 8192 @@ -225501,20 +231476,16 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.8 + "input": 0.6, + "output": 3, + "cache_read": 0.105 }, "type": "chat" }, { - "id": "aihubmix-command-r-plus", - "name": "aihubmix-command-r-plus", - "display_name": "aihubmix-command-r-plus", - "modalities": { - "input": [ - "text" - ] - }, + "id": "moonshot-v1-128k", + "name": "moonshot-v1-128k", + "display_name": "moonshot-v1-128k", "limit": { "context": 8192, "output": 8192 @@ -225524,20 +231495,15 @@ "supported": false }, "cost": { - "input": 3.84, - "output": 19.2 + "input": 10, + "output": 10 }, "type": "chat" }, { - "id": "aihubmix-command-r-plus-08-2024", - "name": "aihubmix-command-r-plus-08-2024", - "display_name": "aihubmix-command-r-plus-08-2024", - "modalities": { - "input": [ - "text" - ] - }, + "id": "moonshot-v1-128k-vision-preview", + "name": "moonshot-v1-128k-vision-preview", + "display_name": "moonshot-v1-128k-vision-preview", "limit": { "context": 8192, "output": 8192 @@ -225547,15 +231513,15 @@ "supported": false }, "cost": { - "input": 2.8, - "output": 11.2 + "input": 10, + "output": 10 }, "type": "chat" }, { - "id": "alicloud-deepseek-v3.2", - "name": "alicloud-deepseek-v3.2", - "display_name": "alicloud-deepseek-v3.2", + "id": "moonshot-v1-32k", + "name": "moonshot-v1-32k", + "display_name": "moonshot-v1-32k", "limit": { "context": 8192, "output": 8192 @@ -225565,16 +231531,15 @@ "supported": false }, "cost": { - "input": 0.274, - "output": 0.411, - "cache_read": 0.0548 + "input": 4, + "output": 4 }, "type": "chat" }, { - "id": "alicloud-glm-4.7", - "name": "alicloud-glm-4.7", - "display_name": "alicloud-glm-4.7", + "id": "moonshot-v1-32k-vision-preview", + "name": "moonshot-v1-32k-vision-preview", + "display_name": "moonshot-v1-32k-vision-preview", "limit": { "context": 8192, "output": 8192 @@ -225584,16 +231549,15 @@ "supported": false }, "cost": { - "input": 0.41096, - "output": 1.917786, - "cache_read": 0.41096 + "input": 4, + "output": 4 }, "type": "chat" }, { - "id": "alicloud-kimi-k2-thinking", - "name": "alicloud-kimi-k2-thinking", - "display_name": "alicloud-kimi-k2-thinking", + "id": "moonshot-v1-8k", + "name": "moonshot-v1-8k", + "display_name": "moonshot-v1-8k", "limit": { "context": 8192, "output": 8192 @@ -225603,34 +231567,33 @@ "supported": false }, "cost": { - "input": 0.548, - "output": 2.192 + "input": 2, + "output": 2 }, "type": "chat" }, { - "id": "alicloud-kimi-k2.5", - "name": "alicloud-kimi-k2.5", - "display_name": "alicloud-kimi-k2.5", + "id": "moonshot-v1-8k-vision-preview", + "name": "moonshot-v1-8k-vision-preview", + "display_name": "moonshot-v1-8k-vision-preview", "limit": { - "context": 256000, - "output": 256000 + "context": 8192, + "output": 8192 }, "tool_call": false, "reasoning": { "supported": false }, "cost": { - "input": 0.548, - "output": 2.877, - "cache_read": 0.0959 + "input": 2, + "output": 2 }, "type": "chat" }, { - "id": "alicloud-minimax-m2.5", - "name": "alicloud-minimax-m2.5", - "display_name": "alicloud-minimax-m2.5", + "id": "nvidia/Llama-3_1-Nemotron-Ultra-253B-v1", + "name": "nvidia/Llama-3_1-Nemotron-Ultra-253B-v1", + "display_name": "nvidia/Llama-3_1-Nemotron-Ultra-253B-v1", "limit": { "context": 8192, "output": 8192 @@ -225640,47 +231603,50 @@ "supported": false }, "cost": { - "input": 0.2876, - "output": 1.1504, - "cache_read": 0.05752 + "input": 0.5, + "output": 0.5, + "cache_read": 0 }, "type": "chat" }, { - "id": "anthropic-opus-4-6", - "name": "anthropic-opus-4-6", - "display_name": "anthropic-opus-4-6", - "modalities": { - "input": [ - "text", - "image" - ] - }, + "id": "o1-mini-2024-09-12", + "name": "o1-mini-2024-09-12", + "display_name": "o1-mini-2024-09-12", "limit": { - "context": 200000, - "output": 200000 + "context": 8192, + "output": 8192 }, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": true, "default": true }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "default_enabled": true, + "mode": "effort", + "effort": "medium", + "effort_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" } }, "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5 + "input": 3, + "output": 12, + "cache_read": 1.5 }, "type": "chat" }, { - "id": "azure-deepseek-v3.2", - "name": "azure-deepseek-v3.2", - "display_name": "azure-deepseek-v3.2", + "id": "omni-moderation-latest", + "name": "omni-moderation-latest", + "display_name": "omni-moderation-latest", "limit": { "context": 8192, "output": 8192 @@ -225690,51 +231656,75 @@ "supported": false }, "cost": { - "input": 0.58, - "output": 1.680028 + "input": 0.02, + "output": 0.02 }, "type": "chat" }, { - "id": "azure-deepseek-v3.2-speciale", - "name": "azure-deepseek-v3.2-speciale", - "display_name": "azure-deepseek-v3.2-speciale", + "id": "qwen-flash", + "name": "qwen-flash", + "display_name": "qwen-flash", "limit": { "context": 8192, "output": 8192 }, "tool_call": false, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "cost": { - "input": 0.58, - "output": 1.680028 + "input": 0.02, + "output": 0.2, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "azure-kimi-k2.5", - "name": "azure-kimi-k2.5", - "display_name": "azure-kimi-k2.5", + "id": "qwen-flash-2025-07-28", + "name": "qwen-flash-2025-07-28", + "display_name": "qwen-flash-2025-07-28", "limit": { - "context": 256000, - "output": 256000 + "context": 8192, + "output": 8192 }, "tool_call": false, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "cost": { - "input": 0.6, - "output": 3 + "input": 0.02, + "output": 0.2, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "cbs-glm-4.7", - "name": "cbs-glm-4.7", - "display_name": "cbs-glm-4.7", + "id": "qwen-long", + "name": "qwen-long", + "display_name": "qwen-long", "limit": { "context": 8192, "output": 8192 @@ -225744,15 +231734,15 @@ "supported": false }, "cost": { - "input": 2.25, - "output": 2.749995 + "input": 0.1, + "output": 0.4 }, "type": "chat" }, { - "id": "cerebras-llama-3.3-70b", - "name": "cerebras-llama-3.3-70b", - "display_name": "cerebras-llama-3.3-70b", + "id": "qwen-max", + "name": "qwen-max", + "display_name": "qwen-max", "limit": { "context": 8192, "output": 8192 @@ -225762,15 +231752,15 @@ "supported": false }, "cost": { - "input": 0.6, - "output": 0.6 + "input": 0.38, + "output": 1.52 }, "type": "chat" }, { - "id": "chatglm_lite", - "name": "chatglm_lite", - "display_name": "chatglm_lite", + "id": "qwen-max-longcontext", + "name": "qwen-max-longcontext", + "display_name": "qwen-max-longcontext", "limit": { "context": 8192, "output": 8192 @@ -225780,51 +231770,85 @@ "supported": false }, "cost": { - "input": 0.2858, - "output": 0.2858 + "input": 7, + "output": 21 }, "type": "chat" }, { - "id": "chatglm_pro", - "name": "chatglm_pro", - "display_name": "chatglm_pro", + "id": "qwen-plus", + "name": "qwen-plus", + "display_name": "qwen-plus", "limit": { "context": 8192, "output": 8192 }, "tool_call": false, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "cost": { - "input": 1.4286, - "output": 1.4286 + "input": 0.1126, + "output": 1.126, + "cache_read": 0.02252 }, "type": "chat" }, { - "id": "chatglm_std", - "name": "chatglm_std", - "display_name": "chatglm_std", + "id": "qwen-turbo", + "name": "qwen-turbo", + "display_name": "qwen-turbo", + "modalities": { + "input": [ + "text" + ] + }, "limit": { "context": 8192, "output": 8192 }, "tool_call": false, "reasoning": { - "supported": false + "supported": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "cost": { - "input": 0.7144, - "output": 0.7144 + "input": 0.046, + "output": 0.092, + "cache_read": 0.0092 }, "type": "chat" }, { - "id": "chatglm_turbo", - "name": "chatglm_turbo", - "display_name": "chatglm_turbo", + "id": "qwen-turbo-2024-11-01", + "name": "qwen-turbo-2024-11-01", + "display_name": "qwen-turbo-2024-11-01", + "modalities": { + "input": [ + "text" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -225834,15 +231858,15 @@ "supported": false }, "cost": { - "input": 0.7144, - "output": 0.7144 + "input": 0.046, + "output": 0.092 }, "type": "chat" }, { - "id": "claude-2", - "name": "claude-2", - "display_name": "claude-2", + "id": "qwen2.5-14b-instruct", + "name": "qwen2.5-14b-instruct", + "display_name": "qwen2.5-14b-instruct", "limit": { "context": 8192, "output": 8192 @@ -225852,15 +231876,15 @@ "supported": false }, "cost": { - "input": 8.8, - "output": 8.8 + "input": 0.4, + "output": 1.2 }, "type": "chat" }, { - "id": "claude-2.0", - "name": "claude-2.0", - "display_name": "claude-2.0", + "id": "qwen2.5-32b-instruct", + "name": "qwen2.5-32b-instruct", + "display_name": "qwen2.5-32b-instruct", "limit": { "context": 8192, "output": 8192 @@ -225870,15 +231894,15 @@ "supported": false }, "cost": { - "input": 8.8, - "output": 39.6 + "input": 0.6, + "output": 1.2 }, "type": "chat" }, { - "id": "claude-2.1", - "name": "claude-2.1", - "display_name": "claude-2.1", + "id": "qwen2.5-3b-instruct", + "name": "qwen2.5-3b-instruct", + "display_name": "qwen2.5-3b-instruct", "limit": { "context": 8192, "output": 8192 @@ -225888,45 +231912,33 @@ "supported": false }, "cost": { - "input": 8.8, - "output": 39.6 + "input": 0.4, + "output": 0.8 }, "type": "chat" }, { - "id": "claude-3-5-sonnet-20240620", - "name": "claude-3-5-sonnet-20240620", - "display_name": "claude-3-5-sonnet-20240620", - "modalities": { - "input": [ - "text", - "image" - ] - }, + "id": "qwen2.5-72b-instruct", + "name": "qwen2.5-72b-instruct", + "display_name": "qwen2.5-72b-instruct", "limit": { - "context": 200000, - "output": 200000 + "context": 8192, + "output": 8192 }, "tool_call": false, "reasoning": { "supported": false }, "cost": { - "input": 3.3, - "output": 16.5 + "input": 0.8, + "output": 2.4 }, "type": "chat" }, { - "id": "claude-3-haiku-20240229", - "name": "claude-3-haiku-20240229", - "display_name": "claude-3-haiku-20240229", - "modalities": { - "input": [ - "text", - "image" - ] - }, + "id": "qwen2.5-7b-instruct", + "name": "qwen2.5-7b-instruct", + "display_name": "qwen2.5-7b-instruct", "limit": { "context": 8192, "output": 8192 @@ -225936,21 +231948,15 @@ "supported": false }, "cost": { - "input": 0.275, - "output": 0.275 + "input": 0.4, + "output": 0.8 }, "type": "chat" }, { - "id": "claude-3-haiku-20240307", - "name": "claude-3-haiku-20240307", - "display_name": "claude-3-haiku-20240307", - "modalities": { - "input": [ - "text", - "image" - ] - }, + "id": "qwen2.5-coder-1.5b-instruct", + "name": "qwen2.5-coder-1.5b-instruct", + "display_name": "qwen2.5-coder-1.5b-instruct", "limit": { "context": 8192, "output": 8192 @@ -225960,21 +231966,15 @@ "supported": false }, "cost": { - "input": 0.275, - "output": 1.375 + "input": 0.2, + "output": 0.4 }, "type": "chat" }, { - "id": "claude-3-sonnet-20240229", - "name": "claude-3-sonnet-20240229", - "display_name": "claude-3-sonnet-20240229", - "modalities": { - "input": [ - "text", - "image" - ] - }, + "id": "qwen2.5-coder-7b-instruct", + "name": "qwen2.5-coder-7b-instruct", + "display_name": "qwen2.5-coder-7b-instruct", "limit": { "context": 8192, "output": 8192 @@ -225984,15 +231984,15 @@ "supported": false }, "cost": { - "input": 3.3, - "output": 16.5 + "input": 0.2, + "output": 0.4 }, "type": "chat" }, { - "id": "claude-instant-1", - "name": "claude-instant-1", - "display_name": "claude-instant-1", + "id": "qwen2.5-math-1.5b-instruct", + "name": "qwen2.5-math-1.5b-instruct", + "display_name": "qwen2.5-math-1.5b-instruct", "limit": { "context": 8192, "output": 8192 @@ -226002,15 +232002,15 @@ "supported": false }, "cost": { - "input": 1.793, - "output": 1.793 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "claude-instant-1.2", - "name": "claude-instant-1.2", - "display_name": "claude-instant-1.2", + "id": "qwen2.5-math-72b-instruct", + "name": "qwen2.5-math-72b-instruct", + "display_name": "qwen2.5-math-72b-instruct", "limit": { "context": 8192, "output": 8192 @@ -226020,15 +232020,15 @@ "supported": false }, "cost": { - "input": 0.88, - "output": 3.96 + "input": 0.8, + "output": 2.4 }, "type": "chat" }, { - "id": "code-davinci-edit-001", - "name": "code-davinci-edit-001", - "display_name": "code-davinci-edit-001", + "id": "qwen2.5-math-7b-instruct", + "name": "qwen2.5-math-7b-instruct", + "display_name": "qwen2.5-math-7b-instruct", "limit": { "context": 8192, "output": 8192 @@ -226038,15 +232038,15 @@ "supported": false }, "cost": { - "input": 20, - "output": 20 + "input": 0.2, + "output": 0.4 }, "type": "chat" }, { - "id": "cogview-3", - "name": "cogview-3", - "display_name": "cogview-3", + "id": "step-2-16k", + "name": "step-2-16k", + "display_name": "step-2-16k", "limit": { "context": 8192, "output": 8192 @@ -226056,15 +232056,15 @@ "supported": false }, "cost": { - "input": 35.5, - "output": 35.5 + "input": 2, + "output": 2 }, "type": "chat" }, { - "id": "cogview-3-plus", - "name": "cogview-3-plus", - "display_name": "cogview-3-plus", + "id": "text-ada-001", + "name": "text-ada-001", + "display_name": "text-ada-001", "limit": { "context": 8192, "output": 8192 @@ -226074,20 +232074,15 @@ "supported": false }, "cost": { - "input": 10, - "output": 10 + "input": 0.4, + "output": 0.4 }, "type": "chat" }, { - "id": "command", - "name": "command", - "display_name": "command", - "modalities": { - "input": [ - "text" - ] - }, + "id": "text-babbage-001", + "name": "text-babbage-001", + "display_name": "text-babbage-001", "limit": { "context": 8192, "output": 8192 @@ -226097,15 +232092,15 @@ "supported": false }, "cost": { - "input": 1, - "output": 2 + "input": 0.5, + "output": 0.5 }, "type": "chat" }, { - "id": "command-light", - "name": "command-light", - "display_name": "command-light", + "id": "text-curie-001", + "name": "text-curie-001", + "display_name": "text-curie-001", "limit": { "context": 8192, "output": 8192 @@ -226115,15 +232110,15 @@ "supported": false }, "cost": { - "input": 1, + "input": 2, "output": 2 }, "type": "chat" }, { - "id": "command-light-nightly", - "name": "command-light-nightly", - "display_name": "command-light-nightly", + "id": "text-davinci-002", + "name": "text-davinci-002", + "display_name": "text-davinci-002", "limit": { "context": 8192, "output": 8192 @@ -226133,15 +232128,15 @@ "supported": false }, "cost": { - "input": 1, - "output": 2 + "input": 20, + "output": 20 }, "type": "chat" }, { - "id": "command-nightly", - "name": "command-nightly", - "display_name": "command-nightly", + "id": "text-davinci-003", + "name": "text-davinci-003", + "display_name": "text-davinci-003", "limit": { "context": 8192, "output": 8192 @@ -226151,20 +232146,15 @@ "supported": false }, "cost": { - "input": 1, - "output": 2 + "input": 20, + "output": 20 }, "type": "chat" }, { - "id": "command-r", - "name": "command-r", - "display_name": "command-r", - "modalities": { - "input": [ - "text" - ] - }, + "id": "text-davinci-edit-001", + "name": "text-davinci-edit-001", + "display_name": "text-davinci-edit-001", "limit": { "context": 8192, "output": 8192 @@ -226174,15 +232164,15 @@ "supported": false }, "cost": { - "input": 0.64, - "output": 1.92 + "input": 20, + "output": 20 }, "type": "chat" }, { - "id": "command-r-08-2024", - "name": "command-r-08-2024", - "display_name": "command-r-08-2024", + "id": "text-embedding-3-large", + "name": "text-embedding-3-large", + "display_name": "text-embedding-3-large", "modalities": { "input": [ "text" @@ -226197,15 +232187,15 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.8 + "input": 0.13, + "output": 0.13 }, - "type": "chat" + "type": "embedding" }, { - "id": "command-r-plus", - "name": "command-r-plus", - "display_name": "command-r-plus", + "id": "text-embedding-3-small", + "name": "text-embedding-3-small", + "display_name": "text-embedding-3-small", "modalities": { "input": [ "text" @@ -226220,15 +232210,15 @@ "supported": false }, "cost": { - "input": 3.84, - "output": 19.2 + "input": 0.02, + "output": 0.02 }, - "type": "chat" + "type": "embedding" }, { - "id": "command-r-plus-08-2024", - "name": "command-r-plus-08-2024", - "display_name": "command-r-plus-08-2024", + "id": "text-embedding-ada-002", + "name": "text-embedding-ada-002", + "display_name": "text-embedding-ada-002", "modalities": { "input": [ "text" @@ -226243,19 +232233,18 @@ "supported": false }, "cost": { - "input": 2.8, - "output": 11.2 + "input": 0.1, + "output": 0.1 }, - "type": "chat" + "type": "embedding" }, { - "id": "dall-e-2", - "name": "dall-e-2", - "display_name": "dall-e-2", + "id": "text-embedding-v1", + "name": "text-embedding-v1", + "display_name": "text-embedding-v1", "modalities": { "input": [ - "text", - "image" + "text" ] }, "limit": { @@ -226267,15 +232256,15 @@ "supported": false }, "cost": { - "input": 16, - "output": 16 + "input": 0.1, + "output": 0.1 }, - "type": "imageGeneration" + "type": "embedding" }, { - "id": "davinci", - "name": "davinci", - "display_name": "davinci", + "id": "text-moderation-007", + "name": "text-moderation-007", + "display_name": "text-moderation-007", "limit": { "context": 8192, "output": 8192 @@ -226285,15 +232274,15 @@ "supported": false }, "cost": { - "input": 20, - "output": 20 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "davinci-002", - "name": "davinci-002", - "display_name": "davinci-002", + "id": "text-moderation-latest", + "name": "text-moderation-latest", + "display_name": "text-moderation-latest", "limit": { "context": 8192, "output": 8192 @@ -226303,15 +232292,15 @@ "supported": false }, "cost": { - "input": 2, - "output": 2 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "deepinfra-llama-3.1-8b-instant", - "name": "deepinfra-llama-3.1-8b-instant", - "display_name": "deepinfra-llama-3.1-8b-instant", + "id": "text-moderation-stable", + "name": "text-moderation-stable", + "display_name": "text-moderation-stable", "limit": { "context": 8192, "output": 8192 @@ -226321,15 +232310,15 @@ "supported": false }, "cost": { - "input": 0.033, - "output": 0.054978 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "deepinfra-llama-3.3-70b-instant-turbo", - "name": "deepinfra-llama-3.3-70b-instant-turbo", - "display_name": "deepinfra-llama-3.3-70b-instant-turbo", + "id": "text-search-ada-doc-001", + "name": "text-search-ada-doc-001", + "display_name": "text-search-ada-doc-001", "limit": { "context": 8192, "output": 8192 @@ -226339,33 +232328,20 @@ "supported": false }, "cost": { - "input": 0.11, - "output": 0.352 + "input": 20, + "output": 20 }, "type": "chat" }, { - "id": "deepinfra-llama-4-maverick-17b-128e-instruct", - "name": "deepinfra-llama-4-maverick-17b-128e-instruct", - "display_name": "deepinfra-llama-4-maverick-17b-128e-instruct", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 1.65, - "output": 6.6 + "id": "tts-1", + "name": "tts-1", + "display_name": "tts-1", + "modalities": { + "input": [ + "audio" + ] }, - "type": "chat" - }, - { - "id": "deepinfra-llama-4-scout-17b-16e-instruct", - "name": "deepinfra-llama-4-scout-17b-16e-instruct", - "display_name": "deepinfra-llama-4-scout-17b-16e-instruct", "limit": { "context": 8192, "output": 8192 @@ -226375,16 +232351,19 @@ "supported": false }, "cost": { - "input": 0.088, - "output": 0.33, - "cache_read": 0 - }, - "type": "chat" + "input": 15, + "output": 15 + } }, { - "id": "deepseek-ai/DeepSeek-Coder-V2-Instruct", - "name": "deepseek-ai/DeepSeek-Coder-V2-Instruct", - "display_name": "deepseek-ai/DeepSeek-Coder-V2-Instruct", + "id": "whisper-1", + "name": "whisper-1", + "display_name": "whisper-1", + "modalities": { + "input": [ + "audio" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -226394,38 +232373,20 @@ "supported": false }, "cost": { - "input": 0.16, - "output": 0.32 + "input": 100, + "output": 100 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-R1-Distill-Llama-70B", - "name": "deepseek-ai/DeepSeek-R1-Distill-Llama-70B", - "display_name": "deepseek-ai/DeepSeek-R1-Distill-Llama-70B", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "cost": { - "input": 0.6, - "output": 0.6 + "id": "whisper-large-v3", + "name": "whisper-large-v3", + "display_name": "whisper-large-v3", + "modalities": { + "input": [ + "audio" + ] }, - "type": "chat" - }, - { - "id": "deepseek-ai/DeepSeek-R1-Distill-Llama-8B", - "name": "deepseek-ai/DeepSeek-R1-Distill-Llama-8B", - "display_name": "deepseek-ai/DeepSeek-R1-Distill-Llama-8B", "limit": { "context": 8192, "output": 8192 @@ -226435,15 +232396,20 @@ "supported": false }, "cost": { - "input": 0.01, - "output": 0.01 + "input": 30.834, + "output": 30.834 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B", - "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B", - "display_name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B", + "id": "whisper-large-v3-turbo", + "name": "whisper-large-v3-turbo", + "display_name": "whisper-large-v3-turbo", + "modalities": { + "input": [ + "audio" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -226453,15 +232419,20 @@ "supported": false }, "cost": { - "input": 0.01, - "output": 0.01 + "input": 5.556, + "output": 5.556 }, "type": "chat" }, { - "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", - "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", - "display_name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", + "id": "tts-1-hd-1106", + "name": "tts-1-hd-1106", + "display_name": "tts-1-hd-1106", + "modalities": { + "input": [ + "audio" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -226471,15 +232442,19 @@ "supported": false }, "cost": { - "input": 0.1, - "output": 0.1 - }, - "type": "chat" + "input": 30, + "output": 30 + } }, { - "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", - "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", - "display_name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", + "id": "tts-1-hd", + "name": "tts-1-hd", + "display_name": "tts-1-hd", + "modalities": { + "input": [ + "audio" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -226489,15 +232464,14 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.2 - }, - "type": "chat" + "input": 30, + "output": 30 + } }, { - "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", - "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", - "display_name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", + "id": "yi-large", + "name": "yi-large", + "display_name": "yi-large", "limit": { "context": 8192, "output": 8192 @@ -226507,15 +232481,15 @@ "supported": false }, "cost": { - "input": 0.01, - "output": 0.01 + "input": 3, + "output": 3 }, "type": "chat" }, { - "id": "aistudio_gpt-4.1-mini", - "name": "aistudio_gpt-4.1-mini", - "display_name": "aistudio_gpt-4.1-mini", + "id": "yi-large-rag", + "name": "yi-large-rag", + "display_name": "yi-large-rag", "limit": { "context": 8192, "output": 8192 @@ -226525,16 +232499,15 @@ "supported": false }, "cost": { - "input": 0.4, - "output": 1.6, - "cache_read": 0.1 + "input": 4, + "output": 4 }, "type": "chat" }, { - "id": "deepseek-r1-distill-qianfan-llama-8b", - "name": "deepseek-r1-distill-qianfan-llama-8b", - "display_name": "deepseek-r1-distill-qianfan-llama-8b", + "id": "yi-large-turbo", + "name": "yi-large-turbo", + "display_name": "yi-large-turbo", "limit": { "context": 8192, "output": 8192 @@ -226544,15 +232517,15 @@ "supported": false }, "cost": { - "input": 0.137, - "output": 0.548 + "input": 1.8, + "output": 1.8 }, "type": "chat" }, { - "id": "doubao-1-5-pro-256k-250115", - "name": "doubao-1-5-pro-256k-250115", - "display_name": "doubao-1-5-pro-256k-250115", + "id": "yi-lightning", + "name": "yi-lightning", + "display_name": "yi-lightning", "limit": { "context": 8192, "output": 8192 @@ -226562,15 +232535,15 @@ "supported": false }, "cost": { - "input": 0.684, - "output": 1.2312 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "doubao-1-5-pro-32k-250115", - "name": "doubao-1-5-pro-32k-250115", - "display_name": "doubao-1-5-pro-32k-250115", + "id": "yi-medium", + "name": "yi-medium", + "display_name": "yi-medium", "limit": { "context": 8192, "output": 8192 @@ -226580,15 +232553,15 @@ "supported": false }, "cost": { - "input": 0.108, - "output": 0.27 + "input": 0.4, + "output": 0.4 }, "type": "chat" }, { - "id": "gpt-4o-2024-08-06-global", - "name": "gpt-4o-2024-08-06-global", - "display_name": "gpt-4o-2024-08-06-global", + "id": "yi-vl-plus", + "name": "yi-vl-plus", + "display_name": "yi-vl-plus", "limit": { "context": 8192, "output": 8192 @@ -226598,16 +232571,20 @@ "supported": false }, "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 + "input": 0.000852, + "output": 0.000852 }, "type": "chat" }, { - "id": "gpt-4o-mini-global", - "name": "gpt-4o-mini-global", - "display_name": "gpt-4o-mini-global", + "id": "tts-1-1106", + "name": "tts-1-1106", + "display_name": "tts-1-1106", + "modalities": { + "input": [ + "audio" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -226617,11 +232594,9 @@ "supported": false }, "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.075 - }, - "type": "chat" + "input": 15, + "output": 15 + } }, { "id": "meta-llama-3-70b", @@ -226795,6 +232770,98 @@ "output": 0.685 }, "type": "chat" + }, + { + "id": "deepseek-r1-distill-qianfan-llama-8b", + "name": "deepseek-r1-distill-qianfan-llama-8b", + "display_name": "deepseek-r1-distill-qianfan-llama-8b", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.137, + "output": 0.548 + }, + "type": "chat" + }, + { + "id": "doubao-1-5-pro-256k-250115", + "name": "doubao-1-5-pro-256k-250115", + "display_name": "doubao-1-5-pro-256k-250115", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.684, + "output": 1.2312 + }, + "type": "chat" + }, + { + "id": "doubao-1-5-pro-32k-250115", + "name": "doubao-1-5-pro-32k-250115", + "display_name": "doubao-1-5-pro-32k-250115", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.108, + "output": 0.27 + }, + "type": "chat" + }, + { + "id": "gpt-4o-2024-08-06-global", + "name": "gpt-4o-2024-08-06-global", + "display_name": "gpt-4o-2024-08-06-global", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 2.5, + "output": 10, + "cache_read": 1.25 + }, + "type": "chat" + }, + { + "id": "gpt-4o-mini-global", + "name": "gpt-4o-mini-global", + "display_name": "gpt-4o-mini-global", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.075 + }, + "type": "chat" } ] }, @@ -228342,8 +234409,8 @@ ] }, "limit": { - "context": 131072, - "output": 16384 + "context": 8192, + "output": 8192 }, "tool_call": false, "reasoning": { @@ -228469,8 +234536,8 @@ ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 1048575, + "output": 1048575 }, "tool_call": true, "reasoning": { @@ -229343,8 +235410,8 @@ ] }, "limit": { - "context": 256000, - "output": 8192 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -230008,28 +236075,6 @@ }, "type": "imageGeneration" }, - { - "id": "meta-llama/llama-guard-3-8b", - "name": "Llama Guard 3 8B", - "display_name": "Llama Guard 3 8B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 131072 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "type": "chat" - }, { "id": "meta-llama/llama-guard-4-12b", "name": "Meta: Llama Guard 4 12B", @@ -230288,7 +236333,7 @@ ] }, "limit": { - "context": 204800, + "context": 196608, "output": 131072 }, "temperature": true, @@ -230942,9 +236987,9 @@ "type": "imageGeneration" }, { - "id": "moonshotai/kimi-k2.6:free", - "name": "MoonshotAI: Kimi K2.6 (free)", - "display_name": "MoonshotAI: Kimi K2.6 (free)", + "id": "moonshotai/kimi-k2.7-code", + "name": "MoonshotAI: Kimi K2.7 Code", + "display_name": "MoonshotAI: Kimi K2.7 Code", "modalities": { "input": [ "text", @@ -230963,6 +237008,11 @@ "supported": true, "default": true }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, "type": "imageGeneration" }, { @@ -231388,29 +237438,6 @@ }, "type": "imageGeneration" }, - { - "id": "nvidia/nemotron-nano-9b-v2", - "name": "NVIDIA: Nemotron Nano 9B V2", - "display_name": "NVIDIA: Nemotron Nano 9B V2", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 16384 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "type": "chat" - }, { "id": "nvidia/nemotron-nano-9b-v2:free", "name": "NVIDIA: Nemotron Nano 9B V2 (free)", @@ -234052,8 +240079,8 @@ ] }, "limit": { - "context": 32000, - "output": 32000 + "context": 128000, + "output": 128000 }, "tool_call": false, "reasoning": { @@ -234917,7 +240944,7 @@ }, "limit": { "context": 262144, - "output": 262144 + "output": 81920 }, "temperature": true, "tool_call": true, @@ -234953,8 +240980,8 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -235134,8 +241161,8 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 262140, + "output": 262140 }, "tool_call": true, "reasoning": { @@ -235170,8 +241197,8 @@ ] }, "limit": { - "context": 262140, - "output": 262140 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -236286,56 +242313,6 @@ "name": "Jiekou", "display_name": "Jiekou", "models": [ - { - "id": "claude-fable-5", - "name": "claude-fable-5", - "display_name": "claude-fable-5", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 128000 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "omitted", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "Adaptive thinking is always on for Claude Fable 5 and Claude Mythos 5; thinking.type = \"disabled\" is rejected.", - "Manual budget_tokens requests return 400 on Claude Fable 5 and Claude Mythos 5.", - "thinking.display defaults to omitted; set display to summarized to receive readable thinking summaries." - ] - } - }, - "type": "chat" - }, { "id": "claude-haiku-4-5-20251001", "name": "claude-haiku-4-5-20251001", @@ -239839,6 +245816,36 @@ }, "type": "chat" }, + { + "id": "moonshotai/kimi-k2.7-code", + "name": "Kimi K2.7 Code", + "display_name": "Kimi K2.7 Code", + "modalities": { + "input": [ + "text", + "image", + "video" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "type": "chat" + }, { "id": "sao10k/l3-70b-euryale-v2.1", "name": "L3 70B Euryale V2.1", @@ -241166,7 +247173,8 @@ "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" @@ -241183,6 +247191,7 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2024-07-31", "release_date": "2024-10-22", "last_updated": "2024-10-22", "cost": { @@ -241262,8 +247271,9 @@ "display_name": "Anthropic: Claude Haiku 4.5", "modalities": { "input": [ + "text", "image", - "text" + "pdf" ], "output": [ "text" @@ -241302,6 +247312,7 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2025-02-28", "release_date": "2025-10-15", "last_updated": "2025-10-15", "cost": { @@ -241318,9 +247329,9 @@ "display_name": "Anthropic: Claude Opus 4", "modalities": { "input": [ + "text", "image", - "pdf", - "text" + "pdf" ], "output": [ "text" @@ -241359,8 +247370,9 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2025-03-31", "release_date": "2025-05-22", - "last_updated": "2026-03-15", + "last_updated": "2025-05-22", "cost": { "input": 15, "output": 75, @@ -241375,9 +247387,9 @@ "display_name": "Anthropic: Claude Opus 4.1", "modalities": { "input": [ + "text", "image", - "pdf", - "text" + "pdf" ], "output": [ "text" @@ -241416,8 +247428,9 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2025-03-31", "release_date": "2025-08-05", - "last_updated": "2026-03-15", + "last_updated": "2025-08-05", "cost": { "input": 15, "output": 75, @@ -241432,9 +247445,9 @@ "display_name": "Anthropic: Claude Opus 4.5", "modalities": { "input": [ + "text", "image", - "pdf", - "text" + "pdf" ], "output": [ "text" @@ -241479,8 +247492,9 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-11-24", - "last_updated": "2026-03-15", + "knowledge": "2025-03-31", + "release_date": "2024-11-24", + "last_updated": "2025-11-24", "cost": { "input": 5, "output": 25, @@ -241507,6 +247521,7 @@ "context": 1000000, "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -241542,11 +247557,14 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2025-05-31", "release_date": "2026-02-05", - "last_updated": "2026-02-05", + "last_updated": "2026-03-13", "cost": { - "input": 4.998, - "output": 25.007 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, @@ -241568,6 +247586,7 @@ "context": 1000000, "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -241601,12 +247620,14 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2026-01-31", "release_date": "2026-04-16", "last_updated": "2026-04-16", "cost": { - "input": 4.998, - "output": 25.007, - "cache_read": 0.4998 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, @@ -241628,6 +247649,7 @@ "context": 1000000, "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -241664,9 +247686,10 @@ "release_date": "2026-05-28", "last_updated": "2026-05-28", "cost": { - "input": 4.998, - "output": 25.007, - "cache_read": 0.4998 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 }, "type": "chat" }, @@ -241676,9 +247699,9 @@ "display_name": "Anthropic: Claude Sonnet 4", "modalities": { "input": [ + "text", "image", - "pdf", - "text" + "pdf" ], "output": [ "text" @@ -241717,8 +247740,9 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2025-03-31", "release_date": "2025-05-22", - "last_updated": "2026-03-15", + "last_updated": "2025-05-22", "cost": { "input": 3, "output": 15, @@ -241733,16 +247757,16 @@ "display_name": "Anthropic: Claude Sonnet 4.5", "modalities": { "input": [ + "text", "image", - "pdf", - "text" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1000000, + "context": 200000, "output": 64000 }, "temperature": true, @@ -241774,8 +247798,9 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2025-07-31", "release_date": "2025-09-29", - "last_updated": "2026-03-15", + "last_updated": "2025-09-29", "cost": { "input": 3, "output": 15, @@ -241802,6 +247827,7 @@ "context": 1000000, "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -241839,10 +247865,12 @@ "open_weights": false, "knowledge": "2025-08-31", "release_date": "2026-02-17", - "last_updated": "2026-02-17", + "last_updated": "2026-03-13", "cost": { - "input": 2.992, - "output": 14.993999999999998 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 }, "type": "chat" }, @@ -242210,23 +248238,14 @@ ] }, "limit": { - "context": 32768, - "output": 7168 + "context": 131072, + "output": 32768 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "cost": { - "input": 0.15, - "output": 0.75 - }, "type": "chat" }, { @@ -242236,6 +248255,7 @@ "modalities": { "input": [ "text", + "image", "pdf" ], "output": [ @@ -242243,10 +248263,11 @@ ] }, "limit": { - "context": 163000, - "output": 65536 + "context": 128000, + "output": 8000 }, - "tool_call": true, + "temperature": true, + "tool_call": false, "reasoning": { "supported": true }, @@ -242255,13 +248276,15 @@ "supported": true } }, - "attachment": true, + "attachment": false, "open_weights": false, + "knowledge": "2024-07", "release_date": "2025-12-01", "last_updated": "2025-12-01", "cost": { - "input": 0.27999999999999997, - "output": 0.42000000000000004 + "input": 0.28, + "output": 0.42, + "cache_read": 0.028 }, "type": "chat" }, @@ -242271,16 +248294,19 @@ "display_name": "DeepSeek: DeepSeek V4 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048576, + "context": 1000000, "output": 384000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -242298,13 +248324,14 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2026-04-24", + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-23", "last_updated": "2026-04-24", "cost": { "input": 0.14, "output": 0.28, - "cache_read": 0.028 + "cache_read": 0.0028 }, "type": "chat" }, @@ -242314,16 +248341,18 @@ "display_name": "DeepSeek: DeepSeek V4 Pro", "modalities": { "input": [ - "text" + "text", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048576, + "context": 1000000, "output": 384000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -242341,13 +248370,14 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2026-04-24", + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-23", "last_updated": "2026-04-24", "cost": { - "input": 1.1, - "output": 2.2, - "cache_read": 0.11 + "input": 0.435, + "output": 0.87, + "cache_read": 0.0036 }, "type": "chat" }, @@ -242364,23 +248394,19 @@ ] }, "limit": { - "context": 163840, - "output": 163840 + "context": 1000000, + "output": 384000 }, "temperature": true, "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2024-12-01", - "last_updated": "2026-03-15", - "cost": { - "input": 0.32, - "output": 0.89, - "cache_read": 0.15 - }, + "knowledge": "2025-09", + "release_date": "2025-12-01", + "last_updated": "2026-02-28", "type": "chat" }, { @@ -242441,23 +248467,18 @@ ] }, "limit": { - "context": 163840, - "output": 65536 + "context": 128000, + "output": 32000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, - "open_weights": true, + "open_weights": false, "release_date": "2025-09-29", "last_updated": "2025-09-29", - "cost": { - "input": 0.27, - "output": 0.41 - }, "type": "chat" }, { @@ -242466,11 +248487,11 @@ "display_name": "Google: Gemini 2.5 Flash", "modalities": { "input": [ - "audio", - "image", - "pdf", "text", - "video" + "image", + "audio", + "video", + "pdf" ], "output": [ "text" @@ -242478,7 +248499,7 @@ }, "limit": { "context": 1048576, - "output": 65535 + "output": 65536 }, "temperature": true, "tool_call": true, @@ -242508,13 +248529,14 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-07-17", - "last_updated": "2026-03-15", + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { "input": 0.3, "output": 2.5, - "cache_read": 0.03, - "cache_write": 0.083333 + "cache_read": 0.075, + "cache_write": 0.55 }, "type": "chat" }, @@ -242524,11 +248546,9 @@ "display_name": "Google: Gemini 2.5 Flash Lite", "modalities": { "input": [ - "audio", - "image", - "pdf", "text", - "video" + "image", + "pdf" ], "output": [ "text" @@ -242536,7 +248556,7 @@ }, "limit": { "context": 1048576, - "output": 65535 + "output": 65536 }, "temperature": true, "tool_call": true, @@ -242565,13 +248585,13 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2025-01", "release_date": "2025-06-17", - "last_updated": "2026-03-15", + "last_updated": "2025-06-17", "cost": { "input": 0.1, "output": 0.4, - "cache_read": 0.01, - "cache_write": 0.083333 + "cache_read": 0.01 }, "type": "chat" }, @@ -242581,11 +248601,11 @@ "display_name": "Google: Gemini 2.5 Pro", "modalities": { "input": [ - "audio", - "image", - "pdf", "text", - "video" + "image", + "audio", + "video", + "pdf" ], "output": [ "text" @@ -242622,13 +248642,14 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-03-20", - "last_updated": "2026-03-15", + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", "cost": { "input": 1.25, "output": 10, - "cache_read": 0.125, - "cache_write": 0.375 + "cache_read": 0.31, + "cache_write": 2.375 }, "type": "chat" }, @@ -242639,16 +248660,20 @@ "modalities": { "input": [ "text", - "image" + "image", + "audio", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048756, + "context": 1048576, "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -242675,11 +248700,14 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2025-01", "release_date": "2025-12-17", "last_updated": "2025-12-17", "cost": { "input": 0.5, - "output": 3 + "output": 3, + "cache_read": 0.05, + "cache_write": 1 }, "type": "chat" }, @@ -242698,9 +248726,10 @@ ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 1000000, + "output": 65000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -242713,12 +248742,13 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-03-03", - "last_updated": "2026-03-03", + "knowledge": "2025-01", + "release_date": "2026-05-07", + "last_updated": "2026-05-07", "cost": { "input": 0.25, "output": 1.5, - "cache_read": 0.025 + "cache_read": 0.03 }, "type": "chat" }, @@ -242728,19 +248758,17 @@ "display_name": "Google: Gemini 3.1 Flash Lite Preview", "modalities": { "input": [ - "audio", - "image", - "pdf", "text", - "video" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 1000000, + "output": 65000 }, "temperature": true, "tool_call": true, @@ -242755,11 +248783,13 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2025-01", "release_date": "2026-03-03", - "last_updated": "2026-03-15", + "last_updated": "2026-03-03", "cost": { "input": 0.25, - "output": 1.5 + "output": 1.5, + "cache_read": 0.03 }, "type": "chat" }, @@ -242770,16 +248800,18 @@ "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048756, - "output": 65536 + "context": 1000000, + "output": 64000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -242804,7 +248836,8 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-02-19", + "knowledge": "2025-01", + "release_date": "2025-11-18", "last_updated": "2026-02-19", "cost": { "input": 2, @@ -242821,16 +248854,17 @@ "input": [ "text", "image", - "audio" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 1000000, + "output": 64000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -242857,6 +248891,7 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2025-01", "release_date": "2026-05-19", "last_updated": "2026-05-19", "cost": { @@ -242866,60 +248901,6 @@ }, "type": "chat" }, - { - "id": "google/gemma-3-12b-it", - "name": "Google: Gemma 3 12B", - "display_name": "Google: Gemma 3 12B", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 8192 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": true, - "release_date": "2025-03-13", - "last_updated": "2025-03-13", - "cost": { - "input": 0.05, - "output": 0.1 - }, - "type": "chat" - }, - { - "id": "inclusionai/ling-1t", - "name": "inclusionAI: Ling-1T", - "display_name": "inclusionAI: Ling-1T", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 8192 - }, - "tool_call": true, - "reasoning": { - "supported": false - }, - "type": "chat" - }, { "id": "inclusionai/ling-2.6-1t", "name": "inclusionAI: Ling-2.6-1T", @@ -242936,18 +248917,18 @@ "context": 262144, "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, + "open_weights": true, "release_date": "2026-04-23", "last_updated": "2026-04-23", "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.06 + "input": 0, + "output": 0 }, "type": "chat" }, @@ -242967,17 +248948,19 @@ "context": 262144, "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-04-21", - "last_updated": "2026-04-21", + "open_weights": true, + "release_date": "2026-04-24", + "last_updated": "2026-04-24", "cost": { - "input": 0.08, - "output": 0.24 + "input": 0.1, + "output": 0.3, + "cache_read": 0.02 }, "type": "chat" }, @@ -243008,34 +248991,6 @@ }, "type": "chat" }, - { - "id": "inclusionai/ring-1t", - "name": "inclusionAI: Ring-1T", - "display_name": "inclusionAI: Ring-1T", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 8192 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "type": "chat" - }, { "id": "inclusionai/ring-2.6-1t", "name": "inclusionAI: Ring-2.6-1T", @@ -243052,6 +249007,7 @@ "context": 262144, "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -243060,10 +249016,11 @@ "attachment": false, "open_weights": false, "release_date": "2026-05-08", - "last_updated": "2026-05-08", + "last_updated": "2026-05-27", "cost": { - "input": 1, - "output": 3 + "input": 0.3, + "output": 2.5, + "cache_read": 0.06 }, "type": "chat" }, @@ -243179,8 +249136,8 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 200000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -243190,24 +249147,13 @@ }, "extra_capabilities": { "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] + "supported": true } }, "attachment": false, - "open_weights": true, - "release_date": "2025-10-27", - "last_updated": "2025-10-27", - "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.03 - }, + "open_weights": false, + "release_date": "2025-10-28", + "last_updated": "2025-10-28", "type": "chat" }, { @@ -243223,20 +249169,21 @@ ] }, "limit": { - "context": 65532, + "context": 65536, "output": 2048 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2026-01-24", - "last_updated": "2026-01-24", + "open_weights": true, + "release_date": "2026-01-23", + "last_updated": "2026-03-15", "cost": { - "input": 0.30200000000000005, - "output": 1.2069999999999999 + "input": 0.3, + "output": 1.2 }, "type": "chat" }, @@ -243253,9 +249200,10 @@ ] }, "limit": { - "context": 200000, - "output": 131072 + "context": 204800, + "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -243268,12 +249216,8 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-12-19", - "last_updated": "2025-12-19", - "cost": { - "input": 0.33, - "output": 1.32 - }, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "type": "chat" }, { @@ -243290,8 +249234,9 @@ }, "limit": { "context": 204800, - "output": 131072 + "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -243306,10 +249251,6 @@ "open_weights": false, "release_date": "2026-02-12", "last_updated": "2026-02-12", - "cost": { - "input": 0.3, - "output": 1.2 - }, "type": "chat" }, { @@ -243363,6 +249304,7 @@ "context": 204800, "output": 131072 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -243380,12 +249322,14 @@ } }, "attachment": false, - "open_weights": false, + "open_weights": true, "release_date": "2026-03-18", "last_updated": "2026-03-18", "cost": { "input": 0.3, - "output": 1.2 + "output": 1.2, + "cache_read": 0.06, + "cache_write": 0.375 }, "type": "chat" }, @@ -243403,7 +249347,7 @@ }, "limit": { "context": 204800, - "output": 131072 + "output": 131100 }, "temperature": true, "tool_call": true, @@ -243422,10 +249366,10 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, "release_date": "2026-03-18", - "last_updated": "2026-05-27", + "last_updated": "2026-03-18", "cost": { "input": 0.6, "output": 2.4, @@ -243441,19 +249385,22 @@ "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 512000, - "output": 80000 + "context": 1000000, + "output": 1000000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -243461,8 +249408,8 @@ } }, "attachment": true, - "open_weights": false, - "release_date": "2026-06-01", + "open_weights": true, + "release_date": "2026-05-31", "last_updated": "2026-06-01", "cost": { "input": 0.3, @@ -243486,7 +249433,7 @@ }, "limit": { "context": 262144, - "output": 52429 + "output": 262144 }, "temperature": true, "tool_call": true, @@ -243495,12 +249442,9 @@ }, "attachment": true, "open_weights": true, + "knowledge": "2024-11", "release_date": "2024-11-01", - "last_updated": "2025-12-16", - "cost": { - "input": 0.5, - "output": 1.5 - }, + "last_updated": "2025-12-02", "type": "chat" }, { @@ -243510,7 +249454,8 @@ "modalities": { "input": [ "text", - "image" + "image", + "video" ], "output": [ "text" @@ -243518,8 +249463,9 @@ }, "limit": { "context": 256000, - "output": 65536 + "output": 256000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true @@ -243537,12 +249483,8 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-01-26", - "last_updated": "2026-01-26", - "cost": { - "input": 0.3, - "output": 1.9 - }, + "release_date": "2026-01-28", + "last_updated": "2026-01-28", "type": "chat" }, { @@ -243552,7 +249494,131 @@ "modalities": { "input": [ "text", - "image" + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262000, + "output": 262000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-20", + "last_updated": "2026-04-21", + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + }, + "type": "chat" + }, + { + "id": "moonshotai/kimi-k2.7-code", + "name": "MoonshotAI: Kimi K2.7 Code", + "display_name": "MoonshotAI: Kimi K2.7 Code", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 256000, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-06-12", + "last_updated": "2026-06-12", + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.19 + }, + "type": "chat" + }, + { + "id": "moonshotai/kimi-k2.7-code-free", + "name": "MoonshotAI: Kimi K2.7 Code (Free)", + "display_name": "MoonshotAI: Kimi K2.7 Code (Free)", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 256000, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-06-12", + "last_updated": "2026-06-12", + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.19 + }, + "type": "chat" + }, + { + "id": "moonshotai/kimi-k2.7-code-highspeed", + "name": "MoonshotAI: Kimi K2.7 Code HighSpeed", + "display_name": "MoonshotAI: Kimi K2.7 Code HighSpeed", + "modalities": { + "input": [ + "text", + "image", + "video" ], "output": [ "text" @@ -243571,6 +249637,8 @@ "extra_capabilities": { "reasoning": { "supported": true, + "default_enabled": true, + "mode": "fixed", "interleaved": true, "summaries": true, "visibility": "summary", @@ -243587,8 +249655,7 @@ "cost": { "input": 0.95, "output": 4, - "cache_read": 0.2, - "cache_write": 0 + "cache_read": 0.16 }, "type": "chat" }, @@ -243634,8 +249701,7 @@ "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -243645,17 +249711,20 @@ "context": 1047576, "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, - "release_date": "2025-09-10", - "last_updated": "2025-09-10", + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", "cost": { "input": 2, - "output": 8 + "output": 8, + "cache_read": 0.5 }, "type": "chat" }, @@ -243676,17 +249745,20 @@ "context": 1047576, "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, + "knowledge": "2024-04", "release_date": "2025-04-14", "last_updated": "2025-04-14", "cost": { "input": 0.4, - "output": 1.6 + "output": 1.6, + "cache_read": 0.1 }, "type": "chat" }, @@ -243697,8 +249769,7 @@ "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -243708,17 +249779,20 @@ "context": 1047576, "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, + "knowledge": "2024-04", "release_date": "2025-04-14", "last_updated": "2025-04-14", "cost": { "input": 0.1, - "output": 0.4 + "output": 0.4, + "cache_read": 0.025 }, "type": "chat" }, @@ -243729,7 +249803,8 @@ "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" @@ -243739,17 +249814,20 @@ "context": 128000, "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, + "knowledge": "2023-09", "release_date": "2024-05-13", - "last_updated": "2024-05-13", + "last_updated": "2024-08-06", "cost": { - "input": 2.499, - "output": 9.996 + "input": 2.5, + "output": 10, + "cache_read": 1.25 }, "type": "chat" }, @@ -243770,17 +249848,20 @@ "context": 128000, "output": 16384 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, "open_weights": false, + "knowledge": "2024-10", "release_date": "2024-07-18", "last_updated": "2024-07-18", "cost": { - "input": 0.1496, - "output": 0.595 + "input": 0.15, + "output": 0.6, + "cache_read": 0.08 }, "type": "chat" }, @@ -243791,17 +249872,21 @@ "modalities": { "input": [ "text", + "audio", "image", - "pdf" + "video" ], "output": [ - "text" + "text", + "audio", + "image" ] }, "limit": { "context": 400000, "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -243830,13 +249915,15 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2024-09-30", "release_date": "2025-08-07", "last_updated": "2025-08-07", "cost": { "input": 1.25, - "output": 10 + "output": 10, + "cache_read": 0.13 }, - "type": "chat" + "type": "imageGeneration" }, { "id": "openai/gpt-5-chat", @@ -243844,31 +249931,31 @@ "display_name": "OpenAI: GPT-5 Chat", "modalities": { "input": [ - "image", - "pdf", - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 400000, + "output": 128000 }, - "temperature": false, + "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, + "knowledge": "2024-09-30", "release_date": "2025-08-07", - "last_updated": "2026-03-15", + "last_updated": "2025-08-07", "cost": { "input": 1.25, - "output": 10, - "cache_read": 0.125 + "output": 10 }, "type": "chat" }, @@ -243878,17 +249965,19 @@ "display_name": "OpenAI: GPT-5 Codex", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 32768 + "context": 400000, + "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -243914,13 +250003,15 @@ "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, + "knowledge": "2024-10-01", "release_date": "2025-09-15", "last_updated": "2025-09-15", "cost": { - "input": 9.996, - "output": 19.992 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, @@ -243938,10 +250029,11 @@ ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 128000, + "output": 32000 }, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -243969,11 +250061,13 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2024-05-30", "release_date": "2025-08-07", "last_updated": "2025-08-07", "cost": { "input": 0.25, - "output": 2 + "output": 2, + "cache_read": 0.03 }, "type": "chat" }, @@ -243983,18 +250077,18 @@ "display_name": "OpenAI: GPT-5 Nano", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 400000, - "output": 128000 + "context": 16000, + "output": 4000 }, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -244022,11 +250116,13 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2024-05-30", "release_date": "2025-08-07", "last_updated": "2025-08-07", "cost": { "input": 0.05, - "output": 0.4 + "output": 0.4, + "cache_read": 0.01 }, "type": "chat" }, @@ -244045,9 +250141,10 @@ }, "limit": { "context": 400000, - "output": 128000 + "output": 272000 }, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -244069,8 +250166,9 @@ }, "attachment": true, "open_weights": false, - "release_date": "2025-08-07", - "last_updated": "2025-08-07", + "knowledge": "2024-09-30", + "release_date": "2025-10-06", + "last_updated": "2025-10-06", "cost": { "input": 15, "output": 120 @@ -244084,8 +250182,7 @@ "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -244095,6 +250192,7 @@ "context": 400000, "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -244123,11 +250221,13 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2024-09-30", "release_date": "2025-11-13", "last_updated": "2025-11-13", "cost": { "input": 1.25, - "output": 10 + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, @@ -244137,9 +250237,8 @@ "display_name": "OpenAI: GPT-5.1 Chat", "modalities": { "input": [ - "image", - "pdf", - "text" + "text", + "image" ], "output": [ "text" @@ -244149,15 +250248,17 @@ "context": 128000, "output": 16384 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, + "knowledge": "2024-09-30", "release_date": "2025-11-13", - "last_updated": "2026-03-15", + "last_updated": "2025-11-13", "cost": { "input": 1.25, "output": 10, @@ -244182,7 +250283,8 @@ "context": 400000, "output": 128000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": false @@ -244210,11 +250312,13 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2024-09-30", "release_date": "2025-11-13", "last_updated": "2025-11-13", "cost": { "input": 1.25, - "output": 10 + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, @@ -244233,9 +250337,10 @@ }, "limit": { "context": 400000, - "output": 128000 + "output": 100000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": false @@ -244263,11 +250368,13 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2024-09-30", "release_date": "2025-11-13", "last_updated": "2025-11-13", "cost": { "input": 0.25, - "output": 2 + "output": 2, + "cache_read": 0.025 }, "type": "chat" }, @@ -244278,8 +250385,7 @@ "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -244289,6 +250395,7 @@ "context": 400000, "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -244318,11 +250425,13 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-01-01", - "last_updated": "2026-01-01", + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { "input": 1.75, - "output": 14 + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, @@ -244332,9 +250441,8 @@ "display_name": "OpenAI: GPT-5.2 Chat", "modalities": { "input": [ - "image", - "pdf", - "text" + "text", + "image" ], "output": [ "text" @@ -244347,12 +250455,14 @@ "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, + "knowledge": "2025-08-31", "release_date": "2025-12-11", - "last_updated": "2026-03-15", + "last_updated": "2025-12-11", "cost": { "input": 1.75, "output": 14, @@ -244367,8 +250477,7 @@ "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -244378,6 +250487,7 @@ "context": 400000, "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -244405,8 +250515,9 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-01-01", - "last_updated": "2026-01-01", + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { "input": 21, "output": 168 @@ -244420,8 +250531,7 @@ "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" @@ -244431,6 +250541,7 @@ "context": 400000, "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -244459,11 +250570,13 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2025-08-31", "release_date": "2026-01-14", "last_updated": "2026-01-14", "cost": { "input": 1.75, - "output": 14 + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, @@ -244473,9 +250586,9 @@ "display_name": "OpenAI: GPT-5.3 Chat", "modalities": { "input": [ + "text", "image", - "pdf", - "text" + "pdf" ], "output": [ "text" @@ -244485,17 +250598,20 @@ "context": 128000, "output": 16384 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": true, "open_weights": false, - "release_date": "2026-03-04", - "last_updated": "2026-03-15", + "release_date": "2026-03-03", + "last_updated": "2026-03-06", "cost": { "input": 1.75, - "output": 14 + "output": 14, + "cache_read": 0.175 }, "type": "chat" }, @@ -244517,6 +250633,7 @@ "context": 400000, "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -244545,6 +250662,7 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2025-08-31", "release_date": "2026-02-24", "last_updated": "2026-02-24", "cost": { @@ -244569,9 +250687,10 @@ ] }, "limit": { - "context": 922000, + "context": 1050000, "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -244601,6 +250720,7 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2025-08-31", "release_date": "2026-03-05", "last_updated": "2026-03-05", "cost": { @@ -244628,6 +250748,7 @@ "context": 400000, "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -244657,6 +250778,7 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2025-08-31", "release_date": "2026-03-17", "last_updated": "2026-03-17", "cost": { @@ -244684,6 +250806,7 @@ "context": 400000, "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -244713,6 +250836,7 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2025-08-31", "release_date": "2026-03-17", "last_updated": "2026-03-17", "cost": { @@ -244737,9 +250861,10 @@ ] }, "limit": { - "context": 922000, + "context": 1050000, "output": 128000 }, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -244767,12 +250892,13 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2025-08-31", "release_date": "2026-03-05", "last_updated": "2026-03-05", "cost": { "input": 30, "output": 180, - "cache_read": 3 + "cache_read": 30 }, "type": "chat" }, @@ -244794,6 +250920,7 @@ "context": 1000000, "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -244822,7 +250949,8 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-04-23", + "knowledge": "2025-12-01", + "release_date": "2026-04-24", "last_updated": "2026-04-23", "cost": { "input": 5, @@ -244846,10 +250974,10 @@ ] }, "limit": { - "context": 1050000, + "context": 1000000, "output": 128000 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -244862,8 +250990,9 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2025-12-01", "release_date": "2026-04-24", - "last_updated": "2026-05-01", + "last_updated": "2026-04-23", "cost": { "input": 30, "output": 180 @@ -244876,26 +251005,30 @@ "display_name": "OpenAI: GPT-Image-1.5", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "image" ] }, "limit": { - "context": 128000, + "context": 8192, "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, "release_date": "2025-12-16", "last_updated": "2025-12-16", + "cost": { + "input": 5, + "output": 32, + "cache_read": 1.25 + }, "type": "imageGeneration" }, { @@ -244904,8 +251037,7 @@ "display_name": "OpenAI: GPT-Image-2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "image" @@ -244915,19 +251047,19 @@ "context": 8192, "output": 8192 }, - "temperature": false, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, - "attachment": true, + "attachment": false, "open_weights": false, "release_date": "2026-04-21", "last_updated": "2026-04-21", "cost": { - "input": 5.0505, - "output": 32.3232, - "cache_read": 1.2626 + "input": 5, + "output": 30, + "cache_read": 1.25 }, "type": "imageGeneration" }, @@ -244937,7 +251069,8 @@ "display_name": "OpenAI: o4 Mini", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" @@ -244947,6 +251080,7 @@ "context": 200000, "output": 100000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -244966,13 +251100,15 @@ "visibility": "hidden" } }, - "attachment": false, + "attachment": true, "open_weights": false, + "knowledge": "2024-06", "release_date": "2025-04-16", "last_updated": "2025-04-16", "cost": { "input": 1.1, - "output": 4.4 + "output": 4.4, + "cache_read": 0.28 }, "type": "chat" }, @@ -245044,22 +251180,13 @@ }, "limit": { "context": 262144, - "output": 52429 + "output": 262144 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-04", - "last_updated": "2026-01", - "cost": { - "input": 0.071, - "output": 0.1 - }, "type": "chat" }, { @@ -245075,12 +251202,14 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 262144, + "output": 131072 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -245094,12 +251223,44 @@ } }, "attachment": false, + "open_weights": true, + "release_date": "2025-08-23", + "last_updated": "2025-08-23", + "cost": { + "input": 0.2, + "output": 0.6 + }, + "type": "chat" + }, + { + "id": "qwen/qwen3-asr-flash", + "name": "Qwen: Qwen3 ASR Flash", + "display_name": "Qwen: Qwen3 ASR Flash", + "modalities": { + "input": [ + "audio" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 53248, + "output": 4096 + }, + "temperature": false, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, "open_weights": false, - "release_date": "2025-09-11", - "last_updated": "2025-09-11", + "knowledge": "2024-04", + "release_date": "2025-09-08", + "last_updated": "2025-09-08", "cost": { - "input": 0.3, - "output": 0.5 + "input": 0.032, + "output": 0.032 }, "type": "chat" }, @@ -245116,10 +251277,11 @@ ] }, "limit": { - "context": 41000, - "output": 32768 + "context": 131072, + "output": 8192 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true }, @@ -245136,11 +251298,11 @@ }, "attachment": false, "open_weights": false, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", + "release_date": "2025-04-30", + "last_updated": "2025-11-25", "cost": { - "input": 0.08, - "output": 0.24 + "input": 0.07, + "output": 0.28 }, "type": "chat" }, @@ -245157,20 +251319,13 @@ ] }, "limit": { - "context": 262000, - "output": 65536 + "context": 262144, + "output": 262144 }, "tool_call": true, "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "cost": { - "input": 0.13, - "output": 0.5 + "supported": true, + "default": true }, "type": "chat" }, @@ -245187,20 +251342,24 @@ ] }, "limit": { - "context": 128000, - "output": 65536 + "context": 4096, + "output": 4096 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": false, - "release_date": "2025-09-17", - "last_updated": "2025-09-17", + "knowledge": "2025-01-01", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", "cost": { "input": 1, - "output": 5 + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 }, "type": "chat" }, @@ -245217,10 +251376,11 @@ ] }, "limit": { - "context": 256000, - "output": 32768 + "context": 262144, + "output": 65536 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true }, @@ -245237,11 +251397,12 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-09-05", - "last_updated": "2025-09-05", + "knowledge": "2025-04", + "release_date": "2025-09-24", + "last_updated": "2025-09-24", "cost": { - "input": 1.08018, - "output": 5.4009 + "input": 2.11, + "output": 8.45 }, "type": "chat" }, @@ -245332,20 +251493,21 @@ "modalities": { "input": [ "text", - "image", - "video" + "image" ], "output": [ "text" ] }, "limit": { - "context": 983616, - "output": 65536 + "context": 1000000, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -245360,12 +251522,12 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-02-16", - "last_updated": "2026-02-16", + "knowledge": "2025-01-01", + "release_date": "2026-03-20", + "last_updated": "2026-03-20", "cost": { - "input": 0.4, - "output": 2.4, - "cache_read": 0.04 + "input": 0.8, + "output": 4.8 }, "type": "chat" }, @@ -245465,7 +251627,6 @@ "display_name": "Qwen: Qwen3.6-Plus", "modalities": { "input": [ - "image", "text" ], "output": [ @@ -245474,7 +251635,7 @@ }, "limit": { "context": 1000000, - "output": 65536 + "output": 64000 }, "temperature": true, "tool_call": true, @@ -245493,15 +251654,15 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": false, - "release_date": "2025-08-26", - "last_updated": "2026-04-11", + "release_date": "2026-03-30", + "last_updated": "2026-03-30", "cost": { - "input": 0.325, - "output": 1.95, - "cache_read": 0.0325, - "cache_write": 0.40625 + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "cache_write": 0.625 }, "type": "chat" }, @@ -245619,7 +251780,36 @@ "display_name": "StepFun: Step 3.5 Flash", "modalities": { "input": [ + "text", + "image" + ], + "output": [ "text" + ] + }, + "limit": { + "context": 64000, + "output": 4096 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-02-02", + "last_updated": "2026-02-02", + "type": "chat" + }, + { + "id": "stepfun/step-3.7-flash", + "name": "StepFun: Step 3.7 Flash", + "display_name": "StepFun: Step 3.7 Flash", + "modalities": { + "input": [ + "text", + "image" ], "output": [ "text" @@ -245635,21 +251825,22 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2026-01-29", - "last_updated": "2026-01-29", + "attachment": true, + "open_weights": false, + "knowledge": "2026-01-01", + "release_date": "2026-05-28", + "last_updated": "2026-05-29", "cost": { - "input": 0.1, - "output": 0.3, - "cache_read": 0.02 + "input": 0.2, + "output": 1.15, + "cache_read": 0.04 }, "type": "chat" }, { - "id": "stepfun/step-3.7-flash", - "name": "StepFun: Step 3.7 Flash", - "display_name": "StepFun: Step 3.7 Flash", + "id": "stepfun/step-3.7-flash-free", + "name": "StepFun: Step 3.7 Flash (Free)", + "display_name": "StepFun: Step 3.7 Flash (Free)", "modalities": { "input": [ "text", @@ -245670,13 +251861,14 @@ "default": true }, "attachment": true, - "open_weights": true, + "open_weights": false, "knowledge": "2026-01-01", - "release_date": "2026-05-29", + "release_date": "2026-05-28", "last_updated": "2026-05-29", "cost": { "input": 0.2, - "output": 1.15 + "output": 1.15, + "cache_read": 0.04 }, "type": "chat" }, @@ -245772,12 +251964,14 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 256000, + "output": 64000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -245785,13 +251979,14 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2026-04-23", - "last_updated": "2026-04-23", + "open_weights": true, + "release_date": "2026-04-20", + "last_updated": "2026-04-20", "cost": { - "input": 0.066, - "output": 0.26, - "cache_read": 0.029 + "input": 0.172, + "output": 0.572, + "cache_read": 0.058, + "cache_write": 0 }, "type": "chat" }, @@ -245871,7 +252066,8 @@ "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" @@ -245881,6 +252077,7 @@ "context": 1000000, "output": 1000000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -245893,12 +252090,13 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-04-30", - "last_updated": "2026-04-30", + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "cost": { "input": 1.25, "output": 2.5, - "cache_read": 0.2 + "cache_read": 0.2, + "cache_write": 0 }, "type": "chat" }, @@ -245909,7 +252107,8 @@ "modalities": { "input": [ "text", - "image" + "image", + "pdf" ], "output": [ "text" @@ -245919,6 +252118,7 @@ "context": 256000, "output": 256000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -245931,8 +252131,8 @@ }, "attachment": true, "open_weights": false, - "release_date": "2026-05-20", - "last_updated": "2026-05-20", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", "cost": { "input": 1, "output": 2, @@ -245954,19 +252154,23 @@ }, "limit": { "context": 256000, - "output": 32768 + "output": 256000 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, - "open_weights": false, - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "open_weights": true, + "knowledge": "2024-12-01", + "release_date": "2025-12-16", + "last_updated": "2026-02-04", "cost": { - "input": 0.102, - "output": 0.306 + "input": 0.1, + "output": 0.3, + "cache_read": 0.01 }, "type": "chat" }, @@ -245978,16 +252182,17 @@ "input": [ "text", "image", - "video" + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 1050000, + "output": 131100 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -245995,6 +252200,7 @@ }, "attachment": true, "open_weights": false, + "knowledge": "2024-12", "release_date": "2026-04-22", "last_updated": "2026-04-22", "cost": { @@ -246010,23 +252216,27 @@ "display_name": "Xiaomi: MiMo-V2.5-Pro", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 1048576, - "output": 131072 + "context": 1050000, + "output": 131000 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, + "knowledge": "2024-12", "release_date": "2026-04-22", "last_updated": "2026-04-22", "cost": { @@ -246060,12 +252270,14 @@ }, "attachment": false, "open_weights": true, + "knowledge": "2025-04", "release_date": "2025-07-28", - "last_updated": "2026-03-15", + "last_updated": "2025-07-28", "cost": { "input": 0.6, "output": 2.2, - "cache_read": 0.175 + "cache_read": 0.11, + "cache_write": 0 }, "type": "chat" }, @@ -246093,12 +252305,14 @@ }, "attachment": false, "open_weights": true, + "knowledge": "2025-04", "release_date": "2025-07-28", "last_updated": "2025-07-28", "cost": { - "input": 0.13, - "output": 0.85, - "cache_read": 0.025 + "input": 0.2, + "output": 1.1, + "cache_read": 0.03, + "cache_write": 0 }, "type": "chat" }, @@ -246116,12 +252330,12 @@ }, "limit": { "context": 200000, - "output": 65535 + "output": 200000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": true }, "extra_capabilities": { "reasoning": { @@ -246130,12 +252344,8 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "cost": { - "input": 0.4, - "output": 1.5 - }, + "release_date": "2025-10-11", + "last_updated": "2025-10-11", "type": "chat" }, { @@ -246144,8 +252354,8 @@ "display_name": "Z.AI: GLM 4.6V", "modalities": { "input": [ - "image", "text", + "image", "video" ], "output": [ @@ -246153,8 +252363,8 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 200000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -246163,12 +252373,14 @@ "default": true }, "attachment": true, - "open_weights": true, - "release_date": "2025-09-30", - "last_updated": "2026-01-10", + "open_weights": false, + "knowledge": "2025-01-01", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", "cost": { - "input": 0.3, - "output": 0.9 + "input": 0.14, + "output": 0.42, + "cache_read": 0.03 }, "type": "chat" }, @@ -246257,8 +252469,8 @@ ] }, "limit": { - "context": 202752, - "output": 65535 + "context": 200000, + "output": 200000 }, "temperature": true, "tool_call": true, @@ -246278,14 +252490,9 @@ } }, "attachment": false, - "open_weights": true, - "release_date": "2025-12-22", - "last_updated": "2026-03-15", - "cost": { - "input": 0.38, - "output": 1.98, - "cache_read": 0.2 - }, + "open_weights": false, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", "type": "chat" }, { @@ -246384,8 +252591,8 @@ ] }, "limit": { - "context": 202752, - "output": 131072 + "context": 200000, + "output": 128000 }, "temperature": true, "tool_call": true, @@ -246405,13 +252612,9 @@ } }, "attachment": false, - "open_weights": true, + "open_weights": false, "release_date": "2026-02-12", - "last_updated": "2026-03-15", - "cost": { - "input": 0.72, - "output": 2.3 - }, + "last_updated": "2026-02-12", "type": "chat" }, { @@ -246427,26 +252630,28 @@ ] }, "limit": { - "context": 202800, - "output": 131072 + "context": 200000, + "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { "supported": true } }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2026-03-15", - "last_updated": "2026-03-15", + "knowledge": "2025-01-01", + "release_date": "2026-03-20", + "last_updated": "2026-03-20", "cost": { - "input": 1.2, - "output": 4, - "cache_read": 0.24 + "input": 0.88, + "output": 3.48 }, "type": "chat" }, @@ -246463,7 +252668,7 @@ ] }, "limit": { - "context": 202752, + "context": 200000, "output": 131072 }, "temperature": true, @@ -246474,16 +252679,23 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, - "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "open_weights": false, + "release_date": "2026-04-03", + "last_updated": "2026-04-03", "cost": { - "input": 1.26, - "output": 3.96 + "input": 0.8781, + "output": 3.5126, + "cache_read": 0.1903 }, "type": "chat" }, @@ -246494,28 +252706,43 @@ "modalities": { "input": [ "text", - "image" + "image", + "video", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 202800, - "output": 131100 + "context": 200000, + "output": 128000 }, + "temperature": true, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, "attachment": true, "open_weights": false, "release_date": "2026-04-01", "last_updated": "2026-04-01", "cost": { - "input": 1.2, - "output": 4, - "cache_read": 0.24 + "input": 0.726, + "output": 3.1946, + "cache_read": 0.1743 }, "type": "chat" } diff --git a/scripts/afterPack.js b/scripts/afterPack.js index 720c3d6e3..279043ac7 100644 --- a/scripts/afterPack.js +++ b/scripts/afterPack.js @@ -39,6 +39,35 @@ function getFffBinaryPackages(platform, arch) { } } +function getParcelWatcherBinaryPackages(platform, arch) { + const archName = getArchName(arch) + + if (platform === 'darwin' && archName === 'universal') { + return ['@parcel/watcher-darwin-x64', '@parcel/watcher-darwin-arm64'] + } + + switch (`${platform}:${archName}`) { + case 'darwin:x64': + return ['@parcel/watcher-darwin-x64'] + case 'darwin:arm64': + return ['@parcel/watcher-darwin-arm64'] + case 'win32:x64': + return ['@parcel/watcher-win32-x64'] + case 'win32:arm64': + return ['@parcel/watcher-win32-arm64'] + case 'win32:ia32': + return ['@parcel/watcher-win32-ia32'] + case 'linux:x64': + return ['@parcel/watcher-linux-x64-glibc'] + case 'linux:arm64': + return ['@parcel/watcher-linux-arm64-glibc'] + case 'linux:armv7l': + return ['@parcel/watcher-linux-arm-glibc'] + default: + return [] + } +} + async function pathExists(filePath) { try { await fs.access(filePath) @@ -115,6 +144,34 @@ async function copyFffNativePackages(context) { } } +async function copyParcelWatcherNativePackages(context) { + const { arch, electronPlatformName, packager } = context + const packageNames = getParcelWatcherBinaryPackages(electronPlatformName, arch) + + if (packageNames.length === 0) { + return + } + + const nodeModulesDir = path.join(getResourcesDir(context), 'app.asar.unpacked', 'node_modules') + const parcelWatcherDir = path.join(nodeModulesDir, '@parcel', 'watcher') + + if (!(await pathExists(parcelWatcherDir))) { + throw new Error( + `Missing unpacked @parcel/watcher at ${parcelWatcherDir}. Check electron-builder asarUnpack configuration.` + ) + } + + const projectDir = packager?.projectDir ?? process.cwd() + + for (const packageName of packageNames) { + const sourceDir = await resolveInstalledPackageDir(projectDir, packageName) + const destinationDir = path.join(nodeModulesDir, ...packageName.split('/')) + + await fs.mkdir(path.dirname(destinationDir), { recursive: true }) + await fs.cp(sourceDir, destinationDir, { recursive: true, force: true, dereference: true }) + } +} + function isLinux(targets) { const re = /AppImage|snap|deb|rpm|freebsd|pacman/i return !!targets.find((target) => re.test(target.name)) @@ -132,6 +189,7 @@ async function afterPack(context) { const { targets, appOutDir } = context await copyFffNativePackages(context) + await copyParcelWatcherNativePackages(context) if (isLinux(targets)) { await afterPackLinux({ appOutDir }) diff --git a/scripts/architecture-guard.mjs b/scripts/architecture-guard.mjs index fef93c95d..42e3709fc 100644 --- a/scripts/architecture-guard.mjs +++ b/scripts/architecture-guard.mjs @@ -22,13 +22,15 @@ const MAIN_GUARD_PATHS = [ ] const RENDERER_SOURCE_ROOT = path.join(ROOT, 'src/renderer/src') +const RENDERER_SETTINGS_ROOT = path.join(ROOT, 'src/renderer/settings') +const RENDERER_BUSINESS_ROOTS = [RENDERER_SOURCE_ROOT, RENDERER_SETTINGS_ROOT] const RENDERER_TYPED_BOUNDARY_ROOT = path.join(ROOT, 'src/renderer/api') const RENDERER_QUARANTINE_ROOT = path.join(ROOT, 'src/renderer/api/legacy') -const RENDERER_QUARANTINE_ROOTS = [RENDERER_QUARANTINE_ROOT] +const RENDERER_QUARANTINE_ROOTS = [] const RETIRED_RENDERER_LEGACY_ENTRY_PATHS = [ - path.join(ROOT, 'src/renderer/src/composables/usePresenter.ts') + path.join(ROOT, 'src/renderer/src/composables/usePresenter.ts'), + RENDERER_QUARANTINE_ROOT ] -const RENDERER_QUARANTINE_MAX_SOURCE_FILES = 3 const RENDERER_TYPED_BOUNDARY_WINDOW_API_ALLOWLIST = [ path.join(ROOT, 'src/renderer/api/runtime.ts') ] @@ -63,6 +65,7 @@ const MIGRATED_RAW_CHANNEL_GUARD_PATHS = [ path.join(ROOT, 'src/renderer/src/stores/ui/pageRouter.ts'), path.join(ROOT, 'src/renderer/src/pages/ChatPage.vue'), path.join(ROOT, 'src/renderer/src/pages/NewThreadPage.vue'), + path.join(ROOT, 'src/renderer/settings'), path.join(ROOT, 'src/main/presenter/windowPresenter'), path.join(ROOT, 'src/main/presenter/configPresenter'), path.join(ROOT, 'src/main/presenter/agentSessionPresenter'), @@ -77,10 +80,7 @@ const MIGRATED_RAW_CHANNEL_GUARD_PATHS = [ path.join(ROOT, 'src/main/routes') ] -const MIGRATED_RAW_CHANNEL_BASELINE = new Map([ - ['src/main/presenter/windowPresenter/index.ts', 4], - ['src/renderer/src/App.vue', 1] -]) +const MIGRATED_RAW_CHANNEL_BASELINE = new Map() const HOT_PATH_FILES = [ path.join(ROOT, 'src/main/presenter/index.ts'), @@ -99,6 +99,8 @@ const LEGACY_PRESENTER_HELPER_CALL_PATTERN = /(? RENDERER_QUARANTINE_MAX_SOURCE_FILES) { - violations.push( - `[renderer-quarantine-growth] ${relativePath(RENDERER_QUARANTINE_ROOT)} expected <= ${RENDERER_QUARANTINE_MAX_SOURCE_FILES} source files, found ${quarantineFiles.length}` - ) - } - for (const retiredEntryPath of RETIRED_RENDERER_LEGACY_ENTRY_PATHS) { if (await pathExists(retiredEntryPath)) { violations.push( @@ -371,13 +360,14 @@ async function main() { const source = await fs.readFile(filePath, 'utf8') const specifiers = extractModuleSpecifiers(source) - if (isUnder(filePath, RENDERER_SOURCE_ROOT)) { + if (RENDERER_BUSINESS_ROOTS.some((root) => isUnder(filePath, root))) { const file = relativePath(filePath) const legacyPresenterHelperCount = countMatches( source, LEGACY_PRESENTER_HELPER_CALL_PATTERN ) const legacyPresenterImportCount = countMatches(source, LEGACY_PRESENTER_IMPORT_PATTERN) + const legacyRuntimeImportCount = countMatches(source, LEGACY_RUNTIME_IMPORT_PATTERN) const windowElectronCount = countMatches(source, WINDOW_ELECTRON_PATTERN) const windowApiCount = countMatches(source, WINDOW_API_PATTERN) const actualListenerCount = countMatches(source, IPC_RENDERER_LISTENER_PATTERN) @@ -388,6 +378,12 @@ async function main() { ) } + if (legacyRuntimeImportCount > 0) { + violations.push( + `[renderer-business-direct-legacy-runtime-import] ${file} must not import renderer legacy runtime helpers` + ) + } + if (legacyPresenterHelperCount > 0) { violations.push( `[renderer-business-direct-use-presenter] ${file} expected 0, found ${legacyPresenterHelperCount}` diff --git a/scripts/generate-architecture-baseline.mjs b/scripts/generate-architecture-baseline.mjs index fc5c29d9c..345d21e08 100644 --- a/scripts/generate-architecture-baseline.mjs +++ b/scripts/generate-architecture-baseline.mjs @@ -21,16 +21,22 @@ const ANALYSIS_TARGETS = [ root: path.join(ROOT, 'src/main') }, { - label: 'renderer', + label: 'renderer-main', root: path.join(ROOT, 'src/renderer/src') + }, + { + label: 'renderer-settings', + root: path.join(ROOT, 'src/renderer/settings') } ] const MAIN_SOURCE_ROOT = path.join(ROOT, 'src/main') const RENDERER_SOURCE_ROOT = path.join(ROOT, 'src/renderer/src') +const RENDERER_SETTINGS_ROOT = path.join(ROOT, 'src/renderer/settings') +const RENDERER_BUSINESS_ROOTS = [RENDERER_SOURCE_ROOT, RENDERER_SETTINGS_ROOT] const RENDERER_QUARANTINE_ROOT = path.join(ROOT, 'src/renderer/api/legacy') -const RENDERER_QUARANTINE_ROOTS = [RENDERER_QUARANTINE_ROOT] -const RENDERER_QUARANTINE_EXIT_MAX_FILES = 3 +const RENDERER_QUARANTINE_ROOTS = [] +const RENDERER_QUARANTINE_EXIT_MAX_FILES = 0 const BRIDGE_REGISTER_PATH = path.join( ROOT, 'docs/architecture/baselines/main-kernel-bridge-register.json' @@ -444,7 +450,7 @@ function combineCountMaps(...maps) { } async function collectRendererPatternCountsByLayer(pattern) { - const businessFiles = await walk(RENDERER_SOURCE_ROOT) + const businessFiles = await collectFilesFromTargets(RENDERER_BUSINESS_ROOTS) const quarantineFiles = await collectFilesFromTargets(RENDERER_QUARANTINE_ROOTS) const business = await collectPatternCounts(businessFiles, pattern) @@ -739,8 +745,8 @@ function renderBoundaryBaselineReport({ lines.push('## Renderer Single-Track Split') lines.push('') - lines.push('- Business layer: `src/renderer/src/**`') - lines.push('- Quarantine layer: `src/renderer/api/legacy/**`') + lines.push('- Business layer: `src/renderer/src/**`, `src/renderer/settings/**`') + lines.push('- Retired quarantine layer: `src/renderer/api/legacy/**` must remain deleted') lines.push('') lines.push('| Legacy surface | Business layer | Quarantine layer | Total |') lines.push('| --- | --- | --- | --- |') @@ -757,12 +763,12 @@ function renderBoundaryBaselineReport({ lines.push('## Quarantine Exit Snapshot') lines.push('') - lines.push('- Retained capability family: `renderer legacy transport`') + lines.push('- Retained capability family: none; `renderer legacy transport` is retired') lines.push( `- Source files: ${quarantineSourceFiles.length} / ${RENDERER_QUARANTINE_EXIT_MAX_FILES}` ) lines.push( - '- Delete condition: remove after settings compatibility surfaces stop importing the quarantine adapters.' + '- Delete condition: already satisfied; a recreated quarantine directory is a regression.' ) lines.push('') @@ -882,8 +888,11 @@ async function main() { } const archiveReferences = await collectArchiveReferences() - const mainAndRendererFiles = await collectFilesFromTargets([MAIN_SOURCE_ROOT, RENDERER_SOURCE_ROOT]) - const rendererBusinessFiles = await walk(RENDERER_SOURCE_ROOT) + const mainAndRendererFiles = await collectFilesFromTargets([ + MAIN_SOURCE_ROOT, + ...RENDERER_BUSINESS_ROOTS + ]) + const rendererBusinessFiles = await collectFilesFromTargets(RENDERER_BUSINESS_ROOTS) const quarantineExists = await pathExists(RENDERER_QUARANTINE_ROOT) const quarantineSourceFiles = await collectFilesFromTargets(RENDERER_QUARANTINE_ROOTS) const usePresenterCountsByLayer = await collectRendererPatternCountsByLayer( @@ -957,16 +966,19 @@ async function main() { const p2Ready = Object.values(p2PresenterCounts).every((count) => count === 0) const p3Ready = Object.values(p3PresenterCounts).every((count) => count === 0) const p4Ready = Object.values(p4PresenterCounts).every((count) => count === 0) - const p5Ready = p1Ready && quarantineSourceFiles.length <= RENDERER_QUARANTINE_EXIT_MAX_FILES + const p5Ready = + p1Ready && + !quarantineExists && + quarantineSourceFiles.length <= RENDERER_QUARANTINE_EXIT_MAX_FILES const phaseGates = [ { phase: 'P0', indicator: - 'Fixed quarantine path `src/renderer/api/legacy/**` exists and baseline emits business/quarantine split metrics', + 'Retired quarantine path `src/renderer/api/legacy/**` must remain deleted and baseline emits business/retired split metrics', current: quarantineExists - ? '`src/renderer/api/legacy/**` exists; split metrics emitted' - : '`src/renderer/api/legacy/**` missing', - status: quarantineExists ? 'ready' : 'blocked' + ? '`src/renderer/api/legacy/**` exists' + : '`src/renderer/api/legacy/**` deleted; split metrics emitted', + status: quarantineExists ? 'blocked' : 'ready' }, { phase: 'P1', @@ -1017,7 +1029,7 @@ async function main() { { phase: 'P5', indicator: - 'Business layer direct legacy access must be `0`, and quarantine source files must satisfy the exit standard (`<= 3` source files)', + 'Business layer direct legacy access must be `0`, and retired quarantine source files must stay at `0`', current: `businessLegacy=${metrics['renderer.business.usePresenter.count']}/` + `${metrics['renderer.business.windowElectron.count']}/` + diff --git a/src/main/appMain.ts b/src/main/appMain.ts index 32fddf512..f2a14fc97 100644 --- a/src/main/appMain.ts +++ b/src/main/appMain.ts @@ -4,9 +4,8 @@ import { LifecycleManager, registerCoreHooks } from './presenter/lifecyclePresen import { getInstance, Presenter } from './presenter' import { electronApp } from '@electron-toolkit/utils' import log from 'electron-log' -import { eventBus, SendTarget } from './eventbus' -import { NOTIFICATION_EVENTS } from './events' import { registerWorkspacePreviewSchemes } from './presenter/workspacePresenter/workspacePreviewProtocol' +import { publishDeepchatEvent } from './routes/publishDeepchatEvent' import { findDeepLinkArg, findStartupDeepLink, @@ -25,6 +24,11 @@ export function startApp(): void { } appStarted = true + const e2eUserDataDir = process.env.DEEPCHAT_E2E_USER_DATA_DIR?.trim() + if (e2eUserDataDir) { + app.setPath('userData', e2eUserDataDir) + } + app.setName(APP_NAME) if (process.platform === 'darwin') { if (app.isReady()) { @@ -55,7 +59,7 @@ export function startApp(): void { if (isNetworkError) { // Send error to renderer to show a toast notification // This is "elegant" and non-blocking - eventBus.sendToRenderer(NOTIFICATION_EVENTS.SHOW_ERROR, SendTarget.ALL_WINDOWS, { + publishDeepchatEvent('notification.error', { id: Date.now().toString(), title: 'Network Error', message: msg, diff --git a/src/main/contextMenuHelper.ts b/src/main/contextMenuHelper.ts index 31487c16f..594ed8a8b 100644 --- a/src/main/contextMenuHelper.ts +++ b/src/main/contextMenuHelper.ts @@ -2,6 +2,7 @@ import logger from '@shared/logger' import { BrowserWindow, Menu, MenuItemConstructorOptions, WebContents, dialog, net } from 'electron' import path from 'path' import sharp from 'sharp' +import { publishDeepchatEventToWebContents } from './routes/publishDeepchatEvent' interface ContextMenuOptions { webContents: WebContents @@ -249,11 +250,14 @@ export default function contextMenu(options: ContextMenuOptions): () => void { id: 'translate', label: options.labels?.translate || '翻译', click: () => { - options.webContents.send( - 'context-menu-translate', - params.selectionText, - params.x, - params.y + publishDeepchatEventToWebContents( + options.webContents.id, + 'contextMenu.translateRequested', + { + text: params.selectionText, + x: params.x, + y: params.y + } ) } }) @@ -263,7 +267,9 @@ export default function contextMenu(options: ContextMenuOptions): () => void { id: 'askAI', label: options.labels?.askAI || '询问AI', click: () => { - options.webContents.send('context-menu-ask-ai', params.selectionText) + publishDeepchatEventToWebContents(options.webContents.id, 'contextMenu.askAiRequested', { + text: params.selectionText + }) } }) } diff --git a/src/main/eventbus.ts b/src/main/eventbus.ts index 2a7a47e77..b3625b4c1 100644 --- a/src/main/eventbus.ts +++ b/src/main/eventbus.ts @@ -1,187 +1,9 @@ -import { IWindowPresenter, ITabPresenter } from '@shared/presenter' import EventEmitter from 'events' -export enum SendTarget { - ALL_WINDOWS = 'all_windows', - DEFAULT_WINDOW = 'default_window', - DEFAULT_TAB = 'default_tab' -} - export class EventBus extends EventEmitter { - private windowPresenter: IWindowPresenter | null = null - - constructor() { - super() - } - /** - * 仅向主进程发送事件 - */ - sendToMain(eventName: string, ...args: unknown[]) { + sendToMain(eventName: string, ...args: unknown[]): void { super.emit(eventName, ...args) } - - sendToWindow(eventName: string, windowId: number, ...args: unknown[]) { - if (!this.windowPresenter) { - console.warn('WindowPresenter not available, cannot send to window') - return - } - this.windowPresenter.sendToWindow(windowId, eventName, ...args) - } - /** - * 向渲染进程发送事件 - * @param eventName 事件名称 - * @param target 发送目标:所有窗口或默认窗口 - * @param args 事件参数 - */ - sendToRenderer( - eventName: string, - target: SendTarget = SendTarget.ALL_WINDOWS, - ...args: unknown[] - ) { - if (!this.windowPresenter) { - console.warn('WindowPresenter not available, cannot send to renderer') - return - } - - this.dispatchToRenderer(this.windowPresenter, eventName, target, ...args) - } - - /** - * 向渲染进程发送事件(如果窗口展示器已可用) - * @returns 是否已发送到渲染进程 - */ - sendToRendererIfAvailable( - eventName: string, - target: SendTarget = SendTarget.ALL_WINDOWS, - ...args: unknown[] - ): boolean { - if (!this.windowPresenter) { - return false - } - - this.dispatchToRenderer(this.windowPresenter, eventName, target, ...args) - return true - } - - private dispatchToRenderer( - windowPresenter: IWindowPresenter, - eventName: string, - target: SendTarget = SendTarget.ALL_WINDOWS, - ...args: unknown[] - ) { - switch (target) { - case SendTarget.ALL_WINDOWS: - windowPresenter.sendToAllWindows(eventName, ...args) - break - case SendTarget.DEFAULT_WINDOW: - windowPresenter.sendToDefaultWindow(eventName, true, ...args) - break - case SendTarget.DEFAULT_TAB: - windowPresenter.sendToDefaultTab(eventName, true, ...args) - break - default: - windowPresenter.sendToAllWindows(eventName, ...args) - } - } - - /** - * 同时发送到主进程和渲染进程 - * @param eventName 事件名称 - * @param target 发送目标 - * @param args 事件参数 - */ - send(eventName: string, target: SendTarget = SendTarget.ALL_WINDOWS, ...args: unknown[]) { - // 发送到主进程 - this.sendToMain(eventName, ...args) - - // 发送到渲染进程(启动早期没有窗口时静默跳过) - this.sendToRendererIfAvailable(eventName, target, ...args) - } - - /** - * 设置窗口展示器(用于向渲染进程发送消息) - */ - setWindowPresenter(windowPresenter: IWindowPresenter) { - this.windowPresenter = windowPresenter - } - - /** - * 设置Tab展示器(用于兼容旧的 BrowserView 路由) - */ - setTabPresenter(_tabPresenter: ITabPresenter) { - // Intentionally kept as a compatibility hook for legacy initialization paths. - } - - /** - * 向指定 webContents 发送事件 - * @param webContentsId webContents ID - * @param eventName 事件名称 - * @param args 事件参数 - */ - sendToWebContents(webContentsId: number, eventName: string, ...args: unknown[]) { - if (!this.windowPresenter) { - console.warn('WindowPresenter not available, cannot send to specific webContents') - return - } - - this.windowPresenter - .sendToWebContents(webContentsId, eventName, ...args) - .then((sent) => { - if (!sent) { - console.warn( - `webContents ${webContentsId} not found or destroyed, cannot send event ${eventName}` - ) - } - }) - .catch((error) => { - console.error(`Error sending event ${eventName} to webContents ${webContentsId}:`, error) - }) - } - - /** - * Deprecated alias for webContents routing. - * @param windowId 窗口ID - * @param eventName 事件名称 - * @param args 事件参数 - */ - sendToActiveTab(windowId: number, eventName: string, ...args: unknown[]) { - if (!this.windowPresenter) { - console.warn('WindowPresenter not available, cannot send to active window content') - return - } - - this.windowPresenter - .sendToActiveTab(windowId, eventName, ...args) - .then((sent) => { - if (!sent) { - console.warn(`No active content found for window ${windowId}`) - } - }) - .catch((error) => { - console.error(`Error getting active content for window ${windowId}:`, error) - }) - } - - /** - * 向多个 webContents 广播事件 - * @param webContentsIds webContents ID数组 - * @param eventName 事件名称 - * @param args 事件参数 - */ - broadcastToWebContents(webContentsIds: number[], eventName: string, ...args: unknown[]) { - webContentsIds.forEach((webContentsId) => - this.sendToWebContents(webContentsId, eventName, ...args) - ) - } - - sendToTab(tabId: number, eventName: string, ...args: unknown[]) { - this.sendToWebContents(tabId, eventName, ...args) - } - - broadcastToTabs(tabIds: number[], eventName: string, ...args: unknown[]) { - this.broadcastToWebContents(tabIds, eventName, ...args) - } } -// 创建全局事件总线实例 export const eventBus = new EventBus() diff --git a/src/main/events.ts b/src/main/events.ts index 898923cc8..09ebc8e5f 100644 --- a/src/main/events.ts +++ b/src/main/events.ts @@ -1,3 +1,5 @@ +export { FLOATING_BUTTON_EVENTS } from '@shared/floatingButtonChannels' + /** * 事件系统常量定义 * @@ -40,10 +42,8 @@ export const CONFIG_EVENTS = { OAUTH_LOGIN_SUCCESS: 'config:oauth-login-success', // OAuth登录成功 OAUTH_LOGIN_ERROR: 'config:oauth-login-error', // OAuth登录失败 THEME_CHANGED: 'config:theme-changed', // 主题变更事件 - FONT_SIZE_CHANGED: 'config:font-size-changed', // 字体大小变更事件 DEFAULT_SYSTEM_PROMPT_CHANGED: 'config:default-system-prompt-changed', // Default system prompt changed event CUSTOM_PROMPTS_CHANGED: 'config:custom-prompts-changed', // 自定义提示词变更事件 - NOWLEDGE_MEM_CONFIG_UPDATED: 'config:nowledge-mem-config-updated', // Nowledge-mem configuration updated event DEFAULT_PROJECT_PATH_CHANGED: 'config:default-project-path-changed', AGENTS_CHANGED: 'config:agents-changed' } @@ -54,36 +54,6 @@ export const PROVIDER_DB_EVENTS = { UPDATED: 'provider-db:updated' // 远端刷新成功 } -// 会话相关事件 -export const CONVERSATION_EVENTS = { - LIST_UPDATED: 'conversation:list-updated', // 用于推送完整的会话列表 - - ACTIVATED: 'conversation:activated', // 替代 conversation-activated - DEACTIVATED: 'conversation:deactivated', // 替代 active-conversation-cleared - MESSAGE_EDITED: 'conversation:message-edited', // 替代 message-edited - SCROLL_TO_MESSAGE: 'conversation:scroll-to-message', - - MESSAGE_GENERATED: 'conversation:message-generated' // 主进程内部事件,一条完整的消息已生成 -} - -// 通信相关事件 -export const STREAM_EVENTS = { - RESPONSE: 'stream:response', // 替代 stream-response - END: 'stream:end', // 替代 stream-end - ERROR: 'stream:error', // 替代 stream-error - PERMISSION_UPDATED: 'stream:permission-updated' // 权限状态更新,通知前端刷新UI -} - -// New agent session events -export const SESSION_EVENTS = { - LIST_UPDATED: 'session:list-updated', - ACTIVATED: 'session:activated', - DEACTIVATED: 'session:deactivated', - STATUS_CHANGED: 'session:status-changed', - COMPACTION_UPDATED: 'session:compaction-updated', - PENDING_INPUTS_UPDATED: 'session:pending-inputs-updated' -} - // 系统相关事件 export const SYSTEM_EVENTS = { SYSTEM_THEME_UPDATED: 'system:theme-updated' @@ -91,10 +61,6 @@ export const SYSTEM_EVENTS = { // 应用更新相关事件 export const UPDATE_EVENTS = { - STATUS_CHANGED: 'update:status-changed', // 替代 update-status-changed - ERROR: 'update:error', // 替代 update-error - PROGRESS: 'update:progress', // 下载进度 - WILL_RESTART: 'update:will-restart', // 准备重启 STATE_CHANGED: 'update:state-changed' // 更新状态变化(用于生命周期管理通信) } @@ -122,70 +88,34 @@ export const WINDOW_EVENTS = { // Settings related events export const SETTINGS_EVENTS = { - READY: 'settings:ready', - NAVIGATE: 'settings:navigate', - CHECK_FOR_UPDATES: 'settings:check-for-updates', - PROVIDER_INSTALL: 'settings:provider-install' + NAVIGATE: 'settings:navigate' } export const DEV_EVENTS = { START_GUIDED_ONBOARDING: 'dev:start-guided-onboarding' } -// ollama 相关事件 -export const OLLAMA_EVENTS = { - PULL_MODEL_PROGRESS: 'ollama:pull-model-progress' -} - // MCP 相关事件 export const MCP_EVENTS = { SERVER_STARTED: 'mcp:server-started', SERVER_STOPPED: 'mcp:server-stopped', CONFIG_CHANGED: 'mcp:config-changed', - TOOL_CALL_RESULT: 'mcp:tool-call-result', SERVER_STATUS_CHANGED: 'mcp:server-status-changed', CLIENT_LIST_UPDATED: 'mcp:client-list-updated', - INITIALIZED: 'mcp:initialized', // 新增:MCP初始化完成事件 - SAMPLING_REQUEST: 'mcp:sampling-request', - SAMPLING_DECISION: 'mcp:sampling-decision', - SAMPLING_CANCELLED: 'mcp:sampling-cancelled' + INITIALIZED: 'mcp:initialized' // 新增:MCP初始化完成事件 } // 同步相关事件 export const SYNC_EVENTS = { - BACKUP_STARTED: 'sync:backup-started', - BACKUP_COMPLETED: 'sync:backup-completed', - BACKUP_ERROR: 'sync:backup-error', - BACKUP_STATUS_CHANGED: 'sync:backup-status-changed', - IMPORT_STARTED: 'sync:import-started', - IMPORT_COMPLETED: 'sync:import-completed', - IMPORT_ERROR: 'sync:import-error', DATA_CHANGED: 'sync:data-changed' } -// 速率限制相关事件 -export const RATE_LIMIT_EVENTS = { - CONFIG_UPDATED: 'rate-limit:config-updated', - REQUEST_QUEUED: 'rate-limit:request-queued', - REQUEST_EXECUTED: 'rate-limit:request-executed', - LIMIT_EXCEEDED: 'rate-limit:limit-exceeded' -} - // DeepLink 相关事件 export const DEEPLINK_EVENTS = { - PROTOCOL_RECEIVED: 'deeplink:protocol-received', START: 'deeplink:start', MCP_INSTALL: 'deeplink:mcp-install' } -// 全局通知相关事件 -export const NOTIFICATION_EVENTS = { - SHOW_ERROR: 'notification:show-error', // 显示错误通知 - DATABASE_REPAIR_SUGGESTED: 'notification:database-repair-suggested', - SYS_NOTIFY_CLICKED: 'notification:sys-notify-clicked', // 系统通知点击事件 - DATA_RESET_COMPLETE_DEV: 'notification:data-reset-complete-dev' // 开发环境数据重置完成通知 -} - export const SHORTCUT_EVENTS = { ZOOM_IN: 'shortcut:zoom-in', ZOOM_OUT: 'shortcut:zoom-out', @@ -202,7 +132,6 @@ export const SHORTCUT_EVENTS = { // 标签页相关事件 export const TAB_EVENTS = { - TITLE_UPDATED: 'tab:title-updated', // 标签页标题更新 CONTENT_UPDATED: 'tab:content-updated', // 标签页内容更新 STATE_CHANGED: 'tab:state-changed', // 标签页状态变化 VISIBILITY_CHANGED: 'tab:visibility-changed', // 标签页可见性变化 @@ -211,58 +140,12 @@ export const TAB_EVENTS = { CLOSED: 'tab:closed' // 标签页被关闭事件 } -// Yo Browser 相关事件 -export const YO_BROWSER_EVENTS = { - OPEN_REQUESTED: 'yo-browser:open-requested', - WINDOW_CREATED: 'yo-browser:window-created', - WINDOW_UPDATED: 'yo-browser:window-updated', - WINDOW_CLOSED: 'yo-browser:window-closed', - WINDOW_FOCUSED: 'yo-browser:window-focused', - WINDOW_COUNT_CHANGED: 'yo-browser:window-count-changed', - WINDOW_VISIBILITY_CHANGED: 'yo-browser:window-visibility-changed' -} - // 托盘相关事件 export const TRAY_EVENTS = { SHOW_HIDDEN_WINDOW: 'tray:show-hidden-window', // 从托盘显示/隐藏窗口 CHECK_FOR_UPDATES: 'tray:check-for-updates' // 托盘检查更新 } -// 悬浮按钮相关事件 -export const FLOATING_BUTTON_EVENTS = { - CLICKED: 'floating-button:clicked', // 悬浮按钮被点击 - RIGHT_CLICKED: 'floating-button:right-clicked', // 悬浮按钮被右键点击 - VISIBILITY_CHANGED: 'floating-button:visibility-changed', // 悬浮按钮显示状态改变 - POSITION_CHANGED: 'floating-button:position-changed', // 悬浮按钮位置改变 - ENABLED_CHANGED: 'floating-button:enabled-changed', // 悬浮按钮启用状态改变 - HOVER_STATE_CHANGED: 'floating-button:hover-state-changed', - SNAPSHOT_REQUEST: 'floating-button:snapshot-request', - SNAPSHOT_UPDATED: 'floating-button:snapshot-updated', - LANGUAGE_REQUEST: 'floating-button:language-request', - LANGUAGE_CHANGED: 'floating-button:language-changed', - THEME_REQUEST: 'floating-button:theme-request', - THEME_CHANGED: 'floating-button:theme-changed', - ACP_REGISTRY_ICON_REQUEST: 'floating-button:acp-registry-icon-request', - TOGGLE_EXPANDED: 'floating-button:toggle-expanded', - SET_EXPANDED: 'floating-button:set-expanded', - OPEN_SESSION: 'floating-button:open-session', - DRAG_START: 'floating-button:drag-start', // 悬浮按钮开始拖拽 - DRAG_MOVE: 'floating-button:drag-move', // 悬浮按钮拖拽移动 - DRAG_END: 'floating-button:drag-end' // 悬浮按钮结束拖拽 -} - -// Dialog related events -export const DIALOG_EVENTS = { - REQUEST: 'dialog:request', // Main -> Renderer: Request to show dialog - RESPONSE: 'dialog:response' // Renderer -> Main: Dialog result response -} - -// Knowledge base events -export const RAG_EVENTS = { - FILE_UPDATED: 'rag:file-updated', // File status update - FILE_PROGRESS: 'rag:file-progress' // File processing progress update -} - // Lifecycle management events export const LIFECYCLE_EVENTS = { PHASE_STARTED: 'lifecycle:phase-started', // Lifecycle phase started @@ -274,43 +157,3 @@ export const LIFECYCLE_EVENTS = { PROGRESS_UPDATED: 'lifecycle:progress-updated', // Lifecycle progress updated SHUTDOWN_REQUESTED: 'lifecycle:shutdown-requested' // Application shutdown requested } - -// Workspace events -export const WORKSPACE_EVENTS = { - INVALIDATED: 'workspace:files-changed', // Workspace invalidation event - FILES_CHANGED: 'workspace:files-changed' // Legacy alias -} - -// ACP-specific workspace events -export const ACP_WORKSPACE_EVENTS = { - SESSION_MODES_READY: 'acp-workspace:session-modes-ready', // Session modes available - SESSION_COMMANDS_READY: 'acp-workspace:session-commands-ready', // Session commands available - SESSION_CONFIG_OPTIONS_READY: 'acp-workspace:session-config-options-ready' // Session config options available -} - -export const ACP_DEBUG_EVENTS = { - EVENT: 'acp-debug:event' -} - -// Skills system events -export const SKILL_EVENTS = { - DISCOVERED: 'skill:discovered', // Skills discovery completed - METADATA_UPDATED: 'skill:metadata-updated', // Metadata hot-reload updated - INSTALLED: 'skill:installed', // Skill installation completed - UNINSTALLED: 'skill:uninstalled', // Skill uninstallation completed - ACTIVATED: 'skill:activated', // Skill activated in session - DEACTIVATED: 'skill:deactivated' // Skill deactivated in session -} - -// Skill sync events (cross-tool synchronization) -export const SKILL_SYNC_EVENTS = { - SCAN_STARTED: 'skill-sync:scan-started', // Scan operation started - SCAN_COMPLETED: 'skill-sync:scan-completed', // Scan operation completed - NEW_DISCOVERIES: 'skill-sync:new-discoveries', // New skills discovered (after comparing with cache) - IMPORT_STARTED: 'skill-sync:import-started', // Import operation started - IMPORT_PROGRESS: 'skill-sync:import-progress', // Import progress update - IMPORT_COMPLETED: 'skill-sync:import-completed', // Import operation completed - EXPORT_STARTED: 'skill-sync:export-started', // Export operation started - EXPORT_PROGRESS: 'skill-sync:export-progress', // Export progress update - EXPORT_COMPLETED: 'skill-sync:export-completed' // Export operation completed -} diff --git a/src/main/fileWatcherUtilityHostEntry.ts b/src/main/fileWatcherUtilityHostEntry.ts new file mode 100644 index 000000000..a306062f6 --- /dev/null +++ b/src/main/fileWatcherUtilityHostEntry.ts @@ -0,0 +1,5 @@ +import { runFileWatcherUtilityHostIfRequested } from './lib/fileWatcher/fileWatcherUtilityHost' + +if (!runFileWatcherUtilityHostIfRequested()) { + throw new Error('File watcher utility host entrypoint started outside a utility process.') +} diff --git a/src/main/lib/agentRuntime/rtkRuntimeService.ts b/src/main/lib/agentRuntime/rtkRuntimeService.ts index 4d2bba7be..f41da2599 100644 --- a/src/main/lib/agentRuntime/rtkRuntimeService.ts +++ b/src/main/lib/agentRuntime/rtkRuntimeService.ts @@ -117,18 +117,25 @@ function getErrorMessage(error: unknown): string { return String(error) } +function isRtkRewriteCommand(command: string): boolean { + const token = command.match(/^(?:"([^"]+)"|'([^']+)'|(\S+))/) + const firstToken = token?.[1] || token?.[2] || token?.[3] || '' + const normalized = path.basename(firstToken).toLowerCase() + return normalized === 'rtk' || normalized === 'rtk.exe' +} + function classifyRtkRewriteResult(result: CommandResult): RtkRewriteResult { const stdout = result.stdout.trim() const stderr = result.stderr.trim() - if (result.code === 0 && stdout) { + if (result.code === 0 && stdout && isRtkRewriteCommand(stdout)) { return { status: 'rewritten', command: stdout } } - if (result.code === 3 && stdout && /No hook installed/i.test(stderr)) { + if (result.code === 3 && stdout && isRtkRewriteCommand(stdout)) { return { status: 'rewritten', command: stdout diff --git a/src/main/lib/agentRuntime/shellEnvHelper.ts b/src/main/lib/agentRuntime/shellEnvHelper.ts index 2505d8fd3..a25ceb687 100644 --- a/src/main/lib/agentRuntime/shellEnvHelper.ts +++ b/src/main/lib/agentRuntime/shellEnvHelper.ts @@ -1,7 +1,7 @@ -import logger from '@shared/logger' import { spawn } from 'child_process' import fs from 'fs' import * as path from 'path' +import logger from './backgroundExecLogger' const PATH_ENV_KEYS = ['PATH', 'Path', 'path'] as const const NODE_ENV_KEYS = [ diff --git a/src/main/lib/fileWatcher/eventCoalescer.ts b/src/main/lib/fileWatcher/eventCoalescer.ts new file mode 100644 index 000000000..90ed2be19 --- /dev/null +++ b/src/main/lib/fileWatcher/eventCoalescer.ts @@ -0,0 +1,71 @@ +import path from 'path' +import type { WatcherEvent } from './watcherTypes' + +const normalizeEventKey = (filePath: string): string => { + const comparablePath = + process.platform === 'darwin' && filePath.startsWith('/private/') + ? filePath.slice('/private'.length) + : filePath + const normalized = path.normalize(comparablePath) + return process.platform === 'win32' ? normalized.toLowerCase() : normalized +} + +const isDescendantOf = (candidate: string, parent: string): boolean => { + const relative = path.relative(parent, candidate) + return Boolean(relative) && !relative.startsWith('..') && !path.isAbsolute(relative) +} + +function mergeEvent(previous: WatcherEvent, next: WatcherEvent): WatcherEvent | null { + if (previous.type === 'create' && next.type === 'delete') { + return null + } + + if (previous.type === 'delete' && next.type === 'create') { + return { + path: next.path, + type: 'update' + } + } + + if (previous.type === 'create' && next.type === 'update') { + return previous + } + + return next +} + +export function coalesceWatcherEvents(events: WatcherEvent[]): WatcherEvent[] { + const byPath = new Map() + + for (const event of events) { + const key = normalizeEventKey(event.path) + const previous = byPath.get(key) + if (!previous) { + byPath.set(key, event) + continue + } + + const merged = mergeEvent(previous, event) + if (merged) { + byPath.set(key, merged) + } else { + byPath.delete(key) + } + } + + const mergedEvents = Array.from(byPath.values()) + const deletedParents = mergedEvents + .filter((event) => event.type === 'delete') + .map((event) => normalizeEventKey(event.path)) + + return mergedEvents.filter((event) => { + if (event.type !== 'delete') { + return true + } + + const normalized = normalizeEventKey(event.path) + return !deletedParents.some( + (deletedParent) => deletedParent !== normalized && isDescendantOf(normalized, deletedParent) + ) + }) +} diff --git a/src/main/lib/fileWatcher/fileWatcherUtilityHost.ts b/src/main/lib/fileWatcher/fileWatcherUtilityHost.ts new file mode 100644 index 000000000..344335129 --- /dev/null +++ b/src/main/lib/fileWatcher/fileWatcherUtilityHost.ts @@ -0,0 +1,125 @@ +import { FileWatcherHost } from './watcherHost' +import type { FileWatcherRpcRequest, FileWatcherRpcResponse } from './watcherTypes' + +const FILE_WATCHER_HOST_ARG = '--deepchat-file-watcher-host' + +type ParentPort = { + postMessage(message: unknown): void + on(event: 'message', listener: (message: unknown) => void): void + start?(): void +} + +type ParentPortMessageEvent = { + data?: unknown +} + +function getParentPort(): ParentPort | null { + const maybeProcess = process as NodeJS.Process & { + parentPort?: ParentPort + } + return maybeProcess.parentPort ?? null +} + +function isFileWatcherHostRequest(): boolean { + return ( + process.env.DEEPCHAT_FILE_WATCHER_HOST === '1' || process.argv.includes(FILE_WATCHER_HOST_ARG) + ) +} + +function getParentPortMessagePayload(message: unknown): unknown { + if (isFileWatcherRpcRequest(message)) { + return message + } + + if (message && typeof message === 'object' && 'data' in message) { + return (message as ParentPortMessageEvent).data + } + + return message +} + +function serializeError(error: unknown): { message: string; stack?: string } { + if (error instanceof Error) { + return { + message: error.message, + stack: error.stack + } + } + + return { + message: String(error) + } +} + +function isFileWatcherRpcRequest(message: unknown): message is FileWatcherRpcRequest { + return ( + Boolean(message) && + typeof message === 'object' && + (message as FileWatcherRpcRequest).type === 'file-watcher:request' + ) +} + +function sendResponse(parentPort: ParentPort, response: FileWatcherRpcResponse): void { + parentPort.postMessage(response) +} + +async function handleRequest( + host: FileWatcherHost, + parentPort: ParentPort, + request: FileWatcherRpcRequest +): Promise { + try { + const target = host as unknown as Record unknown> + const method = target[request.method] + if (typeof method !== 'function') { + throw new Error(`Unknown file watcher method: ${request.method}`) + } + + const data = await method.apply(host, request.args) + sendResponse(parentPort, { + type: 'file-watcher:response', + id: request.id, + ok: true, + data + }) + } catch (error) { + sendResponse(parentPort, { + type: 'file-watcher:response', + id: request.id, + ok: false, + error: serializeError(error) + }) + } +} + +export function runFileWatcherUtilityHostIfRequested(): boolean { + if (!isFileWatcherHostRequest()) { + return false + } + + const parentPort = getParentPort() + if (!parentPort) { + throw new Error('File watcher utility host started without a parent port.') + } + + const host = new FileWatcherHost({ + postMessage: (message) => parentPort.postMessage(message) + }) + const keepAliveIntervalId = setInterval(() => {}, 2 ** 31 - 1) + parentPort.start?.() + + parentPort.on('message', (message) => { + const request = getParentPortMessagePayload(message) + if (!isFileWatcherRpcRequest(request)) { + return + } + void handleRequest(host, parentPort, request) + }) + + process.once('beforeExit', () => { + clearInterval(keepAliveIntervalId) + void host.shutdown() + }) + + return true +} diff --git a/src/main/lib/fileWatcher/index.ts b/src/main/lib/fileWatcher/index.ts new file mode 100644 index 000000000..a3fa78247 --- /dev/null +++ b/src/main/lib/fileWatcher/index.ts @@ -0,0 +1,4 @@ +export * from './watcherTypes' +export * from './watcherService' +export * from './watcherPool' +export * from './eventCoalescer' diff --git a/src/main/lib/fileWatcher/watcherHost.ts b/src/main/lib/fileWatcher/watcherHost.ts new file mode 100644 index 000000000..5798a3cb7 --- /dev/null +++ b/src/main/lib/fileWatcher/watcherHost.ts @@ -0,0 +1,357 @@ +import fs from 'fs' +import os from 'os' +import path from 'path' +import parcelWatcher from '@parcel/watcher' +import { coalesceWatcherEvents } from './eventCoalescer' +import type { + FileWatcherHostEvent, + WatcherEvent, + WatcherEventBatch, + WatchMode, + WatchRequest, + WatcherStatus +} from './watcherTypes' + +const FILE_CHANGES_HANDLER_DELAY_MS = 75 +const MAX_BUFFERED_EVENTS = 30000 +const MAX_EVENT_CHUNK_SIZE = 500 +const EVENT_CHUNK_DELAY_MS = 200 +const SNAPSHOT_POLL_INTERVAL_MS = 5007 + +type ParcelSubscription = Awaited> + +type HostTransport = { + postMessage(message: FileWatcherHostEvent): void +} + +type ActiveWatch = { + request: WatchRequest + mode: WatchMode + subscription: ParcelSubscription | null + buffer: WatcherEvent[] + flushTimer: NodeJS.Timeout | null + chunkTimer: NodeJS.Timeout | null + pollTimer: NodeJS.Timeout | null + snapshotPath: string | null + disposed: boolean +} + +const serializeErrorMessage = (error: unknown): string => { + if (error instanceof Error) { + return error.message + } + return String(error) +} + +const toWatcherEvents = (events: parcelWatcher.Event[]): WatcherEvent[] => + events.map((event) => ({ + path: event.path, + type: event.type + })) + +export class FileWatcherHost { + private readonly watches = new Map() + + constructor(private readonly transport: HostTransport) {} + + async watch(request: WatchRequest): Promise { + await this.unwatch(request.id) + + const activeWatch: ActiveWatch = { + request, + mode: 'native', + subscription: null, + buffer: [], + flushTimer: null, + chunkTimer: null, + pollTimer: null, + snapshotPath: null, + disposed: false + } + + this.watches.set(request.id, activeWatch) + + try { + const subscription = await parcelWatcher.subscribe( + request.rootPath, + (error, events) => { + if (error) { + void this.handleNativeError(activeWatch, error) + return + } + this.enqueueEvents(activeWatch, toWatcherEvents(events)) + }, + { + ignore: request.excludes + } + ) + + if (activeWatch.disposed) { + await subscription.unsubscribe() + return + } + + activeWatch.subscription = subscription + this.sendStatus(activeWatch, { + health: 'healthy', + mode: 'native', + reason: 'ready' + }) + } catch (error) { + await this.handleNativeError(activeWatch, error) + } + } + + async unwatch(watchId: string): Promise { + const activeWatch = this.watches.get(watchId) + if (!activeWatch) { + return + } + + this.watches.delete(watchId) + await this.disposeActiveWatch(activeWatch) + } + + async shutdown(): Promise { + const activeWatches = Array.from(this.watches.values()) + this.watches.clear() + await Promise.all(activeWatches.map((activeWatch) => this.disposeActiveWatch(activeWatch))) + } + + private async handleNativeError(activeWatch: ActiveWatch, error: unknown): Promise { + if (activeWatch.disposed) { + return + } + + const message = serializeErrorMessage(error) + this.sendStatus(activeWatch, { + health: 'degraded', + mode: activeWatch.request.fallbackMode ?? 'snapshot-polling', + reason: 'native-error', + message + }) + + await this.startFallback(activeWatch, message) + } + + private async startFallback(activeWatch: ActiveWatch, message?: string): Promise { + if (activeWatch.disposed) { + return + } + + await this.unsubscribeNative(activeWatch) + activeWatch.mode = activeWatch.request.fallbackMode ?? 'snapshot-polling' + + if (activeWatch.mode === 'git-metadata-polling') { + this.startSnapshotPolling(activeWatch, message) + return + } + + this.startSnapshotPolling(activeWatch, message) + } + + private startSnapshotPolling(activeWatch: ActiveWatch, message?: string): void { + const snapshotPath = path.join( + os.tmpdir(), + `deepchat-watcher-${process.pid}-${activeWatch.request.id}.snapshot` + ) + activeWatch.snapshotPath = snapshotPath + + const poll = async () => { + if (activeWatch.disposed) { + return + } + + try { + if (!fs.existsSync(activeWatch.request.rootPath)) { + this.enqueueEvents(activeWatch, [ + { + path: activeWatch.request.rootPath, + type: 'root-deleted' + } + ]) + this.sendStatus(activeWatch, { + health: 'failed', + mode: activeWatch.mode, + reason: 'root-deleted' + }) + if (activeWatch.pollTimer) { + clearInterval(activeWatch.pollTimer) + activeWatch.pollTimer = null + } + return + } + + if (!fs.existsSync(snapshotPath)) { + await parcelWatcher.writeSnapshot(activeWatch.request.rootPath, snapshotPath, { + ignore: activeWatch.request.excludes + }) + this.sendStatus(activeWatch, { + health: 'degraded', + mode: activeWatch.mode, + reason: 'fallback-started', + message + }) + return + } + + const events = await parcelWatcher.getEventsSince( + activeWatch.request.rootPath, + snapshotPath, + { + ignore: activeWatch.request.excludes + } + ) + await parcelWatcher.writeSnapshot(activeWatch.request.rootPath, snapshotPath, { + ignore: activeWatch.request.excludes + }) + this.enqueueEvents(activeWatch, toWatcherEvents(events)) + } catch (error) { + this.sendStatus(activeWatch, { + health: 'failed', + mode: activeWatch.mode, + reason: 'native-error', + message: serializeErrorMessage(error) + }) + } + } + + activeWatch.pollTimer = setInterval(() => { + void poll() + }, SNAPSHOT_POLL_INTERVAL_MS) + void poll() + } + + private enqueueEvents(activeWatch: ActiveWatch, events: WatcherEvent[]): void { + if (activeWatch.disposed || events.length === 0) { + return + } + + activeWatch.buffer.push(...events) + if (activeWatch.buffer.length > MAX_BUFFERED_EVENTS) { + activeWatch.buffer = [ + { + path: activeWatch.request.rootPath, + type: 'overflow' + } + ] + this.sendStatus(activeWatch, { + health: 'degraded', + mode: activeWatch.mode, + reason: 'overflow', + message: `Buffered watcher events exceeded ${MAX_BUFFERED_EVENTS}.` + }) + } + + if (activeWatch.flushTimer) { + return + } + + activeWatch.flushTimer = setTimeout(() => { + activeWatch.flushTimer = null + this.flushEvents(activeWatch) + }, FILE_CHANGES_HANDLER_DELAY_MS) + } + + private flushEvents(activeWatch: ActiveWatch): void { + if (activeWatch.disposed || activeWatch.buffer.length === 0) { + return + } + + const events = + activeWatch.request.purpose === 'workspace-git' + ? activeWatch.buffer + : coalesceWatcherEvents(activeWatch.buffer) + activeWatch.buffer = [] + this.sendChunks(activeWatch, events) + } + + private sendChunks(activeWatch: ActiveWatch, events: WatcherEvent[]): void { + if (activeWatch.disposed || events.length === 0) { + return + } + + const chunk = events.slice(0, MAX_EVENT_CHUNK_SIZE) + this.sendBatch(activeWatch, chunk) + const rest = events.slice(MAX_EVENT_CHUNK_SIZE) + if (rest.length === 0) { + return + } + + activeWatch.chunkTimer = setTimeout(() => { + activeWatch.chunkTimer = null + this.sendChunks(activeWatch, rest) + }, EVENT_CHUNK_DELAY_MS) + } + + private sendBatch(activeWatch: ActiveWatch, events: WatcherEvent[]): void { + const batch: WatcherEventBatch = { + watchId: activeWatch.request.id, + rootPath: activeWatch.request.rootPath, + purpose: activeWatch.request.purpose, + hostKind: activeWatch.request.hostKind, + mode: activeWatch.mode, + events, + version: Date.now() + } + + this.transport.postMessage({ + type: 'file-watcher:event-batch', + batch + }) + } + + private sendStatus( + activeWatch: ActiveWatch, + status: Pick + ): void { + this.transport.postMessage({ + type: 'file-watcher:status', + status: { + watchId: activeWatch.request.id, + rootPath: activeWatch.request.rootPath, + purpose: activeWatch.request.purpose, + hostKind: activeWatch.request.hostKind, + health: status.health, + mode: status.mode, + reason: status.reason, + message: status.message, + version: Date.now() + } + }) + } + + private async disposeActiveWatch(activeWatch: ActiveWatch): Promise { + activeWatch.disposed = true + + if (activeWatch.flushTimer) { + clearTimeout(activeWatch.flushTimer) + activeWatch.flushTimer = null + } + + if (activeWatch.chunkTimer) { + clearTimeout(activeWatch.chunkTimer) + activeWatch.chunkTimer = null + } + + if (activeWatch.pollTimer) { + clearInterval(activeWatch.pollTimer) + activeWatch.pollTimer = null + } + + await this.unsubscribeNative(activeWatch) + + if (activeWatch.snapshotPath) { + fs.rmSync(activeWatch.snapshotPath, { force: true }) + activeWatch.snapshotPath = null + } + } + + private async unsubscribeNative(activeWatch: ActiveWatch): Promise { + const subscription = activeWatch.subscription + activeWatch.subscription = null + if (subscription) { + await subscription.unsubscribe() + } + } +} diff --git a/src/main/lib/fileWatcher/watcherHostClient.ts b/src/main/lib/fileWatcher/watcherHostClient.ts new file mode 100644 index 000000000..1697bddd0 --- /dev/null +++ b/src/main/lib/fileWatcher/watcherHostClient.ts @@ -0,0 +1,328 @@ +import fs from 'fs' +import path from 'path' +import { fileURLToPath } from 'url' +import type { UtilityProcess } from 'electron' +import type { + FileWatcherHostEvent, + FileWatcherRpcMethod, + FileWatcherRpcRequest, + FileWatcherRpcResponse, + WatchBatchListener, + WatcherHostKind, + WatchRequest, + WatchStatusListener +} from './watcherTypes' + +type PendingRequest = { + resolve(value: unknown): void + reject(error: Error): void +} + +const MAX_RESTART_ATTEMPTS = 3 +const RESTART_DELAY_MS = 800 +const RPC_TIMEOUT_MS = 15000 + +export class WatcherHostClient { + private host: UtilityProcess | null = null + private hostReady: Promise | null = null + private requestId = 0 + private restartAttempts = 0 + private restartTimer: NodeJS.Timeout | null = null + private shuttingDown = false + private readonly pendingRequests = new Map() + private readonly activeRequests = new Map() + private readonly batchListeners = new Set() + private readonly statusListeners = new Set() + + constructor(private readonly hostKind: WatcherHostKind) {} + + onBatch(listener: WatchBatchListener): () => void { + this.batchListeners.add(listener) + return () => { + this.batchListeners.delete(listener) + } + } + + onStatus(listener: WatchStatusListener): () => void { + this.statusListeners.add(listener) + return () => { + this.statusListeners.delete(listener) + } + } + + async watch(request: WatchRequest): Promise { + this.activeRequests.set(request.id, request) + try { + await this.request('watch', [request]) + } catch (error) { + this.activeRequests.delete(request.id) + throw error + } + } + + async unwatch(watchId: string): Promise { + this.activeRequests.delete(watchId) + if (!this.host && !this.hostReady) { + return + } + await this.request('unwatch', [watchId]).catch(() => {}) + } + + async shutdown(): Promise { + this.shuttingDown = true + + if (this.restartTimer) { + clearTimeout(this.restartTimer) + this.restartTimer = null + } + + try { + if (this.host) { + await this.request('shutdown', []) + } + } finally { + this.host?.kill() + this.host = null + this.hostReady = null + this.activeRequests.clear() + this.rejectPendingRequests(new Error('File watcher utility process shut down.')) + } + } + + private async request(method: FileWatcherRpcMethod, args: unknown[]): Promise { + const host = await this.ensureHost() + const id = `watcher_rpc_${this.hostKind}_${++this.requestId}` + + return await new Promise((resolve, reject) => { + const timeout = setTimeout(() => { + this.pendingRequests.delete(id) + reject(new Error(`File watcher RPC timed out: ${method} (${this.hostKind})`)) + }, RPC_TIMEOUT_MS) + + this.pendingRequests.set(id, { + resolve: (value) => { + clearTimeout(timeout) + resolve(value as T) + }, + reject: (error) => { + clearTimeout(timeout) + reject(error) + } + }) + + const payload: FileWatcherRpcRequest = { + type: 'file-watcher:request', + id, + method, + args + } + + try { + host.postMessage(payload) + } catch (error) { + const pending = this.pendingRequests.get(id) + this.pendingRequests.delete(id) + pending?.reject(error instanceof Error ? error : new Error(String(error))) + } + }) + } + + private async ensureHost(): Promise { + if (this.host) { + return this.host + } + + if (this.hostReady) { + return await this.hostReady + } + + this.shuttingDown = false + this.hostReady = this.startHost() + try { + return await this.hostReady + } finally { + this.hostReady = null + } + } + + private async startHost(): Promise { + const { app, utilityProcess } = await import('electron') + const modulePath = this.resolveUtilityHostEntryPoint(app.getAppPath()) + const serviceLabel = this.hostKind === 'git' ? 'Git' : 'Content' + const host = utilityProcess.fork(modulePath, ['--deepchat-file-watcher-host'], { + serviceName: `DeepChat ${serviceLabel} File Watcher`, + stdio: 'ignore', + env: { + ...process.env, + DEEPCHAT_FILE_WATCHER_HOST: '1', + DEEPCHAT_FILE_WATCHER_HOST_KIND: this.hostKind + } + }) + + host.on('message', (message) => this.handleHostMessage(message)) + host.on('exit', (code) => this.handleHostExit(code)) + host.on('error', (type, location) => { + console.error('[FileWatcherClient] Utility process error:', { + hostKind: this.hostKind, + type, + location + }) + }) + + return await new Promise((resolve, reject) => { + let settled = false + const settle = (callback: () => void) => { + if (settled) { + return + } + settled = true + host.off('spawn', onSpawn) + host.off('exit', onExit) + callback() + } + const onSpawn = () => { + settle(() => { + this.host = host + this.restartAttempts = 0 + resolve(host) + }) + } + const onExit = (code: number) => { + settle(() => { + reject(new Error(`File watcher utility process exited before spawn: ${code}`)) + }) + } + + host.once('spawn', onSpawn) + host.once('exit', onExit) + }) + } + + private resolveUtilityHostEntryPoint(appPath?: string): string { + const modulePath = fileURLToPath(import.meta.url) + const candidates = [ + ...(appPath + ? [ + path.join(appPath, 'out/main/fileWatcherUtilityHost.js'), + path.join(appPath, 'fileWatcherUtilityHost.js') + ] + : []), + path.resolve(path.dirname(modulePath), 'fileWatcherUtilityHost.js'), + path.resolve(path.dirname(modulePath), '../fileWatcherUtilityHost.js'), + path.resolve(process.cwd(), 'out/main/fileWatcherUtilityHost.js') + ] + + return candidates.find((candidate) => fs.existsSync(candidate)) ?? candidates[0] + } + + private handleHostMessage(message: unknown): void { + if (!message || typeof message !== 'object') { + return + } + + const response = message as FileWatcherRpcResponse + if (response.type === 'file-watcher:response') { + this.handleRpcResponse(response) + return + } + + const hostEvent = message as FileWatcherHostEvent + if (hostEvent.type === 'file-watcher:event-batch') { + for (const listener of this.batchListeners) { + listener(hostEvent.batch) + } + return + } + + if (hostEvent.type === 'file-watcher:status') { + for (const listener of this.statusListeners) { + listener(hostEvent.status) + } + } + } + + private handleRpcResponse(response: FileWatcherRpcResponse): void { + const pending = this.pendingRequests.get(response.id) + if (!pending) { + return + } + + this.pendingRequests.delete(response.id) + if (response.ok) { + pending.resolve(response.data) + return + } + + const error = new Error(response.error.message) + if (response.error.stack) { + error.stack = response.error.stack + } + pending.reject(error) + } + + private handleHostExit(code: number): void { + const error = new Error(`File watcher utility process exited with code ${code}.`) + this.host = null + this.hostReady = null + this.rejectPendingRequests(error) + + if (this.shuttingDown || this.activeRequests.size === 0) { + return + } + + for (const request of this.activeRequests.values()) { + for (const listener of this.statusListeners) { + listener({ + watchId: request.id, + rootPath: request.rootPath, + purpose: request.purpose, + hostKind: request.hostKind, + health: 'degraded', + mode: request.fallbackMode ?? 'snapshot-polling', + reason: 'utility-exit', + message: error.message, + version: Date.now() + }) + } + } + + this.scheduleRestart() + } + + private scheduleRestart(): void { + if (this.restartTimer || this.restartAttempts >= MAX_RESTART_ATTEMPTS) { + return + } + + this.restartAttempts += 1 + this.restartTimer = setTimeout(() => { + this.restartTimer = null + void this.replayActiveRequests() + }, RESTART_DELAY_MS) + } + + private async replayActiveRequests(): Promise { + const requests = Array.from(this.activeRequests.values()) + if (requests.length === 0 || this.shuttingDown) { + return + } + + try { + await this.ensureHost() + await Promise.all(requests.map((request) => this.request('watch', [request]))) + } catch (error) { + console.error('[FileWatcherClient] Failed to restart utility watcher:', { + hostKind: this.hostKind, + error + }) + this.scheduleRestart() + } + } + + private rejectPendingRequests(error: Error): void { + for (const pending of this.pendingRequests.values()) { + pending.reject(error) + } + this.pendingRequests.clear() + } +} diff --git a/src/main/lib/fileWatcher/watcherPool.ts b/src/main/lib/fileWatcher/watcherPool.ts new file mode 100644 index 000000000..8f1a3cf12 --- /dev/null +++ b/src/main/lib/fileWatcher/watcherPool.ts @@ -0,0 +1,219 @@ +import path from 'path' +import { WatcherHostClient } from './watcherHostClient' +import type { + WatchBatchListener, + WatcherEvent, + WatcherEventBatch, + WatchHandle, + WatchRequest, + WatcherStatus, + WatchStatusListener +} from './watcherTypes' + +type WatcherPoolEntry = { + key: string + request: WatchRequest + listeners: Set + statusListeners: Set + ready: Promise +} + +const normalizePathKey = (targetPath: string): string => { + const comparablePath = + process.platform === 'darwin' && targetPath.startsWith('/private/') + ? targetPath.slice('/private'.length) + : targetPath + const normalized = path.normalize(comparablePath) + return process.platform === 'win32' ? normalized.toLowerCase() : normalized +} + +const normalizeList = (values: string[] | undefined): string[] => + [...(values ?? [])].map(normalizePathKey).sort() + +const isEqualOrDescendant = (targetPath: string, basePath: string): boolean => { + const normalizedTarget = normalizePathKey(targetPath) + const normalizedBase = normalizePathKey(basePath) + if (normalizedTarget === normalizedBase) { + return true + } + + const relative = path.relative(normalizedBase, normalizedTarget) + return Boolean(relative) && !relative.startsWith('..') && !path.isAbsolute(relative) +} + +const shouldPassIncludes = (event: WatcherEvent, includes: string[] | undefined): boolean => { + if (event.type === 'overflow' || event.type === 'root-deleted') { + return true + } + + if (!includes?.length) { + return true + } + + return includes.some((includePath) => isEqualOrDescendant(event.path, includePath)) +} + +const shouldPassExcludes = (event: WatcherEvent, excludes: string[] | undefined): boolean => { + if (event.type === 'overflow' || event.type === 'root-deleted') { + return true + } + + if (!excludes?.length) { + return true + } + + return !excludes.some((excludePath) => isEqualOrDescendant(event.path, excludePath)) +} + +function filterBatch(batch: WatcherEventBatch, request: WatchRequest): WatcherEventBatch | null { + const events = batch.events.filter( + (event) => + shouldPassIncludes(event, request.includes) && shouldPassExcludes(event, request.excludes) + ) + + if (events.length === 0) { + return null + } + + return { + ...batch, + events + } +} + +export class WatcherPool { + private sequence = 0 + private readonly entriesByKey = new Map() + private readonly entriesByWatchId = new Map() + private readonly contentClient: WatcherHostClient + private readonly gitClient: WatcherHostClient + + constructor(clients?: { content?: WatcherHostClient; git?: WatcherHostClient }) { + this.contentClient = clients?.content ?? new WatcherHostClient('content') + this.gitClient = clients?.git ?? new WatcherHostClient('git') + this.contentClient.onBatch((batch) => this.handleBatch(batch)) + this.gitClient.onBatch((batch) => this.handleBatch(batch)) + this.contentClient.onStatus((status) => this.handleStatus(status)) + this.gitClient.onStatus((status) => this.handleStatus(status)) + } + + async watch( + request: WatchRequest, + onBatch: WatchBatchListener, + onStatus?: WatchStatusListener + ): Promise { + const key = this.createPoolKey(request) + let entry = this.entriesByKey.get(key) + + if (!entry) { + const pooledRequest = { + ...request, + id: `watch_pool_${++this.sequence}` + } + entry = { + key, + request: pooledRequest, + listeners: new Set(), + statusListeners: new Set(), + ready: this.getClient(pooledRequest).watch(pooledRequest) + } + this.entriesByKey.set(key, entry) + this.entriesByWatchId.set(pooledRequest.id, entry) + } + + entry.listeners.add(onBatch) + if (onStatus) { + entry.statusListeners.add(onStatus) + } + + try { + await entry.ready + } catch (error) { + entry.listeners.delete(onBatch) + if (onStatus) { + entry.statusListeners.delete(onStatus) + } + if (this.entriesByKey.get(entry.key) === entry) { + this.entriesByKey.delete(entry.key) + } + if (this.entriesByWatchId.get(entry.request.id) === entry) { + this.entriesByWatchId.delete(entry.request.id) + } + throw error + } + + return { + close: async () => { + await this.unwatch(entry, onBatch, onStatus) + } + } + } + + async destroy(): Promise { + this.entriesByKey.clear() + this.entriesByWatchId.clear() + await Promise.all([this.contentClient.shutdown(), this.gitClient.shutdown()]) + } + + private async unwatch( + entry: WatcherPoolEntry, + onBatch: WatchBatchListener, + onStatus?: WatchStatusListener + ): Promise { + entry.listeners.delete(onBatch) + if (onStatus) { + entry.statusListeners.delete(onStatus) + } + + if (entry.listeners.size > 0 || entry.statusListeners.size > 0) { + return + } + + this.entriesByKey.delete(entry.key) + this.entriesByWatchId.delete(entry.request.id) + await this.getClient(entry.request).unwatch(entry.request.id) + } + + private handleBatch(batch: WatcherEventBatch): void { + const entry = this.entriesByWatchId.get(batch.watchId) + if (!entry) { + return + } + + const filteredBatch = filterBatch(batch, entry.request) + if (!filteredBatch) { + return + } + + for (const listener of entry.listeners) { + listener(filteredBatch) + } + } + + private handleStatus(status: WatcherStatus): void { + const entry = this.entriesByWatchId.get(status.watchId) + if (!entry) { + return + } + + for (const listener of entry.statusListeners) { + listener(status) + } + } + + private getClient(request: WatchRequest): WatcherHostClient { + return request.hostKind === 'git' ? this.gitClient : this.contentClient + } + + private createPoolKey(request: WatchRequest): string { + return JSON.stringify({ + hostKind: request.hostKind, + purpose: request.purpose, + rootPath: normalizePathKey(request.rootPath), + recursive: request.recursive, + includes: normalizeList(request.includes), + excludes: normalizeList(request.excludes), + fallbackMode: request.fallbackMode ?? null + }) + } +} diff --git a/src/main/lib/fileWatcher/watcherService.ts b/src/main/lib/fileWatcher/watcherService.ts new file mode 100644 index 000000000..b4cc94fc6 --- /dev/null +++ b/src/main/lib/fileWatcher/watcherService.ts @@ -0,0 +1,47 @@ +import { WatcherPool } from './watcherPool' +import type { + IFileWatcherService, + WatchBatchListener, + WatcherHostKind, + WatchHandle, + WatchRequest, + WatchStatusListener +} from './watcherTypes' + +export class FileWatcherService implements IFileWatcherService { + constructor(private readonly pool = new WatcherPool()) {} + + async watch( + request: WatchRequest, + onBatch: WatchBatchListener, + onStatus?: WatchStatusListener + ): Promise { + return await this.pool.watch(request, onBatch, onStatus) + } + + async destroy(): Promise { + await this.pool.destroy() + } +} + +let sharedWatcherService: FileWatcherService | null = null + +export function getFileWatcherService(): FileWatcherService { + sharedWatcherService ??= new FileWatcherService() + return sharedWatcherService +} + +export async function resetFileWatcherServiceForTests(): Promise { + if (sharedWatcherService) { + await sharedWatcherService.destroy() + sharedWatcherService = null + } +} + +export function createWatcherRequestId( + kind: WatcherHostKind, + purpose: string, + rootPath: string +): string { + return `${kind}:${purpose}:${rootPath}` +} diff --git a/src/main/lib/fileWatcher/watcherTypes.ts b/src/main/lib/fileWatcher/watcherTypes.ts new file mode 100644 index 000000000..4fbc4d21f --- /dev/null +++ b/src/main/lib/fileWatcher/watcherTypes.ts @@ -0,0 +1,109 @@ +export type WatcherHostKind = 'content' | 'git' + +export type WatchPurpose = 'workspace-content' | 'workspace-git' | 'skills' + +export type WatchEventType = 'create' | 'update' | 'delete' | 'overflow' | 'root-deleted' + +export type WatchMode = 'native' | 'snapshot-polling' | 'git-metadata-polling' + +export type WatchHealth = 'healthy' | 'degraded' | 'failed' + +export type WatchStatusReason = + | 'ready' + | 'native-error' + | 'utility-exit' + | 'fallback-started' + | 'overflow' + | 'root-deleted' + | 'shutdown' + +export interface WatcherEvent { + path: string + type: WatchEventType +} + +export interface WatcherEventBatch { + watchId: string + rootPath: string + purpose: WatchPurpose + hostKind: WatcherHostKind + mode: WatchMode + events: WatcherEvent[] + version: number +} + +export interface WatcherStatus { + watchId: string + rootPath: string + purpose: WatchPurpose + hostKind: WatcherHostKind + health: WatchHealth + mode: WatchMode + reason: WatchStatusReason + message?: string + version: number +} + +export interface WatchRequest { + id: string + rootPath: string + hostKind: WatcherHostKind + purpose: WatchPurpose + recursive: boolean + includes?: string[] + excludes?: string[] + fallbackMode?: Exclude +} + +export interface WatchHandle { + close(): Promise +} + +export type WatchBatchListener = (batch: WatcherEventBatch) => void + +export type WatchStatusListener = (status: WatcherStatus) => void + +export interface IFileWatcherService { + watch( + request: WatchRequest, + onBatch: WatchBatchListener, + onStatus?: WatchStatusListener + ): Promise + destroy(): Promise +} + +export type FileWatcherRpcMethod = 'watch' | 'unwatch' | 'shutdown' + +export interface FileWatcherRpcRequest { + type: 'file-watcher:request' + id: string + method: FileWatcherRpcMethod + args: unknown[] +} + +export type FileWatcherRpcResponse = + | { + type: 'file-watcher:response' + id: string + ok: true + data: unknown + } + | { + type: 'file-watcher:response' + id: string + ok: false + error: { + message: string + stack?: string + } + } + +export type FileWatcherHostEvent = + | { + type: 'file-watcher:event-batch' + batch: WatcherEventBatch + } + | { + type: 'file-watcher:status' + status: WatcherStatus + } diff --git a/src/main/presenter/agentRepository/index.ts b/src/main/presenter/agentRepository/index.ts index 5ee74f627..0c8ecfdb3 100644 --- a/src/main/presenter/agentRepository/index.ts +++ b/src/main/presenter/agentRepository/index.ts @@ -90,7 +90,10 @@ const mergeDeepChatConfig = ( autoCompactionRetainRecentPairs: overrideConfig.autoCompactionRetainRecentPairs ?? baseConfig.autoCompactionRetainRecentPairs ?? - 2 + 2, + memoryEnabled: overrideConfig.memoryEnabled ?? baseConfig.memoryEnabled ?? false, + memoryEmbedding: overrideConfig.memoryEmbedding ?? baseConfig.memoryEmbedding ?? null, + memoryRetrieval: overrideConfig.memoryRetrieval ?? baseConfig.memoryRetrieval ?? null }) export class AgentRepository { diff --git a/src/main/presenter/agentRuntimePresenter/contextBuilder.ts b/src/main/presenter/agentRuntimePresenter/contextBuilder.ts index 93711a51a..3ebd2b2e3 100644 --- a/src/main/presenter/agentRuntimePresenter/contextBuilder.ts +++ b/src/main/presenter/agentRuntimePresenter/contextBuilder.ts @@ -10,6 +10,10 @@ import type { MessageMetadata, SendMessageInput } from '@shared/types/agent-interface' +import type { + DeepChatTapeViewEntryReason, + DeepChatTapeViewExcludedReason +} from '@shared/types/tape-view-manifest' import type { DeepChatMessageStore } from './messageStore' const IMAGE_TOKEN_ESTIMATE = 512 @@ -43,6 +47,27 @@ export type HistoryTurn = { tokens: number } +export type ContextIncludedRecord = { + record: ChatMessageRecord + reason: DeepChatTapeViewEntryReason +} + +export type ContextExcludedRecord = { + record: ChatMessageRecord + reason: DeepChatTapeViewExcludedReason +} + +export type ContextBuildMetadata = { + includedRecords: ContextIncludedRecord[] + excludedRecords: ContextExcludedRecord[] + includesSystemPrompt: boolean +} + +export type ContextBuildResult = { + messages: ChatMessage[] + metadata: ContextBuildMetadata +} + function parseProviderOptionsJson( value: string | undefined ): ChatMessageProviderOptions | undefined { @@ -147,7 +172,7 @@ function parseUserRecordContent(content: string): SendMessageInput { } } -function isCompactionRecord(record: ChatMessageRecord): boolean { +export function isCompactionRecord(record: ChatMessageRecord): boolean { try { const metadata = JSON.parse(record.metadata) as MessageMetadata return metadata.messageType === 'compaction' @@ -860,18 +885,26 @@ function selectTurnHistory( availableTokens: number, fallbackProtectedTurnCount: number ): ChatMessage[] { + return flattenTurns(selectTurnHistoryTurns(turns, availableTokens, fallbackProtectedTurnCount)) +} + +function selectTurnHistoryTurns( + turns: T[], + availableTokens: number, + fallbackProtectedTurnCount: number +): T[] { if (turns.length === 0) { return [] } const protectedCount = Math.max(0, Math.min(fallbackProtectedTurnCount, turns.length)) if (availableTokens <= 0) { - return protectedCount > 0 ? flattenTurns(turns.slice(-protectedCount)) : [] + return protectedCount > 0 ? turns.slice(-protectedCount) : [] } let total = turns.reduce((sum, turn) => sum + turn.tokens, 0) if (total <= availableTokens) { - return flattenTurns(turns) + return turns } const remainingTurns = [...turns] @@ -886,10 +919,38 @@ function selectTurnHistory( estimateMessagesTokens(flattened) <= availableTokens || remainingTurns.length <= protectedCount ) { - return flattened + return remainingTurns } - return truncateContext(flattened, availableTokens) + const truncatedMessages = truncateContext(flattened, availableTokens) + if (truncatedMessages.length === 0) { + return [] + } + + let droppedPrefixCount = flattened.length - truncatedMessages.length + const rebuiltTurns: T[] = [] + + for (const turn of remainingTurns) { + if (droppedPrefixCount >= turn.messages.length) { + droppedPrefixCount -= turn.messages.length + continue + } + + if (droppedPrefixCount > 0) { + const keptMessages = turn.messages.slice(droppedPrefixCount) + droppedPrefixCount = 0 + rebuiltTurns.push({ + ...turn, + messages: keptMessages, + tokens: estimateMessagesTokens(keptMessages) + }) + continue + } + + rebuiltTurns.push(turn) + } + + return rebuiltTurns } function filterRecordsFromCursor( @@ -910,12 +971,33 @@ export function buildContext( supportsVision: boolean = false, options: ContextBuildOptions = {} ): ChatMessage[] { + return buildContextWithMetadata( + sessionId, + newUserContent, + systemPrompt, + contextLength, + reserveTokens, + messageStore, + supportsVision, + options + ).messages +} + +export function buildContextWithMetadata( + sessionId: string, + newUserContent: string | SendMessageInput, + systemPrompt: string, + contextLength: number, + reserveTokens: number, + messageStore: DeepChatMessageStore, + supportsVision: boolean = false, + options: ContextBuildOptions = {} +): ContextBuildResult { const supportsAudioInput = options.supportsAudioInput === true const candidateRecords = options.historyRecords ?? messageStore.getMessages(sessionId) - const historyRecords = filterRecordsFromCursor( - candidateRecords.filter(isContextHistoryRecord), - options.summaryCursorOrderSeq ?? 1 - ) + const contextCandidateRecords = candidateRecords.filter(isContextHistoryRecord) + const cursor = Math.max(1, options.summaryCursorOrderSeq ?? 1) + const historyRecords = filterRecordsFromCursor(contextCandidateRecords, cursor) const historyTurns = buildHistoryTurns( historyRecords, supportsVision, @@ -933,11 +1015,18 @@ export function buildContext( newUserTokens - reserveTokens - (options.extraReserveTokens ?? 0) - const selectedHistory = selectTurnHistory( + const selectedTurns = selectTurnHistoryTurns( historyTurns, available, options.fallbackProtectedTurnCount ?? 0 ) + const selectedHistory = flattenTurns(selectedTurns) + const selectedRecordIds = new Set( + selectedTurns.flatMap((turn) => turn.records.map((record) => record.id)) + ) + const emittedRecordIds = new Set( + historyTurns.flatMap((turn) => turn.records.map((record) => record.id)) + ) const messages: ChatMessage[] = [] if (systemPrompt) { @@ -947,7 +1036,40 @@ export function buildContext( if (hasPromptMessageContent(newUserMessage)) { messages.push(newUserMessage) } - return messages + const excludedRecords: ContextExcludedRecord[] = [ + ...contextCandidateRecords + .filter((record) => record.orderSeq < cursor) + .map((record) => ({ + record, + reason: 'before_summary_cursor' as const + })), + ...historyRecords + .filter((record) => !emittedRecordIds.has(record.id)) + .map((record) => ({ + record, + reason: 'empty_after_formatting' as const + })), + ...historyRecords + .filter((record) => emittedRecordIds.has(record.id) && !selectedRecordIds.has(record.id)) + .map((record) => ({ + record, + reason: 'out_of_budget' as const + })) + ] + + return { + messages, + metadata: { + includedRecords: selectedTurns.flatMap((turn) => + turn.records.map((record) => ({ + record, + reason: 'selected_history' as const + })) + ), + excludedRecords, + includesSystemPrompt: Boolean(systemPrompt) + } + } } export function fitMessagesToContextWindow( @@ -1001,6 +1123,28 @@ export function buildResumeContext( supportsVision: boolean = false, options: ContextBuildOptions = {} ): ChatMessage[] { + return buildResumeContextWithMetadata( + sessionId, + assistantMessageId, + systemPrompt, + contextLength, + reserveTokens, + messageStore, + supportsVision, + options + ).messages +} + +export function buildResumeContextWithMetadata( + sessionId: string, + assistantMessageId: string, + systemPrompt: string, + contextLength: number, + reserveTokens: number, + messageStore: DeepChatMessageStore, + supportsVision: boolean = false, + options: ContextBuildOptions = {} +): ContextBuildResult { const supportsAudioInput = options.supportsAudioInput === true const allMessages = options.historyRecords ?? messageStore.getMessages(sessionId) const targetMessage = allMessages.find((message) => message.id === assistantMessageId) @@ -1030,16 +1174,65 @@ export function buildResumeContext( const systemPromptTokens = systemPrompt ? approximateTokenSize(systemPrompt) : 0 const available = contextLength - systemPromptTokens - reserveTokens - (options.extraReserveTokens ?? 0) - const selectedHistory = selectTurnHistory( + const selectedTurns = selectTurnHistoryTurns( historyTurns, available, options.fallbackProtectedTurnCount ?? 1 ) + const selectedHistory = flattenTurns(selectedTurns) + const selectedRecordIds = new Set( + selectedTurns.flatMap((turn) => turn.records.map((record) => record.id)) + ) + const emittedRecordIds = new Set( + historyTurns.flatMap((turn) => turn.records.map((record) => record.id)) + ) const messages: ChatMessage[] = [] if (systemPrompt) { messages.push({ role: 'system', content: systemPrompt }) } messages.push(...selectedHistory) - return messages + const excludedRecords: ContextExcludedRecord[] = [ + ...allMessages + .filter( + (record) => + record.id !== assistantMessageId && + isContextHistoryRecord(record) && + record.orderSeq < cursor && + (targetOrderSeq === undefined || record.orderSeq <= targetOrderSeq) + ) + .map((record) => ({ + record, + reason: 'before_summary_cursor' as const + })), + ...historyRecords + .filter((record) => !emittedRecordIds.has(record.id)) + .map((record) => ({ + record, + reason: 'empty_after_formatting' as const + })), + ...historyRecords + .filter((record) => emittedRecordIds.has(record.id) && !selectedRecordIds.has(record.id)) + .map((record) => ({ + record, + reason: 'out_of_budget' as const + })) + ] + + return { + messages, + metadata: { + includedRecords: selectedTurns.flatMap((turn) => + turn.records.map((record) => ({ + record, + reason: + record.id === assistantMessageId + ? ('resume_target' as const) + : ('selected_history' as const) + })) + ), + excludedRecords, + includesSystemPrompt: Boolean(systemPrompt) + } + } } diff --git a/src/main/presenter/agentRuntimePresenter/dispatch.ts b/src/main/presenter/agentRuntimePresenter/dispatch.ts index 6a4ab6398..3eaa7417d 100644 --- a/src/main/presenter/agentRuntimePresenter/dispatch.ts +++ b/src/main/presenter/agentRuntimePresenter/dispatch.ts @@ -1,5 +1,3 @@ -import { eventBus, SendTarget } from '@/eventbus' -import { STREAM_EVENTS } from '@/events' import type { MCPToolCall, MCPContentItem, @@ -870,12 +868,6 @@ function appendSkillDraftQuestionActionBlock( function flushBlocksToRenderer(io: IoParams, blocks: AssistantMessageBlock[]): void { const renderedBlocks = cloneBlocksForRenderer(blocks) - eventBus.sendToRenderer(STREAM_EVENTS.RESPONSE, SendTarget.ALL_WINDOWS, { - conversationId: io.sessionId, - eventId: io.messageId, - messageId: io.messageId, - blocks: renderedBlocks - }) publishDeepchatEvent('chat.stream.updated', { kind: 'snapshot', requestId: io.requestId, @@ -1456,10 +1448,11 @@ export function finalizePaused(state: StreamState, io: IoParams): void { io.messageStore.updateAssistantContent(io.messageId, state.blocks) flushBlocksToRenderer(io, state.blocks) - eventBus.sendToRenderer(STREAM_EVENTS.END, SendTarget.ALL_WINDOWS, { - conversationId: io.sessionId, - eventId: io.messageId, - messageId: io.messageId + publishDeepchatEvent('chat.stream.completed', { + requestId: io.requestId, + sessionId: io.sessionId, + messageId: io.messageId, + completedAt: Date.now() }) } @@ -1485,11 +1478,6 @@ export function finalize(state: StreamState, io: IoParams): void { JSON.stringify(state.metadata) ) flushBlocksToRenderer(io, state.blocks) - eventBus.sendToRenderer(STREAM_EVENTS.END, SendTarget.ALL_WINDOWS, { - conversationId: io.sessionId, - eventId: io.messageId, - messageId: io.messageId - }) publishDeepchatEvent('chat.stream.completed', { requestId: io.requestId, sessionId: io.sessionId, @@ -1515,12 +1503,6 @@ export function finalizeError(state: StreamState, io: IoParams, error: unknown): io.messageStore.setMessageError(io.messageId, state.blocks, JSON.stringify(state.metadata)) flushBlocksToRenderer(io, state.blocks) - eventBus.sendToRenderer(STREAM_EVENTS.ERROR, SendTarget.ALL_WINDOWS, { - conversationId: io.sessionId, - eventId: io.messageId, - messageId: io.messageId, - error: errorMessage - }) publishDeepchatEvent('chat.stream.failed', { requestId: io.requestId, sessionId: io.sessionId, diff --git a/src/main/presenter/agentRuntimePresenter/echo.ts b/src/main/presenter/agentRuntimePresenter/echo.ts index 78aecfabd..f5f849605 100644 --- a/src/main/presenter/agentRuntimePresenter/echo.ts +++ b/src/main/presenter/agentRuntimePresenter/echo.ts @@ -3,8 +3,6 @@ import { AssistantMessageBlockSchema } from '@shared/contracts/common' import type { AssistantMessageBlock } from '@shared/types/agent-interface' import type { StreamState, IoParams } from './types' import { createThrottle } from '@shared/utils/throttle' -import { eventBus, SendTarget } from '@/eventbus' -import { STREAM_EVENTS } from '@/events' import { publishDeepchatEvent } from '@/routes/publishDeepchatEvent' const RENDERER_FLUSH_INTERVAL = 120 @@ -27,12 +25,6 @@ export function cloneBlocksForRenderer( export function startEcho(state: StreamState, io: IoParams): EchoHandle { function flushToRenderer(): void { const renderedBlocks = cloneBlocksForRenderer(state.blocks) - eventBus.sendToRenderer(STREAM_EVENTS.RESPONSE, SendTarget.ALL_WINDOWS, { - conversationId: io.sessionId, - eventId: io.messageId, - messageId: io.messageId, - blocks: renderedBlocks - }) publishDeepchatEvent('chat.stream.updated', { kind: 'snapshot', requestId: io.requestId, diff --git a/src/main/presenter/agentRuntimePresenter/index.ts b/src/main/presenter/agentRuntimePresenter/index.ts index eb540d1bb..8afa47f2c 100644 --- a/src/main/presenter/agentRuntimePresenter/index.ts +++ b/src/main/presenter/agentRuntimePresenter/index.ts @@ -29,6 +29,10 @@ import type { } from '@shared/types/agent-interface' import type { MCPToolCall, MCPToolResponse, ToolCallImagePreview } from '@shared/types/core/mcp' import type { ChatMessage } from '@shared/types/core/chat-message' +import type { + DeepChatTapeReplayExportOptions, + DeepChatTapeReplaySlice +} from '@shared/types/tape-replay' import type { IConfigPresenter, ILlmProviderPresenter, @@ -74,13 +78,18 @@ import { import { nanoid } from 'nanoid' import type { SQLitePresenter } from '../sqlitePresenter' import type { DeepChatTapeEntryRow } from '../sqlitePresenter/tables/deepchatTapeEntries' -import { eventBus, SendTarget } from '@/eventbus' -import { MCP_EVENTS, SESSION_EVENTS, STREAM_EVENTS } from '@/events' +import { eventBus } from '@/eventbus' +import { MCP_EVENTS } from '@/events' import { buildRuntimeCapabilitiesPrompt, buildSystemEnvPrompt } from '@/lib/agentRuntime/systemEnvPromptBuilder' -import { buildContext, buildResumeContext, isContextHistoryRecord } from './contextBuilder' +import type { ContextBuildMetadata } from './contextBuilder' +import { + buildTapeChatView, + buildTapeResumeView, + getTapeContextHistoryRecords +} from './tapeViewAssembler' import { capAgentDefaultMaxTokens, capAgentRequestMaxTokens, @@ -98,14 +107,29 @@ import { import { buildPersistableMessageTracePayload } from './messageTracePayload' import { buildTerminalErrorBlocks, DeepChatMessageStore } from './messageStore' import { DeepChatTapeService } from './tapeService' +import { + buildExcludedRefs, + buildIncludedRefs, + buildSyntheticRequestRefs, + createTapeViewManifest, + resolveTapeViewManifestPolicy, + type TapeViewContextSelection +} from './tapeViewManifest' import { PendingInputCoordinator } from './pendingInputCoordinator' import { DeepChatPendingInputStore } from './pendingInputStore' import { processStream } from './process' import { cloneBlocksForRenderer } from './echo' import { DeepChatSessionStore, type SessionSummaryState } from './sessionStore' +import { appendMemorySection, type MemoryRuntimePort } from '../memoryPresenter/injectionPort' import type { InterleavedReasoningConfig, PendingToolInteraction, ProcessResult } from './types' import { ToolOutputGuard } from './toolOutputGuard' import type { ProviderRequestTracePayload } from '../llmProviderPresenter/requestTrace' +import type { + DeepChatTapeViewPolicy, + DeepChatTapeViewManifestRecord, + DeepChatTapeViewTaskType, + DeepChatTapeViewTokenBudget +} from '@shared/types/tape-view-manifest' import type { NewSessionHooksBridge } from '../hooksNotifications/newSessionBridge' import { providerDbLoader } from '../configPresenter/providerDbLoader' import { resolveSessionVisionTarget } from '../vision/sessionVisionResolver' @@ -130,6 +154,17 @@ type PendingInteractionEntry = { type ProcessPendingInputSource = PendingInputEnqueueSource | 'steer' +type PendingTapeViewContext = { + taskType: DeepChatTapeViewTaskType + policy: DeepChatTapeViewPolicy + policyVersion?: number | null + selection: TapeViewContextSelection + summaryCursorOrderSeq: number + supportsVision: boolean + supportsAudioInput: boolean + traceDebugEnabled: boolean +} + type DeferredToolExecutionResult = { responseText: string isError: boolean @@ -265,6 +300,8 @@ const SKILL_DRAFT_STATUS_BY_CHOICE: Record, Sk } const RATE_LIMIT_STREAM_MESSAGE_PREFIX = '__rate_limit__:' +/** 兜底抽取的最小增量阈值(自上次记忆游标以来的新消息条数)。低于此值跳过、零调用。 */ +const MEMORY_FALLBACK_MIN_DELTA = 6 const createAbortError = (): Error => { if (typeof DOMException !== 'undefined') { return new DOMException('Aborted', 'AbortError') @@ -275,6 +312,18 @@ const createAbortError = (): Error => { return error } +function buildTapeViewSelection( + metadata: ContextBuildMetadata, + newUserMessageId?: string | null +): TapeViewContextSelection { + return { + includedRecords: metadata.includedRecords, + excludedRecords: metadata.excludedRecords, + includesSystemPrompt: metadata.includesSystemPrompt, + newUserMessageId + } +} + export class AgentRuntimePresenter implements IAgentImplementation { private readonly llmProviderPresenter: ILlmProviderPresenter private readonly configPresenter: IConfigPresenter @@ -310,6 +359,7 @@ export class AgentRuntimePresenter implements IAgentImplementation { > private readonly sessionPermissionPort?: SessionPermissionPort private readonly sessionUiPort?: SessionUiPort + private readonly memoryPort?: MemoryRuntimePort private readonly cacheImage?: (data: string) => Promise private readonly skillPresenter?: Pick< ISkillPresenter, @@ -333,6 +383,7 @@ export class AgentRuntimePresenter implements IAgentImplementation { providerCatalogPort?: Pick sessionPermissionPort?: SessionPermissionPort sessionUiPort?: SessionUiPort + memoryPort?: MemoryRuntimePort cacheImage?: (data: string) => Promise skillPresenter?: Pick< ISkillPresenter, @@ -376,6 +427,7 @@ export class AgentRuntimePresenter implements IAgentImplementation { } this.sessionPermissionPort = runtimePorts?.sessionPermissionPort this.sessionUiPort = runtimePorts?.sessionUiPort + this.memoryPort = runtimePorts?.memoryPort this.cacheImage = runtimePorts?.cacheImage this.skillPresenter = runtimePorts?.skillPresenter @@ -704,7 +756,7 @@ export class AgentRuntimePresenter implements IAgentImplementation { ) this.throwIfAbortRequested(preStreamAbortSignal) const tapeReady = this.tapeService.ensureSessionTapeReady(sessionId, this.messageStore) - const historyRecords = tapeReady.historyRecords.filter(isContextHistoryRecord) + const historyRecords = getTapeContextHistoryRecords(tapeReady.historyRecords) const userContent: UserMessageContent = { text: normalizedInput.text, files: normalizedInput.files || [], @@ -756,6 +808,8 @@ export class AgentRuntimePresenter implements IAgentImplementation { startedExternally: true, signal: preStreamAbortSignal }) + // 通路①:compaction 搭车抽取(解耦的独立廉价调用,后台执行) + this.triggerMemoryExtractionFromCompaction(sessionId, compactionIntent) } else { summaryState = this.sessionStore.getSummaryState(sessionId) userMessageId = this.messageStore.createUserMessage( @@ -779,28 +833,33 @@ export class AgentRuntimePresenter implements IAgentImplementation { projectDir }) - const systemPrompt = appendReconstructionAnchorStateSection( - appendSummarySection(baseSystemPrompt, summaryState.summaryText), - this.sessionStore.getReconstructionAnchorPromptState(sessionId) + const systemPrompt = await this.appendMemoryInjection( + sessionId, + appendReconstructionAnchorStateSection( + appendSummarySection(baseSystemPrompt, summaryState.summaryText), + this.sessionStore.getReconstructionAnchorPromptState(sessionId) + ), + normalizedInput.text ) - const messages = buildContext( + const contextBuild = buildTapeChatView({ sessionId, - normalizedInput, + newUserContent: normalizedInput, systemPrompt, - contextBudgetLength, - maxTokens, - this.messageStore, + contextLength: contextBudgetLength, + reserveTokens: maxTokens, + messageStore: this.messageStore, supportsVision, - { + historyRecords, + options: { summaryCursorOrderSeq: summaryState.summaryCursorOrderSeq, - historyRecords, supportsAudioInput, extraReserveTokens: toolReserveTokens, preserveInterleavedReasoning: interleavedReasoning.preserveReasoningContent, preserveEmptyInterleavedReasoning: interleavedReasoning.preserveEmptyReasoningContent === true } - ) + }) + const messages = contextBuild.messages const assistantOrderSeq = this.messageStore.getNextOrderSeq(sessionId) assistantMessageId = this.messageStore.createAssistantMessage(sessionId, assistantOrderSeq) @@ -824,7 +883,17 @@ export class AgentRuntimePresenter implements IAgentImplementation { promptPreview: normalizedInput.text, tools, baseSystemPrompt, - interleavedReasoning + interleavedReasoning, + viewContext: { + taskType: 'chat', + policy: contextBuild.policyId, + policyVersion: contextBuild.policyVersion, + selection: buildTapeViewSelection(contextBuild.metadata, userMessageId), + summaryCursorOrderSeq: summaryState.summaryCursorOrderSeq, + supportsVision, + supportsAudioInput, + traceDebugEnabled: this.configPresenter.getSetting('traceDebugEnabled') === true + } }) if (context?.pendingQueueItemId && !consumedPendingQueueItem) { if (pendingInputSource === 'queue' || pendingInputSource === 'steer') { @@ -857,6 +926,8 @@ export class AgentRuntimePresenter implements IAgentImplementation { } if (result?.status === 'completed') { void this.drainPendingQueueIfPossible(sessionId, 'completed') + // 通路②:会话兜底抽取(游标门控,覆盖从不触发 compaction 的短会话;后台执行) + this.triggerMemoryExtractionFallback(sessionId) } return { requestId: assistantMessageId, @@ -1257,12 +1328,6 @@ export class AgentRuntimePresenter implements IAgentImplementation { this.updateToolCallResponse(blocks, toolCall.id, execution.terminalError, true) this.messageStore.setMessageError(messageId, blocks) this.emitMessageRefresh(sessionId, messageId) - eventBus.sendToRenderer(STREAM_EVENTS.ERROR, SendTarget.ALL_WINDOWS, { - conversationId: sessionId, - eventId: messageId, - messageId, - error: execution.terminalError - }) publishDeepchatEvent('chat.stream.failed', { requestId: this.resolveStreamRequestId(sessionId, messageId), sessionId, @@ -1715,6 +1780,171 @@ export class AgentRuntimePresenter implements IAgentImplementation { return undefined } + /** + * Layer 4:在已构建的 systemPrompt 末尾追加记忆注入(自我模型 + 召回记忆)。 + * 仅当该 agent 启用记忆层时生效;任何失败都退化为原 prompt,绝不阻塞对话。 + */ + private async appendMemoryInjection( + sessionId: string, + systemPrompt: string, + query: string + ): Promise { + if (!this.memoryPort) { + return systemPrompt + } + try { + const agentId = this.getSessionAgentId(sessionId) ?? 'deepchat' + if (!this.memoryPort.isEnabled(agentId)) { + return systemPrompt + } + const payload = await this.memoryPort.buildInjection(agentId, query) + return appendMemorySection(systemPrompt, payload) + } catch (error) { + logger.warn(`[DeepChatAgent] memory injection skipped: ${String(error)}`) + return systemPrompt + } + } + + /** + * compaction 搭车抽取(通路①):用即将被摘要的 span 抽取记忆。 + * 解耦自摘要的独立廉价调用;后台执行,绝不阻塞主流程。span 已是人类可读块。 + */ + private triggerMemoryExtractionFromCompaction(sessionId: string, intent: CompactionIntent): void { + const spanText = intent.summaryBlocks.join('\n\n').trim() + if (!spanText) return + void this.runMemoryExtraction(sessionId, { + spanText, + toOrderSeq: Math.max(1, intent.targetCursorOrderSeq), + reason: 'compaction' + }) + } + + /** + * 会话兜底抽取(通路②):覆盖从不触发 compaction 的短会话。 + * 游标门控:memory_cursor >= tail 或增量不足阈值时零调用。后台执行。 + */ + private triggerMemoryExtractionFallback(sessionId: string): void { + if (!this.memoryPort) return + const agentId = this.getSessionAgentId(sessionId) ?? 'deepchat' + if (!this.memoryPort.isEnabled(agentId)) return + + const tailOrderSeq = this.messageStore.getNextOrderSeq(sessionId) - 1 + const cursor = + this.sqlitePresenter.deepchatSessionsTable.getMemoryCursorOrderSeq(sessionId) ?? 0 + // AC-2.2:游标已到末尾 → 零调用;增量不足阈值 → 跳过 + if (tailOrderSeq <= cursor || tailOrderSeq - cursor < MEMORY_FALLBACK_MIN_DELTA) { + return + } + const records = this.messageStore + .getMessagesUpToOrderSeq(sessionId, tailOrderSeq) + .filter((record) => record.orderSeq > cursor) + const spanText = this.buildMemorySpanFromRecords(records) + if (!spanText) return + void this.runMemoryExtraction(sessionId, { + spanText, + toOrderSeq: tailOrderSeq, + reason: 'fallback' + }) + } + + private async runMemoryExtraction( + sessionId: string, + options: { spanText: string; toOrderSeq: number; reason: 'compaction' | 'fallback' } + ): Promise { + if (!this.memoryPort) return + try { + const agentId = this.getSessionAgentId(sessionId) ?? 'deepchat' + if (!this.memoryPort.isEnabled(agentId)) return + const state = this.runtimeState.get(sessionId) + if (!state) return + + const result = await this.memoryPort.extractAndStore({ + agentId, + spanText: options.spanText, + model: { providerId: state.providerId, modelId: state.modelId }, + sourceSession: sessionId + }) + + // 抽取失败(模型/解析异常):保持游标不变,下次会重试这段消息, + // 避免一次临时 LLM 失败把消息标记为“已消费”而永久丢失记忆。 + if (!result.ok) return + const createdIds = result.createdIds + + // 推进游标(抽取成功;无论是否抽到记忆,这段都已"消费") + this.sqlitePresenter.deepchatSessionsTable.updateMemoryCursorOrderSeq( + sessionId, + options.toOrderSeq + ) + + // 仅在抽到记忆时落非重建审计 anchor(memory/* 不在重建白名单,不干扰上下文重建) + if (createdIds.length > 0) { + this.sqlitePresenter.deepchatTapeEntriesTable.appendAnchor({ + sessionId, + name: 'memory/extract', + state: { + memoryIds: createdIds, + count: createdIds.length, + reason: options.reason, + toOrderSeq: options.toOrderSeq + } + }) + } + + // 通路③:反思演化人格(节流由 MemoryPresenter 决定;落 persona/evolve anchor) + const personaId = await this.memoryPort.maybeReflect( + agentId, + { providerId: state.providerId, modelId: state.modelId }, + createdIds.length + ) + if (personaId) { + this.sqlitePresenter.deepchatTapeEntriesTable.appendAnchor({ + sessionId, + name: 'persona/evolve', + state: { personaId, reason: options.reason } + }) + } + } catch (error) { + logger.warn(`[DeepChatAgent] memory extraction skipped: ${String(error)}`) + } + } + + /** 把消息记录渲染成抽取用的纯文本 span(防御式解析两种 content 形态)。 */ + private buildMemorySpanFromRecords(records: ChatMessageRecord[]): string { + const lines: string[] = [] + for (const record of records) { + const text = this.extractPlainTextFromRecord(record) + if (text) { + lines.push(`${record.role === 'user' ? 'User' : 'Assistant'}: ${text}`) + } + } + return lines.join('\n').trim() + } + + private extractPlainTextFromRecord(record: ChatMessageRecord): string { + try { + const parsed = JSON.parse(record.content) as unknown + if (record.role === 'user') { + const text = (parsed as { text?: unknown })?.text + return typeof text === 'string' ? text.trim() : '' + } + if (Array.isArray(parsed)) { + return parsed + .map((block) => { + const b = block as { type?: string; content?: unknown; text?: unknown } + if (b?.type === 'content' && typeof b.content === 'string') return b.content + if (typeof b?.text === 'string') return b.text + return '' + }) + .filter(Boolean) + .join(' ') + .trim() + } + return '' + } catch { + return '' + } + } + private isAcpBackedSubagentSession(sessionId: string, providerId?: string): boolean { const sessionRow = this.sqlitePresenter.newSessionsTable?.get(sessionId) if (!sessionRow || sessionRow.session_kind !== 'subagent') { @@ -1958,6 +2188,23 @@ export class AgentRuntimePresenter implements IAgentImplementation { return this.toTapeAnchorResult(row) } + async listMessageViewManifests( + sessionId: string, + messageId: string + ): Promise { + this.tapeService.ensureSessionTapeReady(sessionId, this.messageStore) + return this.tapeService.listViewManifestsByMessage(sessionId, messageId) + } + + async exportMessageTapeReplaySlice( + sessionId: string, + messageId: string, + options?: DeepChatTapeReplayExportOptions + ): Promise { + this.tapeService.ensureSessionTapeReady(sessionId, this.messageStore) + return this.tapeService.exportReplaySlice(sessionId, messageId, options) + } + async mergeSubagentTape( parentSessionId: string, childSessionId: string, @@ -2241,6 +2488,7 @@ export class AgentRuntimePresenter implements IAgentImplementation { initialBlocks?: AssistantMessageBlock[] promptPreview?: string interleavedReasoning?: InterleavedReasoningConfig + viewContext?: PendingTapeViewContext }): Promise<{ runId: string; result: ProcessResult }> { const { sessionId, @@ -2251,7 +2499,8 @@ export class AgentRuntimePresenter implements IAgentImplementation { baseSystemPrompt, initialBlocks, promptPreview, - interleavedReasoning: providedInterleavedReasoning + interleavedReasoning: providedInterleavedReasoning, + viewContext } = args const state = this.runtimeState.get(sessionId) if (!state) { @@ -2315,6 +2564,7 @@ export class AgentRuntimePresenter implements IAgentImplementation { const recoverContextPressure = this.recoverRequestContextPressure.bind(this) const replaceLeadingSystemPromptInPlace = this.replaceLeadingSystemPromptInPlace.bind(this) const persistMessageTrace = this.persistMessageTrace.bind(this) + const appendTapeViewManifest = this.appendTapeViewManifest.bind(this) if (traceEnabled) { const traceAwareConfig = modelConfig as ModelConfig & { requestTraceContext?: { @@ -2348,6 +2598,8 @@ export class AgentRuntimePresenter implements IAgentImplementation { const rateLimitMessageId = this.buildRateLimitStreamMessageId(activeGeneration.runId) const emitRateLimitWaitingMessage = this.emitRateLimitWaitingMessage.bind(this) const clearRateLimitWaitingMessage = this.clearRateLimitWaitingMessage.bind(this) + let requestSeq = + this.tapeService.listViewManifestsByMessage(sessionId, messageId)[0]?.requestSeq ?? 0 try { this.dispatchHook('SessionStart', { @@ -2381,6 +2633,8 @@ export class AgentRuntimePresenter implements IAgentImplementation { try { let providerMessages = requestMessages let providerMaxTokens = requestMaxTokens + let recoveredFromContextPressure = false + let manifestSummaryCursorOrderSeq = viewContext?.summaryCursorOrderSeq ?? 1 const isTtsRequest = isTtsModelConfig(requestModelConfig) || isTtsModelId(requestModelId) const effectiveRequestTools: MCPToolDefinition[] = isTtsRequest ? [] : requestTools @@ -2411,6 +2665,10 @@ export class AgentRuntimePresenter implements IAgentImplementation { minimumProtectedTailCount: 0, signal: abortController.signal }) + recoveredFromContextPressure = true + if (recovered.summaryCursorOrderSeq !== undefined) { + manifestSummaryCursorOrderSeq = recovered.summaryCursorOrderSeq + } requestMessages.splice(0, requestMessages.length, ...recovered.messages) if (recovered.systemPrompt) { replaceLeadingSystemPromptInPlace(requestMessages, recovered.systemPrompt) @@ -2433,6 +2691,42 @@ export class AgentRuntimePresenter implements IAgentImplementation { throw new Error('Request was not sent because the prompt became empty.') } + requestSeq += 1 + const isInitialViewRequest = requestSeq === 1 && Boolean(viewContext) + const manifestPolicy = resolveTapeViewManifestPolicy({ + recoveredFromContextPressure, + isInitialViewRequest, + viewPolicy: viewContext?.policy, + viewPolicyVersion: viewContext?.policyVersion + }) + appendTapeViewManifest({ + sessionId, + messageId, + requestSeq, + taskType: isInitialViewRequest ? viewContext!.taskType : 'tool_loop', + policy: manifestPolicy.policy, + policyVersion: manifestPolicy.policyVersion, + messages: providerMessages, + tools: effectiveRequestTools, + tokenBudget: { + contextLength: requestModelConfig.contextLength ?? contextBudgetLength, + requestedMaxTokens: requestMaxTokens, + effectiveMaxTokens: providerMaxTokens, + reserveTokens: requestMaxTokens, + toolReserveTokens: estimateToolReserveTokens(effectiveRequestTools) + }, + providerId: state.providerId, + modelId: requestModelId, + selection: + isInitialViewRequest && !recoveredFromContextPressure + ? viewContext!.selection + : undefined, + summaryCursorOrderSeq: manifestSummaryCursorOrderSeq, + supportsVision: viewContext?.supportsVision ?? supportsVision, + supportsAudioInput: viewContext?.supportsAudioInput ?? supportsAudioInput, + traceDebugEnabled: viewContext?.traceDebugEnabled ?? traceEnabled + }) + await llmProviderPresenter.executeWithRateLimit(state.providerId, { signal: abortController.signal, onQueued: (snapshot) => { @@ -2584,6 +2878,59 @@ export class AgentRuntimePresenter implements IAgentImplementation { } } + private appendTapeViewManifest(params: { + sessionId: string + messageId: string + requestSeq: number + taskType: DeepChatTapeViewTaskType + policy: DeepChatTapeViewPolicy + policyVersion?: number | null + messages: ChatMessage[] + tools: MCPToolDefinition[] + tokenBudget: Omit + providerId: string + modelId: string + selection?: TapeViewContextSelection + summaryCursorOrderSeq: number + supportsVision: boolean + supportsAudioInput: boolean + traceDebugEnabled: boolean + }): void { + try { + const sourceMaps = this.tapeService.getViewManifestSourceMaps(params.sessionId) + const manifest = createTapeViewManifest({ + sessionId: params.sessionId, + messageId: params.messageId, + requestSeq: params.requestSeq, + taskType: params.taskType, + policy: params.policy, + policyVersion: params.policyVersion ?? null, + messages: params.messages, + tools: params.tools, + latestEntryId: sourceMaps.latestEntryId, + anchorEntryIds: sourceMaps.anchorEntryIds, + included: params.selection + ? buildIncludedRefs(params.selection, sourceMaps) + : buildSyntheticRequestRefs(params.messages), + excluded: params.selection ? buildExcludedRefs(params.selection, sourceMaps) : [], + tokenBudget: params.tokenBudget, + providerId: params.providerId, + modelId: params.modelId, + summaryCursorOrderSeq: params.summaryCursorOrderSeq, + supportsVision: params.supportsVision, + supportsAudioInput: params.supportsAudioInput, + traceDebugEnabled: params.traceDebugEnabled + }) + this.tapeService.appendViewManifest(manifest) + } catch (error) { + logger.warn( + `[DeepChatAgent] Failed to persist tape view manifest: ${ + error instanceof Error ? error.message : String(error) + }` + ) + } + } + private async recoverRequestContextPressure(params: { sessionId: string providerId: string @@ -2598,7 +2945,7 @@ export class AgentRuntimePresenter implements IAgentImplementation { interleavedReasoning: InterleavedReasoningConfig minimumProtectedTailCount: number signal: AbortSignal - }): Promise<{ messages: ChatMessage[]; systemPrompt?: string }> { + }): Promise<{ messages: ChatMessage[]; systemPrompt?: string; summaryCursorOrderSeq?: number }> { let messages = params.requestMessages const systemPromptBase = params.baseSystemPrompt ?? this.getLeadingSystemPrompt(params.requestMessages) ?? '' @@ -2641,7 +2988,8 @@ export class AgentRuntimePresenter implements IAgentImplementation { reserveTokens: params.requestedMaxTokens + estimateToolReserveTokens(params.tools), minimumProtectedTailCount: params.minimumProtectedTailCount }), - systemPrompt + systemPrompt, + summaryCursorOrderSeq: summaryState.summaryCursorOrderSeq } } @@ -2888,12 +3236,6 @@ export class AgentRuntimePresenter implements IAgentImplementation { } const renderedBlocks = cloneBlocksForRenderer([block]) - eventBus.sendToRenderer(STREAM_EVENTS.RESPONSE, SendTarget.ALL_WINDOWS, { - conversationId: sessionId, - eventId: messageId, - messageId, - blocks: renderedBlocks - }) publishDeepchatEvent('chat.stream.updated', { kind: 'snapshot', requestId, @@ -2909,12 +3251,6 @@ export class AgentRuntimePresenter implements IAgentImplementation { messageId: string, requestId: string ): void { - eventBus.sendToRenderer(STREAM_EVENTS.RESPONSE, SendTarget.ALL_WINDOWS, { - conversationId: sessionId, - eventId: messageId, - messageId, - blocks: [] - }) publishDeepchatEvent('chat.stream.updated', { kind: 'snapshot', requestId, @@ -3045,21 +3381,22 @@ export class AgentRuntimePresenter implements IAgentImplementation { }) : this.sessionStore.getSummaryState(sessionId) this.throwIfAbortRequested(preStreamAbortSignal) + const resumeTapeReady = this.tapeService.ensureSessionTapeReady(sessionId, this.messageStore) const systemPrompt = appendReconstructionAnchorStateSection( appendSummarySection(baseSystemPrompt, summaryState.summaryText), this.sessionStore.getReconstructionAnchorPromptState(sessionId) ) - let resumeContext = buildResumeContext( + const resumeContextBuild = buildTapeResumeView({ sessionId, - messageId, + assistantMessageId: messageId, systemPrompt, - contextBudgetLength, - maxTokens, - this.messageStore, - this.supportsVision(state.providerId, state.modelId), - { + contextLength: contextBudgetLength, + reserveTokens: maxTokens, + messageStore: this.messageStore, + supportsVision: this.supportsVision(state.providerId, state.modelId), + historyRecords: resumeTapeReady.historyRecords, + options: { summaryCursorOrderSeq: summaryState.summaryCursorOrderSeq, - historyRecords: tapeReady.historyRecords, fallbackProtectedTurnCount: 1, supportsAudioInput: this.supportsAudioInput(state.providerId, state.modelId), extraReserveTokens: toolReserveTokens, @@ -3067,7 +3404,8 @@ export class AgentRuntimePresenter implements IAgentImplementation { preserveEmptyInterleavedReasoning: interleavedReasoning.preserveEmptyReasoningContent === true } - ) + }) + let resumeContext = resumeContextBuild.messages if (budgetToolCall?.id && budgetToolCall.name && useContextBudget) { const resumeBudget = this.fitResumeBudgetForToolCall({ resumeContext, @@ -3093,12 +3431,6 @@ export class AgentRuntimePresenter implements IAgentImplementation { this.updateToolCallResponse(initialBlocks, budgetToolCall.id, resumeBudget.message, true) this.messageStore.setMessageError(messageId, initialBlocks) this.emitMessageRefresh(sessionId, messageId) - eventBus.sendToRenderer(STREAM_EVENTS.ERROR, SendTarget.ALL_WINDOWS, { - conversationId: sessionId, - eventId: messageId, - messageId, - error: resumeBudget.message - }) publishDeepchatEvent('chat.stream.failed', { requestId: this.resolveStreamRequestId(sessionId, messageId), sessionId, @@ -3120,7 +3452,17 @@ export class AgentRuntimePresenter implements IAgentImplementation { tools, baseSystemPrompt, initialBlocks, - interleavedReasoning + interleavedReasoning, + viewContext: { + taskType: 'resume', + policy: resumeContextBuild.policyId, + policyVersion: resumeContextBuild.policyVersion, + selection: buildTapeViewSelection(resumeContextBuild.metadata), + summaryCursorOrderSeq: summaryState.summaryCursorOrderSeq, + supportsVision: this.supportsVision(state.providerId, state.modelId), + supportsAudioInput: this.supportsAudioInput(state.providerId, state.modelId), + traceDebugEnabled: this.configPresenter.getSetting('traceDebugEnabled') === true + } }) try { this.applyProcessResultStatus(sessionId, result, runId) @@ -5562,11 +5904,12 @@ export class AgentRuntimePresenter implements IAgentImplementation { private emitCompactionState(sessionId: string, state: SessionCompactionState): void { this.sessionCompactionStates.set(sessionId, { ...state }) - eventBus.sendToRenderer(SESSION_EVENTS.COMPACTION_UPDATED, SendTarget.ALL_WINDOWS, { + publishDeepchatEvent('sessions.compaction.changed', { sessionId, status: state.status, cursorOrderSeq: state.cursorOrderSeq, - summaryUpdatedAt: state.summaryUpdatedAt + summaryUpdatedAt: state.summaryUpdatedAt, + version: Date.now() }) } @@ -5591,10 +5934,6 @@ export class AgentRuntimePresenter implements IAgentImplementation { return } current.status = status - eventBus.sendToRenderer(SESSION_EVENTS.STATUS_CHANGED, SendTarget.ALL_WINDOWS, { - sessionId, - status - }) publishDeepchatEvent('sessions.status.changed', { sessionId, status, @@ -5615,10 +5954,11 @@ export class AgentRuntimePresenter implements IAgentImplementation { } private emitMessageRefresh(sessionId: string, messageId: string): void { - eventBus.sendToRenderer(STREAM_EVENTS.END, SendTarget.ALL_WINDOWS, { - conversationId: sessionId, - eventId: messageId, - messageId + publishDeepchatEvent('chat.stream.completed', { + requestId: this.resolveStreamRequestId(sessionId, messageId), + sessionId, + messageId, + completedAt: Date.now() }) const message = this.messageStore.getMessage(messageId) diff --git a/src/main/presenter/agentRuntimePresenter/pendingInputCoordinator.ts b/src/main/presenter/agentRuntimePresenter/pendingInputCoordinator.ts index 21f7ce902..35dd54b68 100644 --- a/src/main/presenter/agentRuntimePresenter/pendingInputCoordinator.ts +++ b/src/main/presenter/agentRuntimePresenter/pendingInputCoordinator.ts @@ -1,5 +1,3 @@ -import { eventBus, SendTarget } from '@/eventbus' -import { SESSION_EVENTS } from '@/events' import { publishDeepchatEvent } from '@/routes/publishDeepchatEvent' import type { PendingSessionInputRecord, @@ -222,9 +220,6 @@ export class PendingInputCoordinator { } private emitUpdated(sessionId: string): void { - eventBus.sendToRenderer(SESSION_EVENTS.PENDING_INPUTS_UPDATED, SendTarget.ALL_WINDOWS, { - sessionId - }) publishDeepchatEvent('sessions.pendingInputs.changed', { sessionId, version: Date.now() diff --git a/src/main/presenter/agentRuntimePresenter/tapeService.ts b/src/main/presenter/agentRuntimePresenter/tapeService.ts index c0d60ebcc..a91832089 100644 --- a/src/main/presenter/agentRuntimePresenter/tapeService.ts +++ b/src/main/presenter/agentRuntimePresenter/tapeService.ts @@ -1,22 +1,35 @@ import { SQLitePresenter } from '../sqlitePresenter' import { nanoid } from 'nanoid' +import { createHash } from 'crypto' import type { AgentTapeAnchorResult, AgentTapeAnchorsOptions, AgentTapeSearchOptions, ChatMessageRecord } from '@shared/types/agent-interface' +import type { + DeepChatTapeViewManifest, + DeepChatTapeViewManifestRecord +} from '@shared/types/tape-view-manifest' +import type { + DeepChatTapeReplayEntrySnapshot, + DeepChatTapeReplayExportOptions, + DeepChatTapeReplaySlice, + DeepChatTapeReplayTraceSnapshot +} from '@shared/types/tape-replay' import type { DeepChatMessageStore } from './messageStore' import type { DeepChatTapeEntryRow, DeepChatTapeSearchInput } from '../sqlitePresenter/tables/deepchatTapeEntries' +import type { DeepChatMessageTraceRow } from '../sqlitePresenter/tables/deepchatMessageTraces' import { appendMessageRecordToTape } from './tapeFacts' import { buildEffectiveTapeView, getLastEffectiveTokenUsage, searchEffectiveTapeRows } from './tapeEffectiveView' +import { hashJson, TAPE_VIEW_MANIFEST_EVENT_NAME } from './tapeViewManifest' export type TapeMigrationState = 'none' | 'ready' @@ -57,6 +70,12 @@ export type TapeForkHandle = { forkSessionId: string } +export type TapeViewManifestSourceMaps = { + latestEntryId: number + anchorEntryIds: number[] + entryIdByMessageId: Map +} + function parseJsonObject(raw: string): Record { try { const parsed = JSON.parse(raw) as unknown @@ -168,6 +187,176 @@ function forkSessionId(parentSessionId: string, forkId: string): string { return `${parentSessionId}::fork::${forkId}` } +function hashString(value: string): string { + return createHash('sha256').update(value).digest('hex') +} + +function isPositiveInteger(value: number): boolean { + return Number.isInteger(value) && value > 0 +} + +function collectEntryIds(values: Array): number[] { + return [...new Set(values.filter((value): value is number => typeof value === 'number'))].sort( + (left, right) => left - right + ) +} + +const VIEW_POLICIES = new Set([ + 'legacy_context_v1', + 'legacy_context_shadow', + 'resume_shadow', + 'tool_loop_shadow', + 'context_pressure_recovery_shadow' +]) + +const VIEW_ENTRY_REASONS = new Set([ + 'system_prompt', + 'selected_history', + 'new_user_input', + 'resume_target', + 'tool_loop_message' +]) + +const VIEW_EXCLUDED_REASONS = new Set([ + 'before_summary_cursor', + 'compaction_indicator', + 'pending_not_context_history', + 'out_of_budget', + 'empty_after_formatting', + 'superseded', + 'retracted' +]) + +function isRecordObject(value: unknown): value is Record { + return Boolean(value && typeof value === 'object' && !Array.isArray(value)) +} + +function isNullableString(value: unknown): value is string | null { + return value === null || typeof value === 'string' +} + +function isNullableNumber(value: unknown): value is number | null { + return value === null || typeof value === 'number' +} + +function isViewEntryRef(value: unknown): value is DeepChatTapeViewManifest['included'][number] { + if (!isRecordObject(value)) { + return false + } + + return ( + isNullableNumber(value.entryId) && + isNullableString(value.messageId) && + isNullableNumber(value.orderSeq) && + (value.role === 'system' || + value.role === 'user' || + value.role === 'assistant' || + value.role === 'tool' || + value.role === null) && + (value.source === 'tape' || value.source === 'synthetic') && + typeof value.reason === 'string' && + VIEW_ENTRY_REASONS.has(value.reason) + ) +} + +function isViewExcludedRef(value: unknown): value is DeepChatTapeViewManifest['excluded'][number] { + if (!isRecordObject(value)) { + return false + } + + return ( + isNullableNumber(value.entryId) && + isNullableString(value.messageId) && + isNullableNumber(value.orderSeq) && + typeof value.reason === 'string' && + VIEW_EXCLUDED_REASONS.has(value.reason) + ) +} + +function hasNumberFields(value: unknown, fields: string[]): value is Record { + if (!isRecordObject(value)) { + return false + } + + return fields.every((field) => typeof value[field] === 'number') +} + +function hasStringFields(value: unknown, fields: string[]): value is Record { + if (!isRecordObject(value)) { + return false + } + + return fields.every((field) => typeof value[field] === 'string') +} + +function isViewManifestMeta(value: unknown): value is DeepChatTapeViewManifest['meta'] { + if (!isRecordObject(value)) { + return false + } + + return ( + typeof value.providerId === 'string' && + typeof value.modelId === 'string' && + typeof value.summaryCursorOrderSeq === 'number' && + typeof value.supportsVision === 'boolean' && + typeof value.supportsAudioInput === 'boolean' && + typeof value.traceDebugEnabled === 'boolean' + ) +} + +function isViewManifest(value: unknown, sessionId: string): value is DeepChatTapeViewManifest { + if (!isRecordObject(value)) { + return false + } + + return ( + value.schemaVersion === 1 && + value.sessionId === sessionId && + typeof value.viewId === 'string' && + typeof value.messageId === 'string' && + typeof value.requestSeq === 'number' && + (value.taskType === 'chat' || value.taskType === 'resume' || value.taskType === 'tool_loop') && + typeof value.policy === 'string' && + VIEW_POLICIES.has(value.policy) && + (typeof value.policyVersion === 'number' || value.policyVersion === null) && + value.contextBuilderVersion === 'legacy-v1' && + typeof value.latestEntryId === 'number' && + Array.isArray(value.anchorEntryIds) && + value.anchorEntryIds.every((entryId) => typeof entryId === 'number') && + Array.isArray(value.included) && + value.included.every(isViewEntryRef) && + Array.isArray(value.excluded) && + value.excluded.every(isViewExcludedRef) && + hasNumberFields(value.tokenBudget, [ + 'contextLength', + 'requestedMaxTokens', + 'effectiveMaxTokens', + 'reserveTokens', + 'toolReserveTokens', + 'estimatedPromptTokens' + ]) && + hasStringFields(value.hashes, ['promptHash', 'toolDefinitionsHash', 'manifestHash']) && + isViewManifestMeta(value.meta) && + typeof value.assembledAt === 'number' + ) +} + +function withReplaySliceHash( + slice: Omit & { + hashes: Omit & { sliceHash: '' } + } +): DeepChatTapeReplaySlice { + const sliceForHash = { ...slice } as Partial + delete sliceForHash.createdAt + return { + ...slice, + hashes: { + ...slice.hashes, + sliceHash: hashJson(sliceForHash) + } + } +} + export class DeepChatTapeService { constructor(private readonly sqlitePresenter: SQLitePresenter) {} @@ -236,7 +425,12 @@ export class DeepChatTapeService { } appendMessageRecord(record: ChatMessageRecord): number { - return appendMessageRecordToTape(this.table, record, 'live') + const table = this.table + if (!table) { + throw new Error('Tape table is not available.') + } + + return appendMessageRecordToTape(table, record, 'live') } getMessageRecords(sessionId: string): ChatMessageRecord[] { @@ -298,6 +492,165 @@ export class DeepChatTapeService { : [] } + getViewManifestSourceMaps(sessionId: string): TapeViewManifestSourceMaps { + const table = this.table + if (!table) { + return { + latestEntryId: 0, + anchorEntryIds: [], + entryIdByMessageId: new Map() + } + } + + const rows = table.getBySession(sessionId) + const entryIdByMessageId = new Map() + let latestEntryId = 0 + const anchorEntryIds: number[] = [] + + for (const row of rows) { + latestEntryId = Math.max(latestEntryId, row.entry_id) + if (row.kind === 'anchor') { + anchorEntryIds.push(row.entry_id) + } + if (row.kind === 'message' && row.source_type === 'message' && row.source_id) { + entryIdByMessageId.set(row.source_id, row.entry_id) + } + } + + return { + latestEntryId, + anchorEntryIds, + entryIdByMessageId + } + } + + appendViewManifest(manifest: DeepChatTapeViewManifest): DeepChatTapeEntryRow { + const table = this.table + if (!table) { + throw new Error('Tape table is not available.') + } + + table.ensureBootstrapAnchor(manifest.sessionId) + return table.appendEvent({ + sessionId: manifest.sessionId, + name: TAPE_VIEW_MANIFEST_EVENT_NAME, + source: { + type: 'runtime_event', + id: manifest.messageId, + seq: manifest.requestSeq + }, + provenanceKey: `view:${manifest.sessionId}:${manifest.messageId}:${manifest.requestSeq}:${manifest.hashes.manifestHash}`, + data: { + manifest + }, + meta: { + viewId: manifest.viewId, + requestSeq: manifest.requestSeq, + taskType: manifest.taskType, + policy: manifest.policy, + policyVersion: manifest.policyVersion + }, + createdAt: manifest.assembledAt, + idempotent: true + }) + } + + listViewManifestsByMessage( + sessionId: string, + messageId: string + ): DeepChatTapeViewManifestRecord[] { + const table = this.table + if (!table) { + return [] + } + + return table + .getBySession(sessionId) + .filter( + (row) => + row.kind === 'event' && + row.name === TAPE_VIEW_MANIFEST_EVENT_NAME && + row.source_type === 'runtime_event' && + row.source_id === messageId + ) + .map((row) => this.toViewManifestRecord(row)) + .filter((record): record is DeepChatTapeViewManifestRecord => Boolean(record)) + .sort((left, right) => right.requestSeq - left.requestSeq || right.entryId - left.entryId) + } + + exportReplaySlice( + sessionId: string, + messageId: string, + options: DeepChatTapeReplayExportOptions = {} + ): DeepChatTapeReplaySlice | null { + if (options.requestSeq !== undefined && !isPositiveInteger(options.requestSeq)) { + throw new Error('requestSeq must be a positive integer.') + } + + const table = this.table + if (!table) { + return null + } + + const manifests = this.listViewManifestsByMessage(sessionId, messageId) + const manifestRecord = + options.requestSeq === undefined + ? manifests[0] + : manifests.find((record) => record.requestSeq === options.requestSeq) + if (!manifestRecord) { + return null + } + + const manifest = manifestRecord.manifest + const includedEntryIds = collectEntryIds(manifest.included.map((ref) => ref.entryId)) + const excludedEntryIds = collectEntryIds(manifest.excluded.map((ref) => ref.entryId)) + const anchorEntryIds = collectEntryIds(manifest.anchorEntryIds) + const selectedEntryIds = new Set([ + manifestRecord.entryId, + ...includedEntryIds, + ...excludedEntryIds, + ...anchorEntryIds + ]) + const entries = table + .getBySession(sessionId) + .filter((row) => selectedEntryIds.has(row.entry_id)) + .map((row) => this.toReplayEntrySnapshot(row, options.includeTapePayloads === true)) + + const trace = this.findReplayTrace(sessionId, messageId, manifestRecord.requestSeq) + const createdAt = Date.now() + const sliceBase: Omit & { + hashes: Omit & { sliceHash: '' } + } = { + schemaVersion: 1 as const, + sliceId: `replay_${hashJson({ + sessionId, + messageId, + requestSeq: manifestRecord.requestSeq, + manifestHash: manifest.hashes.manifestHash + }).slice(0, 16)}`, + sessionId, + messageId, + requestSeq: manifestRecord.requestSeq, + mode: trace ? 'trace_bound' : 'manifest_only', + manifestRecord, + trace: trace ? this.toReplayTraceSnapshot(trace, options.includeTracePayload === true) : null, + entries, + refs: { + manifestEntryId: manifestRecord.entryId, + includedEntryIds, + excludedEntryIds, + anchorEntryIds + }, + hashes: { + manifestHash: manifest.hashes.manifestHash, + sliceHash: '' + }, + createdAt + } + + return withReplaySliceHash(sliceBase) + } + handoff( sessionId: string, name: string, @@ -586,4 +939,91 @@ export class DeepChatTapeService { createdAt: row.created_at } } + + private toViewManifestRecord(row: DeepChatTapeEntryRow): DeepChatTapeViewManifestRecord | null { + const payload = parseJsonObject(row.payload_json) + const data = payload.data + const manifest = + data && typeof data === 'object' && !Array.isArray(data) + ? (data as Record).manifest + : undefined + if (!isViewManifest(manifest, row.session_id)) { + return null + } + + return { + sessionId: row.session_id, + messageId: manifest.messageId, + requestSeq: manifest.requestSeq, + entryId: row.entry_id, + createdAt: row.created_at, + manifest + } + } + + private findReplayTrace( + sessionId: string, + messageId: string, + requestSeq: number + ): DeepChatMessageTraceRow | null { + const traceTable = this.sqlitePresenter.deepchatMessageTracesTable + if (!traceTable) { + return null + } + + return ( + traceTable + .listByMessageId(messageId) + .find((row) => row.session_id === sessionId && row.request_seq === requestSeq) ?? null + ) + } + + private toReplayEntrySnapshot( + row: DeepChatTapeEntryRow, + includePayloads: boolean + ): DeepChatTapeReplayEntrySnapshot { + const snapshot: DeepChatTapeReplayEntrySnapshot = { + entryId: row.entry_id, + kind: row.kind, + name: row.name, + sourceType: row.source_type, + sourceId: row.source_id, + sourceSeq: row.source_seq, + provenanceKey: row.provenance_key, + payloadHash: hashString(row.payload_json), + metaHash: hashString(row.meta_json), + createdAt: row.created_at + } + + if (includePayloads) { + snapshot.payload = parseJsonObject(row.payload_json) + snapshot.meta = parseJsonObject(row.meta_json) + } + + return snapshot + } + + private toReplayTraceSnapshot( + row: DeepChatMessageTraceRow, + includePayload: boolean + ): DeepChatTapeReplayTraceSnapshot { + const snapshot: DeepChatTapeReplayTraceSnapshot = { + id: row.id, + requestSeq: row.request_seq, + providerId: row.provider_id, + modelId: row.model_id, + endpoint: row.endpoint, + headersHash: hashString(row.headers_json), + bodyHash: hashString(row.body_json), + truncated: row.truncated === 1, + createdAt: row.created_at + } + + if (includePayload) { + snapshot.headersJson = row.headers_json + snapshot.bodyJson = row.body_json + } + + return snapshot + } } diff --git a/src/main/presenter/agentRuntimePresenter/tapeViewAssembler.ts b/src/main/presenter/agentRuntimePresenter/tapeViewAssembler.ts new file mode 100644 index 000000000..7da4fe492 --- /dev/null +++ b/src/main/presenter/agentRuntimePresenter/tapeViewAssembler.ts @@ -0,0 +1,85 @@ +import type { ChatMessage } from '@shared/types/core/chat-message' +import type { ChatMessageRecord } from '@shared/types/agent-interface' +import { isContextHistoryRecord, type ContextBuildMetadata } from './contextBuilder' +import { + resolveTapeViewPolicy, + type TapeChatViewPolicyInput, + type TapeResumeViewPolicyInput, + type TapeViewPolicy, + type TapeViewPolicyId, + type TapeViewPolicySelection, + type TapeViewPolicySelectionReason +} from './tapeViewPolicy' + +export const TAPE_VIEW_ASSEMBLER_VERSION = 'tape-view-assembler-v1' as const +export const TAPE_VIEW_HISTORY_SOURCE = 'tape_effective_view' as const + +export interface TapeViewAssemblerResult { + messages: ChatMessage[] + metadata: ContextBuildMetadata + assemblerVersion: typeof TAPE_VIEW_ASSEMBLER_VERSION + historySource: typeof TAPE_VIEW_HISTORY_SOURCE + historyRecords: ChatMessageRecord[] + policyId: TapeViewPolicyId + policyVersion: TapeViewPolicy['version'] + policySelectionReason: TapeViewPolicySelectionReason +} + +export interface TapeChatViewAssemblerInput extends TapeChatViewPolicyInput { + policy?: TapeViewPolicy + requestedPolicyId?: string | null +} + +export interface TapeResumeViewAssemblerInput extends TapeResumeViewPolicyInput { + policy?: TapeViewPolicy + requestedPolicyId?: string | null +} + +export function getTapeContextHistoryRecords(records: ChatMessageRecord[]): ChatMessageRecord[] { + return records.filter(isContextHistoryRecord) +} + +function withAssemblerMetadata( + result: { messages: ChatMessage[]; metadata: ContextBuildMetadata }, + historyRecords: ChatMessageRecord[], + selection: TapeViewPolicySelection +): TapeViewAssemblerResult { + return { + ...result, + assemblerVersion: TAPE_VIEW_ASSEMBLER_VERSION, + historySource: TAPE_VIEW_HISTORY_SOURCE, + historyRecords, + policyId: selection.policy.id, + policyVersion: selection.policy.version, + policySelectionReason: selection.reason + } +} + +function resolveAssemblerPolicy(input: { + policy?: TapeViewPolicy + requestedPolicyId?: string | null +}): TapeViewPolicySelection { + if (input.policy) { + return { + policy: input.policy, + requestedPolicyId: input.requestedPolicyId ?? null, + reason: 'injected' + } + } + + return resolveTapeViewPolicy({ requestedPolicyId: input.requestedPolicyId }) +} + +export function buildTapeChatView(input: TapeChatViewAssemblerInput): TapeViewAssemblerResult { + const selection = resolveAssemblerPolicy(input) + const result = selection.policy.buildChat(input) + + return withAssemblerMetadata(result, input.historyRecords, selection) +} + +export function buildTapeResumeView(input: TapeResumeViewAssemblerInput): TapeViewAssemblerResult { + const selection = resolveAssemblerPolicy(input) + const result = selection.policy.buildResume(input) + + return withAssemblerMetadata(result, input.historyRecords, selection) +} diff --git a/src/main/presenter/agentRuntimePresenter/tapeViewManifest.ts b/src/main/presenter/agentRuntimePresenter/tapeViewManifest.ts new file mode 100644 index 000000000..017d887f8 --- /dev/null +++ b/src/main/presenter/agentRuntimePresenter/tapeViewManifest.ts @@ -0,0 +1,267 @@ +import { createHash } from 'crypto' +import type { ChatMessage } from '@shared/types/core/chat-message' +import type { MCPToolDefinition } from '@shared/types/core/mcp' +import type { ChatMessageRecord } from '@shared/types/agent-interface' +import type { + DeepChatTapeViewEntryRef, + DeepChatTapeViewExcludedRef, + DeepChatTapeViewManifest, + DeepChatTapeViewPolicy, + DeepChatTapeViewTaskType, + DeepChatTapeViewTokenBudget +} from '@shared/types/tape-view-manifest' +import { estimateMessagesTokens } from './contextBuilder' +export { isCompactionRecord } from './contextBuilder' + +export const TAPE_VIEW_MANIFEST_EVENT_NAME = 'view/assembled' +export const TAPE_VIEW_CONTEXT_BUILDER_VERSION = 'legacy-v1' as const + +export type TapeViewManifestSourceMaps = { + entryIdByMessageId?: Map +} + +export type TapeViewManifestBuildInput = { + viewId?: string + sessionId: string + messageId: string + requestSeq: number + taskType: DeepChatTapeViewTaskType + policy: DeepChatTapeViewPolicy + policyVersion?: number | null + messages: ChatMessage[] + tools: MCPToolDefinition[] + latestEntryId: number + anchorEntryIds: number[] + included: DeepChatTapeViewEntryRef[] + excluded: DeepChatTapeViewExcludedRef[] + tokenBudget: Omit + providerId: string + modelId: string + summaryCursorOrderSeq: number + supportsVision: boolean + supportsAudioInput: boolean + traceDebugEnabled: boolean + assembledAt?: number +} + +export type TapeViewManifestPolicyInput = { + recoveredFromContextPressure: boolean + isInitialViewRequest: boolean + viewPolicy?: DeepChatTapeViewPolicy + viewPolicyVersion?: number | null +} + +export type TapeViewManifestPolicyResult = { + policy: DeepChatTapeViewPolicy + policyVersion: number | null +} + +export type TapeViewContextSelection = { + includedRecords: Array<{ + record: ChatMessageRecord + reason: DeepChatTapeViewEntryRef['reason'] + }> + excludedRecords: Array<{ + record: ChatMessageRecord + reason: DeepChatTapeViewExcludedRef['reason'] + }> + includesSystemPrompt: boolean + newUserMessageId?: string | null +} + +export function resolveTapeViewManifestPolicy( + input: TapeViewManifestPolicyInput +): TapeViewManifestPolicyResult { + if (input.recoveredFromContextPressure) { + return { + policy: 'context_pressure_recovery_shadow', + policyVersion: null + } + } + + if (input.isInitialViewRequest && input.viewPolicy) { + return { + policy: input.viewPolicy, + policyVersion: input.viewPolicyVersion ?? null + } + } + + return { + policy: 'tool_loop_shadow', + policyVersion: null + } +} + +function normalizeForStableJson(value: unknown): unknown { + if (Array.isArray(value)) { + return value.map(normalizeForStableJson) + } + + if (!value || typeof value !== 'object') { + return value + } + + const record = value as Record + return Object.keys(record) + .sort() + .reduce>((result, key) => { + const nested = record[key] + if (nested !== undefined) { + result[key] = normalizeForStableJson(nested) + } + return result + }, {}) +} + +export function stableJsonStringify(value: unknown): string { + return JSON.stringify(normalizeForStableJson(value)) +} + +export function hashJson(value: unknown): string { + return createHash('sha256').update(stableJsonStringify(value)).digest('hex') +} + +function buildViewId(input: TapeViewManifestBuildInput, assembledAt: number): string { + return `view_${hashJson({ + sessionId: input.sessionId, + messageId: input.messageId, + requestSeq: input.requestSeq, + policy: input.policy, + assembledAt + }).slice(0, 16)}` +} + +function attachManifestHash( + manifest: Omit & { + hashes: Omit & { manifestHash: '' } + } +): DeepChatTapeViewManifest { + const manifestForHash = { + ...manifest, + hashes: { + ...manifest.hashes, + manifestHash: '' + } + } + return { + ...manifest, + hashes: { + ...manifest.hashes, + manifestHash: hashJson(manifestForHash) + } + } +} + +export function createTapeViewManifest( + input: TapeViewManifestBuildInput +): DeepChatTapeViewManifest { + const assembledAt = input.assembledAt ?? Date.now() + const viewId = input.viewId ?? buildViewId(input, assembledAt) + const manifest: Omit & { + hashes: Omit & { manifestHash: '' } + } = { + schemaVersion: 1 as const, + viewId, + sessionId: input.sessionId, + messageId: input.messageId, + requestSeq: input.requestSeq, + taskType: input.taskType, + policy: input.policy, + policyVersion: input.policyVersion ?? null, + contextBuilderVersion: TAPE_VIEW_CONTEXT_BUILDER_VERSION, + latestEntryId: input.latestEntryId, + anchorEntryIds: [...input.anchorEntryIds], + included: input.included.map((entry) => ({ ...entry })), + excluded: input.excluded.map((entry) => ({ ...entry })), + tokenBudget: { + ...input.tokenBudget, + estimatedPromptTokens: estimateMessagesTokens(input.messages) + }, + hashes: { + promptHash: hashJson(input.messages), + toolDefinitionsHash: hashJson(input.tools), + manifestHash: '' + }, + meta: { + providerId: input.providerId, + modelId: input.modelId, + summaryCursorOrderSeq: input.summaryCursorOrderSeq, + supportsVision: input.supportsVision, + supportsAudioInput: input.supportsAudioInput, + traceDebugEnabled: input.traceDebugEnabled + }, + assembledAt + } + + return attachManifestHash(manifest) +} + +export function buildIncludedRefs( + selection: TapeViewContextSelection, + sourceMaps: TapeViewManifestSourceMaps = {} +): DeepChatTapeViewEntryRef[] { + const refs: DeepChatTapeViewEntryRef[] = [] + + if (selection.includesSystemPrompt) { + refs.push({ + entryId: null, + messageId: null, + orderSeq: null, + role: 'system', + source: 'synthetic', + reason: 'system_prompt' + }) + } + + for (const item of selection.includedRecords) { + refs.push({ + entryId: sourceMaps.entryIdByMessageId?.get(item.record.id) ?? null, + messageId: item.record.id, + orderSeq: item.record.orderSeq, + role: item.record.role, + source: sourceMaps.entryIdByMessageId?.has(item.record.id) ? 'tape' : 'synthetic', + reason: item.reason + }) + } + + if (selection.newUserMessageId) { + refs.push({ + entryId: sourceMaps.entryIdByMessageId?.get(selection.newUserMessageId) ?? null, + messageId: selection.newUserMessageId, + orderSeq: null, + role: 'user', + source: sourceMaps.entryIdByMessageId?.has(selection.newUserMessageId) ? 'tape' : 'synthetic', + reason: 'new_user_input' + }) + } + + return refs +} + +export function buildExcludedRefs( + selection: TapeViewContextSelection, + sourceMaps: TapeViewManifestSourceMaps = {} +): DeepChatTapeViewExcludedRef[] { + return selection.excludedRecords.map((item) => ({ + entryId: sourceMaps.entryIdByMessageId?.get(item.record.id) ?? null, + messageId: item.record.id, + orderSeq: item.record.orderSeq, + reason: item.reason + })) +} + +export function buildSyntheticRequestRefs(messages: ChatMessage[]): DeepChatTapeViewEntryRef[] { + return messages.map((message) => ({ + entryId: null, + messageId: null, + orderSeq: null, + role: message.role, + source: 'synthetic', + reason: + message.role === 'system' + ? 'system_prompt' + : message.role === 'tool' + ? 'tool_loop_message' + : 'selected_history' + })) +} diff --git a/src/main/presenter/agentRuntimePresenter/tapeViewPolicy.ts b/src/main/presenter/agentRuntimePresenter/tapeViewPolicy.ts new file mode 100644 index 000000000..038d73d27 --- /dev/null +++ b/src/main/presenter/agentRuntimePresenter/tapeViewPolicy.ts @@ -0,0 +1,148 @@ +import type { ChatMessageRecord, SendMessageInput } from '@shared/types/agent-interface' +import type { DeepChatMessageStore } from './messageStore' +import { + buildContextWithMetadata, + buildResumeContextWithMetadata, + type ContextBuildOptions, + type ContextBuildResult +} from './contextBuilder' + +export const LEGACY_TAPE_VIEW_POLICY_ID = 'legacy_context_v1' as const +export const LEGACY_TAPE_VIEW_POLICY_VERSION = 1 as const +export const DEFAULT_TAPE_VIEW_POLICY_ID = LEGACY_TAPE_VIEW_POLICY_ID + +export type TapeViewPolicyId = typeof LEGACY_TAPE_VIEW_POLICY_ID +export type TapeViewPolicySelectionReason = + | 'default' + | 'requested' + | 'fallback_default' + | 'injected' + +export interface TapeChatViewPolicyInput { + sessionId: string + newUserContent: string | SendMessageInput + systemPrompt: string + contextLength: number + reserveTokens: number + messageStore: DeepChatMessageStore + supportsVision: boolean + historyRecords: ChatMessageRecord[] + options?: Omit +} + +export interface TapeResumeViewPolicyInput { + sessionId: string + assistantMessageId: string + systemPrompt: string + contextLength: number + reserveTokens: number + messageStore: DeepChatMessageStore + supportsVision: boolean + historyRecords: ChatMessageRecord[] + options?: Omit +} + +export interface TapeViewPolicy { + id: TapeViewPolicyId + version: typeof LEGACY_TAPE_VIEW_POLICY_VERSION + buildChat(input: TapeChatViewPolicyInput): ContextBuildResult + buildResume(input: TapeResumeViewPolicyInput): ContextBuildResult +} + +export interface TapeViewPolicySelectionInput { + requestedPolicyId?: string | null +} + +export interface TapeViewPolicySelection { + policy: TapeViewPolicy + requestedPolicyId: string | null + reason: TapeViewPolicySelectionReason +} + +export const legacyTapeViewPolicy: TapeViewPolicy = { + id: LEGACY_TAPE_VIEW_POLICY_ID, + version: LEGACY_TAPE_VIEW_POLICY_VERSION, + buildChat(input) { + return buildContextWithMetadata( + input.sessionId, + input.newUserContent, + input.systemPrompt, + input.contextLength, + input.reserveTokens, + input.messageStore, + input.supportsVision, + { + ...input.options, + historyRecords: input.historyRecords + } + ) + }, + buildResume(input) { + return buildResumeContextWithMetadata( + input.sessionId, + input.assistantMessageId, + input.systemPrompt, + input.contextLength, + input.reserveTokens, + input.messageStore, + input.supportsVision, + { + ...input.options, + historyRecords: input.historyRecords + } + ) + } +} + +const BUILTIN_TAPE_VIEW_POLICIES: Record = { + [LEGACY_TAPE_VIEW_POLICY_ID]: legacyTapeViewPolicy +} + +export function listTapeViewPolicies(): TapeViewPolicy[] { + return Object.values(BUILTIN_TAPE_VIEW_POLICIES) +} + +export function getTapeViewPolicy(policyId: string | null | undefined): TapeViewPolicy | null { + if (!policyId) { + return null + } + + const normalizedPolicyId = policyId.trim() + if (!normalizedPolicyId) { + return null + } + + return BUILTIN_TAPE_VIEW_POLICIES[normalizedPolicyId as TapeViewPolicyId] ?? null +} + +export function resolveTapeViewPolicy( + input: TapeViewPolicySelectionInput = {} +): TapeViewPolicySelection { + const requestedPolicyId = + typeof input.requestedPolicyId === 'string' && input.requestedPolicyId.trim() + ? input.requestedPolicyId.trim() + : null + + if (requestedPolicyId) { + const requestedPolicy = getTapeViewPolicy(requestedPolicyId) + if (requestedPolicy) { + return { + policy: requestedPolicy, + requestedPolicyId, + reason: 'requested' + } + } + + return { + policy: BUILTIN_TAPE_VIEW_POLICIES[DEFAULT_TAPE_VIEW_POLICY_ID], + requestedPolicyId, + reason: 'fallback_default' + } + } + + return { + policy: BUILTIN_TAPE_VIEW_POLICIES[DEFAULT_TAPE_VIEW_POLICY_ID], + requestedPolicyId: null, + reason: 'default' + } +} diff --git a/src/main/presenter/agentSessionPresenter/index.ts b/src/main/presenter/agentSessionPresenter/index.ts index dff1c3875..25f8a5c9e 100644 --- a/src/main/presenter/agentSessionPresenter/index.ts +++ b/src/main/presenter/agentSessionPresenter/index.ts @@ -39,6 +39,11 @@ import type { } from '@shared/types/agent-interface' import type { Message } from '@shared/chat' import type { SearchResult } from '@shared/types/core/search' +import type { DeepChatTapeViewManifestRecord } from '@shared/types/tape-view-manifest' +import type { + DeepChatTapeReplayExportOptions, + DeepChatTapeReplaySlice +} from '@shared/types/tape-replay' import type { AcpConfigState, IConfigPresenter, @@ -56,8 +61,6 @@ import { AgentRegistry } from './agentRegistry' import { NewSessionManager } from './sessionManager' import { NewMessageManager } from './messageManager' import { LegacyChatImportService } from './legacyImportService' -import { eventBus, SendTarget } from '@/eventbus' -import { SESSION_EVENTS } from '@/events' import { publishDeepchatEvent } from '@/routes/publishDeepchatEvent' import { buildConversationExportContent, @@ -295,17 +298,6 @@ export class AgentSessionPresenter { { id: 'deepchat', name: 'DeepChat', type: 'deepchat', enabled: true }, agentRuntimeAgent ) - - eventBus.on( - SESSION_EVENTS.STATUS_CHANGED, - (payload: { sessionId?: string; status?: SessionWithState['status'] }) => { - if (!payload?.sessionId || !payload?.status) { - return - } - - this.sessionStatusSnapshots.set(payload.sessionId, payload.status) - } - ) } // ---- IPC-facing methods ---- @@ -406,10 +398,6 @@ export class AgentSessionPresenter { // Bind to window and emit activated this.sessionManager.bindWindow(webContentsId, sessionId) - eventBus.sendToRenderer(SESSION_EVENTS.ACTIVATED, SendTarget.ALL_WINDOWS, { - webContentsId, - sessionId - }) this.emitSessionListUpdated({ sessionIds: [sessionId], reason: 'created', @@ -1444,6 +1432,61 @@ export class AgentSessionPresenter { return await agent.handoffTape(sessionId, name, state) } + async listMessageViewManifests(messageId: string): Promise { + const normalizedMessageId = messageId?.trim() + if (!normalizedMessageId) return [] + + const message = this.sqlitePresenter.deepchatMessagesTable.get(normalizedMessageId) + if (!message) return [] + + const session = this.sessionManager.get(message.session_id) + if (!session) return [] + + try { + const agent = await this.resolveAgentImplementation(session.agentId) + if (!agent.listMessageViewManifests) return [] + + return await agent.listMessageViewManifests(message.session_id, normalizedMessageId) + } catch (error) { + logger.warn('[AgentSessionPresenter] Failed to list message view manifests', { + messageId: normalizedMessageId, + error + }) + return [] + } + } + + async exportMessageTapeReplaySlice( + messageId: string, + options?: DeepChatTapeReplayExportOptions + ): Promise { + const normalizedMessageId = messageId?.trim() + if (!normalizedMessageId) return null + + const message = this.sqlitePresenter.deepchatMessagesTable.get(normalizedMessageId) + if (!message) return null + + const session = this.sessionManager.get(message.session_id) + if (!session) return null + + try { + const agent = await this.resolveAgentImplementation(session.agentId) + if (!agent.exportMessageTapeReplaySlice) return null + + return await agent.exportMessageTapeReplaySlice( + message.session_id, + normalizedMessageId, + options + ) + } catch (error) { + logger.warn('[AgentSessionPresenter] Failed to export tape replay slice', { + messageId: normalizedMessageId, + error + }) + return null + } + } + async mergeSubagentTape( parentSessionId: string, childSessionId: string, @@ -1764,10 +1807,6 @@ export class AgentSessionPresenter { async activateSession(webContentsId: number, sessionId: string): Promise { this.sessionManager.bindWindow(webContentsId, sessionId) - eventBus.sendToRenderer(SESSION_EVENTS.ACTIVATED, SendTarget.ALL_WINDOWS, { - webContentsId, - sessionId - }) publishDeepchatEvent('sessions.updated', { sessionIds: [sessionId], reason: 'activated', @@ -1778,9 +1817,6 @@ export class AgentSessionPresenter { async deactivateSession(webContentsId: number): Promise { this.sessionManager.unbindWindow(webContentsId) - eventBus.sendToRenderer(SESSION_EVENTS.DEACTIVATED, SendTarget.ALL_WINDOWS, { - webContentsId - }) publishDeepchatEvent('sessions.updated', { sessionIds: [], reason: 'deactivated', @@ -2457,7 +2493,6 @@ export class AgentSessionPresenter { ) const reason = options.reason ?? (sessionIds.length > 0 ? 'updated' : 'list-refreshed') - eventBus.sendToRenderer(SESSION_EVENTS.LIST_UPDATED, SendTarget.ALL_WINDOWS) publishDeepchatEvent('sessions.updated', { sessionIds, reason, diff --git a/src/main/presenter/browser/YoBrowserPresenter.ts b/src/main/presenter/browser/YoBrowserPresenter.ts index d139786f7..7502124a2 100644 --- a/src/main/presenter/browser/YoBrowserPresenter.ts +++ b/src/main/presenter/browser/YoBrowserPresenter.ts @@ -2,8 +2,6 @@ import { BrowserWindow, WebContents, WebContentsView } from 'electron' import type { Rectangle } from 'electron' import { is } from '@electron-toolkit/utils' import { nanoid } from 'nanoid' -import { eventBus, SendTarget } from '@/eventbus' -import { YO_BROWSER_EVENTS } from '@/events' import { publishDeepchatEvent } from '@/routes/publishDeepchatEvent' import logger from '@shared/logger' import { @@ -231,7 +229,6 @@ export class YoBrowserPresenter implements IYoBrowserPresenter { } this.emitWindowClosed(sessionId) - this.emitWindowCount() } async goBack(sessionId: string): Promise { @@ -385,7 +382,6 @@ export class YoBrowserPresenter implements IYoBrowserPresenter { this.sessionBrowsers.set(sessionId, state) this.setupPageListeners(state, view.webContents) this.emitWindowCreated(sessionId) - this.emitWindowCount() return state } @@ -491,7 +487,6 @@ export class YoBrowserPresenter implements IYoBrowserPresenter { state.visible = false this.sessionBrowsers.delete(sessionId) this.emitWindowClosed(sessionId) - this.emitWindowCount() } private attachHostWindowListeners(windowId: number): void { @@ -722,7 +717,6 @@ export class YoBrowserPresenter implements IYoBrowserPresenter { status: this.toStatus(this.sessionBrowsers.get(sessionId) ?? null) } - eventBus.sendToRenderer(YO_BROWSER_EVENTS.WINDOW_CREATED, SendTarget.ALL_WINDOWS, payload) publishDeepchatEvent('browser.status.changed', { sessionId, reason: 'created', @@ -741,7 +735,6 @@ export class YoBrowserPresenter implements IYoBrowserPresenter { url } - eventBus.sendToRenderer(YO_BROWSER_EVENTS.OPEN_REQUESTED, SendTarget.ALL_WINDOWS, payload) publishDeepchatEvent('browser.open.requested', { ...payload, version: Date.now() @@ -750,10 +743,6 @@ export class YoBrowserPresenter implements IYoBrowserPresenter { private emitWindowUpdated(sessionId: string): void { const status = this.toStatus(this.sessionBrowsers.get(sessionId) ?? null) - eventBus.sendToRenderer(YO_BROWSER_EVENTS.WINDOW_UPDATED, SendTarget.ALL_WINDOWS, { - sessionId, - status - }) publishDeepchatEvent('browser.status.changed', { sessionId, reason: 'updated', @@ -764,9 +753,6 @@ export class YoBrowserPresenter implements IYoBrowserPresenter { } private emitWindowClosed(sessionId: string): void { - eventBus.sendToRenderer(YO_BROWSER_EVENTS.WINDOW_CLOSED, SendTarget.ALL_WINDOWS, { - sessionId - }) publishDeepchatEvent('browser.status.changed', { sessionId, reason: 'closed', @@ -777,10 +763,6 @@ export class YoBrowserPresenter implements IYoBrowserPresenter { } private emitWindowFocused(sessionId: string, windowId: number): void { - eventBus.sendToRenderer(YO_BROWSER_EVENTS.WINDOW_FOCUSED, SendTarget.ALL_WINDOWS, { - sessionId, - windowId - }) publishDeepchatEvent('browser.status.changed', { sessionId, reason: 'focused', @@ -790,19 +772,7 @@ export class YoBrowserPresenter implements IYoBrowserPresenter { }) } - private emitWindowCount(): void { - eventBus.sendToRenderer( - YO_BROWSER_EVENTS.WINDOW_COUNT_CHANGED, - SendTarget.ALL_WINDOWS, - this.sessionBrowsers.size - ) - } - private emitWindowVisibility(sessionId: string, visible: boolean): void { - eventBus.sendToRenderer(YO_BROWSER_EVENTS.WINDOW_VISIBILITY_CHANGED, SendTarget.ALL_WINDOWS, { - sessionId, - visible - }) publishDeepchatEvent('browser.status.changed', { sessionId, reason: 'visibility', diff --git a/src/main/presenter/configPresenter/acpInitHelper.ts b/src/main/presenter/configPresenter/acpInitHelper.ts index 79c92273d..5659513e5 100644 --- a/src/main/presenter/configPresenter/acpInitHelper.ts +++ b/src/main/presenter/configPresenter/acpInitHelper.ts @@ -14,6 +14,8 @@ import { mergeCommandEnvironment, setPathEntriesOnEnv } from '@/lib/agentRuntime/shellEnvHelper' +import { DEEPCHAT_EVENT_CHANNEL } from '@shared/contracts/channels' +import { createDeepchatEventEnvelope } from '@/routes/publishDeepchatEvent' const execAsync = promisify(exec) @@ -229,10 +231,14 @@ class AcpInitHelper { missingCount: missingDeps.length }) if (webContents && !webContents.isDestroyed()) { - webContents.send('external-deps-required', { - agentId, - missingDeps - }) + webContents.send( + DEEPCHAT_EVENT_CHANNEL, + createDeepchatEventEnvelope('acpTerminal.externalDependenciesRequired', { + agentId, + missingDeps, + version: Date.now() + }) + ) } // Stop initialization - user must install dependencies first return null @@ -425,7 +431,14 @@ class AcpInitHelper { // Send output to renderer (PTY output is treated as stdout) if (!webContents.isDestroyed()) { - webContents.send('acp-init:output', { type: 'stdout', data }) + webContents.send( + DEEPCHAT_EVENT_CHANNEL, + createDeepchatEventEnvelope('acpTerminal.output', { + type: 'stdout', + data, + version: Date.now() + }) + ) } // Inject command once shell is ready @@ -460,7 +473,14 @@ class AcpInitHelper { commandInjected }) if (!webContents.isDestroyed()) { - webContents.send('acp-init:exit', { code: exitCode, signal: signal || null }) + webContents.send( + DEEPCHAT_EVENT_CHANNEL, + createDeepchatEventEnvelope('acpTerminal.exited', { + code: exitCode, + signal: signal || null, + version: Date.now() + }) + ) } if (this.activeShell === pty) { this.activeShell = null @@ -473,7 +493,13 @@ class AcpInitHelper { setTimeout(() => { if (!webContents.isDestroyed()) { logger.info('[ACP Init] Sending start event (delayed to ensure listeners ready)') - webContents.send('acp-init:start', { command: shell }) + webContents.send( + DEEPCHAT_EVENT_CHANNEL, + createDeepchatEventEnvelope('acpTerminal.started', { + command: shell, + version: Date.now() + }) + ) } // Fallback: inject command if shell hasn't become ready yet diff --git a/src/main/presenter/configPresenter/eventPublishers.ts b/src/main/presenter/configPresenter/eventPublishers.ts new file mode 100644 index 000000000..de81473cb --- /dev/null +++ b/src/main/presenter/configPresenter/eventPublishers.ts @@ -0,0 +1,200 @@ +import { eventBus } from '@/eventbus' +import { CONFIG_EVENTS, FLOATING_BUTTON_EVENTS, SYSTEM_EVENTS } from '@/events' +import { publishDeepchatEvent } from '@/routes/publishDeepchatEvent' +import { + readAcpState, + readLanguageState, + readSyncSettings, + readThemeState +} from '@/routes/config/configRouteSupport' +import type { IConfigPresenter } from '@shared/presenter' +import type { ProviderBatchUpdate, ProviderChange } from '@shared/provider-operations' + +export function emitLanguageChanged(configPresenter: IConfigPresenter, language: string): void { + eventBus.sendToMain(CONFIG_EVENTS.LANGUAGE_CHANGED, language) + publishDeepchatEvent('config.language.changed', { + ...readLanguageState(configPresenter), + version: Date.now() + }) +} + +export function emitThemeChanged( + configPresenter: IConfigPresenter, + theme: 'dark' | 'light' | 'system' +): void { + eventBus.sendToMain(CONFIG_EVENTS.THEME_CHANGED, theme) + void readThemeState(configPresenter) + .then((state) => { + publishDeepchatEvent('config.theme.changed', { + ...state, + version: Date.now() + }) + }) + .catch((error) => { + console.error('Failed to publish typed theme changed event:', error) + }) +} + +export function emitSystemThemeChanged(isDark: boolean): void { + eventBus.sendToMain(SYSTEM_EVENTS.SYSTEM_THEME_UPDATED, isDark) + publishDeepchatEvent('config.systemTheme.changed', { + isDark, + version: Date.now() + }) +} + +export function emitFloatingButtonChanged(enabled: boolean): void { + eventBus.sendToMain(FLOATING_BUTTON_EVENTS.ENABLED_CHANGED, enabled) + publishDeepchatEvent('config.floatingButton.changed', { + enabled, + version: Date.now() + }) +} + +export function emitSyncSettingsChanged( + configPresenter: IConfigPresenter, + change: { enabled?: boolean; folderPath?: string } +): void { + eventBus.sendToMain(CONFIG_EVENTS.SYNC_SETTINGS_CHANGED, change) + publishDeepchatEvent('config.syncSettings.changed', { + ...readSyncSettings(configPresenter), + version: Date.now() + }) +} + +export function emitDefaultProjectPathChanged(path: string | null): void { + eventBus.sendToMain(CONFIG_EVENTS.DEFAULT_PROJECT_PATH_CHANGED, { path }) + publishDeepchatEvent('config.defaultProjectPath.changed', { + path, + version: Date.now() + }) +} + +export function emitAcpAgentsChanged(configPresenter: IConfigPresenter, agentIds?: string[]): void { + eventBus.sendToMain(CONFIG_EVENTS.AGENTS_CHANGED, { agentIds }) + void readAcpState(configPresenter) + .then((state) => { + publishDeepchatEvent('config.agents.changed', { + ...state, + agentIds, + version: Date.now() + }) + }) + .catch((error) => { + console.error('Failed to publish typed ACP agents changed event:', error) + }) + publishDeepchatEvent('models.changed', { + reason: 'agents', + providerId: 'acp', + version: Date.now() + }) +} + +export async function emitCustomPromptsChanged(configPresenter: IConfigPresenter): Promise { + eventBus.sendToMain(CONFIG_EVENTS.CUSTOM_PROMPTS_CHANGED) + publishDeepchatEvent('config.customPrompts.changed', { + prompts: await configPresenter.getCustomPrompts(), + version: Date.now() + }) +} + +export function emitProvidersChanged(): void { + eventBus.sendToMain(CONFIG_EVENTS.PROVIDER_CHANGED) + publishDeepchatEvent('providers.changed', { + reason: 'providers', + version: Date.now() + }) +} + +export function emitProviderAtomicUpdate(change: ProviderChange): void { + eventBus.sendToMain(CONFIG_EVENTS.PROVIDER_ATOMIC_UPDATE, change) + publishDeepchatEvent('providers.changed', { + reason: 'provider-atomic-update', + providerIds: change.providerId ? [change.providerId] : undefined, + version: Date.now() + }) +} + +export function emitProviderBatchUpdate(batchUpdate: ProviderBatchUpdate): void { + eventBus.sendToMain(CONFIG_EVENTS.PROVIDER_BATCH_UPDATE, batchUpdate) + publishDeepchatEvent('providers.changed', { + reason: 'provider-batch-update', + providerIds: Array.isArray(batchUpdate.providers) + ? batchUpdate.providers.map((provider) => provider.id) + : undefined, + version: Date.now() + }) +} + +export function emitModelsChanged(providerId?: string): void { + eventBus.sendToMain(CONFIG_EVENTS.MODEL_LIST_CHANGED, providerId) + publishDeepchatEvent('models.changed', { + reason: 'runtime-refresh', + providerId, + version: Date.now() + }) +} + +export function emitModelStatusChanged(payload: { + providerId: string + modelId: string + enabled: boolean +}): void { + eventBus.sendToMain(CONFIG_EVENTS.MODEL_STATUS_CHANGED, payload) + publishDeepchatEvent('models.status.changed', { + ...payload, + version: Date.now() + }) +} + +export function emitModelBatchStatusChanged(payload: { + providerId: string + updates: { modelId: string; enabled: boolean }[] +}): void { + eventBus.sendToMain(CONFIG_EVENTS.MODEL_BATCH_STATUS_CHANGED, payload) + publishDeepchatEvent('models.batch.status.changed', { + ...payload, + version: Date.now() + }) +} + +export function emitModelConfigChanged( + providerId: string, + modelId: string, + config: Record +): void { + eventBus.sendToMain(CONFIG_EVENTS.MODEL_CONFIG_CHANGED, providerId, modelId, config) + publishDeepchatEvent('models.config.changed', { + changeType: 'updated', + providerId, + modelId, + config, + version: Date.now() + }) +} + +export function emitModelConfigReset(providerId: string, modelId: string): void { + eventBus.sendToMain(CONFIG_EVENTS.MODEL_CONFIG_RESET, providerId, modelId) + publishDeepchatEvent('models.config.changed', { + changeType: 'reset', + providerId, + modelId, + version: Date.now() + }) +} + +export function emitModelConfigsImported(overwrite: boolean): void { + eventBus.sendToMain(CONFIG_EVENTS.MODEL_CONFIGS_IMPORTED, overwrite) + publishDeepchatEvent('models.config.changed', { + changeType: 'imported', + overwrite, + version: Date.now() + }) +} + +export function emitDefaultSystemPromptChanged(payload: { + promptId: string + content: string +}): void { + eventBus.sendToMain(CONFIG_EVENTS.DEFAULT_SYSTEM_PROMPT_CHANGED, payload) +} diff --git a/src/main/presenter/configPresenter/index.ts b/src/main/presenter/configPresenter/index.ts index 5f75e9f7c..8087fb39a 100644 --- a/src/main/presenter/configPresenter/index.ts +++ b/src/main/presenter/configPresenter/index.ts @@ -1,5 +1,5 @@ import logger from '@shared/logger' -import { eventBus, SendTarget } from '@/eventbus' +import { eventBus } from '@/eventbus' import { IConfigPresenter, LLM_PROVIDER, @@ -46,13 +46,7 @@ import { DEFAULT_PROVIDERS } from './providers' import path from 'path' import { app, nativeTheme, shell, safeStorage } from 'electron' import fs from 'fs' -import { - CONFIG_EVENTS, - SYSTEM_EVENTS, - FLOATING_BUTTON_EVENTS, - SESSION_EVENTS, - MCP_EVENTS -} from '@/events' +import { CONFIG_EVENTS, MCP_EVENTS } from '@/events' import { McpConfHelper } from './mcpConfHelper' import { presenter } from '@/presenter' import { compare } from 'compare-versions' @@ -83,6 +77,21 @@ import { normalizeDeepChatSubagentConfig } from '@shared/lib/deepchatSubagents' import type { SQLitePresenter } from '../sqlitePresenter' import type { SettingsKey, SettingsSnapshotValues } from '@shared/contracts/routes' import { publishDeepchatEvent } from '@/routes/publishDeepchatEvent' +import { + emitAcpAgentsChanged, + emitCustomPromptsChanged, + emitDefaultProjectPathChanged, + emitDefaultSystemPromptChanged, + emitFloatingButtonChanged, + emitLanguageChanged, + emitModelConfigChanged, + emitModelConfigReset, + emitModelConfigsImported, + emitModelsChanged, + emitSyncSettingsChanged, + emitSystemThemeChanged, + emitThemeChanged +} from './eventPublishers' import type { HookTestResult, HooksNotificationsSettings } from '@shared/hooksNotifications' import type { Agent, @@ -1462,11 +1471,6 @@ export class ConfigPresenter implements IConfigPresenter { // Trigger setting change event (main process internal use only) eventBus.sendToMain(CONFIG_EVENTS.SETTING_CHANGED, key, value) - // Special handling: font size settings need to notify all tabs - if (key === 'fontSizeLevel') { - eventBus.sendToRenderer(CONFIG_EVENTS.FONT_SIZE_CHANGED, SendTarget.ALL_WINDOWS, value) - } - const trackedChange = toTrackedSettingsChangePayload(key, value) if (trackedChange) { publishDeepchatEvent('settings.changed', { @@ -1750,8 +1754,7 @@ export class ConfigPresenter implements IConfigPresenter { // Set application language setLanguage(language: string): void { this.setSetting('language', language) - // Trigger language change event (need to notify all tabs) - eventBus.send(CONFIG_EVENTS.LANGUAGE_CHANGED, SendTarget.ALL_WINDOWS, language) + emitLanguageChanged(this, language) try { presenter.floatingButtonPresenter.refreshLanguage() @@ -1855,7 +1858,7 @@ export class ConfigPresenter implements IConfigPresenter { setSyncEnabled(enabled: boolean): void { logger.info('setSyncEnabled', enabled) this.setSetting('syncEnabled', enabled) - eventBus.send(CONFIG_EVENTS.SYNC_SETTINGS_CHANGED, SendTarget.ALL_WINDOWS, { enabled }) + emitSyncSettingsChanged(this, { enabled }) } // Get sync folder path @@ -1868,7 +1871,7 @@ export class ConfigPresenter implements IConfigPresenter { // Set sync folder path setSyncFolderPath(folderPath: string): void { this.setSetting('syncFolderPath', folderPath) - eventBus.send(CONFIG_EVENTS.SYNC_SETTINGS_CHANGED, SendTarget.ALL_WINDOWS, { folderPath }) + emitSyncSettingsChanged(this, { folderPath }) } // Get last sync time @@ -2073,8 +2076,7 @@ export class ConfigPresenter implements IConfigPresenter { async setCustomSearchEngines(engines: SearchEngineTemplate[]): Promise { try { this.store.set('customSearchEngines', JSON.stringify(engines)) - // Send event to notify search engine update (need to notify all tabs) - eventBus.send(CONFIG_EVENTS.SEARCH_ENGINES_UPDATED, SendTarget.ALL_WINDOWS, engines) + eventBus.sendToMain(CONFIG_EVENTS.SEARCH_ENGINES_UPDATED, engines) } catch (error) { console.error('Failed to set custom search engines:', error) throw error @@ -2255,7 +2257,7 @@ export class ConfigPresenter implements IConfigPresenter { // Set floating button switch status setFloatingButtonEnabled(enabled: boolean): void { this.setSetting('floatingButtonEnabled', enabled) - eventBus.send(FLOATING_BUTTON_EVENTS.ENABLED_CHANGED, SendTarget.ALL_WINDOWS, enabled) + emitFloatingButtonChanged(enabled) try { presenter.floatingButtonPresenter.setEnabled(enabled) @@ -2775,9 +2777,12 @@ export class ConfigPresenter implements IConfigPresenter { private notifyAcpAgentsChanged(agentIds?: string[]) { logger.info('[ACP] notifyAcpAgentsChanged: sending MODEL_LIST_CHANGED event for provider "acp"') - eventBus.send(CONFIG_EVENTS.MODEL_LIST_CHANGED, SendTarget.ALL_WINDOWS, 'acp') - eventBus.send(CONFIG_EVENTS.AGENTS_CHANGED, SendTarget.ALL_WINDOWS, { agentIds }) - eventBus.sendToRendererIfAvailable(SESSION_EVENTS.LIST_UPDATED, SendTarget.ALL_WINDOWS) + emitModelsChanged('acp') + emitAcpAgentsChanged(this, agentIds) + publishDeepchatEvent('sessions.updated', { + sessionIds: [], + reason: 'list-refreshed' + }) } // Provide getMcpConfHelper method to get MCP configuration helper @@ -2809,14 +2814,7 @@ export class ConfigPresenter implements IConfigPresenter { ): void { const storedConfig = this.modelConfigHelper.setModelConfig(modelId, providerId, config, options) this.providerModelHelper.invalidateProviderModelsCache(providerId) - // Trigger model configuration change event (need to notify all tabs) - eventBus.send( - CONFIG_EVENTS.MODEL_CONFIG_CHANGED, - SendTarget.ALL_WINDOWS, - providerId, - modelId, - storedConfig - ) + emitModelConfigChanged(providerId, modelId, storedConfig as unknown as Record) } /** @@ -2827,8 +2825,7 @@ export class ConfigPresenter implements IConfigPresenter { resetModelConfig(modelId: string, providerId: string): void { this.modelConfigHelper.resetModelConfig(modelId, providerId) this.providerModelHelper.invalidateProviderModelsCache(providerId) - // 触发模型配置重置事件(需要通知所有标签页) - eventBus.send(CONFIG_EVENTS.MODEL_CONFIG_RESET, SendTarget.ALL_WINDOWS, providerId, modelId) + emitModelConfigReset(providerId, modelId) } /** @@ -2870,8 +2867,7 @@ export class ConfigPresenter implements IConfigPresenter { importModelConfigs(configs: Record, overwrite: boolean = false): void { this.modelConfigHelper.importConfigs(configs, overwrite) this.providerModelHelper.invalidateAllProviderModelsCache() - // 触发批量导入事件(需要通知所有标签页) - eventBus.send(CONFIG_EVENTS.MODEL_CONFIGS_IMPORTED, SendTarget.ALL_WINDOWS, overwrite) + emitModelConfigsImported(overwrite) } getNotificationsEnabled(): boolean { @@ -2891,7 +2887,7 @@ export class ConfigPresenter implements IConfigPresenter { nativeTheme.on('updated', () => { // 只有当主题设置为 system 时,才需要通知渲染进程系统主题变化 if (nativeTheme.themeSource === 'system') { - eventBus.sendToMain(SYSTEM_EVENTS.SYSTEM_THEME_UPDATED, nativeTheme.shouldUseDarkColors) + emitSystemThemeChanged(nativeTheme.shouldUseDarkColors) try { void presenter.floatingButtonPresenter.refreshTheme() @@ -2905,8 +2901,7 @@ export class ConfigPresenter implements IConfigPresenter { async setTheme(theme: 'dark' | 'light' | 'system'): Promise { nativeTheme.themeSource = theme this.setSetting('appTheme', theme) - // 通知所有窗口主题已更改 - eventBus.send(CONFIG_EVENTS.THEME_CHANGED, SendTarget.ALL_WINDOWS, theme) + emitThemeChanged(this, theme) try { void presenter.floatingButtonPresenter.refreshTheme() @@ -2960,10 +2955,7 @@ export class ConfigPresenter implements IConfigPresenter { } this.clearCustomPromptsCache() logger.info(`[Config] Custom prompts cache updated: ${prompts.length} prompts`) - // Notify all windows about custom prompts change - eventBus.send(CONFIG_EVENTS.CUSTOM_PROMPTS_CHANGED, SendTarget.ALL_WINDOWS, { - count: prompts.length - }) + await emitCustomPromptsChanged(this) } // 添加单个 prompt (optimized with cache) @@ -3111,7 +3103,7 @@ export class ConfigPresenter implements IConfigPresenter { if (promptId === 'empty') { await this.setSystemPrompts(updatedPrompts) await this.clearSystemPrompt() - eventBus.send(CONFIG_EVENTS.DEFAULT_SYSTEM_PROMPT_CHANGED, SendTarget.ALL_WINDOWS, { + emitDefaultSystemPromptChanged({ promptId: 'empty', content: '' }) @@ -3124,7 +3116,7 @@ export class ConfigPresenter implements IConfigPresenter { updatedPrompts[targetIndex].isDefault = true await this.setSystemPrompts(updatedPrompts) await this.setDefaultSystemPrompt(updatedPrompts[targetIndex].content) - eventBus.send(CONFIG_EVENTS.DEFAULT_SYSTEM_PROMPT_CHANGED, SendTarget.ALL_WINDOWS, { + emitDefaultSystemPromptChanged({ promptId, content: updatedPrompts[targetIndex].content }) @@ -3201,11 +3193,20 @@ export class ConfigPresenter implements IConfigPresenter { // 设置快捷键 setShortcutKey(customShortcutKey: ShortcutKeySetting) { this.setSetting('shortcutKey', customShortcutKey) + this.publishShortcutKeysChanged() } // 重置快捷键 resetShortcutKeys() { this.setSetting('shortcutKey', { ...defaultShortcutKey }) + this.publishShortcutKeysChanged() + } + + private publishShortcutKeysChanged(): void { + publishDeepchatEvent('config.shortcutKeys.changed', { + shortcuts: this.getShortcutKey(), + version: Date.now() + }) } // 获取知识库配置 @@ -3235,10 +3236,15 @@ export class ConfigPresenter implements IConfigPresenter { } void Promise.all([this.getMcpServers(), this.getMcpEnabled()]) .then(([mcpServers, mcpEnabled]) => { - eventBus.send(MCP_EVENTS.CONFIG_CHANGED, SendTarget.ALL_WINDOWS, { + eventBus.sendToMain(MCP_EVENTS.CONFIG_CHANGED, { mcpServers, mcpEnabled }) + publishDeepchatEvent('mcp.config.changed', { + mcpServers, + mcpEnabled, + version: Date.now() + }) }) .catch((error) => { console.error('Failed to notify MCP config change after knowledge config update:', error) @@ -3348,11 +3354,6 @@ export class ConfigPresenter implements IConfigPresenter { }): Promise { try { this.getSettingsStoreForKey('nowledgeMemConfig').set('nowledgeMemConfig', config) - eventBus.sendToRenderer( - CONFIG_EVENTS.NOWLEDGE_MEM_CONFIG_UPDATED, - SendTarget.ALL_WINDOWS, - config - ) } catch (error) { console.error('[Config] Failed to set nowledge-mem config:', error) throw error @@ -3426,9 +3427,7 @@ export class ConfigPresenter implements IConfigPresenter { setDefaultProjectPath(projectPath: string | null): void { const normalized = projectPath?.trim() ? projectPath.trim() : null this.setSetting('defaultProjectPath', normalized) - eventBus.send(CONFIG_EVENTS.DEFAULT_PROJECT_PATH_CHANGED, SendTarget.ALL_WINDOWS, { - path: normalized - }) + emitDefaultProjectPathChanged(normalized) } } diff --git a/src/main/presenter/configPresenter/mcpConfHelper.ts b/src/main/presenter/configPresenter/mcpConfHelper.ts index dac508c24..c372fbf3e 100644 --- a/src/main/presenter/configPresenter/mcpConfHelper.ts +++ b/src/main/presenter/configPresenter/mcpConfHelper.ts @@ -1,7 +1,8 @@ import logger from '@shared/logger' -import { eventBus, SendTarget } from '@/eventbus' +import { eventBus } from '@/eventbus' import { BuiltinKnowledgeConfig, MCPServerConfig } from '@shared/presenter' import { MCP_EVENTS } from '@/events' +import { publishDeepchatEvent } from '@/routes/publishDeepchatEvent' import ElectronStore from 'electron-store' // app is used in DEFAULT_INMEMORY_SERVERS but removed buildInFileSystem // import { app } from 'electron' @@ -327,9 +328,15 @@ export class McpConfHelper { } private emitConfigChanged(servers: Record): void { - eventBus.send(MCP_EVENTS.CONFIG_CHANGED, SendTarget.ALL_WINDOWS, { + const mcpEnabled = Boolean(this.mcpStore.get('mcpEnabled')) + eventBus.sendToMain(MCP_EVENTS.CONFIG_CHANGED, { mcpServers: servers, - mcpEnabled: this.mcpStore.get('mcpEnabled') + mcpEnabled + }) + publishDeepchatEvent('mcp.config.changed', { + mcpServers: servers, + mcpEnabled, + version: Date.now() }) } @@ -865,10 +872,18 @@ export class McpConfHelper { `MCP batch import completed. Imported: ${result.imported}, Skipped: ${result.skipped}, Errors: ${result.errors.length}` ) - // Emit event to notify about the import - eventBus.sendToRenderer(MCP_EVENTS.CONFIG_CHANGED, SendTarget.ALL_WINDOWS, { + const mcpServers = await this.getMcpServers() + const mcpEnabled = await this.getMcpEnabled() + eventBus.sendToMain(MCP_EVENTS.CONFIG_CHANGED, { action: 'batch_import', - result + result, + mcpServers, + mcpEnabled + }) + publishDeepchatEvent('mcp.config.changed', { + mcpServers, + mcpEnabled, + version: Date.now() }) return result diff --git a/src/main/presenter/configPresenter/modelConfig.ts b/src/main/presenter/configPresenter/modelConfig.ts index 39b97aae5..6e193de5c 100644 --- a/src/main/presenter/configPresenter/modelConfig.ts +++ b/src/main/presenter/configPresenter/modelConfig.ts @@ -34,6 +34,20 @@ import type { StoreLike } from './storeLike' const SPECIAL_CONCAT_CHAR = '-_-' const MODEL_CONFIG_META_KEY = '__meta__' +const MINIMAX_M3_CONTEXT_LENGTH = 1_000_000 + +const normalizeProviderDbModelId = (modelId: string | undefined): string | undefined => { + const normalized = modelId ? modelId.toLowerCase() : modelId + return normalized ? normalized.replace(/^models\//, '') : normalized +} + +const isMiniMaxProviderId = (providerId: string | undefined): boolean => { + const normalized = providerId?.trim().toLowerCase() + return normalized === 'minimax' || normalized === 'minimax-cn' +} + +const isMiniMaxM3Model = (providerId: string | undefined, modelId: string): boolean => + isMiniMaxProviderId(providerId) && modelId.trim().toLowerCase() === 'minimax-m3' const normalizeVerbosityValue = ( portrait: ReasoningPortrait | null, @@ -154,7 +168,17 @@ export class ModelConfigHelper { return config } - return applyMoonshotKimiReasoningTemperaturePolicy(providerId, modelId, config) + const policyConfig = applyMoonshotKimiReasoningTemperaturePolicy(providerId, modelId, config) + + if (!isMiniMaxM3Model(providerId, modelId)) { + return policyConfig + } + + return { + ...policyConfig, + contextLength: Math.max(policyConfig.contextLength ?? 0, MINIMAX_M3_CONTEXT_LENGTH), + forceInterleavedThinkingCompat: true + } } private buildConfigFromProviderModel(model: ProviderModel, providerId: string): ModelConfig { @@ -178,10 +202,13 @@ export class ModelConfigHelper { portrait, portrait?.verbosity ?? model.reasoning?.verbosity ) + const contextLimit = isMiniMaxM3Model(providerId, model.id) + ? Math.max(model.limit?.context ?? 0, MINIMAX_M3_CONTEXT_LENGTH) + : model.limit?.context return this.applyProviderSpecificPolicies(providerId, model.id, { maxTokens: resolveDerivedModelMaxTokens(model.limit?.output), - contextLength: resolveModelContextLength(model.limit?.context), + contextLength: resolveModelContextLength(contextLimit), timeout: DEFAULT_MODEL_TIMEOUT, temperature: 0.6, topP: undefined, @@ -199,7 +226,9 @@ export class ModelConfigHelper { ? ApiEndpointType.AudioSpeech : ApiEndpointType.Chat, thinkingBudget, - forceInterleavedThinkingCompat, + forceInterleavedThinkingCompat: isMiniMaxM3Model(providerId, model.id) + ? true + : forceInterleavedThinkingCompat, reasoningEffort, reasoningVisibility, verbosity, @@ -455,7 +484,7 @@ export class ModelConfigHelper { ) { for (let i = 0; i < providerEntry.models.length; i += 1) { const candidate = providerEntry.models[i] - if (candidate && candidate.id === normModelId) { + if (candidate && normalizeProviderDbModelId(candidate.id) === normModelId) { finalConfig = this.buildConfigFromProviderModel(candidate, resolvedProviderId) break } @@ -472,7 +501,7 @@ export class ModelConfigHelper { for (let j = 0; j < candidateProvider.models.length; j += 1) { const candidateModel = candidateProvider.models[j] - if (candidateModel && candidateModel.id === normModelId) { + if (candidateModel && normalizeProviderDbModelId(candidateModel.id) === normModelId) { finalConfig = this.buildConfigFromProviderModel(candidateModel, candidateProvider.id) break } diff --git a/src/main/presenter/configPresenter/modelStatusHelper.ts b/src/main/presenter/configPresenter/modelStatusHelper.ts index 4f0157249..261095edf 100644 --- a/src/main/presenter/configPresenter/modelStatusHelper.ts +++ b/src/main/presenter/configPresenter/modelStatusHelper.ts @@ -1,6 +1,5 @@ -import { eventBus, SendTarget } from '@/eventbus' -import { CONFIG_EVENTS } from '@/events' import type { StoreLike } from './storeLike' +import { emitModelBatchStatusChanged, emitModelStatusChanged } from './eventPublishers' type SetSetting = (key: string, value: T) => void @@ -155,7 +154,7 @@ export class ModelStatusHelper { this.setSetting(statusKey, enabled) this.cache.set(statusKey, enabled) this.statusSnapshot?.set(statusKey, enabled) - eventBus.send(CONFIG_EVENTS.MODEL_STATUS_CHANGED, SendTarget.ALL_WINDOWS, { + emitModelStatusChanged({ providerId, modelId, enabled @@ -229,7 +228,7 @@ export class ModelStatusHelper { this.statusSnapshot?.set(statusKey, enabled) } - eventBus.send(CONFIG_EVENTS.MODEL_BATCH_STATUS_CHANGED, SendTarget.ALL_WINDOWS, { + emitModelBatchStatusChanged({ providerId, updates }) diff --git a/src/main/presenter/configPresenter/providerDbLoader.ts b/src/main/presenter/configPresenter/providerDbLoader.ts index b781743a5..db94d7edb 100644 --- a/src/main/presenter/configPresenter/providerDbLoader.ts +++ b/src/main/presenter/configPresenter/providerDbLoader.ts @@ -8,8 +8,9 @@ import { sanitizeAggregate } from '@shared/types/model-db' import { resolveProviderId } from './providerId' -import { eventBus, SendTarget } from '@/eventbus' +import { eventBus } from '@/eventbus' import { PROVIDER_DB_EVENTS } from '@/events' +import { publishDeepchatEvent } from '@/routes/publishDeepchatEvent' const DEFAULT_PROVIDER_DB_URL = 'https://raw.githubusercontent.com/ThinkInAIXYZ/PublicProviderConf/refs/heads/dev/dist/all.json' @@ -22,6 +23,17 @@ type MetaFile = { lastAttemptedAt?: number } +function publishProviderDbCatalogChanged(reason: 'provider-db-loaded' | 'provider-db-updated') { + publishDeepchatEvent('providers.changed', { + reason, + version: Date.now() + }) + publishDeepchatEvent('models.changed', { + reason, + version: Date.now() + }) +} + export type ProviderDbRefreshResult = { status: 'updated' | 'not-modified' | 'skipped' | 'error' lastUpdated: number | null @@ -60,9 +72,10 @@ export class ProviderDbLoader { if (this.cache) { try { const providersCount = Object.keys(this.cache.providers || {}).length - eventBus.send(PROVIDER_DB_EVENTS.LOADED, SendTarget.ALL_WINDOWS, { + eventBus.sendToMain(PROVIDER_DB_EVENTS.LOADED, { providersCount }) + publishProviderDbCatalogChanged('provider-db-loaded') } catch {} } @@ -308,10 +321,11 @@ export class ProviderDbLoader { this.cache = sanitized try { const providersCount = Object.keys(this.cache.providers || {}).length - eventBus.send(PROVIDER_DB_EVENTS.UPDATED, SendTarget.ALL_WINDOWS, { + eventBus.sendToMain(PROVIDER_DB_EVENTS.UPDATED, { providersCount, lastUpdated: meta.lastUpdated }) + publishProviderDbCatalogChanged('provider-db-updated') } catch {} return this.createResult('updated', meta) } catch (error) { diff --git a/src/main/presenter/configPresenter/providerHelper.ts b/src/main/presenter/configPresenter/providerHelper.ts index a3c62f000..af0d5bb32 100644 --- a/src/main/presenter/configPresenter/providerHelper.ts +++ b/src/main/presenter/configPresenter/providerHelper.ts @@ -1,6 +1,4 @@ import logger from '@shared/logger' -import { eventBus, SendTarget } from '@/eventbus' -import { CONFIG_EVENTS } from '@/events' import { checkRequiresRebuild, ProviderBatchUpdate, @@ -8,6 +6,11 @@ import { } from '@shared/provider-operations' import { LLM_PROVIDER } from '@shared/presenter' import type { StoreLike } from './storeLike' +import { + emitProviderAtomicUpdate, + emitProviderBatchUpdate, + emitProvidersChanged +} from './eventPublishers' type SetSetting = (key: string, value: T) => void @@ -112,7 +115,7 @@ export class ProviderHelper { `[Config] Repaired providers store: ${providers.length} entries -> ${repairedProviders.length} valid providers` ) this.setSetting(PROVIDERS_STORE_KEY, repairedProviders) - eventBus.send(CONFIG_EVENTS.PROVIDER_CHANGED, SendTarget.ALL_WINDOWS) + emitProvidersChanged() } return repairedProviders } @@ -145,7 +148,7 @@ export class ProviderHelper { } this.setSetting(PROVIDERS_STORE_KEY, validProviders) - eventBus.send(CONFIG_EVENTS.PROVIDER_CHANGED, SendTarget.ALL_WINDOWS) + emitProvidersChanged() } getProviderById(id: string): LLM_PROVIDER | undefined { @@ -182,14 +185,14 @@ export class ProviderHelper { requiresRebuild, updates } - eventBus.send(CONFIG_EVENTS.PROVIDER_ATOMIC_UPDATE, SendTarget.ALL_WINDOWS, change) + emitProviderAtomicUpdate(change) return requiresRebuild } updateProvidersBatch(batchUpdate: ProviderBatchUpdate): void { this.setSetting(PROVIDERS_STORE_KEY, batchUpdate.providers) - eventBus.send(CONFIG_EVENTS.PROVIDER_BATCH_UPDATE, SendTarget.ALL_WINDOWS, batchUpdate) + emitProviderBatchUpdate(batchUpdate) } addProviderAtomic(provider: LLM_PROVIDER): void { @@ -203,7 +206,7 @@ export class ProviderHelper { requiresRebuild: true, provider } - eventBus.send(CONFIG_EVENTS.PROVIDER_ATOMIC_UPDATE, SendTarget.ALL_WINDOWS, change) + emitProviderAtomicUpdate(change) } removeProviderAtomic(providerId: string): void { @@ -228,7 +231,7 @@ export class ProviderHelper { providerId, requiresRebuild: true } - eventBus.send(CONFIG_EVENTS.PROVIDER_ATOMIC_UPDATE, SendTarget.ALL_WINDOWS, change) + emitProviderAtomicUpdate(change) } reorderProvidersAtomic(providers: LLM_PROVIDER[]): void { @@ -239,7 +242,7 @@ export class ProviderHelper { providerId: '', requiresRebuild: false } - eventBus.send(CONFIG_EVENTS.PROVIDER_ATOMIC_UPDATE, SendTarget.ALL_WINDOWS, change) + emitProviderAtomicUpdate(change) } getDefaultProviders(): LLM_PROVIDER[] { diff --git a/src/main/presenter/configPresenter/providerModelHelper.ts b/src/main/presenter/configPresenter/providerModelHelper.ts index 4966f6274..daa028866 100644 --- a/src/main/presenter/configPresenter/providerModelHelper.ts +++ b/src/main/presenter/configPresenter/providerModelHelper.ts @@ -1,12 +1,11 @@ import logger from '@shared/logger' -import { eventBus, SendTarget } from '@/eventbus' -import { CONFIG_EVENTS } from '@/events' import { ModelConfig, MODEL_META } from '@shared/presenter' import { ModelType } from '@shared/model' import { resolveVideoGenerationCompatType } from '@shared/videoGenerationSettings' import ElectronStore from 'electron-store' import path from 'path' import type { StoreLike } from './storeLike' +import { emitModelsChanged } from './eventPublishers' export interface IModelStore { models: MODEL_META[] @@ -302,7 +301,7 @@ export class ProviderModelHelper { this.setCustomModels(providerId, models) this.setModelStatus(providerId, model.id, true) - eventBus.send(CONFIG_EVENTS.MODEL_LIST_CHANGED, SendTarget.ALL_WINDOWS, providerId) + emitModelsChanged(providerId) } removeCustomModel(providerId: string, modelId: string): void { @@ -310,7 +309,7 @@ export class ProviderModelHelper { const filteredModels = models.filter((model) => model.id !== modelId) this.setCustomModels(providerId, filteredModels) this.deleteModelStatus(providerId, modelId) - eventBus.send(CONFIG_EVENTS.MODEL_LIST_CHANGED, SendTarget.ALL_WINDOWS, providerId) + emitModelsChanged(providerId) } updateCustomModel(providerId: string, modelId: string, updates: Partial): void { @@ -319,7 +318,7 @@ export class ProviderModelHelper { if (index !== -1) { models[index] = { ...models[index], ...updates } this.setCustomModels(providerId, models) - eventBus.send(CONFIG_EVENTS.MODEL_LIST_CHANGED, SendTarget.ALL_WINDOWS, providerId) + emitModelsChanged(providerId) } } } diff --git a/src/main/presenter/configPresenter/systemPromptHelper.ts b/src/main/presenter/configPresenter/systemPromptHelper.ts index b6ffdba12..1ed4f348d 100644 --- a/src/main/presenter/configPresenter/systemPromptHelper.ts +++ b/src/main/presenter/configPresenter/systemPromptHelper.ts @@ -1,8 +1,7 @@ -import { eventBus, SendTarget } from '@/eventbus' -import { CONFIG_EVENTS } from '@/events' import { SystemPrompt } from '@shared/presenter' import ElectronStore from 'electron-store' import { publishDeepchatEvent } from '@/routes/publishDeepchatEvent' +import { emitDefaultSystemPromptChanged } from './eventPublishers' type SetSetting = (key: string, value: T) => void @@ -149,7 +148,7 @@ export class SystemPromptHelper { if (promptId === 'empty') { await this.setSystemPrompts(updatedPrompts) await this.clearSystemPrompt() - eventBus.send(CONFIG_EVENTS.DEFAULT_SYSTEM_PROMPT_CHANGED, SendTarget.ALL_WINDOWS, { + emitDefaultSystemPromptChanged({ promptId: 'empty', content: '' }) @@ -162,7 +161,7 @@ export class SystemPromptHelper { updatedPrompts[targetIndex].isDefault = true await this.setSystemPrompts(updatedPrompts) await this.setDefaultSystemPrompt(updatedPrompts[targetIndex].content) - eventBus.send(CONFIG_EVENTS.DEFAULT_SYSTEM_PROMPT_CHANGED, SendTarget.ALL_WINDOWS, { + emitDefaultSystemPromptChanged({ promptId, content: updatedPrompts[targetIndex].content }) diff --git a/src/main/presenter/configPresenter/uiSettingsHelper.ts b/src/main/presenter/configPresenter/uiSettingsHelper.ts index 1b15c88c2..2302cebc9 100644 --- a/src/main/presenter/configPresenter/uiSettingsHelper.ts +++ b/src/main/presenter/configPresenter/uiSettingsHelper.ts @@ -1,4 +1,4 @@ -import { eventBus, SendTarget } from '@/eventbus' +import { eventBus } from '@/eventbus' import { CONFIG_EVENTS } from '@/events' import { publishDeepchatEvent } from '@/routes/publishDeepchatEvent' import type { SettingsKey, SettingsSnapshotValues } from '@shared/contracts/routes' @@ -65,7 +65,7 @@ export class UiSettingsHelper { setSearchPreviewEnabled(enabled: boolean): void { const boolValue = Boolean(enabled) this.setSetting('searchPreviewEnabled', boolValue) - eventBus.send(CONFIG_EVENTS.SEARCH_PREVIEW_CHANGED, SendTarget.ALL_WINDOWS, boolValue) + eventBus.sendToMain(CONFIG_EVENTS.SEARCH_PREVIEW_CHANGED, boolValue) } getAutoScrollEnabled(): boolean { @@ -77,7 +77,7 @@ export class UiSettingsHelper { setAutoScrollEnabled(enabled: boolean): void { const boolValue = Boolean(enabled) this.setSetting('autoScrollEnabled', boolValue) - eventBus.send(CONFIG_EVENTS.AUTO_SCROLL_CHANGED, SendTarget.ALL_WINDOWS, boolValue) + eventBus.sendToMain(CONFIG_EVENTS.AUTO_SCROLL_CHANGED, boolValue) } getAutoCompactionEnabled(): boolean { @@ -123,7 +123,7 @@ export class UiSettingsHelper { setContentProtectionEnabled(enabled: boolean): void { this.setSetting('contentProtectionEnabled', enabled) - eventBus.send(CONFIG_EVENTS.CONTENT_PROTECTION_CHANGED, SendTarget.ALL_WINDOWS, enabled) + eventBus.sendToMain(CONFIG_EVENTS.CONTENT_PROTECTION_CHANGED, enabled) } getPrivacyModeEnabled(): boolean { @@ -142,12 +142,12 @@ export class UiSettingsHelper { setCopyWithCotEnabled(enabled: boolean): void { this.setSetting('copyWithCotEnabled', enabled) - eventBus.send(CONFIG_EVENTS.COPY_WITH_COT_CHANGED, SendTarget.ALL_WINDOWS, enabled) + eventBus.sendToMain(CONFIG_EVENTS.COPY_WITH_COT_CHANGED, enabled) } setTraceDebugEnabled(enabled: boolean): void { this.setSetting('traceDebugEnabled', enabled) - eventBus.send(CONFIG_EVENTS.TRACE_DEBUG_CHANGED, SendTarget.ALL_WINDOWS, enabled) + eventBus.sendToMain(CONFIG_EVENTS.TRACE_DEBUG_CHANGED, enabled) } getNotificationsEnabled(): boolean { @@ -161,7 +161,7 @@ export class UiSettingsHelper { setNotificationsEnabled(enabled: boolean): void { const boolValue = Boolean(enabled) this.setSetting('notificationsEnabled', boolValue) - eventBus.send(CONFIG_EVENTS.NOTIFICATIONS_CHANGED, SendTarget.ALL_WINDOWS, boolValue) + eventBus.sendToMain(CONFIG_EVENTS.NOTIFICATIONS_CHANGED, boolValue) } getFontFamily(): string { @@ -171,7 +171,7 @@ export class UiSettingsHelper { setFontFamily(fontFamily?: string | null): void { const normalized = this.normalizeStoredFont(fontFamily) this.setSetting('fontFamily', normalized) - eventBus.send(CONFIG_EVENTS.FONT_FAMILY_CHANGED, SendTarget.ALL_WINDOWS, normalized) + eventBus.sendToMain(CONFIG_EVENTS.FONT_FAMILY_CHANGED, normalized) } getCodeFontFamily(): string { @@ -181,7 +181,7 @@ export class UiSettingsHelper { setCodeFontFamily(fontFamily?: string | null): void { const normalized = this.normalizeStoredFont(fontFamily) this.setSetting('codeFontFamily', normalized) - eventBus.send(CONFIG_EVENTS.CODE_FONT_FAMILY_CHANGED, SendTarget.ALL_WINDOWS, normalized) + eventBus.sendToMain(CONFIG_EVENTS.CODE_FONT_FAMILY_CHANGED, normalized) } resetFontSettings(): void { diff --git a/src/main/presenter/deeplinkPresenter/index.ts b/src/main/presenter/deeplinkPresenter/index.ts index f6b4dc9a5..a0a05d674 100644 --- a/src/main/presenter/deeplinkPresenter/index.ts +++ b/src/main/presenter/deeplinkPresenter/index.ts @@ -3,14 +3,10 @@ import { app, BrowserWindow } from 'electron' import { presenter } from '@/presenter' import { IDeeplinkPresenter, MCPServerConfig } from '@shared/presenter' import path from 'path' -import { - NOTIFICATION_EVENTS, - SETTINGS_EVENTS, - DEEPLINK_EVENTS, - MCP_EVENTS, - WINDOW_EVENTS -} from '@/events' -import { eventBus, SendTarget } from '@/eventbus' +import { DEEPLINK_EVENTS, MCP_EVENTS, WINDOW_EVENTS } from '@/events' +import { eventBus } from '@/eventbus' +import { DEEPCHAT_EVENT_CHANNEL } from '@shared/contracts/channels' +import { createDeepchatEventEnvelope, publishDeepchatEvent } from '@/routes/publishDeepchatEvent' import { consumeStartupDeepLink } from '@/lib/startupDeepLink' import { PROVIDER_INSTALL_VERSION, @@ -419,10 +415,14 @@ export class DeeplinkPresenter implements IDeeplinkPresenter { } presenter.windowPresenter.setPendingSettingsProviderInstall(preview) - presenter.windowPresenter.sendToWindow(settingsWindowId, SETTINGS_EVENTS.NAVIGATE, { + presenter.windowPresenter.sendSettingsNavigation(settingsWindowId, { routeName: 'settings-provider' }) - presenter.windowPresenter.sendToWindow(settingsWindowId, SETTINGS_EVENTS.PROVIDER_INSTALL) + presenter.windowPresenter.sendToWindow( + settingsWindowId, + DEEPCHAT_EVENT_CHANNEL, + createDeepchatEventEnvelope('settings.providerInstallRequested', {}) + ) } catch (error) { const message = error instanceof Error ? error.message : 'Invalid provider deeplink.' console.error('Error parsing provider install deeplink:', error) @@ -573,7 +573,7 @@ export class DeeplinkPresenter implements IDeeplinkPresenter { } private notifyProviderImportError(message: string): void { - eventBus.sendToRenderer(NOTIFICATION_EVENTS.SHOW_ERROR, SendTarget.ALL_WINDOWS, { + publishDeepchatEvent('notification.error', { id: `provider-deeplink-${Date.now()}`, title: 'Provider Deeplink', message, diff --git a/src/main/presenter/devicePresenter/index.ts b/src/main/presenter/devicePresenter/index.ts index 0c3540ed2..17a9c7bec 100644 --- a/src/main/presenter/devicePresenter/index.ts +++ b/src/main/presenter/devicePresenter/index.ts @@ -9,12 +9,15 @@ import { app, dialog } from 'electron' import { nanoid } from 'nanoid' import axios from 'axios' import { is } from '@electron-toolkit/utils' -import { eventBus, SendTarget } from '../../eventbus' -import { NOTIFICATION_EVENTS } from '../../events' import { svgSanitizer } from '../../lib/svgSanitizer' -import { presenter } from '../index' +import { publishDeepchatEvent } from '@/routes/publishDeepchatEvent' const execAsync = promisify(exec) +type DeviceResetRuntime = { + closeSqlite?: () => void + destroyKnowledge?: () => Promise | void +} + function toMimeType(value: unknown): string { if (typeof value === 'string') { return value @@ -47,6 +50,16 @@ function getImageExtensionFromMimeType(value: unknown): string { } export class DevicePresenter implements IDevicePresenter { + private resetRuntime: DeviceResetRuntime | null = null + + constructor(resetRuntime?: DeviceResetRuntime) { + this.resetRuntime = resetRuntime ?? null + } + + setResetRuntime(resetRuntime: DeviceResetRuntime): void { + this.resetRuntime = resetRuntime + } + static getDefaultHeaders(): Record { const version = app.getVersion() return { @@ -353,8 +366,8 @@ export class DevicePresenter implements IDevicePresenter { // 删除聊天数据 logger.info('Resetting chat data...') try { - if (presenter.sqlitePresenter) { - presenter.sqlitePresenter.close() + if (this.resetRuntime?.closeSqlite) { + this.resetRuntime.closeSqlite() logger.info('SQLite database connection closed') } await new Promise((resolve) => setTimeout(resolve, 500)) @@ -388,8 +401,8 @@ export class DevicePresenter implements IDevicePresenter { // 删除知识库数据 logger.info('Resetting knowledge base data...') try { - if (presenter.knowledgePresenter) { - await presenter.knowledgePresenter.destroy() + if (this.resetRuntime?.destroyKnowledge) { + await this.resetRuntime.destroyKnowledge() logger.info('Knowledge database connections closed') } await new Promise((resolve) => setTimeout(resolve, 500)) @@ -434,12 +447,12 @@ export class DevicePresenter implements IDevicePresenter { // 删除整个用户数据目录 logger.info('Performing complete reset of user data...') try { - if (presenter.sqlitePresenter) { - presenter.sqlitePresenter.close() + if (this.resetRuntime?.closeSqlite) { + this.resetRuntime.closeSqlite() logger.info('SQLite database connection closed') } - if (presenter.knowledgePresenter) { - await presenter.knowledgePresenter.destroy() + if (this.resetRuntime?.destroyKnowledge) { + await this.resetRuntime.destroyKnowledge() logger.info('Knowledge database connections closed') } await new Promise((resolve) => setTimeout(resolve, 1000)) @@ -466,7 +479,7 @@ export class DevicePresenter implements IDevicePresenter { try { if (is.dev) { logger.info('开发环境下数据重置完成,发送通知到渲染进程') - eventBus.sendToRenderer(NOTIFICATION_EVENTS.DATA_RESET_COMPLETE_DEV, SendTarget.ALL_WINDOWS) + publishDeepchatEvent('appRuntime.dataResetCompleteDev', {}) return } diff --git a/src/main/presenter/dialogPresenter/index.ts b/src/main/presenter/dialogPresenter/index.ts index 38de4deaf..71cfff8c2 100644 --- a/src/main/presenter/dialogPresenter/index.ts +++ b/src/main/presenter/dialogPresenter/index.ts @@ -3,7 +3,6 @@ import logger from '@shared/logger' * Message dialog implemented via the renderer process * The dialog is displayed on the current default window content. If it is in the background, it will automatically switch to the foreground. * Only one message dialog can exist within a single active window. Repeated calls will trigger the callback of the previous dialog with null. - * @see {@link SendTarget.DEFAULT_WINDOW} */ import { DialogRequest, @@ -11,8 +10,6 @@ import { DialogResponse, IDialogPresenter } from '@shared/presenter' -import { eventBus, SendTarget } from '@/eventbus' -import { DIALOG_EVENTS } from '@/events' import { publishDeepchatEvent } from '@/routes/publishDeepchatEvent' import { nanoid } from 'nanoid' @@ -50,8 +47,6 @@ export class DialogPresenter implements IDialogPresenter { } this.pendingDialogs.set(finalRequest.id, { resolve, reject }) try { - // send dialog request to renderer - eventBus.sendToRenderer(DIALOG_EVENTS.REQUEST, SendTarget.DEFAULT_WINDOW, finalRequest) publishDeepchatEvent('dialog.requested', { ...finalRequest, version: Date.now() diff --git a/src/main/presenter/floatingButtonPresenter/FloatingButtonWindow.ts b/src/main/presenter/floatingButtonPresenter/FloatingButtonWindow.ts index 83e3beeb8..a08cc07b6 100644 --- a/src/main/presenter/floatingButtonPresenter/FloatingButtonWindow.ts +++ b/src/main/presenter/floatingButtonPresenter/FloatingButtonWindow.ts @@ -40,7 +40,7 @@ export class FloatingButtonWindow { } try { - const isDev = is.dev + const rendererUrl = process.env['ELECTRON_RENDERER_URL'] const initialBounds = this.resolveInitialBounds() this.dockSide = inferDockSide( initialBounds, @@ -71,7 +71,7 @@ export class FloatingButtonWindow { contextIsolation: true, preload: path.join(__dirname, '../preload/floating.mjs'), webSecurity: false, - devTools: isDev, + devTools: is.dev, sandbox: false } }) @@ -81,8 +81,8 @@ export class FloatingButtonWindow { this.window.setOpacity(1) this.setBounds(initialBounds) - if (isDev) { - await this.window.loadURL('http://localhost:5173/floating/') + if (is.dev && rendererUrl) { + await this.window.loadURL(`${rendererUrl}/floating/`) } else { await this.window.loadFile(path.join(__dirname, '../renderer/floating/index.html')) } diff --git a/src/main/presenter/floatingButtonPresenter/index.ts b/src/main/presenter/floatingButtonPresenter/index.ts index c55250c0b..28146bf1d 100644 --- a/src/main/presenter/floatingButtonPresenter/index.ts +++ b/src/main/presenter/floatingButtonPresenter/index.ts @@ -39,6 +39,23 @@ type DragRuntimeState = { windowHeight: number } +type PointPayload = { + x: number + y: number +} + +const isPointPayload = (payload: unknown): payload is PointPayload => { + if (!payload || typeof payload !== 'object') { + return false + } + + const { x, y } = payload as { x?: unknown; y?: unknown } + return typeof x === 'number' && Number.isFinite(x) && typeof y === 'number' && Number.isFinite(y) +} + +const isNonEmptyString = (payload: unknown): payload is string => + typeof payload === 'string' && payload.trim().length > 0 + export class FloatingButtonPresenter { private floatingWindow: FloatingButtonWindow | null = null private config: FloatingButtonConfig @@ -281,11 +298,19 @@ export class FloatingButtonPresenter { this.setExpanded(Boolean(expanded)) }) - ipcMain.on(FLOATING_BUTTON_EVENTS.OPEN_SESSION, (_event, sessionId: string) => { - void this.openSession(sessionId) + ipcMain.on(FLOATING_BUTTON_EVENTS.OPEN_SESSION, (_event, sessionId: unknown) => { + if (!isNonEmptyString(sessionId)) { + return + } + + void this.openSession(sessionId.trim()) }) - ipcMain.on(FLOATING_BUTTON_EVENTS.DRAG_START, (_event, { x, y }: { x: number; y: number }) => { + ipcMain.on(FLOATING_BUTTON_EVENTS.DRAG_START, (_event, payload: unknown) => { + if (!isPointPayload(payload)) { + return + } + if (!this.floatingWindow?.exists()) { return } @@ -303,8 +328,8 @@ export class FloatingButtonPresenter { this.floatingWindow.setOpacity(this.resolveWindowOpacity()) dragState = { - startX: x, - startY: y, + startX: payload.x, + startY: payload.y, windowX: stableBounds.x, windowY: stableBounds.y, windowWidth: stableBounds.width, @@ -312,13 +337,17 @@ export class FloatingButtonPresenter { } }) - ipcMain.on(FLOATING_BUTTON_EVENTS.DRAG_MOVE, (_event, { x, y }: { x: number; y: number }) => { + ipcMain.on(FLOATING_BUTTON_EVENTS.DRAG_MOVE, (_event, payload: unknown) => { + if (!isPointPayload(payload)) { + return + } + if (!dragState || !this.floatingWindow?.exists()) { return } - const deltaX = x - dragState.startX - const deltaY = y - dragState.startY + const deltaX = payload.x - dragState.startX + const deltaY = payload.y - dragState.startY this.floatingWindow.setBounds({ x: dragState.windowX + deltaX, diff --git a/src/main/presenter/index.ts b/src/main/presenter/index.ts index fdbc631b5..f3182c029 100644 --- a/src/main/presenter/index.ts +++ b/src/main/presenter/index.ts @@ -1,7 +1,7 @@ import logger from '@shared/logger' import path from 'path' import { DialogPresenter } from './dialogPresenter/index' -import { BrowserWindow, ipcMain, IpcMainInvokeEvent, app } from 'electron' +import { ipcMain, app } from 'electron' import { WindowPresenter } from './windowPresenter' import { ShortcutPresenter } from './shortcutPresenter' import { @@ -68,6 +68,8 @@ import { NewSessionHooksBridge } from './hooksNotifications/newSessionBridge' import { ScheduledTasksService } from './scheduledTasks' import { AgentSessionPresenter } from './agentSessionPresenter' import { AgentRuntimePresenter } from './agentRuntimePresenter' +import { MemoryPresenter, isSafeAgentId } from './memoryPresenter' +import { MemoryVectorStore } from './memoryPresenter/memoryVectorStore' import { ProjectPresenter } from './projectPresenter' import { RemoteControlPresenter } from './remoteControlPresenter' import type { RemoteControlPresenterLike } from './remoteControlPresenter/interface' @@ -83,84 +85,18 @@ import type { SessionPermissionPort, SessionUiPort } from './runtimePorts' -import { handlePresenterCallError, handlePresenterCallResult } from './presenterCallErrorHandler' import { createMainKernelRouteRuntime, registerMainKernelRoutes } from '@/routes' -import { setupLegacyTypedEventBridge } from '@/routes/legacyTypedEventBridge' +import { + publishDeepchatEvent, + setDeepchatEventWindowPresenter +} from '@/routes/publishDeepchatEvent' import { StartupWorkloadCoordinator } from './startupWorkloadCoordinator' import type { StartupWorkloadTaskContext } from './startupWorkloadCoordinator' -// IPC调用上下文接口 -interface IPCCallContext { - windowId?: number - webContentsId: number - presenterName: string - methodName: string - timestamp: number -} - -// 注意: 现在大部分事件已在各自的 presenter 中直接发送到渲染进程 -// 剩余的自动转发事件已在 EventBus 的 DEFAULT_RENDERER_EVENTS 中定义 - // 主 Presenter 类,负责协调其他 Presenter 并处理 IPC 通信 export class Presenter implements IPresenter { // 私有静态实例 private static instance: Presenter - static readonly DISPATCHABLE_PRESENTERS = new Set([ - 'windowPresenter', - 'sqlitePresenter', - 'llmproviderPresenter', - 'configPresenter', - 'exporter', - 'devicePresenter', - 'upgradePresenter', - 'shortcutPresenter', - 'filePresenter', - 'mcpPresenter', - 'syncPresenter', - 'deeplinkPresenter', - 'notificationPresenter', - 'tabPresenter', - 'yoBrowserPresenter', - 'oauthPresenter', - 'dialogPresenter', - 'knowledgePresenter', - 'workspacePresenter', - 'toolPresenter', - 'skillPresenter', - 'skillSyncPresenter', - 'agentSessionPresenter', - 'projectPresenter' - ]) - - static readonly REMOTE_CONTROL_METHODS = new Set([ - 'listRemoteChannels', - 'getChannelSettings', - 'saveChannelSettings', - 'getChannelStatus', - 'getChannelBindings', - 'removeChannelBinding', - 'removeChannelPrincipal', - 'getChannelPairingSnapshot', - 'createChannelPairCode', - 'clearChannelPairCode', - 'clearChannelBindings', - 'getTelegramSettings', - 'saveTelegramSettings', - 'getTelegramStatus', - 'getTelegramBindings', - 'removeTelegramBinding', - 'getTelegramPairingSnapshot', - 'createTelegramPairCode', - 'clearTelegramPairCode', - 'clearTelegramBindings', - 'getWeixinIlinkSettings', - 'saveWeixinIlinkSettings', - 'getWeixinIlinkStatus', - 'startWeixinIlinkLogin', - 'waitForWeixinIlinkLogin', - 'removeWeixinIlinkAccount', - 'restartWeixinIlinkAccount' - ]) windowPresenter: IWindowPresenter sqlitePresenter: ISQLitePresenter @@ -189,7 +125,9 @@ export class Presenter implements IPresenter { skillPresenter: ISkillPresenter skillSyncPresenter: ISkillSyncPresenter agentSessionPresenter: IAgentSessionPresenter + memoryPresenter: MemoryPresenter projectPresenter: IProjectPresenter + remoteControlPresenter: IRemoteControlPresenter pluginPresenter: PluginPresenter databaseSecurityPresenter: DatabaseSecurityPresenter hooksNotifications: HooksNotificationsService @@ -202,7 +140,6 @@ export class Presenter implements IPresenter { private sessionPresenterInternal?: SessionPresenter private hasInitialized = false #remoteControlPresenter: RemoteControlPresenterLike - readonly #remoteControlBridge: IRemoteControlPresenter private constructor(lifecycleManager: ILifecycleManager) { // Store lifecycle manager reference for component access @@ -247,7 +184,8 @@ export class Presenter implements IPresenter { this.settingsPermissionService = new SettingsPermissionService() const messageManager = new MessageManager(this.sqlitePresenter) this.sessionMessageManager = messageManager - this.devicePresenter = new DevicePresenter() + const devicePresenter = new DevicePresenter() + this.devicePresenter = devicePresenter this.exporter = new ConversationExporterService({ sqlitePresenter: this.sqlitePresenter, configPresenter: this.configPresenter @@ -274,6 +212,10 @@ export class Presenter implements IPresenter { dbDir, this.filePresenter ) + devicePresenter.setResetRuntime({ + closeSqlite: () => this.sqlitePresenter.close(), + destroyKnowledge: () => this.knowledgePresenter.destroy() + }) // Initialize generic Workspace presenter (for all Agent modes) this.workspacePresenter = new WorkspacePresenter(this.filePresenter) @@ -354,6 +296,18 @@ export class Presenter implements IPresenter { handoffTape: async (conversationId, name, state) => { return await this.agentSessionPresenter.handoffTape(conversationId, name, state) }, + isMemoryEnabled: (agentId) => this.memoryPresenter.isEnabled(agentId), + rememberMemory: async (agentId, input, sourceSession) => + this.memoryPresenter.rememberMemory( + { kind: input.kind, content: input.content, importance: input.importance }, + { agentId, sourceSession } + ), + recallMemory: async (agentId, query) => { + const items = await this.memoryPresenter.recall(agentId, query) + return items.map((item) => ({ id: item.id, kind: item.kind, content: item.content })) + }, + forgetMemory: async (agentId, memoryId) => + await this.memoryPresenter.deleteMemory(agentId, memoryId), createSubagentSession: async (input) => { const agentSessionPresenter = this.agentSessionPresenter as IAgentSessionPresenter & { createSubagentSession?: (createInput: typeof input) => Promise<{ @@ -428,6 +382,8 @@ export class Presenter implements IPresenter { createSettingsWindow: () => this.windowPresenter.createSettingsWindow(), sendToWindow: (windowId, channel, ...args) => this.windowPresenter.sendToWindow(windowId, channel, ...args), + sendSettingsNavigation: (windowId, navigation) => + this.windowPresenter.sendSettingsNavigation(windowId, navigation), getApprovedFilePaths: (conversationId, requiredPermission) => this.filePermissionService.getApprovedPaths(conversationId, requiredPermission), consumeSettingsApproval: (conversationId, toolName) => @@ -569,6 +525,31 @@ export class Presenter implements IPresenter { await this.llmproviderPresenter.clearAcpSession(conversationId) } + // Initialize agent memory layer (opt-in per agent; vectors stored separately from knowledge base) + const memoryDbDir = path.join(dbDir, 'AgentMemory') + this.memoryPresenter = new MemoryPresenter({ + repository: (this.sqlitePresenter as unknown as import('./sqlitePresenter').SQLitePresenter) + .agentMemoryTable, + resolveAgentConfig: (agentId) => agentRepository.resolveDeepChatAgentConfig(agentId), + // 严格存在性校验:仅真实存在的 DeepChat agent 才可被管理类记忆接口读写 + isManagedAgent: (agentId) => agentRepository.getDeepChatAgentConfig(agentId) !== null, + getEmbeddings: (providerId, modelId, texts) => + this.llmproviderPresenter.getEmbeddings(providerId, modelId, texts), + generateText: async (providerId, modelId, prompt) => + (await this.llmproviderPresenter.generateText(providerId, prompt, modelId, 0.2)).content ?? + '', + createVectorStore: (agentId, dimensions) => { + // 防御路径穿越:agentId 会拼进 *.duckdb 文件名,必须先确认是 URL-safe 格式 + if (!isSafeAgentId(agentId)) { + throw new Error(`[Memory] refusing to open vector store for unsafe agentId: ${agentId}`) + } + return MemoryVectorStore.create(path.join(memoryDbDir, `${agentId}.duckdb`), dimensions) + }, + // 记忆变更 → typed 事件广播,驱动渲染层记忆管理 UI 自动刷新 + onMemoryChanged: (agentId, reason) => + publishDeepchatEvent('memory.updated', { agentId, reason, version: Date.now() }) + }) + // Initialize new agent architecture presenters const agentRuntimePresenter = new AgentRuntimePresenter( this.llmproviderPresenter as unknown as ILlmProviderPresenter, @@ -580,6 +561,7 @@ export class Presenter implements IPresenter { providerCatalogPort, sessionPermissionPort, sessionUiPort, + memoryPort: this.memoryPresenter, cacheImage: (data) => this.devicePresenter.cacheImage(data), skillPresenter: this.skillPresenter } @@ -609,7 +591,7 @@ export class Presenter implements IPresenter { windowPresenter: this.windowPresenter, tabPresenter: this.tabPresenter }) - this.#remoteControlBridge = this.#remoteControlPresenter + this.remoteControlPresenter = this.#remoteControlPresenter // Update hooksNotifications with actual dependencies now that agentSessionPresenter is ready this.hooksNotifications = new HooksNotificationsService(this.configPresenter, { @@ -660,11 +642,9 @@ export class Presenter implements IPresenter { return Presenter.instance } - // 设置事件总线监听和转发 + // 设置事件监听和 typed renderer event 发送端 setupEventBus() { - // 设置 WindowPresenter 和 TabPresenter 到 EventBus - eventBus.setWindowPresenter(this.windowPresenter) - eventBus.setTabPresenter(this.tabPresenter) + setDeepchatEventWindowPresenter(this.windowPresenter) // 设置特殊事件的处理逻辑 this.setupSpecialEventHandlers() @@ -906,18 +886,6 @@ export class Presenter implements IPresenter { ) } - async callRemoteControl( - method: keyof IRemoteControlPresenter, - ...payloads: unknown[] - ): Promise { - if (!Presenter.REMOTE_CONTROL_METHODS.has(method)) { - throw new Error(`Method "${String(method)}" is not allowed on "remoteControlPresenter"`) - } - - const handler = this.#remoteControlBridge[method] as (...args: unknown[]) => unknown - return await Reflect.apply(handler, this.#remoteControlBridge, payloads) - } - getStartupWorkloadCoordinator(): StartupWorkloadCoordinator { return this.startupWorkloadCoordinator } @@ -932,8 +900,8 @@ export class Presenter implements IPresenter { this.syncPresenter.destroy() // 销毁同步相关资源 this.notificationPresenter.clearAllNotifications() // 清除所有通知 this.knowledgePresenter.destroy() // 释放所有数据库连接 - ;(this.workspacePresenter as WorkspacePresenter).destroy() // 销毁 Workspace watchers - ;(this.skillPresenter as SkillPresenter).destroy() // 销毁 Skills 相关资源 + await (this.workspacePresenter as WorkspacePresenter).destroy() // 销毁 Workspace watchers + await (this.skillPresenter as SkillPresenter).destroy() // 销毁 Skills 相关资源 ;(this.skillSyncPresenter as SkillSyncPresenter).destroy() // 销毁 Skill Sync 相关资源 // 注意: trayPresenter.destroy() 在 main/index.ts 的 will-quit 事件中处理 // 此处不销毁 trayPresenter,其生命周期由 main/index.ts 管理 @@ -950,6 +918,8 @@ export class Presenter implements IPresenter { // Export presenter instance - will be initialized with database during lifecycle export let presenter: Presenter +// The route runtime is cached against the process-wide Presenter singleton. +// If Presenter ever supports reinitialization, this cache must be reset with it. let cachedMainKernelRouteRuntime: ReturnType | undefined const buildMainKernelRouteRuntime = () => @@ -958,7 +928,12 @@ const buildMainKernelRouteRuntime = () => llmProviderPresenter: presenter.llmproviderPresenter, agentSessionPresenter: presenter.agentSessionPresenter, skillPresenter: presenter.skillPresenter, + skillSyncPresenter: presenter.skillSyncPresenter, + exporter: presenter.exporter, + oauthPresenter: presenter.oauthPresenter, mcpPresenter: presenter.mcpPresenter, + remoteControlPresenter: presenter.remoteControlPresenter, + shortcutPresenter: presenter.shortcutPresenter, syncPresenter: presenter.syncPresenter, upgradePresenter: presenter.upgradePresenter, dialogPresenter: presenter.dialogPresenter, @@ -968,12 +943,14 @@ const buildMainKernelRouteRuntime = () => devicePresenter: presenter.devicePresenter, projectPresenter: presenter.projectPresenter, filePresenter: presenter.filePresenter, + knowledgePresenter: presenter.knowledgePresenter, workspacePresenter: presenter.workspacePresenter, yoBrowserPresenter: presenter.yoBrowserPresenter, tabPresenter: presenter.tabPresenter, startupWorkloadCoordinator: presenter.startupWorkloadCoordinator, pluginPresenter: presenter.pluginPresenter, databaseSecurityPresenter: presenter.databaseSecurityPresenter, + memoryPresenter: presenter.memoryPresenter, scheduledTasks: presenter.scheduledTasks }) @@ -991,157 +968,7 @@ export function getMainKernelRouteRuntime(): ReturnType (presenter ? getMainKernelRouteRuntime() : undefined)) - -// 检查对象属性是否为函数 (用于动态调用) -// eslint-disable-next-line @typescript-eslint/no-explicit-any -function isFunction(obj: any, prop: string): obj is { [key: string]: (...args: any[]) => any } { - return typeof obj[prop] === 'function' -} - -// IPC 主进程处理程序:动态调用 Presenter 的方法 (支持 window/webContents 上下文) -ipcMain.handle( - 'presenter:call', - (event: IpcMainInvokeEvent, name: string, method: string, ...payloads: unknown[]) => { - const webContentsId = event.sender.id - try { - // 构建调用上下文 - const windowId = BrowserWindow.fromWebContents(event.sender)?.id - - const context: IPCCallContext = { - windowId, - webContentsId, - presenterName: name, - methodName: method, - timestamp: Date.now() - } - - // 记录调用日志 - if (import.meta.env.VITE_LOG_IPC_CALL === '1') { - logger.info( - `[IPC Call] WebContents:${context.webContentsId} Window:${context.windowId || 'unknown'} -> ${context.presenterName}.${context.methodName}` - ) - } - - if (!Presenter.DISPATCHABLE_PRESENTERS.has(name as keyof IPresenter)) { - console.warn( - `[IPC Warning] WebContents:${context.webContentsId} blocked presenter access: ${name}` - ) - return { error: `Presenter "${name}" is not accessible via generic dispatcher` } - } - - // 通过名称获取对应的 Presenter 实例 - // eslint-disable-next-line @typescript-eslint/no-explicit-any - let calledPresenter: any = presenter[name as keyof Presenter] - let resolvedMethod = method - let resolvedPayloads = payloads - - if (!calledPresenter) { - console.warn( - `[IPC Warning] WebContents:${context.webContentsId} calling wrong presenter: ${name}` - ) - return { error: `Presenter "${name}" not found` } - } - - // 检查方法是否存在且为函数 - if (isFunction(calledPresenter, resolvedMethod)) { - // 调用方法并返回结果 - const result = calledPresenter[resolvedMethod](...resolvedPayloads) - return handlePresenterCallResult(result, { - webContentsId, - presenterName: name, - methodName: method - }) - } else { - console.warn( - `[IPC Warning] WebContents:${context.webContentsId} called method is not a function or does not exist: ${name}.${method}` - ) - return { error: `Method "${method}" not found or not a function on "${name}"` } - } - } catch ( - // eslint-disable-next-line @typescript-eslint/no-explicit-any - e: any - ) { - return handlePresenterCallError(e, { - webContentsId, - presenterName: name, - methodName: method - }) - } - } -) - -ipcMain.handle( - 'remoteControlPresenter:call', - async (event: IpcMainInvokeEvent, method: string, ...payloads: unknown[]) => { - const webContentsId = event.sender.id - try { - const windowId = BrowserWindow.fromWebContents(event.sender)?.id - - if (import.meta.env.VITE_LOG_IPC_CALL === '1') { - logger.info( - `[IPC Call] WebContents:${webContentsId} Window:${windowId || 'unknown'} -> remoteControlPresenter.${method}` - ) - } - - if (!Presenter.REMOTE_CONTROL_METHODS.has(method as keyof IRemoteControlPresenter)) { - console.warn( - `[IPC Warning] WebContents:${webContentsId} blocked remote control method: ${method}` - ) - return { error: `Method "${method}" is not allowed on "remoteControlPresenter"` } - } - - const isSettingsWindow = - windowId != null && presenter.windowPresenter.getSettingsWindowId() === windowId - const shouldTrackRemoteRuntime = - isSettingsWindow && - (method === 'listRemoteChannels' || - method.startsWith('getChannel') || - method.startsWith('getTelegram') || - method.startsWith('getFeishu') || - method.startsWith('getQQBot') || - method.startsWith('getDiscord') || - method.startsWith('getWeixinIlink')) - - const result = shouldTrackRemoteRuntime - ? presenter.startupWorkloadCoordinator.scheduleTask({ - id: `settings.remote.runtime:${method}`, - target: 'settings', - phase: 'deferred', - resource: 'io', - labelKey: 'startup.settings.remote.runtime', - visibleId: 'settings.remote.runtime', - runId: presenter.startupWorkloadCoordinator.getRunId('settings'), - run: async () => { - return await presenter.callRemoteControl( - method as keyof IRemoteControlPresenter, - ...payloads - ) - } - }) - : presenter.callRemoteControl(method as keyof IRemoteControlPresenter, ...payloads) - - return handlePresenterCallResult(result, { - webContentsId, - presenterName: 'remoteControlPresenter', - methodName: method - }) - } catch ( - // eslint-disable-next-line @typescript-eslint/no-explicit-any - e: any - ) { - return handlePresenterCallError(e, { - webContentsId, - presenterName: 'remoteControlPresenter', - methodName: method - }) - } - } -) diff --git a/src/main/presenter/knowledgePresenter/knowledgeStorePresenter.ts b/src/main/presenter/knowledgePresenter/knowledgeStorePresenter.ts index e4ebdf410..f5ff6f76e 100644 --- a/src/main/presenter/knowledgePresenter/knowledgeStorePresenter.ts +++ b/src/main/presenter/knowledgePresenter/knowledgeStorePresenter.ts @@ -16,8 +16,27 @@ import { nanoid } from 'nanoid' import { RecursiveCharacterTextSplitter } from '@/lib/textsplitters' import { sanitizeText } from '@/utils/strings' import { getMetric, normalizeDistance } from '@/utils/vector' -import { eventBus, SendTarget } from '@/eventbus' -import { RAG_EVENTS } from '@/events' +import { publishDeepchatEvent } from '@/routes/publishDeepchatEvent' + +function publishKnowledgeFileUpdated(fileMessage: KnowledgeFileMessage): void { + publishDeepchatEvent('knowledge.file.updated', { + ...fileMessage, + version: Date.now() + }) +} + +function publishKnowledgeFileProgress( + fileId: string, + progress: { completed: number; error: number; total: number } +): void { + publishDeepchatEvent('knowledge.file.progress', { + fileId, + completed: progress.completed, + error: progress.error, + total: progress.total, + version: Date.now() + }) +} export class KnowledgeStorePresenter { private readonly vectorP: IVectorDatabasePresenter @@ -126,7 +145,7 @@ export class KnowledgeStorePresenter { fileMessage.metadata.errorReason = '无法读取文件或文件内容为空,请检查文件是否损坏或格式是否受支持' await this.enqueueFileTask(fileMessage.id, async () => this.vectorP.updateFile(fileMessage)) - eventBus.sendToRenderer(RAG_EVENTS.FILE_UPDATED, SendTarget.ALL_WINDOWS, fileMessage) + publishKnowledgeFileUpdated(fileMessage) return } @@ -143,7 +162,7 @@ export class KnowledgeStorePresenter { await this.enqueueFileTask(fileMessage.id, async () => this.vectorP.updateFile(fileMessage)) // 5. 发送文件更新事件 - eventBus.sendToRenderer(RAG_EVENTS.FILE_UPDATED, SendTarget.ALL_WINDOWS, fileMessage) + publishKnowledgeFileUpdated(fileMessage) // 6. 创建chunk记录 const chunkMessages = chunks.map((content, index) => ({ @@ -239,12 +258,7 @@ export class KnowledgeStorePresenter { progress.completed++ // 更新文件进度 - eventBus.sendToRenderer(RAG_EVENTS.FILE_PROGRESS, SendTarget.ALL_WINDOWS, { - fileId, - completed: progress.completed, - error: progress.error, - total: progress.total - }) + publishKnowledgeFileProgress(fileId, progress) // 检查是否所有分片都完成了 if (progress.completed + progress.error === progress.total) { @@ -271,12 +285,7 @@ export class KnowledgeStorePresenter { progress.error++ // 更新文件进度 - eventBus.sendToRenderer(RAG_EVENTS.FILE_PROGRESS, SendTarget.ALL_WINDOWS, { - fileId, - completed: progress.completed, - error: progress.error, - total: progress.total - }) + publishKnowledgeFileProgress(fileId, progress) // 检查是否所有分片都完成了 if (progress.completed + progress.error === progress.total) { @@ -294,7 +303,7 @@ export class KnowledgeStorePresenter { if (fileMessage) { fileMessage.status = 'completed' await this.enqueueFileTask(fileId, async () => this.vectorP.updateFile(fileMessage)) - eventBus.sendToRenderer(RAG_EVENTS.FILE_UPDATED, SendTarget.ALL_WINDOWS, fileMessage) + publishKnowledgeFileUpdated(fileMessage) logger.info(`[RAG] File processing completed for ${fileId}`) } } catch (error) { @@ -312,7 +321,7 @@ export class KnowledgeStorePresenter { fileMessage.metadata.errorReason = errorMessage } await this.enqueueFileTask(fileId, async () => this.vectorP.updateFile(fileMessage)) - eventBus.sendToRenderer(RAG_EVENTS.FILE_UPDATED, SendTarget.ALL_WINDOWS, fileMessage) + publishKnowledgeFileUpdated(fileMessage) } } catch (error) { console.error(`[RAG] Error handling file processing error for ${fileId}:`, error) diff --git a/src/main/presenter/lifecyclePresenter/SplashWindowManager.ts b/src/main/presenter/lifecyclePresenter/SplashWindowManager.ts index bc6ccb0b9..228732b8a 100644 --- a/src/main/presenter/lifecyclePresenter/SplashWindowManager.ts +++ b/src/main/presenter/lifecyclePresenter/SplashWindowManager.ts @@ -609,10 +609,6 @@ export class SplashWindowManager implements ISplashWindowManager { } private buildInlineFallbackSplashUrl(): string { - const progressChannel = JSON.stringify(DATABASE_UNLOCK_PROGRESS_CHANNEL) - const requestChannel = JSON.stringify(DATABASE_UNLOCK_REQUEST_CHANNEL) - const submitChannel = JSON.stringify(DATABASE_UNLOCK_SUBMIT_CHANNEL) - const cancelChannel = JSON.stringify(DATABASE_UNLOCK_CANCEL_CHANNEL) const html = ` @@ -654,7 +650,7 @@ export class SplashWindowManager implements ISplashWindowManager { diff --git a/src/renderer/floating/env.d.ts b/src/renderer/floating/env.d.ts index 0dea3f91c..e22e217ff 100644 --- a/src/renderer/floating/env.d.ts +++ b/src/renderer/floating/env.d.ts @@ -2,6 +2,8 @@ import type { FloatingWidgetSnapshot } from '@shared/types/floating-widget' +type FloatingButtonUnsubscribe = () => void + declare module '*.vue' { import type { DefineComponent } from 'vue' // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-empty-object-type @@ -25,11 +27,11 @@ declare global { onDragStart: (x: number, y: number) => void onDragMove: (x: number, y: number) => void onDragEnd: (x: number, y: number) => void - onSnapshotUpdate: (callback: (snapshot: FloatingWidgetSnapshot) => void) => void - onLanguageChanged: (callback: (language: string) => void) => void - onThemeChanged: (callback: (theme: 'dark' | 'light') => void) => void - onConfigUpdate: (callback: (config: Record) => void) => void - removeAllListeners: () => void + onSnapshotUpdate: ( + callback: (snapshot: FloatingWidgetSnapshot) => void + ) => FloatingButtonUnsubscribe + onLanguageChanged: (callback: (language: string) => void) => FloatingButtonUnsubscribe + onThemeChanged: (callback: (theme: 'dark' | 'light') => void) => FloatingButtonUnsubscribe } } } diff --git a/src/renderer/floating/main.ts b/src/renderer/floating/main.ts index 36336b2c2..c512743ed 100644 --- a/src/renderer/floating/main.ts +++ b/src/renderer/floating/main.ts @@ -57,7 +57,7 @@ void window.floatingButtonAPI console.warn('Failed to initialize floating widget language:', error) }) -window.floatingButtonAPI.onLanguageChanged(applyLanguage) +const unsubscribeLanguageChanged = window.floatingButtonAPI.onLanguageChanged(applyLanguage) void window.floatingButtonAPI .getTheme() @@ -66,4 +66,13 @@ void window.floatingButtonAPI console.warn('Failed to initialize floating widget theme:', error) }) -window.floatingButtonAPI.onThemeChanged(applyTheme) +const unsubscribeThemeChanged = window.floatingButtonAPI.onThemeChanged(applyTheme) + +window.addEventListener( + 'beforeunload', + () => { + unsubscribeLanguageChanged() + unsubscribeThemeChanged() + }, + { once: true } +) diff --git a/src/renderer/settings/App.vue b/src/renderer/settings/App.vue index 7aeb4b2b7..d58724183 100644 --- a/src/renderer/settings/App.vue +++ b/src/renderer/settings/App.vue @@ -82,7 +82,10 @@ import { useRouter, useRoute, RouterView } from 'vue-router' import { onMounted, onBeforeUnmount, Ref, ref, watch, computed, nextTick, unref } from 'vue' import { useI18n } from 'vue-i18n' import { useTitle } from '@vueuse/core' -import { useLegacyPresenter } from '@api/legacy/presenters' +import { createConfigClient } from '@api/ConfigClient' +import { createDeviceClient } from '@api/DeviceClient' +import { createWindowClient } from '@api/WindowClient' +import { getRuntimePlatform } from '@api/runtime' import CloseIcon from './icons/CloseIcon.vue' import { useUiSettingsStore } from '../src/stores/uiSettingsStore' import { useLanguageStore } from '../src/stores/language' @@ -92,7 +95,6 @@ import ModelCheckDialog from '@/components/settings/ModelCheckDialog.vue' import { useDeviceVersion } from '../src/composables/useDeviceVersion' import { Toaster } from '@shadcn/components/ui/sonner' import 'vue-sonner/style.css' -import { NOTIFICATION_EVENTS, SETTINGS_EVENTS } from '@/events' import { useToast } from '@/components/use-toast' import { useThemeStore } from '@/stores/theme' import { useProviderStore } from '@/stores/providerStore' @@ -103,11 +105,8 @@ import { useMcpInstallDeeplinkHandler } from '../src/lib/storeInitializer' import { ensureIconsLoaded } from '../src/lib/iconLoader' import { useFontManager } from '../src/composables/useFontManager' import { markStartupInteractive } from '../src/lib/startupDeferred' -import type { - DatabaseRepairSuggestedPayload, - LLM_PROVIDER, - ProviderInstallPreview -} from '@shared/presenter' +import type { DatabaseRepairSuggestedPayload, LLM_PROVIDER } from '@shared/presenter' +import type { ProviderInstallPreview } from '@shared/providerDeeplink' import ProviderDeeplinkImportDialog from './components/ProviderDeeplinkImportDialog.vue' import { nanoid } from 'nanoid' import { @@ -126,9 +125,10 @@ type SettingsWindowState = Window & { __deepchatSettingsPendingSection?: string | null } -const devicePresenter = useLegacyPresenter('devicePresenter') -const windowPresenter = useLegacyPresenter('windowPresenter') -const configPresenter = useLegacyPresenter('configPresenter') +const configClient = createConfigClient() +const deviceClient = createDeviceClient() +const windowClient = createWindowClient() +const settingsEventCleanups: Array<() => void> = [] // Initialize stores const uiSettingsStore = useUiSettingsStore() @@ -262,7 +262,7 @@ const showDatabaseRepairSuggestedToast = (payload: DatabaseRepairSuggestedPayloa }) } -const handleSettingsNavigate = async (_event: unknown, payload?: SettingsNavigationPayload) => { +const handleSettingsNavigate = async (payload?: SettingsNavigationPayload) => { const routeName = payload?.routeName const params = normalizeRouteParams(payload?.params) if (!routeName || !router.hasRoute(routeName)) return @@ -359,7 +359,7 @@ const syncPendingProviderInstall = async () => { let preview: ProviderInstallPreview | null = null try { - preview = await windowPresenter.consumePendingSettingsProviderInstall() + preview = await windowClient.consumePendingSettingsProviderInstall() if (!preview) { return } @@ -368,7 +368,7 @@ const syncPendingProviderInstall = async () => { } catch (error) { if (preview) { try { - windowPresenter.setPendingSettingsProviderInstall(preview) + windowClient.requeuePendingSettingsProviderInstall(preview) } catch (requeueError) { console.error('Failed to requeue pending provider install preview:', requeueError) } @@ -444,13 +444,13 @@ const confirmProviderImport = async () => { } } -if (window?.electron?.ipcRenderer) { - window.electron.ipcRenderer.on(SETTINGS_EVENTS.NAVIGATE, handleSettingsNavigate) - window.electron.ipcRenderer.on(SETTINGS_EVENTS.PROVIDER_INSTALL, handleProviderInstall) -} +const cleanupSettingsNavigate = windowClient.onSettingsNavigate(handleSettingsNavigate) +const cleanupSettingsProviderInstall = windowClient.onSettingsProviderInstall(() => { + void handleProviderInstall() +}) const notifySettingsReady = () => { - window.electron?.ipcRenderer?.send(SETTINGS_EVENTS.READY) + void windowClient.notifySettingsReady() } const settings: Ref< { @@ -460,7 +460,7 @@ const settings: Ref< path: string }[] > = ref( - getSettingsRouteItems(window.electron?.process?.platform).map((item) => ({ + getSettingsRouteItems(getRuntimePlatform()).map((item) => ({ title: item.titleKey, name: item.routeName, icon: item.icon, @@ -469,7 +469,7 @@ const settings: Ref< ) const settingGroups = ref( - getSettingsNavigationGroups(window.electron?.process?.platform).map((group) => ({ + getSettingsNavigationGroups(getRuntimePlatform()).map((group) => ({ key: group.key, titleKey: group.titleKey, items: group.items.map((item) => ({ @@ -535,7 +535,7 @@ const getSettingsTabTestId = (name: string) => watch( () => languageStore.language, async () => { - locale.value = await configPresenter.getLanguage() + locale.value = await configClient.getLanguage() document.documentElement.dir = languageStore.dir } ) @@ -611,19 +611,17 @@ onMounted(async () => { startupWorkloadStore?.connect() // Listen for window maximize/unmaximize events - devicePresenter.getDeviceInfo().then((deviceInfo: any) => { + deviceClient.getDeviceInfo().then((deviceInfo) => { isMacOS.value = deviceInfo.platform === 'darwin' }) - window.electron.ipcRenderer.on(NOTIFICATION_EVENTS.SHOW_ERROR, (_event, error) => { + const cleanupNotificationError = windowClient.onNotificationError((error) => { showErrorToast(error) }) - window.electron.ipcRenderer.on( - NOTIFICATION_EVENTS.DATABASE_REPAIR_SUGGESTED, - (_event, payload) => { - showDatabaseRepairSuggestedToast(payload as DatabaseRepairSuggestedPayload) - } - ) + const cleanupDatabaseRepairSuggested = windowClient.onDatabaseRepairSuggested((payload) => { + showDatabaseRepairSuggestedToast(payload as DatabaseRepairSuggestedPayload) + }) + settingsEventCleanups.push(cleanupNotificationError, cleanupDatabaseRepairSuggested) const [settingsLoadResult, routerReadyResult] = await Promise.allSettled([ uiSettingsStore.loadSettings(), @@ -665,8 +663,8 @@ onMounted(async () => { logSettingsStartup('settings window ready IPC sent') }) -const closeWindow = () => { - windowPresenter.closeSettingsWindow() +const closeWindow = async () => { + await windowClient.closeSettings() } onBeforeUnmount(() => { @@ -675,13 +673,9 @@ onBeforeUnmount(() => { errorDisplayTimer.value = null } - window.electron.ipcRenderer.removeAllListeners(NOTIFICATION_EVENTS.SHOW_ERROR) - window.electron.ipcRenderer.removeAllListeners(NOTIFICATION_EVENTS.DATABASE_REPAIR_SUGGESTED) - window.electron.ipcRenderer.removeListener(SETTINGS_EVENTS.NAVIGATE, handleSettingsNavigate) - window.electron.ipcRenderer.removeListener( - SETTINGS_EVENTS.PROVIDER_INSTALL, - handleProviderInstall - ) + cleanupSettingsNavigate() + cleanupSettingsProviderInstall() + settingsEventCleanups.splice(0).forEach((cleanup) => cleanup()) window.removeEventListener('focus', handleWindowFocus) cleanupMcpDeeplink() }) diff --git a/src/renderer/settings/components/AboutUsSettings.vue b/src/renderer/settings/components/AboutUsSettings.vue index d0dd386c2..2e3362a4b 100644 --- a/src/renderer/settings/components/AboutUsSettings.vue +++ b/src/renderer/settings/components/AboutUsSettings.vue @@ -225,7 +225,10 @@ diff --git a/src/renderer/settings/components/AcpDebugDialog.vue b/src/renderer/settings/components/AcpDebugDialog.vue index a607ecac8..f34e01c5e 100644 --- a/src/renderer/settings/components/AcpDebugDialog.vue +++ b/src/renderer/settings/components/AcpDebugDialog.vue @@ -191,8 +191,10 @@ import { Input } from '@shadcn/components/ui/input' import { Badge } from '@shadcn/components/ui/badge' import { Icon } from '@iconify/vue' import type { AcpDebugEventEntry, AcpDebugRequest } from '@shared/presenter' -import { getLegacyWebContentsId, useLegacyPresenter } from '@api/legacy/presenters' -import { ACP_DEBUG_EVENTS } from '@/events' +import { getRuntimeWebContentsId } from '@api/runtime' +import { createConfigClient } from '@api/ConfigClient' +import { createDeviceClient } from '@api/DeviceClient' +import { createProviderClient } from '@api/ProviderClient' import { useToast } from '@/components/use-toast' import { nanoid } from 'nanoid' import { useMonaco } from 'stream-monaco' @@ -210,9 +212,9 @@ const emit = defineEmits<{ const { t } = useI18n() const { toast } = useToast() -const llmProviderPresenter = useLegacyPresenter('llmproviderPresenter') -const configPresenter = useLegacyPresenter('configPresenter') -const devicePresenter = useLegacyPresenter('devicePresenter') +const configClient = createConfigClient() +const deviceClient = createDeviceClient() +const providerClient = createProviderClient() const uiSettingsStore = useUiSettingsStore() const selectedMethod = ref('newSession') @@ -222,11 +224,12 @@ const customMethod = ref('') const loading = ref(false) const events = ref([]) const seenIds = new Set() -const webContentsId = getLegacyWebContentsId() +const webContentsId = ref(null) const debugSessionId = ref(createDebugSessionId()) const processReady = ref(false) const payloadEditor = ref(null) let editorCreated = false +let stopDebugEvents: (() => void) | null = null const workdirLabel = computed(() => workdirPath.value ? workdirPath.value : t('settings.acp.debug.workdirPlaceholder') ) @@ -495,14 +498,14 @@ const formatTime = (timestamp: number) => { return `${date.toLocaleTimeString()}` } -const handleDebugEvent = (_event: unknown, payload: unknown) => { +const handleDebugEvent = (payload: unknown) => { const parsed = payload as { webContentsId?: number agentId?: string event?: AcpDebugEventEntry } if (!parsed?.event || parsed.agentId !== props.agentId) return - if (parsed.webContentsId && parsed.webContentsId !== webContentsId) return + if (parsed.webContentsId && parsed.webContentsId !== webContentsId.value) return appendEvents([parsed.event]) } @@ -557,14 +560,13 @@ const handleSend = async () => { loading.value = true try { - const result = await llmProviderPresenter.runAcpDebugAction({ + const result = await providerClient.runAcpDebugAction({ agentId: props.agentId, action: selectedMethod.value, payload: payloadToSend, sessionId, workdir: workdirPath.value || undefined, - methodName: requiresCustomMethod.value ? customMethod.value.trim() : undefined, - webContentsId: webContentsId || undefined + methodName: requiresCustomMethod.value ? customMethod.value.trim() : undefined }) if (result?.events?.length) { @@ -598,14 +600,13 @@ const runHealthCheck = async () => { debugSessionId.value = '' loading.value = true try { - await configPresenter.ensureAcpAgentInstalled(props.agentId) + await configClient.ensureAcpAgentInstalled(props.agentId) - const initializeResult = await llmProviderPresenter.runAcpDebugAction({ + const initializeResult = await providerClient.runAcpDebugAction({ agentId: props.agentId, action: 'initialize', payload: templateForMethod('initialize'), - workdir: workdirPath.value || undefined, - webContentsId: webContentsId || undefined + workdir: workdirPath.value || undefined }) appendEvents(initializeResult.events ?? []) @@ -615,12 +616,11 @@ const runHealthCheck = async () => { processReady.value = true - const newSessionResult = await llmProviderPresenter.runAcpDebugAction({ + const newSessionResult = await providerClient.runAcpDebugAction({ agentId: props.agentId, action: 'newSession', payload: applyWorkdirToPayload(templateForMethod('newSession')), - workdir: workdirPath.value || undefined, - webContentsId: webContentsId || undefined + workdir: workdirPath.value || undefined }) appendEvents(newSessionResult.events ?? []) @@ -630,13 +630,12 @@ const runHealthCheck = async () => { const newSessionId = newSessionResult.sessionId - const cancelResult = await llmProviderPresenter.runAcpDebugAction({ + const cancelResult = await providerClient.runAcpDebugAction({ agentId: props.agentId, action: 'cancel', payload: templateForMethod('cancel'), sessionId: newSessionId, - workdir: workdirPath.value || undefined, - webContentsId: webContentsId || undefined + workdir: workdirPath.value || undefined }) appendEvents(cancelResult.events ?? []) @@ -659,7 +658,7 @@ const runHealthCheck = async () => { } const handleSelectWorkdir = async () => { - const result = await devicePresenter.selectDirectory() + const result = await deviceClient.selectDirectory() if (result?.canceled || !result.filePaths?.length) return workdirPath.value = result.filePaths[0] syncWorkdirIntoPayload() @@ -710,20 +709,23 @@ watch( ) onMounted(async () => { + try { + webContentsId.value = await getRuntimeWebContentsId() + } catch (error) { + console.warn('[AcpDebugDialog] Failed to resolve runtime webContents id:', error) + } + if (props.open) { await nextTick() await ensureEditor() resetPayload() } - if (window.electron) { - window.electron.ipcRenderer.on(ACP_DEBUG_EVENTS.EVENT, handleDebugEvent) - } + stopDebugEvents = providerClient.onAcpDebugEvent(handleDebugEvent) }) onBeforeUnmount(() => { disposeEditor() - if (window.electron) { - window.electron.ipcRenderer.removeListener(ACP_DEBUG_EVENTS.EVENT, handleDebugEvent) - } + stopDebugEvents?.() + stopDebugEvents = null }) diff --git a/src/renderer/settings/components/AcpDependencyDialog.vue b/src/renderer/settings/components/AcpDependencyDialog.vue index 486cf52c6..215473ffc 100644 --- a/src/renderer/settings/components/AcpDependencyDialog.vue +++ b/src/renderer/settings/components/AcpDependencyDialog.vue @@ -100,6 +100,7 @@ import { import { Button } from '@shadcn/components/ui/button' import { Label } from '@shadcn/components/ui/label' import { Icon } from '@iconify/vue' +import { createDeviceClient } from '@api/DeviceClient' interface ExternalDependency { name: string @@ -127,6 +128,7 @@ const emit = defineEmits<{ const { t } = useI18n() const { toast } = useToast() +const deviceClient = createDeviceClient() const hasInstallCommands = (commands: ExternalDependency['installCommands']): boolean => { if (!commands) return false @@ -135,20 +137,22 @@ const hasInstallCommands = (commands: ExternalDependency['installCommands']): bo const copyToClipboard = async (text: string) => { try { - if (window.api?.copyText) { - window.api.copyText(text) + try { + deviceClient.copyText(text) toast({ title: t('settings.acp.dependency.copied'), duration: 2000 }) - } else if (navigator.clipboard) { + } catch { + if (!navigator.clipboard) { + console.warn('[AcpDependencyDialog] Clipboard API not available') + return + } await navigator.clipboard.writeText(text) toast({ title: t('settings.acp.dependency.copied'), duration: 2000 }) - } else { - console.warn('[AcpDependencyDialog] Clipboard API not available') } } catch (error) { console.error('[AcpDependencyDialog] Failed to copy to clipboard:', error) diff --git a/src/renderer/settings/components/AcpSettings.vue b/src/renderer/settings/components/AcpSettings.vue index 20db9241d..170bae3d1 100644 --- a/src/renderer/settings/components/AcpSettings.vue +++ b/src/renderer/settings/components/AcpSettings.vue @@ -564,9 +564,8 @@ import type { AcpManualAgent, AcpRegistryAgent } from '@shared/presenter' import type { AgentTransferImpact } from '@shared/types/agent-interface' import { useI18n } from 'vue-i18n' import { useToast } from '@/components/use-toast' -import { useLegacyPresenter } from '@api/legacy/presenters' +import { createConfigClient } from '@api/ConfigClient' import { createSessionClient } from '@api/SessionClient' -import { CONFIG_EVENTS } from '@/events' import { Icon } from '@iconify/vue' import { Card, @@ -598,7 +597,7 @@ import AcpAgentIcon from '@/components/icons/AcpAgentIcon.vue' const { t } = useI18n() const { toast } = useToast() -const configPresenter = useLegacyPresenter('configPresenter') +const configClient = createConfigClient() type RegistryDialogFilter = 'all' | 'installed' | 'not_installed' type PendingDeleteAgent = { @@ -786,13 +785,13 @@ const syncEnvDrafts = (agents: AcpRegistryAgent[]) => { } const loadSharedMcpCount = async () => { - sharedMcpCount.value = (await configPresenter.getAcpSharedMcpSelections()).length + sharedMcpCount.value = (await configClient.getAcpSharedMcpSelections()).length } const loadAcpData = async () => { loading.value = true try { - acpEnabled.value = await configPresenter.getAcpEnabled() + acpEnabled.value = await configClient.getAcpEnabled() if (!acpEnabled.value) { registryAgents.value = [] manualAgents.value = [] @@ -801,8 +800,8 @@ const loadAcpData = async () => { } const [registryList, manualList] = await Promise.all([ - configPresenter.listAcpRegistryAgents(), - configPresenter.listManualAcpAgents() + configClient.listAcpRegistryAgents(), + configClient.listManualAcpAgents() ]) registryAgents.value = registryList @@ -820,7 +819,7 @@ const handleToggle = async (enabled: boolean) => { if (toggling.value) return toggling.value = true try { - await configPresenter.setAcpEnabled(enabled) + await configClient.setAcpEnabled(enabled) acpEnabled.value = enabled if (enabled) { await loadAcpData() @@ -835,7 +834,7 @@ const handleToggle = async (enabled: boolean) => { const refreshRegistry = async () => { refreshing.value = true try { - registryAgents.value = await configPresenter.refreshAcpRegistry(true) + registryAgents.value = await configClient.refreshAcpRegistry(true) syncEnvDrafts(registryAgents.value) } catch (error) { handleError(error) @@ -851,7 +850,7 @@ const handleSharedMcpUpdated = (selections: string[]) => { const toggleRegistryAgent = async (agent: AcpRegistryAgent, enabled: boolean) => { setAgentPending(agent.id, true) try { - await configPresenter.setAcpAgentEnabled(agent.id, enabled) + await configClient.setAcpAgentEnabled(agent.id, enabled) await loadAcpData() } catch (error) { handleError(error) @@ -863,7 +862,7 @@ const toggleRegistryAgent = async (agent: AcpRegistryAgent, enabled: boolean) => const saveEnvOverride = async (agent: AcpRegistryAgent) => { setAgentPending(agent.id, true) try { - await configPresenter.setAcpAgentEnvOverride(agent.id, parseEnvBlock(envDrafts[agent.id] ?? '')) + await configClient.setAcpAgentEnvOverride(agent.id, parseEnvBlock(envDrafts[agent.id] ?? '')) await loadAcpData() toast({ title: t('settings.acp.saveSuccess') }) } catch (error) { @@ -882,9 +881,9 @@ const installRegistryAgent = async (agent: AcpRegistryAgent) => { setAgentPending(agent.id, true) try { if (agent.installState?.status === 'error') { - await configPresenter.repairAcpAgent(agent.id) + await configClient.repairAcpAgent(agent.id) } else { - await configPresenter.ensureAcpAgentInstalled(agent.id) + await configClient.ensureAcpAgentInstalled(agent.id) } await loadAcpData() } catch (error) { @@ -897,7 +896,7 @@ const installRegistryAgent = async (agent: AcpRegistryAgent) => { const repairRegistryAgent = async (agent: AcpRegistryAgent) => { setAgentPending(agent.id, true) try { - await configPresenter.repairAcpAgent(agent.id) + await configClient.repairAcpAgent(agent.id) await loadAcpData() } catch (error) { handleError(error) @@ -943,9 +942,9 @@ const saveManualAgent = async () => { } if (manualDialog.agentId) { - await configPresenter.updateManualAcpAgent(manualDialog.agentId, payload) + await configClient.updateManualAcpAgent(manualDialog.agentId, payload) } else { - await configPresenter.addManualAcpAgent(payload) + await configClient.addManualAcpAgent(payload) } manualDialog.open = false @@ -961,7 +960,7 @@ const saveManualAgent = async () => { const toggleManualAgent = async (agent: AcpManualAgent, enabled: boolean) => { setAgentPending(agent.id, true) try { - await configPresenter.updateManualAcpAgent(agent.id, { enabled }) + await configClient.updateManualAcpAgent(agent.id, { enabled }) await loadAcpData() } catch (error) { handleError(error) @@ -980,7 +979,7 @@ const openAgentTransferDialog = async (agent: PendingDeleteAgent) => { const sessionClient = createSessionClient() const [impact, agents] = await Promise.all([ sessionClient.getAgentTransferImpact(agent.id), - configPresenter.listAgents() + configClient.listAgents() ]) transferImpact.value = impact transferAgents.value = agents @@ -1016,10 +1015,10 @@ const confirmRegistryAgentUninstall = async (agent: AcpRegistryAgent) => { const finishDeleteAgent = async (agent: PendingDeleteAgent) => { if (agent.source === 'registry') { - await configPresenter.uninstallAcpRegistryAgent(agent.id) + await configClient.uninstallAcpRegistryAgent(agent.id) toast({ title: t('settings.acp.deleteSuccess') }) } else { - const removed = await configPresenter.removeManualAcpAgent(agent.id) + const removed = await configClient.removeManualAcpAgent(agent.id) if (!removed) { throw new Error(t('dialog.agentTransfer.agentDeleteBlocked')) } @@ -1112,6 +1111,7 @@ const handleRegistryCatalogAction = async (agent: AcpRegistryAgent) => { } let refreshTimer: ReturnType | null = null +let cleanupAgentsChanged: (() => void) | null = null const scheduleAcpDataReload = () => { if (refreshTimer) { @@ -1125,7 +1125,7 @@ const scheduleAcpDataReload = () => { onMounted(() => { void loadAcpData() - window.electron?.ipcRenderer?.on(CONFIG_EVENTS.AGENTS_CHANGED, scheduleAcpDataReload) + cleanupAgentsChanged = configClient.onAgentsChanged(scheduleAcpDataReload) }) onBeforeUnmount(() => { @@ -1133,6 +1133,7 @@ onBeforeUnmount(() => { clearTimeout(refreshTimer) refreshTimer = null } - window.electron?.ipcRenderer?.removeListener(CONFIG_EVENTS.AGENTS_CHANGED, scheduleAcpDataReload) + cleanupAgentsChanged?.() + cleanupAgentsChanged = null }) diff --git a/src/renderer/settings/components/AcpTerminalDialog.vue b/src/renderer/settings/components/AcpTerminalDialog.vue index f2f3e05ea..eecdd92af 100644 --- a/src/renderer/settings/components/AcpTerminalDialog.vue +++ b/src/renderer/settings/components/AcpTerminalDialog.vue @@ -45,6 +45,8 @@ import { Dialog, DialogContent, DialogHeader, DialogTitle } from '@shadcn/compon import { Button } from '@shadcn/components/ui/button' import { Icon } from '@iconify/vue' import { useToast } from '@/components/use-toast' +import { createAcpTerminalClient } from '@api/AcpTerminalClient' +import { createDeviceClient } from '@api/DeviceClient' const props = defineProps<{ open: boolean @@ -58,9 +60,12 @@ const emit = defineEmits<{ const { t } = useI18n() const { toast } = useToast() +const acpTerminalClient = createAcpTerminalClient() +const deviceClient = createDeviceClient() const terminalContainer = ref(null) let terminal: Terminal | null = null +let terminalEventCleanups: Array<() => void> = [] const isRunning = ref(false) const status = ref<'idle' | 'running' | 'completed' | 'error'>('idle') @@ -114,9 +119,9 @@ const handleOpenUpdate = (val: boolean) => { if (!val) { // Kill process if running if (isRunning.value) { - if (window.electron) { - window.electron.ipcRenderer.send('acp-terminal:kill') - } + void acpTerminalClient.kill().catch((error) => { + console.warn('[AcpTerminal] Failed to kill terminal:', error) + }) } emit('update:open', false) emit('close') @@ -156,9 +161,9 @@ const ensureTerminal = () => { // Send input to backend process // Don't echo locally - let the backend process handle all output // This avoids xterm.js parsing errors with control characters - if (window.electron) { - window.electron.ipcRenderer.send('acp-terminal:input', data) - } + void acpTerminalClient.sendInput(data).catch((error) => { + console.warn('[AcpTerminal] Failed to send terminal input:', error) + }) }) } } @@ -172,7 +177,7 @@ const cleanupTerminal = () => { console.log('[AcpTerminal] Terminal cleaned up') } -const handleOutput = (_event: unknown, data: string | { type: string; data: string }) => { +const handleOutput = (data: string | { type: string; data: string }) => { if (!terminal) { console.warn('[AcpTerminal] Received output but terminal is not initialized') return @@ -229,7 +234,7 @@ const handleOutput = (_event: unknown, data: string | { type: string; data: stri } } -const handleStart = (_event: unknown) => { +const handleStart = () => { isRunning.value = true status.value = 'running' if (terminal) { @@ -237,7 +242,7 @@ const handleStart = (_event: unknown) => { } } -const handleExit = (_event: unknown, data: { code: number | null; signal: string | null }) => { +const handleExit = (data: { code: number | null; signal: string | null }) => { isRunning.value = false if (data.code === 0) { status.value = 'completed' @@ -251,7 +256,7 @@ const handleExit = (_event: unknown, data: { code: number | null; signal: string } } -const handleError = (_event: unknown, data: { message: string }) => { +const handleError = (data: { message: string }) => { status.value = 'error' if (terminal) { terminal.writeln(`\r\n\x1b[31mError: ${data.message}\x1b[0m`) @@ -260,14 +265,9 @@ const handleError = (_event: unknown, data: { message: string }) => { const handlePaste = async () => { try { - if (!window.api || typeof window.api.readClipboardText !== 'function') { - console.warn('[AcpTerminal] readClipboardText API not available') - return - } - - const text = window.api.readClipboardText() - if (text && window.electron) { - window.electron.ipcRenderer.send('acp-terminal:input', text) + const text = deviceClient.readClipboardText() + if (text) { + await acpTerminalClient.sendInput(text) console.log('[AcpTerminal] Pasted text to terminal:', text.length, 'characters') } } catch (error) { @@ -280,10 +280,10 @@ const handlePaste = async () => { } } -const handleExternalDepsRequired = ( - _event: unknown, - data: { agentId: string; missingDeps: ExternalDependency[] } -) => { +const handleExternalDepsRequired = (data: { + agentId: string + missingDeps: ExternalDependency[] +}) => { console.log('[AcpTerminal] External dependencies required:', data) if (!data.missingDeps || data.missingDeps.length === 0) { @@ -299,30 +299,20 @@ const handleExternalDepsRequired = ( } const setupIpcListeners = () => { - if (typeof window === 'undefined' || !window.electron) { - console.warn('[AcpTerminal] Cannot setup IPC listeners - window.electron not available') - return - } - console.log('[AcpTerminal] Setting up IPC listeners') - window.electron.ipcRenderer.on('acp-init:start', handleStart) - window.electron.ipcRenderer.on('acp-init:output', handleOutput) - window.electron.ipcRenderer.on('acp-init:exit', handleExit) - window.electron.ipcRenderer.on('acp-init:error', handleError) - window.electron.ipcRenderer.on('external-deps-required', handleExternalDepsRequired) + removeIpcListeners() + terminalEventCleanups = [ + acpTerminalClient.onStarted(handleStart), + acpTerminalClient.onOutput(handleOutput), + acpTerminalClient.onExited(handleExit), + acpTerminalClient.onError(handleError), + acpTerminalClient.onExternalDependenciesRequired(handleExternalDepsRequired) + ] console.log('[AcpTerminal] IPC listeners set up successfully') } const removeIpcListeners = () => { - if (typeof window === 'undefined' || !window.electron) { - return - } - - window.electron.ipcRenderer.removeAllListeners('acp-init:start') - window.electron.ipcRenderer.removeAllListeners('acp-init:output') - window.electron.ipcRenderer.removeAllListeners('acp-init:exit') - window.electron.ipcRenderer.removeAllListeners('acp-init:error') - window.electron.ipcRenderer.removeAllListeners('external-deps-required') + terminalEventCleanups.splice(0).forEach((cleanup) => cleanup()) } watch( diff --git a/src/renderer/settings/components/BuiltinKnowledgeSettings.vue b/src/renderer/settings/components/BuiltinKnowledgeSettings.vue index 8a4611703..2ea8fa2bb 100644 --- a/src/renderer/settings/components/BuiltinKnowledgeSettings.vue +++ b/src/renderer/settings/components/BuiltinKnowledgeSettings.vue @@ -598,17 +598,18 @@ import { BuiltinKnowledgeConfig, RENDERER_MODEL_META } from '@shared/presenter' import { toast } from '@/components/use-toast' import { useRoute } from 'vue-router' import { nanoid } from 'nanoid' -import { useLegacyPresenter } from '@api/legacy/presenters' import { useModelStore } from '@/stores/modelStore' import { createConfigClient } from '@api/ConfigClient' +import { createKnowledgeClient } from '@api/KnowledgeClient' +import { createProviderClient } from '@api/ProviderClient' // 全局对象 const { t } = useI18n() const mcpStore = useMcpStore() const modelStore = useModelStore() const themeStore = useThemeStore() const configClient = createConfigClient() -const llmP = useLegacyPresenter('llmproviderPresenter') -const knowledgeP = useLegacyPresenter('knowledgePresenter') +const knowledgeClient = createKnowledgeClient() +const providerClient = createProviderClient() const emit = defineEmits<{ (e: 'showDetail', config: BuiltinKnowledgeConfig): void }>() @@ -815,7 +816,7 @@ const saveBuiltinConfig = async () => { } // 自动获取dimensions if (autoDetectDimensionsSwitch.value) { - const result = await llmP.getDimensions( + const result = await providerClient.getEmbeddingDimensions( editingBuiltinConfig.value.embedding.providerId, editingBuiltinConfig.value.embedding.modelId ) @@ -943,7 +944,7 @@ const loadBuiltinConfig = async () => { const separators = ref('') const supportedLanguages = ref([]) -knowledgeP.getSupportedLanguages().then((res) => { +knowledgeClient.getSupportedLanguages().then((res) => { supportedLanguages.value = res console.log('支持的语言:', supportedLanguages.value) }) @@ -955,7 +956,7 @@ const handleLanguageSelect = async (language: string) => { } const getSeparatorsForLanguage = async (language: string) => { - return await knowledgeP.getSeparatorsForLanguage(language) + return await knowledgeClient.getSeparatorsForLanguage(language) } /** diff --git a/src/renderer/settings/components/DashboardSettings.vue b/src/renderer/settings/components/DashboardSettings.vue index 79d55b01f..10d7be505 100644 --- a/src/renderer/settings/components/DashboardSettings.vue +++ b/src/renderer/settings/components/DashboardSettings.vue @@ -673,7 +673,7 @@ import { } from '@shadcn/components/ui/chart' import type { ChartConfig } from '@shadcn/components/ui/chart' import type { UsageDashboardCalendarDay, UsageDashboardData } from '@shared/types/agent-interface' -import { useLegacyPresenter } from '@api/legacy/presenters' +import { createSessionClient } from '@api/SessionClient' import UsageNostalgiaCard from './control-center/UsageNostalgiaCard.vue' type CalendarCell = UsageDashboardCalendarDay | null @@ -700,7 +700,7 @@ type BreakdownChartRow = { barRatio: number } const { t, locale } = useI18n() -const agentSessionPresenter = useLegacyPresenter('agentSessionPresenter') +const sessionClient = createSessionClient() const props = withDefaults( defineProps<{ hideNostalgia?: boolean @@ -957,7 +957,7 @@ async function loadDashboard(): Promise { try { isLoading.value = true errorMessage.value = '' - const nextDashboard = await agentSessionPresenter.getUsageDashboard() + const nextDashboard = await sessionClient.getUsageDashboard() if (!isDashboardMounted) { return } @@ -986,7 +986,7 @@ async function retryRtkHealthCheck(): Promise { try { isRetryingRtk.value = true - await agentSessionPresenter.retryRtkHealthCheck() + await sessionClient.retryRtkHealthCheck() await loadDashboard() } catch (error) { errorMessage.value = diff --git a/src/renderer/settings/components/DataSettings.vue b/src/renderer/settings/components/DataSettings.vue index 3c221f5a4..6a9bf9f82 100644 --- a/src/renderer/settings/components/DataSettings.vue +++ b/src/renderer/settings/components/DataSettings.vue @@ -5,7 +5,10 @@ :description="t('settings.data.privacyDescription')" >
-
+
@@ -733,6 +738,7 @@
- +
-
+
+

{{ saveError }}

+
@@ -109,6 +120,7 @@