From 47851642547496fc03fb725c35c835fee134c8e6 Mon Sep 17 00:00:00 2001 From: zerob13 Date: Mon, 12 Oct 2026 15:10:15 +0800 Subject: [PATCH 1/2] fix(provider): update Codex media support --- docs/features/provider-runtime/spec.md | 15 +- resources/acp-registry/registry.json | 154 +- resources/model-db/providers.json | 9181 +++++++++-------- src/main/cli/computeService.ts | 20 +- src/main/provider/auth/openaiCodex/index.ts | 33 +- src/main/provider/index.ts | 6 +- src/main/provider/modelConfig.ts | 9 +- src/main/provider/providers/aiSdkProvider.ts | 24 +- test/main/cli/computeService.test.ts | 81 + .../provider/aiSdkProviderFactory.test.ts | 113 +- test/main/provider/auth/openaiCodex.test.ts | 28 + .../main/provider/openaiCodexProvider.test.ts | 28 +- .../provider/providerDbModelConfig.test.ts | 30 + test/main/provider/providerRuntime.test.ts | 15 + 14 files changed, 5127 insertions(+), 4610 deletions(-) diff --git a/docs/features/provider-runtime/spec.md b/docs/features/provider-runtime/spec.md index c56e1fc8c6..6f58b00182 100644 --- a/docs/features/provider-runtime/spec.md +++ b/docs/features/provider-runtime/spec.md @@ -99,12 +99,19 @@ and [GPT OSS 120B model ID](https://fireworks.ai/models/fireworks/gpt-oss-120b). ## OpenAI Codex `openai-codex` is separate from standard `openai`: distinct provider ID, runtime kind, credential store, -routes and request adapter. Current recommended catalog includes `gpt-5.5`, `gpt-5.6-sol`, -`gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.3-codex-spark` and `gpt-image-2` -when provider-db metadata contains them; connection check uses `gpt-5.6-luna`. +routes and request adapter. Current recommended catalog includes `gpt-6.1-sol`, `gpt-6-astra`, +`gpt-6-sol`, `gpt-6-luna`, `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, +`gpt-image-2.5-sunburst`, `gpt-image-2.5-flare` and `gpt-image-2`. Chat models require provider-db +metadata. Curated image models remain listed when metadata is missing and use the OpenAI image-route +compatibility fallback; explicit user model settings retain precedence. Connection check uses +`gpt-5.6-luna`. GPT-5.4, GPT-5.4 mini and Codex Spark are omitted following their +[Codex retirement](https://learn.chatgpt.com/docs/models#deprecated-codex-models). Codex requests include required instructions and backend routing headers, preserve streaming/tool/reasoning -behavior, and surface entitlement failure without logging token or account identifiers. Image generation +behavior, and surface entitlement failure without logging token or account identifiers. Rejected refresh +tokens retain their HTTP failure metadata and require sign-in again; media CLI calls return +`authentication_failed` with `retriable: false`. Other media provider failures expose only normalized +HTTP status and retryability. Image generation uses the same OAuth credential path with `/images/generations`; Responses-only body normalization does not apply to image requests. The image-generation projection preserves shared OpenAI image settings but disables vision input because the standalone route accepts only text prompts. Background provider-db refresh skips diff --git a/resources/acp-registry/registry.json b/resources/acp-registry/registry.json index 17ff4cdf42..fe3f561080 100644 --- a/resources/acp-registry/registry.json +++ b/resources/acp-registry/registry.json @@ -159,7 +159,7 @@ { "id": "claude-acp", "name": "Claude Agent", - "version": "0.88.0", + "version": "0.89.1", "description": "ACP wrapper for Anthropic's Claude", "repository": "https://github.com/agentclientprotocol/claude-agent-acp", "authors": [ @@ -171,7 +171,7 @@ "license_url": "https://github.com/agentclientprotocol/claude-agent-acp/blob/main/LICENSE", "distribution": { "npx": { - "package": "@agentclientprotocol/claude-agent-acp@0.88.0" + "package": "@agentclientprotocol/claude-agent-acp@0.89.1" } }, "icon": "https://cdn.agentclientprotocol.com/registry/v1/latest/claude-acp.svg" @@ -201,7 +201,7 @@ { "id": "codebuddy-code", "name": "Codebuddy Code", - "version": "2.163.0", + "version": "2.164.0", "description": "Tencent Cloud's official intelligent coding tool", "website": "https://www.codebuddy.cn/cli/", "authors": [ @@ -211,7 +211,7 @@ "license_url": "https://www.codebuddy.cn/agreement/", "distribution": { "npx": { - "package": "@tencent-ai/codebuddy-code@2.163.0", + "package": "@tencent-ai/codebuddy-code@2.164.0", "args": [ "--acp" ] @@ -222,7 +222,7 @@ { "id": "codex-acp", "name": "Codex", - "version": "2.1.1", + "version": "2.2.2", "description": "ACP adapter for OpenAI's coding assistant", "repository": "https://github.com/agentclientprotocol/codex-acp", "authors": [ @@ -234,7 +234,7 @@ "license_url": "https://github.com/agentclientprotocol/codex-acp/blob/main/LICENSE", "distribution": { "npx": { - "package": "@agentclientprotocol/codex-acp@2.1.1" + "package": "@agentclientprotocol/codex-acp@2.2.2" } }, "icon": "https://cdn.agentclientprotocol.com/registry/v1/latest/codex-acp.svg" @@ -554,7 +554,7 @@ { "id": "dirac", "name": "Dirac", - "version": "0.5.18", + "version": "0.5.19", "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", @@ -566,7 +566,7 @@ "icon": "https://cdn.agentclientprotocol.com/registry/v1/latest/dirac.svg", "distribution": { "npx": { - "package": "dirac-cli@0.5.18", + "package": "dirac-cli@0.5.19", "args": [ "--acp" ] @@ -576,7 +576,7 @@ { "id": "factory-droid", "name": "Factory Droid", - "version": "0.237.0", + "version": "0.238.0", "description": "Factory Droid - AI coding agent powered by Factory AI", "website": "https://factory.ai/product/cli", "authors": [ @@ -586,7 +586,7 @@ "license_url": "https://factory.ai/legal/terms", "distribution": { "npx": { - "package": "droid@0.237.0", + "package": "droid@0.238.0", "args": [ "exec", "--output-format", @@ -649,8 +649,8 @@ }, { "id": "github-copilot-cli", - "name": "GitHub Copilot", - "version": "1.0.94", + "name": "Copilot", + "version": "1.0.95", "description": "GitHub's AI pair programmer", "repository": "https://github.com/github/copilot-cli", "website": "https://github.com/features/copilot/cli/", @@ -661,7 +661,7 @@ "license_url": "https://github.com/github/copilot-cli/blob/main/LICENSE.md", "distribution": { "npx": { - "package": "@github/copilot@1.0.94", + "package": "@github/copilot@1.0.95", "args": [ "--acp" ] @@ -748,7 +748,7 @@ { "id": "grok-build", "name": "Grok Build", - "version": "1.0.50", + "version": "1.0.52", "description": "xAI's coding agent and CLI", "website": "https://x.ai/cli", "authors": [ @@ -758,7 +758,7 @@ "license_url": "https://x.ai/legal/terms-of-service", "distribution": { "npx": { - "package": "@xai-official/grok@1.0.50", + "package": "@xai-official/grok@1.0.52", "args": [ "agent", "stdio" @@ -770,7 +770,7 @@ { "id": "harn", "name": "Harn", - "version": "0.10.157", + "version": "0.10.163", "description": "Harn runs .harn agent pipelines as a native ACP coding agent over stdio.", "repository": "https://github.com/burin-labs/harn", "website": "https://harnlang.com", @@ -782,49 +782,49 @@ "distribution": { "binary": { "darwin-aarch64": { - "archive": "https://github.com/burin-labs/harn/releases/download/v0.10.157/harn-aarch64-apple-darwin.tar.gz", + "archive": "https://github.com/burin-labs/harn/releases/download/v0.10.163/harn-aarch64-apple-darwin.tar.gz", "cmd": "./harn", "args": [ "serve", "acp" ], - "sha256": "c1a7d8e0a6f4e4b83d2e03f3455140cd7eaeff8848566a75a6371f7f834659a4" + "sha256": "659693a735cf8bd1dceb04dc660433ebe49a5974f4be0dbf322ac95fa92ff884" }, "darwin-x86_64": { - "archive": "https://github.com/burin-labs/harn/releases/download/v0.10.157/harn-x86_64-apple-darwin.tar.gz", + "archive": "https://github.com/burin-labs/harn/releases/download/v0.10.163/harn-x86_64-apple-darwin.tar.gz", "cmd": "./harn", "args": [ "serve", "acp" ], - "sha256": "1fd8b4723ba94ef6de3ff61b39e33c283b6827fa658c40f1de9777ee4090b9ad" + "sha256": "406b1416f80764fad8497074078593cbf26577531684d3d62fd59008db6a8ffc" }, "linux-aarch64": { - "archive": "https://github.com/burin-labs/harn/releases/download/v0.10.157/harn-aarch64-unknown-linux-gnu.tar.gz", + "archive": "https://github.com/burin-labs/harn/releases/download/v0.10.163/harn-aarch64-unknown-linux-gnu.tar.gz", "cmd": "./harn", "args": [ "serve", "acp" ], - "sha256": "f2aba480171f4bf98bdac5d0843e24ba90f018fb590f024f6969246be4d8ee64" + "sha256": "89126de50317ad5fda5893c13862f0683f1f81c7b57f682033bc3e19c75e8c56" }, "linux-x86_64": { - "archive": "https://github.com/burin-labs/harn/releases/download/v0.10.157/harn-x86_64-unknown-linux-gnu.tar.gz", + "archive": "https://github.com/burin-labs/harn/releases/download/v0.10.163/harn-x86_64-unknown-linux-gnu.tar.gz", "cmd": "./harn", "args": [ "serve", "acp" ], - "sha256": "56d0053277f44b88e0969d06d4f2a419add3a342bb0c1ee958775645d280a7c5" + "sha256": "e778c31058464c46ab7e9d5d6d9f6cab87a14cb106781817d74ef2eb7f2f15ea" }, "windows-x86_64": { - "archive": "https://github.com/burin-labs/harn/releases/download/v0.10.157/harn-x86_64-pc-windows-msvc.zip", + "archive": "https://github.com/burin-labs/harn/releases/download/v0.10.163/harn-x86_64-pc-windows-msvc.zip", "cmd": "harn.exe", "args": [ "serve", "acp" ], - "sha256": "e4e202f862d8f141bd559ca56cc6ab1b31fedb32d49dfabc0da92e3016542263" + "sha256": "da2cbf6838b417337be8eefb74d44f0bbcd2e1a99958aa0f02037c8339582b8e" } } }, @@ -957,7 +957,7 @@ { "id": "kimchi", "name": "Kimchi", - "version": "1.7.2", + "version": "1.9.1", "description": "Coding agent powered by multi-model orchestration", "repository": "https://github.com/getkimchi/kimchi", "website": "https://kimchi.dev", @@ -969,8 +969,8 @@ "distribution": { "binary": { "darwin-aarch64": { - "archive": "https://github.com/getkimchi/kimchi/releases/download/v1.7.2/kimchi_darwin_arm64.tar.gz", - "sha256": "2c33ed15c215c5bec5ee3fa598e8a370278a6ecdac6dd3fdb6651ee1ef362eb1", + "archive": "https://github.com/getkimchi/kimchi/releases/download/v1.9.1/kimchi_darwin_arm64.tar.gz", + "sha256": "989f30c77701a2a8497d6ac0a71335a6d035a9b1345ff7ec63e5796ada04dbd8", "cmd": "./bin/kimchi", "args": [ "--mode", @@ -978,8 +978,8 @@ ] }, "darwin-x86_64": { - "archive": "https://github.com/getkimchi/kimchi/releases/download/v1.7.2/kimchi_darwin_amd64.tar.gz", - "sha256": "79c737b9bdcd973cb7809f27badbe9bbf0ac862c96023a70a79966cfbfa6d28d", + "archive": "https://github.com/getkimchi/kimchi/releases/download/v1.9.1/kimchi_darwin_amd64.tar.gz", + "sha256": "f459a29a237c690f4444913c72643cc5c3092788fef86077335f7bafcf027eef", "cmd": "./bin/kimchi", "args": [ "--mode", @@ -987,8 +987,8 @@ ] }, "linux-aarch64": { - "archive": "https://github.com/getkimchi/kimchi/releases/download/v1.7.2/kimchi_linux_arm64.tar.gz", - "sha256": "ddcce90ef9be5692d34cc36a86c014cad78294c9dae96433a6c27fd619ce5613", + "archive": "https://github.com/getkimchi/kimchi/releases/download/v1.9.1/kimchi_linux_arm64.tar.gz", + "sha256": "32e190f5de1b27b0377f39ba35ed3290b43b6dae0688d39a983702b06163b01d", "cmd": "./bin/kimchi", "args": [ "--mode", @@ -996,8 +996,8 @@ ] }, "linux-x86_64": { - "archive": "https://github.com/getkimchi/kimchi/releases/download/v1.7.2/kimchi_linux_amd64.tar.gz", - "sha256": "8de9162966343551e7d77b2131db222cb15c263e803dbea7c59397d297ed23e7", + "archive": "https://github.com/getkimchi/kimchi/releases/download/v1.9.1/kimchi_linux_amd64.tar.gz", + "sha256": "75698947892c1cb03d91dd0362eff739d9a4135eb11b2fbd6a71193cce7d16a6", "cmd": "./bin/kimchi", "args": [ "--mode", @@ -1005,8 +1005,8 @@ ] }, "windows-x86_64": { - "archive": "https://github.com/getkimchi/kimchi/releases/download/v1.7.2/kimchi_windows_amd64.zip", - "sha256": "f6cfd6f768b3841a06a3235728ac6d91e653f219bcebbf0296b24edc93602ebe", + "archive": "https://github.com/getkimchi/kimchi/releases/download/v1.9.1/kimchi_windows_amd64.zip", + "sha256": "619141eec481700654651b5157f547fb57092f0079d6aef4841e142bb28703c2", "cmd": "./bin/kimchi.exe", "args": [ "--mode", @@ -1120,7 +1120,7 @@ { "id": "mistral-vibe", "name": "Mistral Vibe", - "version": "2.26.0", + "version": "2.26.1", "description": "Mistral's open-source coding assistant", "repository": "https://github.com/mistralai/mistral-vibe", "website": "https://mistral.ai/products/vibe", @@ -1133,29 +1133,29 @@ "distribution": { "binary": { "darwin-aarch64": { - "archive": "https://github.com/mistralai/mistral-vibe/releases/download/v2.26.0/vibe-acp-darwin-aarch64-2.26.0.tar.gz", + "archive": "https://github.com/mistralai/mistral-vibe/releases/download/v2.26.1/vibe-acp-darwin-aarch64-2.26.1.tar.gz", "cmd": "./vibe-acp", - "sha256": "a7830f89519b8744b059a8ef6538f08b7d04dfab4a208f605b4cc7adde974e9b" + "sha256": "4035a97f3bf99d91589ae4b5399438fb417f6b72511a995c7c363ec4b468f10a" }, "darwin-x86_64": { - "archive": "https://github.com/mistralai/mistral-vibe/releases/download/v2.26.0/vibe-acp-darwin-x86_64-2.26.0.tar.gz", + "archive": "https://github.com/mistralai/mistral-vibe/releases/download/v2.26.1/vibe-acp-darwin-x86_64-2.26.1.tar.gz", "cmd": "./vibe-acp", - "sha256": "f80393f1fa8032770e53e7ccb96c2695bff303c3f6515b0d136ca77d0d5eec86" + "sha256": "3acfc454ffc248826a05333e1cb2467c465308639bbba6725b47384dc9e8f757" }, "linux-aarch64": { - "archive": "https://github.com/mistralai/mistral-vibe/releases/download/v2.26.0/vibe-acp-linux-aarch64-2.26.0.tar.gz", + "archive": "https://github.com/mistralai/mistral-vibe/releases/download/v2.26.1/vibe-acp-linux-aarch64-2.26.1.tar.gz", "cmd": "./vibe-acp", - "sha256": "1453148ed6b6bcf33cda02bec01db8b5cae4b567230c632bcdc627f7e82e2ff0" + "sha256": "147ce53d0d185148ac269e23ff285eb087167077ba00d7c9ff41492c647ad2c6" }, "linux-x86_64": { - "archive": "https://github.com/mistralai/mistral-vibe/releases/download/v2.26.0/vibe-acp-linux-x86_64-2.26.0.tar.gz", + "archive": "https://github.com/mistralai/mistral-vibe/releases/download/v2.26.1/vibe-acp-linux-x86_64-2.26.1.tar.gz", "cmd": "./vibe-acp", - "sha256": "a429760edc3bd51d0acf4a8171f767a5d3a6989074e09303c748214883e55d04" + "sha256": "c8a018ca7d02eed5cebf291f6bcce1744e44323ff774b1c3fceac13794a95634" }, "windows-x86_64": { - "archive": "https://github.com/mistralai/mistral-vibe/releases/download/v2.26.0/vibe-acp-windows-x86_64-2.26.0.zip", + "archive": "https://github.com/mistralai/mistral-vibe/releases/download/v2.26.1/vibe-acp-windows-x86_64-2.26.1.zip", "cmd": "./vibe-acp.exe", - "sha256": "7111916a2d7085f922286823fcfe03a837f3e9989af5fb507f4e7c74273edbd2" + "sha256": "fd192698e396470f478adda5ce57cd8fd58927a2cd5e35ec1055c7c55089d370" } } } @@ -1185,7 +1185,7 @@ { "id": "opencode", "name": "OpenCode", - "version": "1.18.35", + "version": "1.19.0", "description": "The open source coding agent", "repository": "https://github.com/anomalyco/opencode", "website": "https://opencode.ai", @@ -1198,52 +1198,52 @@ "distribution": { "binary": { "darwin-aarch64": { - "archive": "https://github.com/anomalyco/opencode/releases/download/v1.18.35/opencode-darwin-arm64.zip", + "archive": "https://github.com/anomalyco/opencode/releases/download/v1.19.0/opencode-darwin-arm64.zip", "cmd": "./opencode", "args": [ "acp" ], - "sha256": "80b05124357a77cd57945bfde36082a028e829c198d222d5e146617f49a2c4b7" + "sha256": "0d5f511948d6fbfedf9bb16753c0ac42613dcc8de75d9deb7e8d0cf584c8fba6" }, "darwin-x86_64": { - "archive": "https://github.com/anomalyco/opencode/releases/download/v1.18.35/opencode-darwin-x64.zip", + "archive": "https://github.com/anomalyco/opencode/releases/download/v1.19.0/opencode-darwin-x64.zip", "cmd": "./opencode", "args": [ "acp" ], - "sha256": "8127d69e8e94d7adc496e910435f2f73856d87d456e988d3a947f250c95c1be2" + "sha256": "515380b03f3410f2178c8c1c7ba6d1e9556a3bdee2a01d114e7b1681952131a0" }, "linux-aarch64": { - "archive": "https://github.com/anomalyco/opencode/releases/download/v1.18.35/opencode-linux-arm64.tar.gz", + "archive": "https://github.com/anomalyco/opencode/releases/download/v1.19.0/opencode-linux-arm64.tar.gz", "cmd": "./opencode", "args": [ "acp" ], - "sha256": "f7f2ba59ee8aa94d388f9696575a32d20e71c2ee48def9f80fc693a60fec6c72" + "sha256": "e9841d43d3e1a8f36ed2691592d3b8b4fb097e606c8b559a277a1b845840e26b" }, "linux-x86_64": { - "archive": "https://github.com/anomalyco/opencode/releases/download/v1.18.35/opencode-linux-x64.tar.gz", + "archive": "https://github.com/anomalyco/opencode/releases/download/v1.19.0/opencode-linux-x64.tar.gz", "cmd": "./opencode", "args": [ "acp" ], - "sha256": "c8f888b451f5494a18f858fffb0e0b68f4e4baa9c241761c5f206884f0fa640d" + "sha256": "7bb9e61ad6feacf2e89c10a6a2c1840e3de4220bb50ba1fc7110f31806076aec" }, "windows-aarch64": { - "archive": "https://github.com/anomalyco/opencode/releases/download/v1.18.35/opencode-windows-arm64.zip", + "archive": "https://github.com/anomalyco/opencode/releases/download/v1.19.0/opencode-windows-arm64.zip", "cmd": "./opencode", "args": [ "acp" ], - "sha256": "3c144f54fea5d56afb00174fd3134709803a7bb6ce990963044831b671bd9882" + "sha256": "cfb6f1d40c4596613d2d40e34c48500da7b873f98f7458d3d4ea11136bf174f6" }, "windows-x86_64": { - "archive": "https://github.com/anomalyco/opencode/releases/download/v1.18.35/opencode-windows-x64.zip", + "archive": "https://github.com/anomalyco/opencode/releases/download/v1.19.0/opencode-windows-x64.zip", "cmd": "./opencode.exe", "args": [ "acp" ], - "sha256": "c90d248cca75e42fd15422a29b5f83a1b30c441af83565635d6b2682adc58dd1" + "sha256": "17108e9448c4fdad48eb8714c4ed6f5dfc9cf86c2eb8f2ce5d02043fef806eb5" } } } @@ -1356,7 +1356,7 @@ { "id": "qwen-code", "name": "Qwen Code", - "version": "0.25.0", + "version": "0.25.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", @@ -1367,7 +1367,7 @@ "license_url": "https://github.com/QwenLM/qwen-code/blob/main/LICENSE", "distribution": { "npx": { - "package": "@qwen-code/qwen-code@0.25.0", + "package": "@qwen-code/qwen-code@0.25.1", "args": [ "--acp", "--experimental-skills" @@ -1379,7 +1379,7 @@ { "id": "sigit", "name": "siGit Code", - "version": "1.6.5", + "version": "1.6.7", "description": "Local-first coding agent. Runs entirely on your machine with optional on-device LLM inference via Onde.", "repository": "https://github.com/getsigit/sigit", "website": "https://github.com/getsigit/sigit", @@ -1391,38 +1391,38 @@ "distribution": { "binary": { "darwin-aarch64": { - "archive": "https://github.com/getsigit/sigit/releases/download/v1.6.5/sigit-macos-arm64.tar.gz", + "archive": "https://github.com/getsigit/sigit/releases/download/v1.6.7/sigit-macos-arm64.tar.gz", "cmd": "./sigit", - "sha256": "af766810f6f7ed6e410c9bb77323127681fd76b8f0e25b98aa3cba3a3f235b17" + "sha256": "cd78cb6e603241181d80be58ed5ebb20703d18799eea00fb65a7f73c2f3b346f" }, "darwin-x86_64": { - "archive": "https://github.com/getsigit/sigit/releases/download/v1.6.5/sigit-macos-amd64.tar.gz", + "archive": "https://github.com/getsigit/sigit/releases/download/v1.6.7/sigit-macos-amd64.tar.gz", "cmd": "./sigit", - "sha256": "4014a8e4898e7d61038fcd154e72069c06d657e82a201c8ad966485a24279fdb" + "sha256": "5d3bab7c52c77db769dbcf0669c29c9fd3a9d13178d19dde6f60556a018ef90f" }, "linux-aarch64": { - "archive": "https://github.com/getsigit/sigit/releases/download/v1.6.5/sigit-linux-arm64", + "archive": "https://github.com/getsigit/sigit/releases/download/v1.6.7/sigit-linux-arm64", "cmd": "./sigit-linux-arm64", - "sha256": "e2dbe4405fe80a297deae84f9ce2a6f861a3b4090259f32fc641fdcb394a8b0c" + "sha256": "66b01b0984fb3879a2a0eed7a04ee8801001f442226ef4473ca1d266691af398" }, "linux-x86_64": { - "archive": "https://github.com/getsigit/sigit/releases/download/v1.6.5/sigit-linux-amd64", + "archive": "https://github.com/getsigit/sigit/releases/download/v1.6.7/sigit-linux-amd64", "cmd": "./sigit-linux-amd64", - "sha256": "122e06e27573ce630fb644c73f925d1c77282567d798ff13c7fc91a247923991" + "sha256": "096275cb02ab2270a2a02e8248163e58f53ec91831a17ffbf675b72aac5dc845" }, "windows-aarch64": { - "archive": "https://github.com/getsigit/sigit/releases/download/v1.6.5/sigit-win-arm64.exe", + "archive": "https://github.com/getsigit/sigit/releases/download/v1.6.7/sigit-win-arm64.exe", "cmd": "./sigit-win-arm64.exe", - "sha256": "e89f6fe4b3af7105d22ebaa0c49b5e8715cdf074c343b68d5d61d5fbf96f20fa" + "sha256": "34a0f1b31167f94f27260923347e564c9d6d4f20a94b6542daddc4625565d39e" }, "windows-x86_64": { - "archive": "https://github.com/getsigit/sigit/releases/download/v1.6.5/sigit-win-amd64.exe", + "archive": "https://github.com/getsigit/sigit/releases/download/v1.6.7/sigit-win-amd64.exe", "cmd": "./sigit-win-amd64.exe", - "sha256": "e659b8b178dd3063c7ca30dae8e62e7db0f60f3017e767f517cf2768bfb0a536" + "sha256": "d5791e31fd4e76bb44aec8ce03c91a536e4d694f045abb14399b14fbe9f32361" } }, "npx": { - "package": "@smbcloud/sigit@1.6.5" + "package": "@smbcloud/sigit@1.6.7" } }, "icon": "https://cdn.agentclientprotocol.com/registry/v1/latest/sigit.svg" diff --git a/resources/model-db/providers.json b/resources/model-db/providers.json index 6a99e25c46..4144b53615 100644 --- a/resources/model-db/providers.json +++ b/resources/model-db/providers.json @@ -666,6 +666,34 @@ "last_updated": "2026-05-21", "type": "chat" }, + { + "id": "Qwen/Qwen3-VL-30B-A3B-Instruct", + "name": "Qwen3 VL 30B A3B Instruct", + "display_name": "Qwen3 VL 30B A3B Instruct", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "release_date": "2025-10-04", + "last_updated": "2025-10-04", + "type": "chat" + }, { "id": "Qwen/Qwen3.8-Max", "name": "Qwen3.8 Max", @@ -10586,46 +10614,6 @@ "last_updated": "2026-08-03", "type": "chat" }, - { - "id": "deepseek-v3-2", - "name": "DeepSeek V3.2", - "display_name": "DeepSeek V3.2", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 32768 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "effort_options": [ - "none", - "low", - "medium", - "high", - "max" - ] - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "type": "chat" - }, { "id": "minimax-m2-7-highspeed", "name": "MiniMax M2.7 Highspeed", @@ -10683,46 +10671,6 @@ "last_updated": "2026-04-22", "type": "chat" }, - { - "id": "qwen3-max", - "name": "Qwen3 Max", - "display_name": "Qwen3 Max", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 256000, - "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" - ] - } - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "type": "chat" - }, { "id": "seed-2-0-pro", "name": "Seed 2.0 Pro", @@ -12243,46 +12191,6 @@ "last_updated": "2026-07-09", "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": 256000, - "output": 65536 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "effort_options": [ - "none", - "low", - "medium", - "high", - "max" - ] - } - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-04-20", - "last_updated": "2026-04-20", - "type": "chat" - }, { "id": "step-3-7-flash", "name": "Step 3.7 Flash", @@ -12433,57 +12341,6 @@ "release_date": "2026-04-02", "last_updated": "2026-06-12", "type": "chat" - }, - { - "id": "deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 393216 - }, - "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", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "The DeepSeek API maps medium and xhigh to high for V4 models; effort_options lists distinct model-effective levels." - ] - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-06-12", - "type": "chat" } ] }, @@ -26726,14 +26583,15 @@ "context": 4096, "output": 3686 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-08-08", - "last_updated": "2025-08-08", + "release_date": "2023-08-10", + "last_updated": "2023-08-10", "type": "chat" }, { @@ -28082,6 +27940,7 @@ "context": 262144, "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true @@ -28092,7 +27951,7 @@ } }, "attachment": false, - "open_weights": false, + "open_weights": true, "release_date": "2026-07-23", "last_updated": "2026-07-23", "type": "chat" @@ -28152,6 +28011,7 @@ "context": 262144, "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -28169,8 +28029,8 @@ }, "attachment": true, "open_weights": true, - "release_date": "2026-09-09", - "last_updated": "2026-09-09", + "release_date": "2026-09-10", + "last_updated": "2026-09-10", "type": "chat" }, { @@ -28189,6 +28049,7 @@ "context": 262144, "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -28207,7 +28068,7 @@ } }, "attachment": false, - "open_weights": false, + "open_weights": true, "release_date": "2026-07-23", "last_updated": "2026-07-23", "type": "chat" @@ -28447,14 +28308,15 @@ "context": 256000, "output": 8192 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2024-01-01", - "last_updated": "2025-07-01", + "release_date": "2025-07-11", + "last_updated": "2025-07-11", "type": "chat" }, { @@ -35479,14 +35341,15 @@ "context": 65536, "output": 8192 }, + "temperature": true, "tool_call": false, "reasoning": { "supported": false }, "attachment": true, "open_weights": true, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", + "release_date": "2024-04-15", + "last_updated": "2024-04-15", "type": "chat" }, { @@ -37894,46 +37757,6 @@ "last_updated": "2025-10-29", "type": "chat" }, - { - "id": "glm-5-3-flash", - "name": "GLM-5.3-Flash", - "display_name": "GLM-5.3-Flash", - "modalities": { - "input": [ - "text", - "image", - "video", - "pdf" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1048576, - "output": 131072 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "effort_options": [ - "low", - "high", - "max" - ] - } - }, - "attachment": true, - "open_weights": true, - "release_date": "2026-08-26", - "last_updated": "2026-08-26", - "type": "chat" - }, { "id": "kimi-k3", "name": "Kimi K3", @@ -40771,6 +40594,286 @@ "last_updated": "2025-09-29", "type": "chat" }, + { + "id": "anthropic/claude-opus-5-5", + "name": "Claude Opus 5.5", + "display_name": "Claude Opus 5.5", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2026-06", + "release_date": "2026-09-22", + "last_updated": "2026-09-22", + "type": "chat" + }, + { + "id": "anthropic/claude-fable-5-1", + "name": "Claude Fable 5.1", + "display_name": "Claude Fable 5.1", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "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": [ + "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": "2026-06", + "release_date": "2026-09-01", + "last_updated": "2026-09-01", + "type": "chat" + }, + { + "id": "anthropic/claude-opus-5", + "name": "Claude Opus 5", + "display_name": "Claude Opus 5", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2026-05", + "release_date": "2026-07-24", + "last_updated": "2026-07-24", + "type": "chat" + }, + { + "id": "anthropic/claude-fable-5", + "name": "Claude Fable 5", + "display_name": "Claude Fable 5", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "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": [ + "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": "2026-01-31", + "release_date": "2026-06-09", + "last_updated": "2026-06-09", + "type": "chat" + }, + { + "id": "anthropic/claude-opus-4-8", + "name": "Claude Opus 4.8", + "display_name": "Claude Opus 4.8", + "modalities": { + "input": [ + "text", + "image" + ], + "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", + "release_date": "2026-05-28", + "last_updated": "2026-05-28", + "type": "chat" + }, + { + "id": "anthropic/claude-sonnet-5", + "name": "Claude Sonnet 5", + "display_name": "Claude Sonnet 5", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2026-01-31", + "release_date": "2026-06-30", + "last_updated": "2026-06-30", + "type": "chat" + }, { "id": "anthropic/claude-opus-4-6", "name": "Claude Opus 4.6", @@ -40830,6 +40933,47 @@ "last_updated": "2026-03-13", "type": "chat" }, + { + "id": "anthropic/claude-haiku-5-5", + "name": "Claude Haiku 5.5", + "display_name": "Claude Haiku 5.5", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2026-06", + "release_date": "2026-10-07", + "last_updated": "2026-10-07", + "type": "chat" + }, { "id": "anthropic/claude-sonnet-4-6", "name": "Claude Sonnet 4.6", @@ -40889,6 +41033,48 @@ "last_updated": "2026-03-13", "type": "chat" }, + { + "id": "anthropic/claude-sonnet-5-5", + "name": "Claude Sonnet 5.5", + "display_name": "Claude Sonnet 5.5", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2026-06", + "release_date": "2026-09-28", + "last_updated": "2026-09-28", + "type": "chat" + }, { "id": "anthropic/claude-opus-4-7", "name": "Claude Opus 4.7", @@ -40946,6 +41132,137 @@ "last_updated": "2026-04-16", "type": "chat" }, + { + "id": "deepseek/deepseek-v4.1-flash", + "name": "DeepSeek V4.1 Flash", + "display_name": "DeepSeek V4.1 Flash", + "modalities": { + "input": [ + "text", + "image" + ], + "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" + ], + "effort_options": [ + "low", + "high", + "max" + ] + } + }, + "attachment": true, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-09-10", + "last_updated": "2026-09-10", + "type": "chat" + }, + { + "id": "deepseek/deepseek-v3.2", + "name": "DeepSeek V3.2", + "display_name": "DeepSeek V3.2", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 64000 + }, + "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-12-01", + "last_updated": "2025-12-01", + "type": "chat" + }, + { + "id": "z-ai/glm-5.3-flash", + "name": "GLM-5.3-Flash", + "display_name": "GLM-5.3-Flash", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "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" + ], + "effort_options": [ + "low", + "high", + "max" + ] + } + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-08-26", + "last_updated": "2026-08-26", + "type": "chat" + }, { "id": "black-forest-labs/FLUX.2-klein-4B", "name": "FLUX.2 Klein 4B", @@ -40973,6 +41290,87 @@ "last_updated": "2026-01-14", "type": "chat" }, + { + "id": "x-ai/grok-4.7", + "name": "Grok 4.7", + "display_name": "Grok 4.7", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 500000, + "output": 500000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2026-05", + "release_date": "2026-09-21", + "last_updated": "2026-09-21", + "type": "chat" + }, + { + "id": "x-ai/grok-4.6", + "name": "Grok 4.6", + "display_name": "Grok 4.6", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 500000, + "output": 500000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ] + } + }, + "attachment": false, + "open_weights": false, + "knowledge": "2026-02-01", + "release_date": "2026-08-12", + "last_updated": "2026-08-12", + "type": "chat" + }, { "id": "google/gemini-3.5-flash", "name": "Gemini 3.5 Flash", @@ -41130,6 +41528,54 @@ "last_updated": "2025-06-17", "type": "chat" }, + { + "id": "google/gemini-3.8-flash", + "name": "Gemini 3.8 Flash", + "display_name": "Gemini 3.8 Flash", + "modalities": { + "input": [ + "text", + "image" + ], + "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, + "release_date": "2026-09-02", + "last_updated": "2026-09-02", + "type": "chat" + }, { "id": "google/gemini-2.5-flash-lite", "name": "Gemini 2.5 Flash-Lite", @@ -41247,6 +41693,46 @@ "last_updated": "2025-06-03", "type": "rerank" }, + { + "id": "Qwen/Qwen3.8-27B", + "name": "Qwen3.8 27B", + "display_name": "Qwen3.8 27B", + "modalities": { + "input": [ + "text", + "image" + ], + "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, + "release_date": "2026-08-14", + "last_updated": "2026-08-14", + "type": "chat" + }, { "id": "Qwen/Qwen3-VL-30B-A3B-Instruct", "name": "Qwen3-VL 30B-A3B Instruct", @@ -41342,9 +41828,9 @@ "type": "chat" }, { - "id": "zai-org/GLM-5.1-FP8", - "name": "GLM-5.1 FP8", - "display_name": "GLM-5.1 FP8", + "id": "moonshotai/kimi-k3", + "name": "Kimi K3", + "display_name": "Kimi K3", "modalities": { "input": [ "text" @@ -41354,8 +41840,52 @@ ] }, "limit": { - "context": 202752, - "output": 16384 + "context": 1048576, + "output": 131072 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "effort_options": [ + "low", + "high", + "max" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-07-16", + "last_updated": "2026-07-16", + "type": "chat" + }, + { + "id": "moonshotai/kimi-k2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -41376,8 +41906,82 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "type": "chat" + }, + { + "id": "qwen/qwen3.7-max", + "name": "Qwen3.7 Max", + "display_name": "Qwen3.7 Max", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "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", + "type": "chat" + }, + { + "id": "qwen/qwen3.5-397b-a17b", + "name": "Qwen3.5 397B-A17B", + "display_name": "Qwen3.5 397B-A17B", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "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" + ] + } + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-02-15", + "last_updated": "2026-02-15", "type": "chat" }, { @@ -41730,6 +42334,89 @@ "last_updated": "2025-08-07", "type": "chat" }, + { + "id": "openai/gpt-6.1-sol", + "name": "GPT-6.1 Sol", + "display_name": "GPT-6.1 Sol", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1050000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2026-04-30", + "release_date": "2026-09-29", + "last_updated": "2026-09-29", + "type": "chat" + }, + { + "id": "openai/gpt-6-astra", + "name": "GPT-6 Astra", + "display_name": "GPT-6 Astra", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1050000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2026-04-30", + "release_date": "2026-09-04", + "last_updated": "2026-09-04", + "type": "chat" + }, { "id": "openai/gpt-5.1", "name": "GPT-5.1", @@ -41833,6 +42520,59 @@ "last_updated": "2026-03-17", "type": "chat" }, + { + "id": "openai/gpt-5.6-luna", + "name": "GPT-5.6 Luna", + "display_name": "GPT-5.6 Luna", + "modalities": { + "input": [ + "text", + "image" + ], + "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": [ + "none", + "low", + "medium", + "high", + "xhigh", + "max" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2026-02-16", + "release_date": "2026-07-09", + "last_updated": "2026-07-09", + "type": "chat" + }, { "id": "openai/gpt-5.2", "name": "GPT-5.2", @@ -41968,33 +42708,75 @@ "type": "chat" }, { - "id": "openai/gpt-4.1-mini", - "name": "GPT-4.1 mini", - "display_name": "GPT-4.1 mini", + "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", + "type": "chat" + }, + { + "id": "openai/gpt-6-luna", + "name": "GPT-6 Luna", + "display_name": "GPT-6 Luna", "modalities": { "input": [ "text", - "image", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 1047576, - "output": 32768 + "context": 1050000, + "output": 128000 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh", + "max" + ] + } }, "attachment": true, "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", + "knowledge": "2026-05-18", + "release_date": "2026-09-22", + "last_updated": "2026-09-22", "type": "chat" }, { @@ -42092,6 +42874,101 @@ "release_date": "2025-08-07", "last_updated": "2025-08-07", "type": "chat" + }, + { + "id": "openai/gpt-5.6-sol", + "name": "GPT-5.6 Sol", + "display_name": "GPT-5.6 Sol", + "modalities": { + "input": [ + "text", + "image" + ], + "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": [ + "none", + "low", + "medium", + "high", + "xhigh", + "max" + ], + "verbosity": "medium", + "verbosity_options": [ + "low", + "medium", + "high" + ], + "visibility": "hidden" + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2026-02-16", + "release_date": "2026-07-09", + "last_updated": "2026-07-09", + "type": "chat" + }, + { + "id": "openai/gpt-6-sol", + "name": "GPT-6 Sol", + "display_name": "GPT-6 Sol", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1050000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "effort_options": [ + "none", + "low", + "medium", + "high", + "xhigh", + "max" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2026-04-20", + "release_date": "2026-09-22", + "last_updated": "2026-09-22", + "type": "chat" } ] }, @@ -49475,47 +50352,6 @@ "last_updated": "2025-09-23", "type": "chat" }, - { - "id": "deepinfra/qwen3.8-2.4t-a95b", - "name": "Qwen3.8 2.4T A95B (DeepInfra)", - "display_name": "Qwen3.8 2.4T A95B (DeepInfra)", - "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, - "effort_options": [ - "minimal", - "low", - "medium", - "high", - "xhigh", - "max" - ] - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-08-12", - "last_updated": "2026-08-12", - "type": "chat" - }, { "id": "deepinfra/muse-glimmer-30b", "name": "Muse Glimmer 30B (DeepInfra)", @@ -49802,7 +50638,9 @@ "display_name": "Qwen3.5 9B (DeepInfra)", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" @@ -49829,7 +50667,7 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, "release_date": "2026-02-23", "last_updated": "2026-02-23", @@ -59013,33 +59851,6 @@ "last_updated": "2026-05-21", "type": "chat" }, - { - "id": "alibaba/qwen-coder-plus", - "name": "Qwen Coder Plus (Alibaba Cloud)", - "display_name": "Qwen Coder Plus (Alibaba Cloud)", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 8192 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2024-09-18", - "last_updated": "2024-09-18", - "type": "chat" - }, { "id": "alibaba/qwen3-vl-plus", "name": "Qwen3 VL Plus (Alibaba Cloud)", @@ -59418,85 +60229,6 @@ "last_updated": "2026-07-15", "type": "chat" }, - { - "id": "alibaba/qwen3-max", - "name": "Qwen3 Max (Alibaba Cloud)", - "display_name": "Qwen3 Max (Alibaba Cloud)", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 256000, - "output": 32800 - }, - "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": "2025-09-23", - "last_updated": "2025-09-23", - "type": "chat" - }, - { - "id": "alibaba/qwen3-vl-flash", - "name": "Qwen3 VL Flash (Alibaba Cloud)", - "display_name": "Qwen3 VL Flash (Alibaba Cloud)", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "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" - ] - } - }, - "attachment": true, - "open_weights": false, - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "type": "chat" - }, { "id": "alibaba/qwen3.5-122b-a10b", "name": "Qwen3.5 122B A10B (Alibaba Cloud)", @@ -59728,34 +60460,6 @@ "last_updated": "2025-07-28", "type": "chat" }, - { - "id": "alibaba/qwen3-coder-plus", - "name": "Qwen3 Coder Plus (Alibaba Cloud)", - "display_name": "Qwen3 Coder Plus (Alibaba Cloud)", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 66000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "type": "chat" - }, { "id": "alibaba/qwen3.8-flash", "name": "Qwen3.8 Flash (Alibaba Cloud)", @@ -59892,46 +60596,6 @@ "last_updated": "2026-02-23", "type": "chat" }, - { - "id": "alibaba/qwen3.6-max-preview", - "name": "Qwen3.6 Max Preview (Alibaba Cloud)", - "display_name": "Qwen3.6 Max Preview (Alibaba Cloud)", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "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" - ] - } - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-04-20", - "last_updated": "2026-04-20", - "type": "chat" - }, { "id": "alibaba/glm-5.2", "name": "GLM-5.2 (Alibaba Cloud)", @@ -59980,38 +60644,6 @@ "last_updated": "2026-06-13", "type": "chat" }, - { - "id": "alibaba/qwen-omni-turbo", - "name": "Qwen Omni Turbo (Alibaba Cloud)", - "display_name": "Qwen Omni Turbo (Alibaba Cloud)", - "modalities": { - "input": [ - "text", - "image", - "audio", - "video" - ], - "output": [ - "text", - "audio" - ] - }, - "limit": { - "context": 32768, - "output": 8192 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-01-19", - "last_updated": "2025-03-26", - "type": "chat" - }, { "id": "alibaba/deepseek-v4-pro", "name": "DeepSeek V4 Pro (Alibaba Cloud)", @@ -60577,47 +61209,404 @@ "type": "chat" }, { - "id": "baidu/glm-5.3", - "name": "GLM-5.3 (Baidu)", - "display_name": "GLM-5.3 (Baidu)", - "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, - "effort_options": [ - "low", - "high", - "max" - ] - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-08-14", - "last_updated": "2026-08-14", - "type": "chat" - }, - { - "id": "baidu/deepseek-v4-flash", - "name": "DeepSeek V4 Flash (Baidu)", - "display_name": "DeepSeek V4 Flash (Baidu)", + "id": "baidu/glm-5.3", + "name": "GLM-5.3 (Baidu)", + "display_name": "GLM-5.3 (Baidu)", + "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, + "effort_options": [ + "low", + "high", + "max" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-08-14", + "last_updated": "2026-08-14", + "type": "chat" + }, + { + "id": "baidu/deepseek-v4-flash", + "name": "DeepSeek V4 Flash (Baidu)", + "display_name": "DeepSeek V4 Flash (Baidu)", + "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, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "The DeepSeek API maps medium and xhigh to high for V4 models; effort_options lists distinct model-effective levels." + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "type": "chat" + }, + { + "id": "gonka24/glm-5.3-flash", + "name": "GLM-5.3 Flash (Gonka24)", + "display_name": "GLM-5.3 Flash (Gonka24)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 200000, + "output": 16384 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "effort_options": [ + "none", + "minimal", + "low", + "medium", + "high", + "xhigh", + "max" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-08-26", + "last_updated": "2026-08-26", + "type": "chat" + }, + { + "id": "gonka24/minimax-m2.7", + "name": "MiniMax M2.7 (Gonka24)", + "display_name": "MiniMax M2.7 (Gonka24)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 131100 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "type": "chat" + }, + { + "id": "gonka24/deepseek-v4-flash", + "name": "DeepSeek V4 Flash (Gonka24)", + "display_name": "DeepSeek V4 Flash (Gonka24)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 390000, + "output": 16384 + }, + "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", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "The DeepSeek API maps medium and xhigh to high for V4 models; effort_options lists distinct model-effective levels." + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "type": "chat" + }, + { + "id": "reka-ai/reka-edge-2603", + "name": "Reka Edge 2603 (reka-ai)", + "display_name": "Reka Edge 2603 (reka-ai)", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 16384, + "output": 16384 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-10-09", + "last_updated": "2026-10-09", + "type": "chat" + }, + { + "id": "reka-ai/qwen3.8-27b", + "name": "Qwen3.8 27B (reka-ai)", + "display_name": "Qwen3.8 27B (reka-ai)", + "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": { + "effort_options": [ + "none", + "minimal", + "low", + "medium", + "high", + "xhigh", + "max" + ] + } + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-08-14", + "last_updated": "2026-08-14", + "type": "chat" + }, + { + "id": "reka-ai/glm-5.3-flash", + "name": "GLM-5.3 Flash (reka-ai)", + "display_name": "GLM-5.3 Flash (reka-ai)", + "modalities": { + "input": [ + "text", + "image", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "effort_options": [ + "none", + "minimal", + "low", + "medium", + "high", + "xhigh", + "max" + ] + } + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-08-26", + "last_updated": "2026-08-26", + "type": "chat" + }, + { + "id": "reka-ai/deepseek-v4-pro", + "name": "DeepSeek V4 Pro (reka-ai)", + "display_name": "DeepSeek V4 Pro (reka-ai)", + "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, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "The DeepSeek API maps medium and xhigh to high for V4 models; effort_options lists distinct model-effective levels." + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "type": "chat" + }, + { + "id": "reka-ai/glm-5.3", + "name": "GLM-5.3 (reka-ai)", + "display_name": "GLM-5.3 (reka-ai)", "modalities": { "input": [ "text" @@ -60628,58 +61617,7 @@ }, "limit": { "context": 1048576, - "output": 131072 - }, - "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", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "The DeepSeek API maps medium and xhigh to high for V4 models; effort_options lists distinct model-effective levels." - ] - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", - "type": "chat" - }, - { - "id": "gonka24/glm-5.3-flash", - "name": "GLM-5.3 Flash (Gonka24)", - "display_name": "GLM-5.3 Flash (Gonka24)", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 200000, - "output": 16384 + "output": 262144 }, "temperature": true, "tool_call": true, @@ -60703,60 +61641,14 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-08-26", - "last_updated": "2026-08-26", - "type": "chat" - }, - { - "id": "gonka24/minimax-m2.7", - "name": "MiniMax M2.7 (Gonka24)", - "display_name": "MiniMax M2.7 (Gonka24)", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 204800, - "output": 131100 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "effort_options": [ - "low", - "medium", - "high", - "xhigh", - "max" - ] - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "release_date": "2026-08-14", + "last_updated": "2026-08-14", "type": "chat" }, { - "id": "gonka24/deepseek-v4-flash", - "name": "DeepSeek V4 Flash (Gonka24)", - "display_name": "DeepSeek V4 Flash (Gonka24)", + "id": "reka-ai/deepseek-v4-flash", + "name": "DeepSeek V4 Flash (reka-ai)", + "display_name": "DeepSeek V4 Flash (reka-ai)", "modalities": { "input": [ "text" @@ -60766,8 +61658,8 @@ ] }, "limit": { - "context": 390000, - "output": 16384 + "context": 262144, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -68742,8 +69634,8 @@ }, { "id": "bytedance-seed/seed-1.6-flash", - "name": "ByteDance Seed: Seed 1.6 Flash", - "display_name": "ByteDance Seed: Seed 1.6 Flash", + "name": "ByteDance Seed: Seed 1.6 Flash (retires Nov 11)", + "display_name": "ByteDance Seed: Seed 1.6 Flash (retires Nov 11)", "modalities": { "input": [ "image", @@ -68940,8 +69832,8 @@ }, { "id": "bytedance-seed/seed-1.6", - "name": "ByteDance Seed: Seed 1.6", - "display_name": "ByteDance Seed: Seed 1.6", + "name": "ByteDance Seed: Seed 1.6 (retires Nov 11)", + "display_name": "ByteDance Seed: Seed 1.6 (retires Nov 11)", "modalities": { "input": [ "image", @@ -70463,8 +71355,8 @@ ] }, "limit": { - "context": 128000, - "output": 16000 + "context": 163840, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -70676,8 +71568,8 @@ }, { "id": "deepseek/deepseek-r1-0528", - "name": "DeepSeek: R1 0528", - "display_name": "DeepSeek: R1 0528", + "name": "DeepSeek R1 0528", + "display_name": "DeepSeek R1 0528", "modalities": { "input": [ "text" @@ -70711,7 +71603,7 @@ } }, "attachment": false, - "open_weights": false, + "open_weights": true, "release_date": "2025-05-28", "last_updated": "2025-05-28", "type": "chat" @@ -71261,8 +72153,8 @@ }, { "id": "meta-llama/llama-3.2-1b-instruct", - "name": "Meta: Llama 3.2 1B Instruct", - "display_name": "Meta: Llama 3.2 1B Instruct", + "name": "Llama 3.2 1B Instruct", + "display_name": "Llama 3.2 1B Instruct", "modalities": { "input": [ "text" @@ -71281,7 +72173,7 @@ "supported": false }, "attachment": false, - "open_weights": false, + "open_weights": true, "release_date": "2024-09-25", "last_updated": "2024-09-25", "type": "chat" @@ -71625,8 +72517,8 @@ ] }, "limit": { - "context": 198000, - "output": 16384 + "context": 202752, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -75653,8 +76545,8 @@ }, { "id": "inclusionai/ling-3.1-flash", - "name": "inclusionAI: Ling 3.1 Flash (new)", - "display_name": "inclusionAI: Ling 3.1 Flash (new)", + "name": "inclusionAI: Ling 3.1 Flash", + "display_name": "inclusionAI: Ling 3.1 Flash", "modalities": { "input": [ "text" @@ -75890,7 +76782,7 @@ }, "limit": { "context": 262144, - "output": 235929 + "output": 98304 }, "temperature": true, "tool_call": true, @@ -75966,8 +76858,8 @@ }, { "id": "moonshotai/kimi-k2-0905", - "name": "MoonshotAI: Kimi K2 0905", - "display_name": "MoonshotAI: Kimi K2 0905", + "name": "Kimi K2 Instruct 0905", + "display_name": "Kimi K2 Instruct 0905", "modalities": { "input": [ "text" @@ -75986,9 +76878,9 @@ "supported": false }, "attachment": false, - "open_weights": false, - "release_date": "2025-09-04", - "last_updated": "2025-09-04", + "open_weights": true, + "release_date": "2025-09-05", + "last_updated": "2025-09-05", "type": "chat" }, { @@ -76298,80 +77190,80 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-12-15", - "last_updated": "2025-12-15", - "type": "chat" - }, - { - "id": "nvidia/nemotron-3.5-content-safety:free", - "name": "NVIDIA: Nemotron 3.5 Content Safety (free)", - "display_name": "NVIDIA: Nemotron 3.5 Content Safety (free)", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 8192 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "effort_options": [ - "none", - "high" - ] - } - }, - "attachment": true, - "open_weights": true, - "release_date": "2026-06-04", - "last_updated": "2026-06-04", - "type": "chat" - }, - { - "id": "nvidia/nemotron-3.5-lightning", - "name": "Nemotron 3.5 Lightning 30B A3B", - "display_name": "Nemotron 3.5 Lightning 30B A3B", - "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, - "effort_options": [ - "none", - "high" - ] - } - }, - "attachment": false, - "open_weights": true, + "release_date": "2025-12-15", + "last_updated": "2025-12-15", + "type": "chat" + }, + { + "id": "nvidia/nemotron-3.5-content-safety:free", + "name": "NVIDIA: Nemotron 3.5 Content Safety (free)", + "display_name": "NVIDIA: Nemotron 3.5 Content Safety (free)", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 8192 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "effort_options": [ + "none", + "high" + ] + } + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-06-04", + "last_updated": "2026-06-04", + "type": "chat" + }, + { + "id": "nvidia/nemotron-3.5-lightning", + "name": "Nemotron 3.5 Lightning 30B A3B", + "display_name": "Nemotron 3.5 Lightning 30B A3B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 235929 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "effort_options": [ + "none", + "high" + ] + } + }, + "attachment": false, + "open_weights": true, "release_date": "2026-08-11", "last_updated": "2026-08-11", "type": "chat" @@ -76503,8 +77395,8 @@ ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 202800, + "output": 182520 }, "temperature": true, "tool_call": true, @@ -77991,8 +78883,8 @@ ] }, "limit": { - "context": 1000000, - "output": 131072 + "context": 262144, + "output": 235929 }, "temperature": true, "tool_call": true, @@ -78016,50 +78908,6 @@ "last_updated": "2026-08-14", "type": "chat" }, - { - "id": "qwen/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": 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" - ], - "effort_options": [ - "high" - ] - } - }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-03-31", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "type": "chat" - }, { "id": "qwen/qwen3.8-2.4t-a95b", "name": "Qwen3.8 2.4T A95B", @@ -78156,8 +79004,8 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 262144, + "output": 235929 }, "temperature": true, "tool_call": true, @@ -78363,45 +79211,6 @@ "last_updated": "2026-07-15", "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, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "type": "chat" - }, { "id": "qwen/qwen3-coder-30b-a3b-instruct", "name": "Qwen3-Coder 30B-A3B Instruct", @@ -78471,8 +79280,8 @@ }, { "id": "qwen/qwen3-vl-30b-a3b-instruct", - "name": "Qwen: Qwen3 VL 30B A3B Instruct", - "display_name": "Qwen: Qwen3 VL 30B A3B Instruct", + "name": "Qwen3 VL 30B A3B Instruct", + "display_name": "Qwen3 VL 30B A3B Instruct", "modalities": { "input": [ "text", @@ -78492,15 +79301,15 @@ "supported": false }, "attachment": true, - "open_weights": false, - "release_date": "2025-10-06", - "last_updated": "2025-10-06", + "open_weights": true, + "release_date": "2025-10-04", + "last_updated": "2025-10-04", "type": "chat" }, { "id": "qwen/qwen3-235b-a22b-thinking-2507", - "name": "Qwen: Qwen3 235B A22B Thinking 2507 (retires Oct 9)", - "display_name": "Qwen: Qwen3 235B A22B Thinking 2507 (retires Oct 9)", + "name": "Qwen: Qwen3 235B A22B Thinking 2507", + "display_name": "Qwen: Qwen3 235B A22B Thinking 2507", "modalities": { "input": [ "text" @@ -78510,8 +79319,8 @@ ] }, "limit": { - "context": 131072, - "output": 117964 + "context": 128000, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -78539,50 +79348,6 @@ "last_updated": "2025-07-25", "type": "chat" }, - { - "id": "qwen/qwen3-235b-a22b", - "name": "Qwen3 235B-A22B", - "display_name": "Qwen3 235B-A22B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "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" - ], - "effort_options": [ - "none", - "high" - ] - } - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "type": "chat" - }, { "id": "qwen/qwen3.5-122b-a10b", "name": "Qwen3.5 122B-A10B", @@ -78628,44 +79393,6 @@ "last_updated": "2026-02-23", "type": "chat" }, - { - "id": "qwen/qwen-plus-2025-07-28", - "name": "Qwen: Qwen Plus 0728 (retires Oct 9)", - "display_name": "Qwen: Qwen Plus 0728 (retires Oct 9)", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 32768 - }, - "temperature": true, - "tool_call": true, - "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-09-08", - "last_updated": "2025-09-08", - "type": "chat" - }, { "id": "qwen/qwen3.6-35b-a3b", "name": "Qwen3.6 35B-A3B", @@ -78682,7 +79409,7 @@ }, "limit": { "context": 262144, - "output": 235929 + "output": 65536 }, "temperature": true, "tool_call": true, @@ -78725,7 +79452,7 @@ }, "limit": { "context": 262144, - "output": 16384 + "output": 235929 }, "temperature": true, "tool_call": true, @@ -78741,8 +79468,8 @@ }, { "id": "qwen/qwen3-vl-30b-a3b-thinking", - "name": "Qwen: Qwen3 VL 30B A3B Thinking (retires Oct 9)", - "display_name": "Qwen: Qwen3 VL 30B A3B Thinking (retires Oct 9)", + "name": "Qwen: Qwen3 VL 30B A3B Thinking", + "display_name": "Qwen: Qwen3 VL 30B A3B Thinking", "modalities": { "input": [ "text", @@ -78753,8 +79480,8 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 262144, + "output": 235929 }, "temperature": true, "tool_call": true, @@ -78927,77 +79654,6 @@ "last_updated": "2026-02-25", "type": "chat" }, - { - "id": "qwen/qwen3-max-thinking", - "name": "Qwen: Qwen3 Max Thinking (retires Oct 9)", - "display_name": "Qwen: Qwen3 Max Thinking (retires Oct 9)", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "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" - ], - "effort_options": [ - "none", - "high" - ] - } - }, - "attachment": false, - "open_weights": false, - "release_date": "2026-02-09", - "last_updated": "2026-02-09", - "type": "chat" - }, - { - "id": "qwen/qwen3-coder-plus", - "name": "Qwen3 Coder Plus", - "display_name": "Qwen3 Coder Plus", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 65536 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "type": "chat" - }, { "id": "qwen/qwen3.5-9b", "name": "Qwen3.5 9B", @@ -79184,7 +79840,7 @@ }, "limit": { "context": 262144, - "output": 65536 + "output": 32768 }, "temperature": true, "tool_call": true, @@ -79213,50 +79869,6 @@ "last_updated": "2026-02-23", "type": "chat" }, - { - "id": "qwen/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, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "effort_options": [ - "none", - "high" - ] - } - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2026-04-20", - "last_updated": "2026-04-20", - "type": "chat" - }, { "id": "qwen/qwen3-30b-a3b", "name": "Qwen3 30B A3B", @@ -79345,81 +79957,10 @@ "last_updated": "2026-02-15", "type": "chat" }, - { - "id": "qwen/qwen3-8b", - "name": "Qwen: Qwen3 8B (retires Oct 9)", - "display_name": "Qwen: Qwen3 8B (retires Oct 9)", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "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" - ], - "effort_options": [ - "none", - "high" - ] - } - }, - "attachment": false, - "open_weights": false, - "release_date": "2025-04-28", - "last_updated": "2025-04-28", - "type": "chat" - }, - { - "id": "qwen/qwen3-vl-32b-instruct", - "name": "Qwen: Qwen3 VL 32B Instruct (retires Oct 9)", - "display_name": "Qwen: Qwen3 VL 32B Instruct (retires Oct 9)", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 32768 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "release_date": "2025-10-23", - "last_updated": "2025-10-23", - "type": "chat" - }, { "id": "qwen/qwen3-vl-8b-instruct", - "name": "Qwen: Qwen3 VL 8B Instruct (retires Oct 9)", - "display_name": "Qwen: Qwen3 VL 8B Instruct (retires Oct 9)", + "name": "Qwen: Qwen3 VL 8B Instruct", + "display_name": "Qwen: Qwen3 VL 8B Instruct", "modalities": { "input": [ "image", @@ -79430,8 +79971,8 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 262144, + "output": 235929 }, "temperature": true, "tool_call": true, @@ -79598,48 +80139,6 @@ "last_updated": "2024-09-19", "type": "chat" }, - { - "id": "qwen/qwen3-30b-a3b-thinking-2507", - "name": "Qwen: Qwen3 30B A3B Thinking 2507 (retires Oct 9)", - "display_name": "Qwen: Qwen3 30B A3B Thinking 2507 (retires Oct 9)", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 81920, - "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" - ], - "effort_options": [ - "high" - ] - } - }, - "attachment": false, - "open_weights": false, - "release_date": "2025-08-28", - "last_updated": "2025-08-28", - "type": "chat" - }, { "id": "qwen/qwen3.6-27b", "name": "Qwen3.6 27B", @@ -79774,49 +80273,6 @@ "last_updated": "2025-04-28", "type": "chat" }, - { - "id": "qwen/qwen3-vl-8b-thinking", - "name": "Qwen: Qwen3 VL 8B Thinking (retires Oct 9)", - "display_name": "Qwen: Qwen3 VL 8B Thinking (retires Oct 9)", - "modalities": { - "input": [ - "image", - "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" - ], - "effort_options": [ - "high" - ] - } - }, - "attachment": true, - "open_weights": false, - "release_date": "2025-10-14", - "last_updated": "2025-10-14", - "type": "chat" - }, { "id": "qwen/qwen3.7-plus", "name": "Qwen3.7 Plus", @@ -84383,6 +84839,45 @@ "last_updated": "2026-06-11", "type": "chat" }, + { + "id": "openai-gpt-61-sol-ultrafast", + "name": "GPT-6.1 Sol Ultrafast", + "display_name": "GPT-6.1 Sol Ultrafast", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1050000, + "output": 128000 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ] + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-10-08", + "last_updated": "2026-10-10", + "type": "chat" + }, { "id": "claude-opus-5", "name": "Claude Opus 5", @@ -88365,6 +88860,267 @@ } ] }, + "lowrouter": { + "id": "lowrouter", + "name": "LowRouter", + "display_name": "LowRouter", + "api": "https://api.lowrouter.ai/v1", + "doc": "https://lowrouter.ai/docs/models/available", + "models": [ + { + "id": "auto/mistralai/ministral-8b-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-02", + "last_updated": "2025-12-02", + "type": "chat" + }, + { + "id": "auto/mistralai/mistral-large-4", + "name": "Mistral Large 4", + "display_name": "Mistral Large 4", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 524288, + "output": 262144 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "effort_options": [ + "none", + "high" + ] + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-10-06", + "last_updated": "2026-10-06", + "type": "chat" + }, + { + "id": "auto/mistralai/mistral-medium-3.5", + "name": "Mistral Medium 3.5", + "display_name": "Mistral Medium 3.5", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "effort_options": [ + "none", + "high" + ] + } + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-04-29", + "last_updated": "2026-04-29", + "type": "chat" + }, + { + "id": "auto/mistralai/mistral-small-2603", + "name": "Mistral Small 4", + "display_name": "Mistral Small 4", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 256000, + "output": 256000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "effort_options": [ + "none", + "high" + ] + } + }, + "attachment": true, + "open_weights": true, + "knowledge": "2025-06", + "release_date": "2026-03-16", + "last_updated": "2026-03-16", + "type": "chat" + }, + { + "id": "auto/mistralai/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": "2025-12-02", + "last_updated": "2025-12-02", + "type": "chat" + }, + { + "id": "auto/mistralai/ministral-14b-2512", + "name": "Ministral 3 14B", + "display_name": "Ministral 3 14B", + "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-02", + "last_updated": "2025-12-02", + "type": "chat" + }, + { + "id": "auto/mistralai/ministral-3b-2512", + "name": "Ministral 3 3B", + "display_name": "Ministral 3 3B", + "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-02", + "last_updated": "2025-12-02", + "type": "chat" + }, + { + "id": "auto/mistralai/codestral-2508", + "name": "Codestral 25.08", + "display_name": "Codestral 25.08", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 8192 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-07-30", + "last_updated": "2025-07-30", + "type": "chat" + } + ] + }, "inference": { "id": "inference", "name": "Inference", @@ -96135,42 +96891,15 @@ }, "novita-ai": { "id": "novita-ai", - "name": "NovitaAI", - "display_name": "NovitaAI", + "name": "Novita AI", + "display_name": "Novita AI", "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", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 256000, - "output": 128000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-01-05", - "last_updated": "2026-01-05", - "type": "chat" - }, - { - "id": "deepseek/deepseek-prover-v2-671b", - "name": "Deepseek Prover V2 671B", - "display_name": "Deepseek Prover V2 671B", + "id": "baai/bge-m3", + "name": "BGE M3", + "display_name": "BGE M3", "modalities": { "input": [ "text" @@ -96180,24 +96909,24 @@ ] }, "limit": { - "context": 160000, - "output": 160000 + "context": 8192, + "output": 8192 }, - "temperature": true, + "temperature": false, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-04-30", - "last_updated": "2025-04-30", - "type": "chat" + "release_date": "2024-01-30", + "last_updated": "2024-01-30", + "type": "embedding" }, { - "id": "deepseek/deepseek-r1-distill-qwen-14b", - "name": "DeepSeek R1 Distill Qwen 14B", - "display_name": "DeepSeek R1 Distill Qwen 14B", + "id": "baai/bge-reranker-v2-m3", + "name": "BGE Reranker V2 M3", + "display_name": "BGE Reranker V2 M3", "modalities": { "input": [ "text" @@ -96207,24 +96936,24 @@ ] }, "limit": { - "context": 32768, - "output": 16384 + "context": 8000, + "output": 8192 }, - "temperature": true, + "temperature": false, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "type": "chat" + "release_date": "2024-03-15", + "last_updated": "2024-03-15", + "type": "rerank" }, { - "id": "deepseek/deepseek-v3-0324", - "name": "DeepSeek V3 0324", - "display_name": "DeepSeek V3 0324", + "id": "deepseek/deepseek-v4-flash-0731", + "name": "DeepSeek V4 Flash 0731", + "display_name": "DeepSeek V4 Flash 0731", "modalities": { "input": [ "text" @@ -96234,79 +96963,82 @@ ] }, "limit": { - "context": 163840, - "output": 163840 + "context": 1048576, + "output": 393216 }, "temperature": true, "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-07", - "release_date": "2025-03-25", - "last_updated": "2025-03-25", - "type": "chat" - }, - { - "id": "deepseek/deepseek-r1-distill-llama-70b", - "name": "DeepSeek R1 Distill LLama 70B", - "display_name": "DeepSeek R1 Distill LLama 70B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "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" + ], + "effort_options": [ + "low", + "high", + "max" + ] } }, "attachment": false, "open_weights": true, - "release_date": "2025-01-27", - "last_updated": "2025-01-27", + "knowledge": "2025-05", + "release_date": "2026-07-31", + "last_updated": "2026-07-31", "type": "chat" }, { - "id": "deepseek/deepseek-v3-turbo", - "name": "DeepSeek V3 (Turbo)\t", - "display_name": "DeepSeek V3 (Turbo)\t", + "id": "deepseek/deepseek-v4.1-flash", + "name": "DeepSeek V4.1 Flash", + "display_name": "DeepSeek V4.1 Flash", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 64000, - "output": 16000 + "context": 1048576, + "output": 393216 }, "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" + ], + "effort_options": [ + "low", + "high", + "max" + ] + } + }, + "attachment": true, "open_weights": true, - "release_date": "2025-03-05", - "last_updated": "2025-03-05", + "knowledge": "2025-05", + "release_date": "2026-09-10", + "last_updated": "2026-09-10", "type": "chat" }, { @@ -96337,38 +97069,10 @@ "last_updated": "2025-05-29", "type": "chat" }, - { - "id": "deepseek/deepseek-v3.1-terminus", - "name": "Deepseek V3.1 Terminus", - "display_name": "Deepseek V3.1 Terminus", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 32768 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-09-22", - "last_updated": "2025-09-22", - "type": "chat" - }, { "id": "deepseek/deepseek-ocr-2", - "name": "deepseek/deepseek-ocr-2", - "display_name": "deepseek/deepseek-ocr-2", + "name": "DeepSeek OCR 2", + "display_name": "DeepSeek OCR 2", "modalities": { "input": [ "text", @@ -96392,38 +97096,10 @@ "last_updated": "2026-01-27", "type": "chat" }, - { - "id": "deepseek/deepseek-ocr", - "name": "DeepSeek-OCR", - "display_name": "DeepSeek-OCR", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": true, - "release_date": "2025-10-24", - "last_updated": "2025-10-24", - "type": "chat" - }, { "id": "deepseek/deepseek-r1-turbo", - "name": "DeepSeek R1 (Turbo)\t", - "display_name": "DeepSeek R1 (Turbo)\t", + "name": "DeepSeek R1 (Turbo)", + "display_name": "DeepSeek R1 (Turbo)", "modalities": { "input": [ "text" @@ -96444,14 +97120,15 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-03-05", - "last_updated": "2025-03-05", + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-05-29", "type": "chat" }, { - "id": "deepseek/deepseek-v3.2-exp", - "name": "Deepseek V3.2 Exp", - "display_name": "Deepseek V3.2 Exp", + "id": "deepseek/deepseek-v4-pro-0813", + "name": "DeepSeek V4 Pro 0813", + "display_name": "DeepSeek V4 Pro 0813", "modalities": { "input": [ "text" @@ -96461,8 +97138,8 @@ ] }, "limit": { - "context": 163840, - "output": 65536 + "context": 1048576, + "output": 393216 }, "temperature": true, "tool_call": true, @@ -96470,43 +97147,32 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": true, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "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 + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "effort_options": [ + "low", + "high", + "max" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", + "release_date": "2026-08-12", + "last_updated": "2026-08-22", "type": "chat" }, { - "id": "deepseek/deepseek-v3.1", - "name": "DeepSeek V3.1", - "display_name": "DeepSeek V3.1", + "id": "deepseek/deepseek_v3", + "name": "DeepSeek-V3", + "display_name": "DeepSeek-V3", "modalities": { "input": [ "text" @@ -96516,19 +97182,18 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 64000, + "output": 16000 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true, - "default": true + "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", + "release_date": "2024-12-26", + "last_updated": "2024-12-26", "type": "chat" }, { @@ -96617,15 +97282,14 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-07", "release_date": "2025-05-28", "last_updated": "2025-05-28", "type": "chat" }, { - "id": "deepseek/deepseek-v3.2", - "name": "Deepseek V3.2", - "display_name": "Deepseek V3.2", + "id": "tencent/hy3", + "name": "Hy3", + "display_name": "Hy3", "modalities": { "input": [ "text" @@ -96635,8 +97299,8 @@ ] }, "limit": { - "context": 163840, - "output": 65536 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -96652,19 +97316,23 @@ "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "effort_options": [ + "none", + "high" ] } }, "attachment": false, "open_weights": true, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", + "release_date": "2026-07-06", + "last_updated": "2026-07-06", "type": "chat" }, { - "id": "deepseek/deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", + "id": "tencent/hy4-preview", + "name": "Hy4 preview", + "display_name": "Hy4 preview", "modalities": { "input": [ "text" @@ -96674,8 +97342,8 @@ ] }, "limit": { - "context": 1048576, - "output": 393216 + "context": 1000000, + "output": 64000 }, "temperature": true, "tool_call": true, @@ -96686,36 +97354,28 @@ "extra_capabilities": { "reasoning": { "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "high", - "max" - ], "interleaved": true, "summaries": true, "visibility": "summary", "continuation": [ "thinking_blocks" ], - "notes": [ - "The DeepSeek API maps medium and xhigh to high for V4 models; effort_options lists distinct model-effective levels." + "effort_options": [ + "none", + "high" ] } }, "attachment": false, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "release_date": "2026-08-28", + "last_updated": "2026-08-28", "type": "chat" }, { "id": "meta-llama/llama-4-maverick-17b-128e-instruct-fp8", - "name": "Llama 4 Maverick Instruct", - "display_name": "Llama 4 Maverick Instruct", + "name": "Llama 4 Maverick 17B Instruct", + "display_name": "Llama 4 Maverick 17B Instruct", "modalities": { "input": [ "text", @@ -96730,20 +97390,21 @@ "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, "open_weights": true, - "release_date": "2025-04-06", - "last_updated": "2025-04-06", + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "type": "chat" }, { - "id": "meta-llama/llama-3-70b-instruct", - "name": "Llama3 70B Instruct", - "display_name": "Llama3 70B 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" @@ -96753,24 +97414,25 @@ ] }, "limit": { - "context": 8192, - "output": 8000 + "context": 12288, + "output": 12288 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2024-04-25", - "last_updated": "2024-04-25", + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", "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": "Llama-3.1-8B-Instruct", + "display_name": "Llama-3.1-8B-Instruct", "modalities": { "input": [ "text" @@ -96780,8 +97442,8 @@ ] }, "limit": { - "context": 131072, - "output": 120000 + "context": 16384, + "output": 16384 }, "temperature": true, "tool_call": true, @@ -96791,14 +97453,14 @@ "attachment": false, "open_weights": true, "knowledge": "2023-12", - "release_date": "2024-12-07", - "last_updated": "2024-12-07", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", "type": "chat" }, { - "id": "meta-llama/llama-3.1-8b-instruct", - "name": "Llama 3.1 8B Instruct", - "display_name": "Llama 3.1 8B Instruct", + "id": "meta-llama/llama-3.2-1b-instruct", + "name": "Llama 3.2 1B Instruct", + "display_name": "Llama 3.2 1B Instruct", "modalities": { "input": [ "text" @@ -96808,24 +97470,24 @@ ] }, "limit": { - "context": 16384, - "output": 16384 + "context": 131000, + "output": 32000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2024-07-24", - "last_updated": "2024-07-24", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", "type": "chat" }, { "id": "meta-llama/llama-4-scout-17b-16e-instruct", - "name": "Llama 4 Scout Instruct", - "display_name": "Llama 4 Scout Instruct", + "name": "Llama 4 Scout 17B Instruct", + "display_name": "Llama 4 Scout 17B Instruct", "modalities": { "input": [ "text", @@ -96840,68 +97502,15 @@ "output": 131072 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": true, "open_weights": true, - "release_date": "2025-04-06", - "last_updated": "2025-04-06", - "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", - "type": "chat" - }, - { - "id": "meta-llama/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": "2024-04-25", - "last_updated": "2024-04-25", + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", "type": "chat" }, { @@ -96921,31 +97530,34 @@ "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2024-06-27", - "last_updated": "2024-06-27", + "release_date": "2024-04-30", + "last_updated": "2024-04-30", "type": "chat" }, { - "id": "xiaomimimo/mimo-v2-flash", - "name": "XiaomiMiMo/MiMo-V2-Flash", - "display_name": "XiaomiMiMo/MiMo-V2-Flash", + "id": "xiaomimimo/mimo-v2.6-pro", + "name": "MiMo-V2.6-Pro", + "display_name": "MiMo-V2.6-Pro", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 32000 + "context": 1048576, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -96953,20 +97565,32 @@ "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-12", - "release_date": "2025-12-19", - "last_updated": "2025-12-19", + "release_date": "2026-09-22", + "last_updated": "2026-09-22", "type": "chat" }, { - "id": "xiaomimimo/mimo-v2-pro", - "name": "MiMo-V2-Pro", - "display_name": "MiMo-V2-Pro", + "id": "xiaomimimo/mimo-v2.5", + "name": "MiMo-V2.5", + "display_name": "MiMo-V2.5", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" @@ -96993,11 +97617,11 @@ ] } }, - "attachment": false, - "open_weights": false, + "attachment": true, + "open_weights": true, "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-05-27", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "type": "chat" }, { @@ -97037,46 +97661,18 @@ "open_weights": true, "knowledge": "2024-12", "release_date": "2026-04-22", - "last_updated": "2026-05-27", - "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", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 30000, - "output": 8000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": true, - "open_weights": true, - "release_date": "2025-06-30", - "last_updated": "2026-06-14", + "last_updated": "2026-04-22", "type": "chat" }, { - "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": "xiaomimimo/mimo-v2.6-flash", + "name": "MiMo-V2.6-Flash", + "display_name": "MiMo-V2.6-Flash", "modalities": { "input": [ "text", "image", + "audio", "video" ], "output": [ @@ -97084,8 +97680,8 @@ ] }, "limit": { - "context": 131072, - "output": 65536 + "context": 1048576, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -97093,39 +97689,21 @@ "supported": true, "default": true }, - "attachment": true, - "open_weights": true, - "release_date": "2025-11-26", - "last_updated": "2025-11-26", - "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", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 65536 - }, - "temperature": 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": true, - "knowledge": "2025-03", - "release_date": "2025-09-19", - "last_updated": "2025-09-19", + "release_date": "2026-09-22", + "last_updated": "2026-09-22", "type": "chat" }, { @@ -97151,71 +97729,53 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-03", "release_date": "2025-06-30", "last_updated": "2025-06-30", "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": "baidu/cobuddy", + "name": "CoBuddy", + "display_name": "CoBuddy", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 123000, - "output": 16000 + "context": 131072, + "output": 65536 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, - "open_weights": true, - "release_date": "2025-06-30", - "last_updated": "2025-06-30", - "type": "chat" - }, - { - "id": "baidu/ernie-4.5-300b-a47b-paddle", - "name": "ERNIE 4.5 300B A47B", - "display_name": "ERNIE 4.5 300B A47B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 123000, - "output": 12000 - }, - "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": "2025-06-30", - "last_updated": "2025-06-30", + "open_weights": false, + "release_date": "2026-05-06", + "last_updated": "2026-05-06", "type": "chat" }, { "id": "google/gemma-4-31b-it", - "name": "Gemma 4 31B", - "display_name": "Gemma 4 31B", + "name": "Gemma 4 31B IT", + "display_name": "Gemma 4 31B IT", "modalities": { "input": [ "text", @@ -97235,6 +97795,17 @@ "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-02", @@ -97243,8 +97814,8 @@ }, { "id": "google/gemma-3-27b-it", - "name": "Gemma 3 27B", - "display_name": "Gemma 3 27B", + "name": "Gemma 3 27B IT", + "display_name": "Gemma 3 27B IT", "modalities": { "input": [ "text", @@ -97259,20 +97830,21 @@ "output": 16384 }, "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", + "knowledge": "2024-08", + "release_date": "2025-03-12", + "last_updated": "2025-03-12", "type": "chat" }, { "id": "google/gemma-4-26b-a4b-it", - "name": "Gemma 4 26B A4B", - "display_name": "Gemma 4 26B A4B", + "name": "Gemma 4 26B A4B IT", + "display_name": "Gemma 4 26B A4B IT", "modalities": { "input": [ "text", @@ -97292,6 +97864,17 @@ "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-02", @@ -97300,8 +97883,8 @@ }, { "id": "google/gemma-3-12b-it", - "name": "Gemma 3 12B", - "display_name": "Gemma 3 12B", + "name": "Gemma 3 12B IT", + "display_name": "Gemma 3 12B IT", "modalities": { "input": [ "text", @@ -97316,20 +97899,21 @@ "output": 8192 }, "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-03-12", + "last_updated": "2025-03-12", "type": "chat" }, { "id": "minimaxai/minimax-m1-80k", - "name": "MiniMax M1", - "display_name": "MiniMax M1", + "name": "MiniMax M1 80K", + "display_name": "MiniMax M1 80K", "modalities": { "input": [ "text" @@ -97355,9 +97939,9 @@ "type": "chat" }, { - "id": "mistralai/mistral-nemo", - "name": "Mistral Nemo", - "display_name": "Mistral Nemo", + "id": "inclusionai/ling-3.0-flash", + "name": "Ling 3.0 Flash", + "display_name": "Ling 3.0 Flash", "modalities": { "input": [ "text" @@ -97367,24 +97951,36 @@ ] }, "limit": { - "context": 60288, - "output": 16000 + "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": false, "open_weights": true, - "release_date": "2024-07-30", - "last_updated": "2024-07-30", + "release_date": "2026-07-23", + "last_updated": "2026-07-23", "type": "chat" }, { - "id": "inclusionai/ring-2.6-1t", - "name": "Ring-2.6-1T", - "display_name": "Ring-2.6-1T", + "id": "inclusionai/ling-3.1-flash", + "name": "Ling 3.1 Flash", + "display_name": "Ling 3.1 Flash", "modalities": { "input": [ "text" @@ -97395,24 +97991,34 @@ }, "limit": { "context": 262144, - "output": 65536 + "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": false, - "release_date": "2026-05-08", - "last_updated": "2026-05-27", + "release_date": "2026-09-29", + "last_updated": "2026-09-29", "type": "chat" }, { - "id": "inclusionai/ling-2.6-1t", - "name": "Ling-2.6-1T", - "display_name": "Ling-2.6-1T", + "id": "inclusionai/ling-3.0-flash-sante", + "name": "Ling 3.0 Flash Sante", + "display_name": "Ling 3.0 Flash Sante", "modalities": { "input": [ "text" @@ -97428,18 +98034,71 @@ "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": "2026-09-04", + "last_updated": "2026-09-04", + "type": "chat" + }, + { + "id": "inclusionai/ling-3.0-flash-vl", + "name": "Ling 3.0 Flash VL", + "display_name": "Ling 3.0 Flash VL", + "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, - "release_date": "2026-04-23", - "last_updated": "2026-06-29", + "release_date": "2026-09-10", + "last_updated": "2026-09-10", "type": "chat" }, { - "id": "inclusionai/ling-2.6-flash", - "name": "Ling-2.6-flash", - "display_name": "Ling-2.6-flash", + "id": "inclusionai/ling-3.0-flash-fin", + "name": "Ling 3.0 Flash Fin", + "display_name": "Ling 3.0 Flash Fin", "modalities": { "input": [ "text" @@ -97452,15 +98111,26 @@ "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-04-24", - "last_updated": "2026-04-24", + "release_date": "2026-08-27", + "last_updated": "2026-09-03", "type": "chat" }, { @@ -97490,7 +98160,14 @@ "extra_capabilities": { "reasoning": { "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], "effort_options": [ + "none", "low", "high", "max" @@ -97580,8 +98257,9 @@ }, "attachment": false, "open_weights": true, - "release_date": "2025-11-07", - "last_updated": "2026-06-29", + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", "type": "chat" }, { @@ -97602,7 +98280,7 @@ "context": 262144, "output": 262144 }, - "temperature": true, + "temperature": false, "tool_call": true, "reasoning": { "supported": true, @@ -97622,8 +98300,8 @@ "attachment": true, "open_weights": true, "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", + "release_date": "2026-01", + "last_updated": "2026-01", "type": "chat" }, { @@ -97640,7 +98318,7 @@ }, "limit": { "context": 131072, - "output": 32768 + "output": 98304 }, "temperature": true, "tool_call": true, @@ -97655,8 +98333,8 @@ }, { "id": "moonshotai/kimi-k2-0905", - "name": "Kimi K2 0905", - "display_name": "Kimi K2 0905", + "name": "Kimi K2 Instruct 0905", + "display_name": "Kimi K2 Instruct 0905", "modalities": { "input": [ "text" @@ -97676,7 +98354,6 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2024-10", "release_date": "2025-09-05", "last_updated": "2025-09-05", "type": "chat" @@ -97707,7 +98384,13 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": true, @@ -97719,13 +98402,13 @@ }, { "id": "zai-org/glm-4.6v", - "name": "GLM 4.6V", - "display_name": "GLM 4.6V", + "name": "GLM-4.6V", + "display_name": "GLM-4.6V", "modalities": { "input": [ "text", - "video", - "image" + "image", + "video" ], "output": [ "text" @@ -97741,6 +98424,17 @@ "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", @@ -97749,20 +98443,22 @@ "type": "chat" }, { - "id": "zai-org/glm-4.5", - "name": "GLM-4.5", - "display_name": "GLM-4.5", + "id": "zai-org/glm-5.3-flash", + "name": "GLM-5.3-Flash", + "display_name": "GLM-5.3-Flash", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 98304 + "context": 1048576, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -97778,19 +98474,24 @@ "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "effort_options": [ + "low", + "high", + "max" ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "release_date": "2026-08-26", + "last_updated": "2026-08-26", "type": "chat" }, { "id": "zai-org/glm-4.6", - "name": "GLM 4.6", - "display_name": "GLM 4.6", + "name": "GLM-4.6", + "display_name": "GLM-4.6", "modalities": { "input": [ "text" @@ -97822,6 +98523,7 @@ }, "attachment": false, "open_weights": true, + "knowledge": "2025-04", "release_date": "2025-09-30", "last_updated": "2025-09-30", "type": "chat" @@ -97861,19 +98563,19 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-02-11", + "release_date": "2026-02-12", "last_updated": "2026-02-12", "type": "chat" }, { "id": "zai-org/glm-4.5v", - "name": "GLM 4.5V", - "display_name": "GLM 4.5V", + "name": "GLM-4.5V", + "display_name": "GLM-4.5V", "modalities": { "input": [ "text", - "video", - "image" + "image", + "video" ], "output": [ "text" @@ -97889,6 +98591,17 @@ "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", @@ -97920,7 +98633,13 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] } }, "attachment": false, @@ -97965,6 +98684,7 @@ }, "attachment": false, "open_weights": true, + "knowledge": "2025-04", "release_date": "2025-12-22", "last_updated": "2025-12-22", "type": "chat" @@ -98048,14 +98768,14 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", + "release_date": "2026-04-07", + "last_updated": "2026-04-07", "type": "chat" }, { "id": "zai-org/autoglm-phone-9b-multilingual", - "name": "AutoGLM-Phone-9B-Multilingual", - "display_name": "AutoGLM-Phone-9B-Multilingual", + "name": "AutoGLM Phone 9B Multilingual", + "display_name": "AutoGLM Phone 9B Multilingual", "modalities": { "input": [ "text", @@ -98082,8 +98802,8 @@ }, { "id": "zai-org/glm-4.5-air", - "name": "GLM 4.5 Air", - "display_name": "GLM 4.5 Air", + "name": "GLM-4.5-Air", + "display_name": "GLM-4.5-Air", "modalities": { "input": [ "text" @@ -98102,17 +98822,28 @@ "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-10-13", - "last_updated": "2025-10-13", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "type": "chat" }, { - "id": "gryphe/mythomax-l2-13b", - "name": "Mythomax L2 13B", - "display_name": "Mythomax L2 13B", + "id": "zai-org/glm-5.3", + "name": "GLM-5.3", + "display_name": "GLM-5.3", "modalities": { "input": [ "text" @@ -98122,24 +98853,42 @@ ] }, "limit": { - "context": 4096, - "output": 3200 + "context": 1048576, + "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" + ], + "effort_options": [ + "none", + "low", + "high", + "max" + ] + } }, "attachment": false, "open_weights": true, - "release_date": "2024-04-25", - "last_updated": "2024-04-25", + "release_date": "2026-08-14", + "last_updated": "2026-08-14", "type": "chat" }, { - "id": "minimax/minimax-m2.5", - "name": "MiniMax M2.5", - "display_name": "MiniMax M2.5", + "id": "apodex/apodex-1.1-mini", + "name": "Apodex 1.1 Mini", + "display_name": "Apodex 1.1 Mini", "modalities": { "input": [ "text" @@ -98149,8 +98898,8 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -98170,15 +98919,15 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "open_weights": true, + "release_date": "2026-08-24", + "last_updated": "2026-08-24", "type": "chat" }, { - "id": "minimax/minimax-m2.7", - "name": "MiniMax M2.7", - "display_name": "MiniMax M2.7", + "id": "nvidia/nemotron-3-nano-30b-a3b", + "name": "Nemotron 3 Nano 30B A3B", + "display_name": "Nemotron 3 Nano 30B A3B", "modalities": { "input": [ "text" @@ -98188,8 +98937,8 @@ ] }, "limit": { - "context": 204800, - "output": 131072 + "context": 262144, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -98210,14 +98959,41 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", + "release_date": "2025-12-15", + "last_updated": "2025-12-15", "type": "chat" }, { - "id": "minimax/minimax-m2.7-highspeed", - "name": "MiniMax-M2.7-highspeed", - "display_name": "MiniMax-M2.7-highspeed", + "id": "gryphe/mythomax-l2-13b", + "name": "MythoMax L2 13B", + "display_name": "MythoMax L2 13B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 4096, + "output": 3200 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2023-08-10", + "last_updated": "2023-08-10", + "type": "chat" + }, + { + "id": "minimax/minimax-m2.5", + "name": "MiniMax-M2.5", + "display_name": "MiniMax-M2.5", "modalities": { "input": [ "text" @@ -98228,7 +99004,7 @@ }, "limit": { "context": 204800, - "output": 131072 + "output": 131100 }, "temperature": true, "tool_call": true, @@ -98249,14 +99025,14 @@ }, "attachment": false, "open_weights": true, - "release_date": "2026-03-18", - "last_updated": "2026-05-27", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", "type": "chat" }, { - "id": "minimax/minimax-m2.5-highspeed", - "name": "MiniMax M2.5 Highspeed", - "display_name": "MiniMax M2.5 Highspeed", + "id": "minimax/minimax-m2.7", + "name": "MiniMax-M2.7", + "display_name": "MiniMax-M2.7", "modalities": { "input": [ "text" @@ -98287,31 +99063,34 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", + "open_weights": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", "type": "chat" }, { - "id": "minimax/minimax-m2.1", - "name": "Minimax M2.1", - "display_name": "Minimax M2.1", + "id": "minimax/minimax-m3", + "name": "MiniMax-M3", + "display_name": "MiniMax-M3", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 204800, + "context": 1000000, "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -98324,16 +99103,16 @@ ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", + "release_date": "2026-06-01", + "last_updated": "2026-06-01", "type": "chat" }, { - "id": "minimax/minimax-m2", - "name": "MiniMax-M2", - "display_name": "MiniMax-M2", + "id": "minimax/minimax-m2.7-highspeed", + "name": "MiniMax-M2.7-highspeed", + "display_name": "MiniMax-M2.7-highspeed", "modalities": { "input": [ "text" @@ -98365,14 +99144,14 @@ }, "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", "type": "chat" }, { "id": "paddlepaddle/paddleocr-vl", - "name": "PaddleOCR-VL", - "display_name": "PaddleOCR-VL", + "name": "PaddleOCR VL", + "display_name": "PaddleOCR VL", "modalities": { "input": [ "text", @@ -98393,14 +99172,14 @@ }, "attachment": true, "open_weights": true, - "release_date": "2025-10-22", - "last_updated": "2025-10-22", + "release_date": "2025-10-16", + "last_updated": "2025-10-16", "type": "chat" }, { - "id": "qwen/qwen3-vl-235b-a22b-instruct", - "name": "Qwen3 VL 235B A22B Instruct", - "display_name": "Qwen3 VL 235B A22B Instruct", + "id": "stepfun/step-3.7-flash", + "name": "Step 3.7 Flash", + "display_name": "Step 3.7 Flash", "modalities": { "input": [ "text", @@ -98412,24 +99191,42 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 262144, + "output": 256000 }, "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" + ], + "effort_options": [ + "low", + "medium", + "high" + ] + } }, "attachment": true, "open_weights": true, - "release_date": "2025-09-24", - "last_updated": "2025-09-24", + "knowledge": "2026-03-01", + "release_date": "2026-05-29", + "last_updated": "2026-05-29", "type": "chat" }, { - "id": "qwen/qwen3.7-max", - "name": "Qwen3.7-Max", - "display_name": "Qwen3.7-Max", + "id": "mindai/macaron-v1-tall", + "name": "Macaron V1 Tall", + "display_name": "Macaron V1 Tall", "modalities": { "input": [ "text" @@ -98439,8 +99236,8 @@ ] }, "limit": { - "context": 1000000, - "output": 65536 + "context": 262144, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -98450,35 +99247,43 @@ }, "extra_capabilities": { "reasoning": { - "supported": true + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "effort_options": [ + "none", + "high" + ] } }, "attachment": false, - "open_weights": false, - "release_date": "2026-05-21", - "last_updated": "2026-05-27", + "open_weights": true, + "release_date": "2026-07-21", + "last_updated": "2026-07-21", "type": "chat" }, { - "id": "qwen/qwen3-vl-235b-a22b-thinking", - "name": "Qwen3 VL 235B A22B Thinking", - "display_name": "Qwen3 VL 235B A22B Thinking", + "id": "mindai/macaron-v1-venti", + "name": "Macaron V1 Venti", + "display_name": "Macaron V1 Venti", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 1048576, + "output": 131072 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -98491,31 +99296,34 @@ "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "effort_options": [ + "none", + "high", + "max" ] } }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2025-09-24", - "last_updated": "2025-09-24", + "release_date": "2026-07-21", + "last_updated": "2026-07-21", "type": "chat" }, { - "id": "qwen/qwen3.5-27b", - "name": "Qwen3.5-27B", - "display_name": "Qwen3.5-27B", + "id": "qwen/qwen3.7-max", + "name": "Qwen3.7 Max", + "display_name": "Qwen3.7 Max", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 262144, + "context": 1000000, "output": 65536 }, "temperature": true, @@ -98535,55 +99343,29 @@ ] } }, - "attachment": true, - "open_weights": true, - "release_date": "2026-02-26", - "last_updated": "2026-02-26", - "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": 131072, - "output": 16384 - }, - "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", + "open_weights": false, + "release_date": "2026-05-21", + "last_updated": "2026-05-21", "type": "chat" }, { - "id": "qwen/qwen3-next-80b-a3b-thinking", - "name": "Qwen3 Next 80B A3B Thinking", - "display_name": "Qwen3 Next 80B A3B Thinking", + "id": "qwen/qwen3.8-27b", + "name": "Qwen3.8 27B", + "display_name": "Qwen3.8 27B", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 1000000, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -98599,19 +99381,24 @@ "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "effort_options": [ + "low", + "medium", + "xhigh" ] } }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2025-09-10", - "last_updated": "2025-09-10", + "release_date": "2026-08-14", + "last_updated": "2026-08-14", "type": "chat" }, { - "id": "qwen/qwen3-coder-next", - "name": "Qwen3 Coder Next", - "display_name": "Qwen3 Coder Next", + "id": "qwen/qwen3.8-2.4t-a95b", + "name": "Qwen3.8 2.4T A95B", + "display_name": "Qwen3.8 2.4T A95B", "modalities": { "input": [ "text" @@ -98621,70 +99408,54 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 1000000, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-02-03", - "last_updated": "2026-02-03", - "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 + "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" + ], + "effort_options": [ + "low", + "medium", + "xhigh" + ] + } }, - "attachment": true, + "attachment": false, "open_weights": true, - "knowledge": "2024-04", - "release_date": "2025-09-24", - "last_updated": "2025-09-24", + "release_date": "2026-08-12", + "last_updated": "2026-08-12", "type": "chat" }, { - "id": "qwen/qwen3-omni-30b-a3b-thinking", - "name": "Qwen3 Omni 30B A3B Thinking", - "display_name": "Qwen3 Omni 30B A3B Thinking", + "id": "qwen/qwen3.5-27b", + "name": "Qwen3.5 27B", + "display_name": "Qwen3.5 27B", "modalities": { "input": [ "text", - "audio", - "video", - "image" + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 65536, - "output": 16384 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -98705,30 +99476,33 @@ }, "attachment": true, "open_weights": true, - "release_date": "2025-09-24", - "last_updated": "2025-09-24", + "release_date": "2026-02-23", + "last_updated": "2026-02-23", "type": "chat" }, { - "id": "qwen/qwen3-max", - "name": "Qwen3 Max", - "display_name": "Qwen3 Max", + "id": "qwen/qwen3.8-max", + "name": "Qwen3.8 Max", + "display_name": "Qwen3.8 Max", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 1000000, + "output": 131072 }, "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -98738,76 +99512,66 @@ "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "effort_options": [ + "low", + "medium", + "xhigh" ] } }, - "attachment": false, + "attachment": true, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-09-24", - "last_updated": "2025-09-24", + "release_date": "2026-08-03", + "last_updated": "2026-08-03", "type": "chat" }, { - "id": "qwen/qwen3-235b-a22b-fp8", - "name": "Qwen3 235B A22B", - "display_name": "Qwen3 235B A22B", + "id": "qwen/qwen3-omni-30b-a3b-thinking", + "name": "Qwen3 Omni 30B A3B Thinking", + "display_name": "Qwen3 Omni 30B A3B Thinking", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio" ], "output": [ "text" ] }, "limit": { - "context": 40960, - "output": 20000 + "context": 65536, + "output": 16384 }, "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", - "type": "chat" - }, - { - "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": 65536 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false + "extra_capabilities": { + "reasoning": { + "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ] + } }, - "attachment": false, + "attachment": true, "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", + "release_date": "2025-09-22", + "last_updated": "2025-09-22", "type": "chat" }, { - "id": "qwen/qwen3-coder-30b-a3b-instruct", - "name": "Qwen3 Coder 30b A3B Instruct", - "display_name": "Qwen3 Coder 30b A3B Instruct", + "id": "qwen/qwen3-reranker-8b", + "name": "Qwen3 Reranker 8B", + "display_name": "Qwen3 Reranker 8B", "modalities": { "input": [ "text" @@ -98817,29 +99581,29 @@ ] }, "limit": { - "context": 160000, - "output": 32768 + "context": 32768, + "output": 8192 }, - "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", - "type": "chat" + "release_date": "2025-06-05", + "last_updated": "2025-06-05", + "type": "rerank" }, { "id": "qwen/qwen3-vl-30b-a3b-instruct", - "name": "qwen/qwen3-vl-30b-a3b-instruct", - "display_name": "qwen/qwen3-vl-30b-a3b-instruct", + "name": "Qwen3 VL 30B A3B Instruct", + "display_name": "Qwen3 VL 30B A3B Instruct", "modalities": { "input": [ "text", - "video", - "image" + "image", + "video" ], "output": [ "text" @@ -98856,25 +99620,27 @@ }, "attachment": true, "open_weights": true, - "release_date": "2025-10-11", - "last_updated": "2025-10-11", + "release_date": "2025-10-04", + "last_updated": "2025-10-04", "type": "chat" }, { - "id": "qwen/qwen3-235b-a22b-thinking-2507", - "name": "Qwen3 235B A22b Thinking 2507", - "display_name": "Qwen3 235B A22b Thinking 2507", + "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" ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -98893,44 +99659,16 @@ ] } }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "type": "chat" - }, - { - "id": "qwen/qwen2.5-7b-instruct", - "name": "Qwen2.5 7B Instruct", - "display_name": "Qwen2.5 7B Instruct", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 32000, - "output": 32000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, + "attachment": true, "open_weights": true, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "release_date": "2026-02-23", + "last_updated": "2026-02-23", "type": "chat" }, { - "id": "qwen/qwen3.5-122b-a10b", - "name": "Qwen3.5-122B-A10B", - "display_name": "Qwen3.5-122B-A10B", + "id": "qwen/qwen3.6-35b-a3b", + "name": "Qwen3.6 35B-A3B", + "display_name": "Qwen3.6 35B-A3B", "modalities": { "input": [ "text", @@ -98964,14 +99702,14 @@ }, "attachment": true, "open_weights": true, - "release_date": "2026-02-26", - "last_updated": "2026-02-26", + "release_date": "2026-04-17", + "last_updated": "2026-04-17", "type": "chat" }, { - "id": "qwen/qwen3-30b-a3b-fp8", - "name": "Qwen3 30B A3B", - "display_name": "Qwen3 30B A3B", + "id": "qwen/qwen-mt-plus", + "name": "Qwen MT Plus", + "display_name": "Qwen MT Plus", "modalities": { "input": [ "text" @@ -98981,52 +99719,24 @@ ] }, "limit": { - "context": 40960, - "output": 20000 + "context": 16384, + "output": 8192 }, "temperature": true, "tool_call": false, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "type": "chat" - }, - { - "id": "qwen/qwen3-next-80b-a3b-instruct", - "name": "Qwen3 Next 80B A3B Instruct", - "display_name": "Qwen3 Next 80B A3B Instruct", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 32768 - }, - "temperature": true, - "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2025-09-10", - "last_updated": "2025-09-10", + "open_weights": false, + "release_date": "2025-07-24", + "last_updated": "2025-07-24", "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": "qwen/qwen3.8-flash", + "name": "Qwen3.8 Flash", + "display_name": "Qwen3.8 Flash", "modalities": { "input": [ "text", @@ -99038,13 +99748,13 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 1000000, + "output": 131072 }, - "temperature": true, "tool_call": true, "reasoning": { - "supported": true + "supported": true, + "default": true }, "extra_capabilities": { "reasoning": { @@ -99054,19 +99764,24 @@ "visibility": "summary", "continuation": [ "thinking_blocks" + ], + "effort_options": [ + "low", + "medium", + "xhigh" ] } }, "attachment": true, - "open_weights": true, - "release_date": "2025-10-11", - "last_updated": "2025-10-11", + "open_weights": false, + "release_date": "2026-08-26", + "last_updated": "2026-08-26", "type": "chat" }, { - "id": "qwen/qwen-mt-plus", - "name": "Qwen MT Plus", - "display_name": "Qwen MT Plus", + "id": "qwen/qwen3-embedding-8b", + "name": "Qwen3 Embedding 8B", + "display_name": "Qwen3 Embedding 8B", "modalities": { "input": [ "text" @@ -99076,80 +99791,24 @@ ] }, "limit": { - "context": 16384, + "context": 32768, "output": 8192 }, - "temperature": true, + "temperature": false, "tool_call": false, "reasoning": { "supported": false }, "attachment": false, "open_weights": true, - "release_date": "2025-09-03", - "last_updated": "2025-09-03", - "type": "chat" - }, - { - "id": "qwen/qwen3-32b-fp8", - "name": "Qwen3 32B", - "display_name": "Qwen3 32B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 40960, - "output": 20000 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "type": "chat" - }, - { - "id": "qwen/qwen3-8b-fp8", - "name": "Qwen3 8B", - "display_name": "Qwen3 8B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 20000 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "type": "chat" + "release_date": "2025-06-05", + "last_updated": "2025-06-05", + "type": "embedding" }, { "id": "qwen/qwen3.5-35b-a3b", - "name": "Qwen3.5-35B-A3B", - "display_name": "Qwen3.5-35B-A3B", + "name": "Qwen3.5 35B-A3B", + "display_name": "Qwen3.5 35B-A3B", "modalities": { "input": [ "text", @@ -99183,14 +99842,14 @@ }, "attachment": true, "open_weights": true, - "release_date": "2026-02-26", - "last_updated": "2026-02-26", + "release_date": "2026-02-23", + "last_updated": "2026-02-23", "type": "chat" }, { "id": "qwen/qwen3.5-397b-a17b", - "name": "Qwen3.5-397B-A17B", - "display_name": "Qwen3.5-397B-A17B", + "name": "Qwen3.5 397B-A17B", + "display_name": "Qwen3.5 397B-A17B", "modalities": { "input": [ "text", @@ -99203,7 +99862,7 @@ }, "limit": { "context": 262144, - "output": 64000 + "output": 65536 }, "temperature": true, "tool_call": true, @@ -99224,43 +99883,14 @@ }, "attachment": true, "open_weights": true, - "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "type": "chat" - }, - { - "id": "qwen/qwen3-vl-8b-instruct", - "name": "qwen/qwen3-vl-8b-instruct", - "display_name": "qwen/qwen3-vl-8b-instruct", - "modalities": { - "input": [ - "text", - "image", - "video" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 32768 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": true, - "release_date": "2025-10-17", - "last_updated": "2025-10-17", + "release_date": "2026-02-15", + "last_updated": "2026-02-15", "type": "chat" }, { - "id": "qwen/qwen2.5-vl-72b-instruct", - "name": "Qwen2.5 VL 72B Instruct", - "display_name": "Qwen2.5 VL 72B Instruct", + "id": "qwen/qwen3.6-27b", + "name": "Qwen3.6 27B", + "display_name": "Qwen3.6 27B", "modalities": { "input": [ "text", @@ -99272,80 +99902,36 @@ ] }, "limit": { - "context": 32768, - "output": 32768 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": true, - "release_date": "2025-03-25", - "last_updated": "2025-03-25", - "type": "chat" - }, - { - "id": "qwen/qwen-2.5-72b-instruct", - "name": "Qwen 2.5 72B Instruct", - "display_name": "Qwen 2.5 72B Instruct", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 32000, - "output": 8192 + "context": 262144, + "output": 65536 }, "temperature": true, "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-04", - "release_date": "2024-10-15", - "last_updated": "2024-10-15", - "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": { "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-04-29", - "last_updated": "2025-04-29", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", "type": "chat" }, { "id": "baichuan/baichuan-m2-32b", - "name": "baichuan-m2-32b", - "display_name": "baichuan-m2-32b", + "name": "Baichuan M2 32B", + "display_name": "Baichuan M2 32B", "modalities": { "input": [ "text" @@ -99361,62 +99947,22 @@ "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, - "knowledge": "2024-12", "release_date": "2025-08-13", "last_updated": "2025-08-13", "type": "chat" }, - { - "id": "openai/gpt-oss-20b", - "name": "OpenAI: GPT OSS 20B", - "display_name": "OpenAI: GPT OSS 20B", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 32768 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "effort_options": [ - "low", - "medium", - "high" - ] - } - }, - "attachment": true, - "open_weights": true, - "release_date": "2025-08-06", - "last_updated": "2025-08-06", - "type": "chat" - }, { "id": "openai/gpt-oss-120b", - "name": "OpenAI GPT OSS 120B", - "display_name": "OpenAI GPT OSS 120B", + "name": "GPT OSS 120B", + "display_name": "GPT OSS 120B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -99435,6 +99981,12 @@ "extra_capabilities": { "reasoning": { "supported": true, + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], "effort_options": [ "low", "medium", @@ -99442,16 +99994,16 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": true, - "release_date": "2025-08-06", - "last_updated": "2025-08-06", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "type": "chat" }, { "id": "microsoft/wizardlm-2-8x22b", - "name": "Wizardlm 2 8x22B", - "display_name": "Wizardlm 2 8x22B", + "name": "WizardLM 2 8x22B", + "display_name": "WizardLM 2 8x22B", "modalities": { "input": [ "text" @@ -99471,116 +100023,8 @@ }, "attachment": false, "open_weights": true, - "release_date": "2024-04-24", - "last_updated": "2024-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", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2024-06-18", - "last_updated": "2024-06-18", - "type": "chat" - }, - { - "id": "sao10K/L3-8B-stheno-v3.2", - "name": "L3 8B Stheno V3.2", - "display_name": "L3 8B Stheno V3.2", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 8192, - "output": 32000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2024-11-29", - "last_updated": "2024-11-29", - "type": "chat" - }, - { - "id": "sao10K/l3-8b-lunaris", - "name": "Sao10k L3 8B Lunaris\t", - "display_name": "Sao10k L3 8B Lunaris\t", - "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": "2024-11-28", - "last_updated": "2024-11-28", - "type": "chat" - }, - { - "id": "sao10K/l31-70b-euryale-v2.2", - "name": "L31 70B Euryale V2.2", - "display_name": "L31 70B Euryale V2.2", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2024-09-19", - "last_updated": "2024-09-19", + "release_date": "2024-04-15", + "last_updated": "2024-04-15", "type": "chat" } ] @@ -101464,6 +101908,48 @@ "last_updated": "2025-10-08", "type": "chat" }, + { + "id": "gpt-6.1-sol", + "name": "GPT-6.1 Sol", + "display_name": "GPT-6.1 Sol", + "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": { + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2026-04-30", + "release_date": "2026-09-29", + "last_updated": "2026-09-29", + "type": "chat" + }, { "id": "claude-opus-4-5-20251101", "name": "claude-opus-4-5-20251101", @@ -103672,6 +104158,48 @@ "last_updated": "2026-07-09", "type": "chat" }, + { + "id": "claude-haiku-5-5", + "name": "Claude Haiku 5.5", + "display_name": "Claude Haiku 5.5", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2026-06", + "release_date": "2026-10-07", + "last_updated": "2026-10-07", + "type": "chat" + }, { "id": "gemini-3.8-flash", "name": "Gemini 3.8 Flash", @@ -118594,6 +119122,111 @@ "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": "Kimi-K2.6", + "name": "Kimi K2.6", + "display_name": "Kimi K2.6", + "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 + } + }, + "attachment": true, + "open_weights": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "type": "chat" + }, + { + "id": "deepseek-v4-flash-0731", + "name": "DeepSeek V4 Flash 0731", + "display_name": "DeepSeek V4 Flash 0731", + "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 + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-07-31", + "last_updated": "2026-07-31", + "type": "chat" + }, + { + "id": "kimi-k3", + "name": "Kimi K3", + "display_name": "Kimi K3", + "modalities": { + "input": [ + "text", + "image", + "video" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 131072 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": true, + "release_date": "2026-07-16", + "last_updated": "2026-07-16", + "type": "chat" + }, { "id": "GLM-4.7", "name": "GLM-4.7", @@ -118666,6 +119299,221 @@ "release_date": "2025-12-23", "last_updated": "2025-12-23", "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, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "The DeepSeek API maps medium and xhigh to high for V4 models; effort_options lists distinct model-effective levels." + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "type": "chat" + }, + { + "id": "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, + "default_enabled": true, + "mode": "effort", + "effort": "high", + "effort_options": [ + "low", + "high", + "max" + ], + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" + ], + "notes": [ + "The DeepSeek API maps medium and xhigh to high for V4 models; effort_options lists distinct model-effective levels." + ] + } + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-05", + "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", + "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", + "type": "chat" + }, + { + "id": "Qwen3.6-Flash", + "name": "Qwen3.6 Flash", + "display_name": "Qwen3.6 Flash", + "modalities": { + "input": [ + "text", + "image", + "video" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "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" + ] + } + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-04-27", + "last_updated": "2026-04-27", + "type": "chat" + }, + { + "id": "GLM-5.3", + "name": "GLM-5.3", + "display_name": "GLM-5.3", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "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-08-14", + "last_updated": "2026-08-14", + "type": "chat" } ] }, @@ -131851,6 +132699,34 @@ "last_updated": "2026-02-03", "type": "chat" }, + { + "id": "Qwen/Qwen3-VL-30B-A3B-Instruct", + "name": "Qwen3 VL 30B A3B Instruct", + "display_name": "Qwen3 VL 30B A3B Instruct", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "release_date": "2025-10-04", + "last_updated": "2025-10-04", + "type": "chat" + }, { "id": "Qwen/Qwen3-VL-235B-A22B-Thinking", "name": "Qwen3 VL 235B A22B Thinking", @@ -133135,6 +134011,34 @@ "last_updated": "2026-06-01", "type": "chat" }, + { + "id": "MiniMaxAI/MiniMax-M1-80k", + "name": "MiniMax M1 80K", + "display_name": "MiniMax M1 80K", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 80000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "type": "chat" + }, { "id": "MiniMaxAI/MiniMax-M2.1", "name": "MiniMax-M2.1", @@ -133847,6 +134751,34 @@ "last_updated": "2025-09-30", "type": "chat" }, + { + "id": "zai-org/AutoGLM-Phone-9B-Multilingual", + "name": "AutoGLM Phone 9B Multilingual", + "display_name": "AutoGLM Phone 9B Multilingual", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 65536, + "output": 65536 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "release_date": "2025-12-10", + "last_updated": "2025-12-10", + "type": "chat" + }, { "id": "zai-org/GLM-4.7-Flash", "name": "GLM-4.7-Flash", @@ -153478,14 +154410,79 @@ "last_updated": "2026-08-14", "type": "chat" }, + { + "id": "qwen/qwen3.6-35b-a3b", + "name": "Qwen3.6 35B-A3B", + "display_name": "Qwen3.6 35B-A3B", + "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, + "release_date": "2026-04-17", + "last_updated": "2026-04-17", + "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": 131072, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-10-09", + "last_updated": "2026-10-09", + "type": "chat" + }, { "id": "qwen/qwen3.6-27b", "name": "Qwen3.6 27B", "display_name": "Qwen3.6 27B", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" @@ -153512,7 +154509,7 @@ ] } }, - "attachment": true, + "attachment": false, "open_weights": true, "release_date": "2026-04-22", "last_updated": "2026-04-22", @@ -160852,6 +161849,33 @@ "last_updated": "2026-08-28", "type": "chat" }, + { + "id": "heygen/heygen-video-1", + "name": "HeyGen Video", + "display_name": "HeyGen Video", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "video" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-10-09", + "last_updated": "2026-10-09", + "type": "chat" + }, { "id": "inference-net/schematron-v2-small", "name": "Schematron V2 Small", @@ -161658,35 +162682,6 @@ "last_updated": "2025-12-16", "type": "chat" }, - { - "id": "alibaba/qwen3-vl-235b-a22b-instruct", - "name": "Qwen3 VL 235B A22B Instruct", - "display_name": "Qwen3 VL 235B A22B Instruct", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 129024 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-03-31", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "type": "chat" - }, { "id": "alibaba/qwen3.7-max", "name": "Qwen 3.7 Max", @@ -161769,48 +162764,6 @@ "last_updated": "2026-08-14", "type": "chat" }, - { - "id": "alibaba/qwen3-vl-thinking", - "name": "Qwen3 VL Thinking", - "display_name": "Qwen3 VL Thinking", - "modalities": { - "input": [ - "text", - "image", - "pdf" - ], - "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": true, - "open_weights": true, - "knowledge": "2025-09", - "release_date": "2025-09-23", - "last_updated": "2025-09-24", - "type": "chat" - }, { "id": "alibaba/qwen3.8-2.4t-a95b", "name": "Qwen3.8 2.4T A95B", @@ -161972,8 +162925,8 @@ ] }, "limit": { - "context": 131072, - "output": 129024 + "context": 262144, + "output": 262144 }, "temperature": true, "tool_call": true, @@ -162001,7 +162954,7 @@ }, "limit": { "context": 262144, - "output": 65536 + "output": 32768 }, "temperature": true, "tool_call": true, @@ -162067,34 +163020,6 @@ "last_updated": "2026-02-16", "type": "chat" }, - { - "id": "alibaba/qwen-3.6-max-preview", - "name": "Qwen 3.6 Max Preview", - "display_name": "Qwen 3.6 Max Preview", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 240000, - "output": 64000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": true, - "open_weights": true, - "release_date": "2026-04-20", - "last_updated": "2026-04-24", - "type": "chat" - }, { "id": "alibaba/wan-v2.6-i2v-flash", "name": "Wan v2.6 Image-to-Video Flash", @@ -162222,45 +163147,6 @@ "last_updated": "2026-07-15", "type": "chat" }, - { - "id": "alibaba/qwen3-max", - "name": "Qwen3 Max", - "display_name": "Qwen3 Max", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "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" - ] - } - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "type": "chat" - }, { "id": "alibaba/qwen3-embedding-0.6b", "name": "Qwen3 Embedding 0.6B", @@ -162411,45 +163297,6 @@ "last_updated": "2025-06-05", "type": "embedding" }, - { - "id": "alibaba/qwen3-max-preview", - "name": "Qwen3 Max Preview", - "display_name": "Qwen3 Max Preview", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "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" - ] - } - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-09-05", - "last_updated": "2025-09-23", - "type": "chat" - }, { "id": "alibaba/wan-v2.6-i2v", "name": "Wan v2.6 Image-to-Video", @@ -162572,34 +163419,6 @@ "last_updated": "2025-01", "type": "chat" }, - { - "id": "alibaba/qwen3-coder-plus", - "name": "Qwen3 Coder Plus", - "display_name": "Qwen3 Coder Plus", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 65536 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "type": "chat" - }, { "id": "alibaba/qwen3.8-max-prime", "name": "Qwen 3.8 Max Prime", @@ -162638,48 +163457,6 @@ "last_updated": "2026-09-23", "type": "chat" }, - { - "id": "alibaba/qwen3-235b-a22b-thinking", - "name": "Qwen3 235B A22B Thinking 2507", - "display_name": "Qwen3 235B A22B Thinking 2507", - "modalities": { - "input": [ - "text", - "image", - "pdf" - ], - "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": true, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-09-23", - "last_updated": "2025-04", - "type": "chat" - }, { "id": "alibaba/qwen3.8-flash", "name": "Qwen 3.8 Flash", @@ -162741,7 +163518,7 @@ "supported": false }, "attachment": false, - "open_weights": false, + "open_weights": true, "release_date": "2025-06-05", "last_updated": "2025-06-05", "type": "embedding" @@ -165044,7 +165821,7 @@ "none", "low", "medium", - "high" + "xhigh" ] } }, @@ -165432,9 +166209,9 @@ "default": true }, "attachment": false, - "open_weights": false, + "open_weights": true, "release_date": "2026-08-27", - "last_updated": "2026-08-27", + "last_updated": "2026-09-03", "type": "chat" }, { @@ -166866,8 +167643,8 @@ ] }, "limit": { - "context": 60288, - "output": 16000 + "context": 131072, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -166907,8 +167684,6 @@ "reasoning": { "effort_options": [ "none", - "low", - "medium", "high" ] } @@ -186602,6 +187377,48 @@ "last_updated": "2026-04-16", "type": "chat" }, + { + "id": "anthropic/claude-haiku-5.5", + "name": "Claude Haiku 5.5", + "display_name": "Claude Haiku 5.5", + "modalities": { + "input": [ + "text", + "image", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2026-06", + "release_date": "2026-10-07", + "last_updated": "2026-10-07", + "type": "chat" + }, { "id": "anthropic/claude-opus-4.8", "name": "Claude Opus 4.8", @@ -195654,6 +196471,45 @@ "last_updated": "2026-04-24", "type": "chat" }, + { + "id": "deepseek/deepseek-r1-0528", + "name": "DeepSeek R1 (0528)", + "display_name": "DeepSeek R1 (0528)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 65536, + "output": 32768 + }, + "temperature": 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": "2025-05-28", + "last_updated": "2025-05-28", + "type": "chat" + }, { "id": "deepseek/deepseek-v3.2", "name": "DeepSeek V3.2", @@ -198872,6 +199728,34 @@ "last_updated": "2025-04", "type": "chat" }, + { + "id": "qwen/qwen3-vl-30b-a3b-instruct", + "name": "Qwen3-VL 30B-A3B Instruct", + "display_name": "Qwen3-VL 30B-A3B Instruct", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "release_date": "2025-10-04", + "last_updated": "2025-10-04", + "type": "chat" + }, { "id": "qwen/qwen3-235b-a22b", "name": "Qwen3 235B A22B", @@ -219447,9 +220331,94 @@ "type": "chat" }, { - "id": "deepinfra/google/gemma-3-12b-it", - "name": "Gemma 3 12B IT (Deep Infra)", - "display_name": "Gemma 3 12B IT (Deep Infra)", + "id": "deepinfra/google/gemma-3-12b-it", + "name": "Gemma 3 12B IT (Deep Infra)", + "display_name": "Gemma 3 12B IT (Deep Infra)", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "type": "chat" + }, + { + "id": "deepinfra/google/gemma-3-4b-it", + "name": "Gemma 3 4B IT (Deep Infra)", + "display_name": "Gemma 3 4B IT (Deep Infra)", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "knowledge": "2024-08", + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "type": "chat" + }, + { + "id": "deepinfra/Gryphe/MythoMax-L2-13b", + "name": "MythoMax L2 13B (Deep Infra)", + "display_name": "MythoMax L2 13B (Deep Infra)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 4096, + "output": 3200 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2023-08-10", + "last_updated": "2023-08-10", + "type": "chat" + }, + { + "id": "deepinfra/Qwen/Qwen3-VL-235B-A22B-Instruct", + "name": "Qwen3 VL 235B A22B Instruct (Deep Infra)", + "display_name": "Qwen3 VL 235B A22B Instruct (Deep Infra)", "modalities": { "input": [ "text", @@ -219460,8 +220429,8 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 262144, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -219470,15 +220439,43 @@ }, "attachment": true, "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-03-12", - "last_updated": "2025-03-12", + "knowledge": "2025-03-31", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", "type": "chat" }, { - "id": "deepinfra/google/gemma-3-4b-it", - "name": "Gemma 3 4B IT (Deep Infra)", - "display_name": "Gemma 3 4B IT (Deep Infra)", + "id": "deepinfra/Qwen/Qwen3-Next-80B-A3B-Instruct", + "name": "Qwen3-Next 80B-A3B Instruct (Deep Infra)", + "display_name": "Qwen3-Next 80B-A3B Instruct (Deep Infra)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-09", + "last_updated": "2025-09", + "type": "chat" + }, + { + "id": "deepinfra/Qwen/Qwen3-VL-30B-A3B-Instruct", + "name": "Qwen3 VL 30B A3B Instruct (Deep Infra)", + "display_name": "Qwen3 VL 30B A3B Instruct (Deep Infra)", "modalities": { "input": [ "text", @@ -219489,8 +220486,8 @@ ] }, "limit": { - "context": 131072, - "output": 131072 + "context": 262144, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -219499,9 +220496,102 @@ }, "attachment": true, "open_weights": true, - "knowledge": "2024-08", - "release_date": "2025-03-12", - "last_updated": "2025-03-12", + "release_date": "2025-10-04", + "last_updated": "2025-10-04", + "type": "chat" + }, + { + "id": "deepinfra/Qwen/Qwen3-Max", + "name": "Qwen3 Max (Deep Infra)", + "display_name": "Qwen3 Max (Deep Infra)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 256000, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "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-09-23", + "last_updated": "2025-09-23", + "type": "chat" + }, + { + "id": "deepinfra/Qwen/Qwen3-235B-A22B-Instruct-2507", + "name": "Qwen3 235B-A22B Instruct 2507 (Deep Infra)", + "display_name": "Qwen3 235B-A22B Instruct 2507 (Deep Infra)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 16384 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-07-21", + "last_updated": "2025-07-21", + "type": "chat" + }, + { + "id": "deepinfra/Qwen/Qwen3-Coder-480B-A35B-Instruct", + "name": "Qwen3-Coder 480B-A35B Instruct (Deep Infra)", + "display_name": "Qwen3-Coder 480B-A35B Instruct (Deep Infra)", + "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-04", + "last_updated": "2025-04", "type": "chat" }, { @@ -219664,6 +220754,45 @@ "last_updated": "2026-09-10", "type": "chat" }, + { + "id": "deepinfra/deepseek-ai/DeepSeek-R1-0528", + "name": "DeepSeek R1 0528 (Deep Infra)", + "display_name": "DeepSeek R1 0528 (Deep Infra)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 163840, + "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": "2025-05-28", + "last_updated": "2025-05-28", + "type": "chat" + }, { "id": "deepinfra/deepseek-ai/DeepSeek-V3", "name": "DeepSeek-V3 (Deep Infra)", @@ -219795,6 +220924,33 @@ "last_updated": "2026-02-13", "type": "chat" }, + { + "id": "deepinfra/moonshotai/Kimi-K2-Instruct", + "name": "Kimi K2 Instruct (Deep Infra)", + "display_name": "Kimi K2 Instruct (Deep Infra)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-07-11", + "last_updated": "2025-07-11", + "type": "chat" + }, { "id": "deepinfra/moonshotai/Kimi-K2.5", "name": "Kimi K2.5 (Deep Infra)", @@ -220085,6 +221241,33 @@ "last_updated": "2025-08-05", "type": "chat" }, + { + "id": "deepinfra/microsoft/WizardLM-2-8x22B", + "name": "WizardLM 2 8x22B (Deep Infra)", + "display_name": "WizardLM 2 8x22B (Deep Infra)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 65536, + "output": 8000 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2024-04-15", + "last_updated": "2024-04-15", + "type": "chat" + }, { "id": "cerebras/gpt-oss-120b", "name": "GPT OSS 120B (Cerebras)", @@ -221841,90 +223024,15 @@ }, "attachment": false, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-07-31", - "last_updated": "2026-07-31", - "type": "chat" - }, - { - "id": "databricks/databricks-gpt-oss-120b", - "name": "GPT OSS 120B (Databricks)", - "display_name": "GPT OSS 120B (Databricks)", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 32768 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "effort_options": [ - "low", - "medium", - "high" - ] - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "type": "chat" - }, - { - "id": "databricks/databricks-deepseek-v4-pro-0813", - "name": "DeepSeek V4 Pro 0813 (Databricks)", - "display_name": "DeepSeek V4 Pro 0813 (Databricks)", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 384000 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "effort_options": [ - "none", - "low", - "high", - "max" - ] - } - }, - "attachment": false, - "open_weights": true, - "release_date": "2026-08-12", - "last_updated": "2026-08-22", + "knowledge": "2025-05", + "release_date": "2026-07-31", + "last_updated": "2026-07-31", "type": "chat" }, { - "id": "tencent/step-5-preview", - "name": "Step 5 Preview (Tencent)", - "display_name": "Step 5 Preview (Tencent)", + "id": "databricks/databricks-gpt-oss-120b", + "name": "GPT OSS 120B (Databricks)", + "display_name": "GPT OSS 120B (Databricks)", "modalities": { "input": [ "text" @@ -221934,10 +223042,11 @@ ] }, "limit": { - "context": 1000000, - "output": 1000000 + "context": 131072, + "output": 32768 }, - "tool_call": false, + "temperature": true, + "tool_call": true, "reasoning": { "supported": true, "default": true @@ -221952,9 +223061,75 @@ } }, "attachment": false, - "open_weights": false, - "release_date": "2026-09-16", - "last_updated": "2026-09-20", + "open_weights": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "type": "chat" + }, + { + "id": "databricks/databricks-deepseek-v4-pro-0813", + "name": "DeepSeek V4 Pro 0813 (Databricks)", + "display_name": "DeepSeek V4 Pro 0813 (Databricks)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 384000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "effort_options": [ + "none", + "low", + "high", + "max" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-08-12", + "last_updated": "2026-08-22", + "type": "chat" + }, + { + "id": "databricks/databricks-qwen3-next-80b-a3b-instruct", + "name": "Qwen3-Next 80B-A3B Instruct (Databricks)", + "display_name": "Qwen3-Next 80B-A3B Instruct (Databricks)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 32768 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-09", + "last_updated": "2025-09", "type": "chat" }, { @@ -222599,6 +223774,46 @@ "last_updated": "2026-07-31", "type": "chat" }, + { + "id": "flexai/Muse-Glimmer-30B", + "name": "Muse Glimmer 30B (FlexAI)", + "display_name": "Muse Glimmer 30B (FlexAI)", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "effort_options": [ + "low", + "medium", + "high", + "xhigh" + ] + } + }, + "attachment": true, + "open_weights": true, + "knowledge": "2026-01-04", + "release_date": "2026-08-10", + "last_updated": "2026-08-10", + "type": "chat" + }, { "id": "flexai/DeepSeek-V4.1-Flash", "name": "DeepSeek V4.1 Flash (FlexAI)", @@ -223963,6 +225178,33 @@ "last_updated": "2025-03-12", "type": "chat" }, + { + "id": "nebius/Qwen/Qwen3-235B-A22B-Instruct-2507", + "name": "Qwen3 235B-A22B Instruct 2507 (Nebius)", + "display_name": "Qwen3 235B-A22B Instruct 2507 (Nebius)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 16384 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-07-21", + "last_updated": "2025-07-21", + "type": "chat" + }, { "id": "nebius/deepseek-ai/DeepSeek-V4-Flash-0731", "name": "DeepSeek V4 Flash 0731 (Nebius)", @@ -224266,6 +225508,61 @@ "last_updated": "2026-07-31", "type": "chat" }, + { + "id": "scaleway/qwen3-235b-a22b-instruct-2507", + "name": "Qwen3 235B-A22B Instruct 2507 (Scaleway)", + "display_name": "Qwen3 235B-A22B Instruct 2507 (Scaleway)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 250000, + "output": 16384 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2025-07-21", + "last_updated": "2025-07-21", + "type": "chat" + }, + { + "id": "scaleway/qwen3-coder-30b-a3b-instruct", + "name": "Qwen3-Coder 30B-A3B Instruct (Scaleway)", + "display_name": "Qwen3-Coder 30B-A3B Instruct (Scaleway)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "type": "chat" + }, { "id": "scaleway/llama-3.3-70b-instruct", "name": "Llama-3.3-70B-Instruct (Scaleway)", @@ -224360,6 +225657,34 @@ "last_updated": "2024-12-06", "type": "chat" }, + { + "id": "ionos/Qwen/Qwen3-Coder-Next", + "name": "Qwen3 Coder Next (IONOS)", + "display_name": "Qwen3 Coder Next (IONOS)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 65536 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-09", + "release_date": "2026-02-03", + "last_updated": "2026-02-03", + "type": "chat" + }, { "id": "ionos/openai/gpt-oss-120b", "name": "GPT OSS 120B (IONOS)", @@ -225531,17 +226856,56 @@ ] } }, - "attachment": true, + "attachment": true, + "open_weights": true, + "knowledge": "2025-05", + "release_date": "2026-09-10", + "last_updated": "2026-09-10", + "type": "chat" + }, + { + "id": "tensorx/deepseek/deepseek-v4-pro-0813", + "name": "DeepSeek V4 Pro 0813 (TensorX)", + "display_name": "DeepSeek V4 Pro 0813 (TensorX)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 384000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "effort_options": [ + "none", + "low", + "high", + "max" + ] + } + }, + "attachment": false, "open_weights": true, - "knowledge": "2025-05", - "release_date": "2026-09-10", - "last_updated": "2026-09-10", + "release_date": "2026-08-12", + "last_updated": "2026-08-22", "type": "chat" }, { - "id": "tensorx/deepseek/deepseek-v4-pro-0813", - "name": "DeepSeek V4 Pro 0813 (TensorX)", - "display_name": "DeepSeek V4 Pro 0813 (TensorX)", + "id": "tensorx/deepseek/deepseek-r1-0528", + "name": "DeepSeek R1 0528 (TensorX)", + "display_name": "DeepSeek R1 0528 (TensorX)", "modalities": { "input": [ "text" @@ -225551,8 +226915,8 @@ ] }, "limit": { - "context": 1048576, - "output": 384000 + "context": 164000, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -225563,18 +226927,18 @@ "extra_capabilities": { "reasoning": { "supported": true, - "effort_options": [ - "none", - "low", - "high", - "max" + "interleaved": true, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thinking_blocks" ] } }, "attachment": false, "open_weights": true, - "release_date": "2026-08-12", - "last_updated": "2026-08-22", + "release_date": "2025-05-28", + "last_updated": "2025-05-28", "type": "chat" }, { @@ -225885,6 +227249,34 @@ "last_updated": "2025-04-08", "type": "chat" }, + { + "id": "amazon/qwen.qwen3-coder-next", + "name": "Qwen3 Coder Next (Amazon Bedrock)", + "display_name": "Qwen3 Coder Next (Amazon Bedrock)", + "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-09", + "release_date": "2026-02-03", + "last_updated": "2026-02-03", + "type": "chat" + }, { "id": "amazon/moonshotai.kimi-k2.5", "name": "Kimi K2.5 (Amazon Bedrock)", @@ -226612,76 +228004,6 @@ "last_updated": "2026-04-29", "type": "chat" }, - { - "id": "qwen/qwen3-vl-235b-a22b-instruct", - "name": "Qwen3 VL 235B A22B Instruct", - "display_name": "Qwen3 VL 235B A22B Instruct", - "modalities": { - "input": [ - "text", - "image", - "video" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 32768 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": true, - "knowledge": "2025-03-31", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "type": "chat" - }, - { - "id": "qwen/qwq-plus", - "name": "QwQ Plus", - "display_name": "QwQ Plus", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "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" - ] - } - }, - "attachment": false, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2025-03-05", - "last_updated": "2025-03-05", - "type": "chat" - }, { "id": "qwen/qwen3.8-27b", "name": "Qwen3.8 27B", @@ -226722,48 +228044,6 @@ "last_updated": "2026-08-14", "type": "chat" }, - { - "id": "qwen/qwen3-vl-235b-a22b-thinking", - "name": "Qwen3 VL 235B A22B Thinking", - "display_name": "Qwen3 VL 235B A22B Thinking", - "modalities": { - "input": [ - "text", - "image", - "video" - ], - "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": true, - "open_weights": true, - "knowledge": "2025-03-31", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "type": "chat" - }, { "id": "qwen/qwen3.8-2.4t-a95b", "name": "Qwen3.8 2.4T A95B", @@ -226842,33 +228122,6 @@ "last_updated": "2026-07-31", "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": 131072, - "output": 16384 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "release_date": "2025-07-21", - "last_updated": "2025-07-21", - "type": "chat" - }, { "id": "qwen/qwen-max", "name": "Qwen Max", @@ -226897,46 +228150,6 @@ "last_updated": "2025-01-25", "type": "chat" }, - { - "id": "qwen/qwen3-next-80b-a3b-thinking", - "name": "Qwen3-Next 80B-A3B (Thinking)", - "display_name": "Qwen3-Next 80B-A3B (Thinking)", - "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-09", - "last_updated": "2025-09", - "type": "chat" - }, { "id": "qwen/qwen3.8-max", "name": "Qwen3.8 Max", @@ -226978,34 +228191,6 @@ "last_updated": "2026-08-03", "type": "chat" }, - { - "id": "qwen/qwen3-coder-next", - "name": "Qwen3 Coder Next", - "display_name": "Qwen3 Coder Next", - "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-09", - "release_date": "2026-02-03", - "last_updated": "2026-02-03", - "type": "chat" - }, { "id": "qwen/deepseek-v4.1-flash", "name": "DeepSeek V4.1 Flash (Alibaba)", @@ -227047,101 +228232,6 @@ "last_updated": "2026-09-10", "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, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "type": "chat" - }, - { - "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": 65536 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "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-04", - "last_updated": "2025-04", - "type": "chat" - }, { "id": "qwen/qwen3.8-omni-flash", "name": "Qwen3.8 Omni Flash", @@ -227183,39 +228273,9 @@ "type": "chat" }, { - "id": "qwen/qwen-vl-max", - "name": "Qwen-VL Max", - "display_name": "Qwen-VL Max", - "modalities": { - "input": [ - "text", - "image", - "video" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 8192 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-04-08", - "last_updated": "2025-08-13", - "type": "chat" - }, - { - "id": "qwen/qwen3-next-80b-a3b-instruct", - "name": "Qwen3-Next 80B-A3B Instruct", - "display_name": "Qwen3-Next 80B-A3B Instruct", + "id": "qwen/qwen3-coder-flash", + "name": "Qwen3 Coder Flash", + "display_name": "Qwen3 Coder Flash", "modalities": { "input": [ "text" @@ -227225,8 +228285,8 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 1000000, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -227234,28 +228294,26 @@ "supported": false }, "attachment": false, - "open_weights": true, + "open_weights": false, "knowledge": "2025-04", - "release_date": "2025-09", - "last_updated": "2025-09", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", "type": "chat" }, { - "id": "qwen/qwen-vl-plus", - "name": "Qwen-VL Plus", - "display_name": "Qwen-VL Plus", + "id": "qwen/qwen-mt-plus", + "name": "Qwen MT Plus", + "display_name": "Qwen MT Plus", "modalities": { "input": [ - "text", - "image", - "video" + "text" ], "output": [ "text" ] }, "limit": { - "context": 131072, + "context": 4096, "output": 8192 }, "temperature": true, @@ -227263,39 +228321,10 @@ "reasoning": { "supported": false }, - "attachment": true, - "open_weights": false, - "knowledge": "2024-04", - "release_date": "2024-01-25", - "last_updated": "2025-08-15", - "type": "chat" - }, - { - "id": "qwen/qwen3-coder-flash", - "name": "Qwen3 Coder Flash", - "display_name": "Qwen3 Coder Flash", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 65536 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, "attachment": false, "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", + "release_date": "2025-07-24", + "last_updated": "2025-07-24", "type": "chat" }, { @@ -227337,34 +228366,6 @@ "last_updated": "2026-08-22", "type": "chat" }, - { - "id": "qwen/qwen3-coder-plus", - "name": "Qwen3 Coder Plus", - "display_name": "Qwen3 Coder Plus", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 65536 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "type": "chat" - }, { "id": "qwen/qwen3.8-flash", "name": "Qwen3.8 Flash", @@ -234256,9 +235257,9 @@ "default": true }, "attachment": false, - "open_weights": false, + "open_weights": true, "release_date": "2026-08-27", - "last_updated": "2026-08-27", + "last_updated": "2026-09-03", "type": "chat" }, { @@ -259203,6 +260204,34 @@ "last_updated": "2026-04-02", "type": "chat" }, + { + "id": "reka-edge-2603", + "name": "Reka Edge 2603", + "display_name": "Reka Edge 2603", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 16384, + "output": 16384 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-10-09", + "last_updated": "2026-10-09", + "type": "chat" + }, { "id": "grok-4-5", "name": "Grok 4.5", @@ -259913,33 +260942,6 @@ "last_updated": "2025-11-13", "type": "chat" }, - { - "id": "qwen-coder-plus", - "name": "Qwen Coder Plus", - "display_name": "Qwen Coder Plus", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 8192 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2024-09-18", - "last_updated": "2024-09-18", - "type": "chat" - }, { "id": "glm-5v-turbo", "name": "GLM-5V-Turbo", @@ -262612,45 +263614,6 @@ "last_updated": "2024-04-18", "type": "chat" }, - { - "id": "qwen3-vl-flash", - "name": "Qwen3 VL Flash", - "display_name": "Qwen3 VL Flash", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 32000 - }, - "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-10-09", - "last_updated": "2025-10-09", - "type": "chat" - }, { "id": "seed-2-0-pro-260328", "name": "Seed 2.0 Pro (260328)", @@ -263834,34 +264797,6 @@ "last_updated": "2026-04-22", "type": "chat" }, - { - "id": "qwen3-coder-plus", - "name": "Qwen3 Coder Plus", - "display_name": "Qwen3 Coder Plus", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 65536 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "type": "chat" - }, { "id": "glm-4.7-flash", "name": "GLM-4.7-Flash", @@ -264789,46 +265724,6 @@ "last_updated": "2026-02-23", "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, - "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-04", - "release_date": "2026-04-20", - "last_updated": "2026-04-20", - "type": "chat" - }, { "id": "claude-opus-4-6", "name": "Claude Opus 4.6", @@ -265124,38 +266019,6 @@ "last_updated": "2025-07-11", "type": "chat" }, - { - "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", - "type": "chat" - }, { "id": "hy-mt2-plus", "name": "Hy-MT2 Plus", @@ -266929,7 +267792,9 @@ "supported": true, "effort_options": [ "none", + "minimal", "low", + "medium", "high", "xhigh", "max" @@ -271572,6 +272437,33 @@ "last_updated": "2026-05-28", "type": "imageGeneration" }, + { + "id": "codestral-2", + "name": "Codestral 2", + "display_name": "Codestral 2", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 8192 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-07-30", + "last_updated": "2025-07-30", + "type": "chat" + }, { "id": "gemini-3.1-pro-preview", "name": "Gemini 3.1 Pro Preview", @@ -271868,6 +272760,64 @@ "last_updated": "2026-06-30", "type": "imageGeneration" }, + { + "id": "mistral-medium-3", + "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", + "type": "chat" + }, + { + "id": "mistral-small-2503", + "name": "Mistral Small 3.1 24B", + "display_name": "Mistral Small 3.1 24B", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": true, + "knowledge": "2024-06", + "release_date": "2025-03-17", + "last_updated": "2025-03-17", + "type": "chat" + }, { "id": "gemini-3.7-flash", "name": "Gemini 3.7 Flash", @@ -292581,6 +293531,47 @@ "last_updated": "2024-05-22", "type": "chat" }, + { + "id": "anthropic-claude-5.5-haiku", + "name": "Anthropic Claude 5.5 Haiku", + "display_name": "Anthropic Claude 5.5 Haiku", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1000000, + "output": 128000 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "effort_options": [ + "low", + "medium", + "high", + "xhigh", + "max" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2026-06", + "release_date": "2026-10-07", + "last_updated": "2026-10-07", + "type": "chat" + }, { "id": "qwen-2.5-14b-instruct", "name": "Qwen 2.5 14B Instruct", @@ -318956,7 +319947,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "chat" }, { @@ -318981,7 +319972,7 @@ "default": true }, "attachment": false, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "chat" }, { @@ -319006,7 +319997,7 @@ "default": true }, "attachment": false, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "chat" }, { @@ -319031,7 +320022,7 @@ "default": true }, "attachment": false, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "chat" }, { @@ -319056,7 +320047,7 @@ "supported": false }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "embedding" }, { @@ -319081,7 +320072,7 @@ "supported": false }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "embedding" }, { @@ -319107,7 +320098,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "chat" }, { @@ -319133,7 +320124,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "chat" }, { @@ -319159,7 +320150,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "chat" }, { @@ -319185,7 +320176,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "chat" }, { @@ -319211,7 +320202,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "chat" }, { @@ -319237,7 +320228,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "chat" }, { @@ -319263,7 +320254,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "chat" }, { @@ -319289,7 +320280,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "chat" }, { @@ -319315,7 +320306,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "chat" }, { @@ -319341,7 +320332,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "chat" }, { @@ -319365,7 +320356,7 @@ "supported": false }, "attachment": false, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "chat" }, { @@ -319391,7 +320382,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "chat" }, { @@ -319417,7 +320408,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "chat" }, { @@ -319441,7 +320432,7 @@ "supported": false }, "attachment": false, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "chat" }, { @@ -319461,7 +320452,7 @@ "supported": false }, "attachment": false, - "last_updated": "2026-09-28T03:59:13Z" + "last_updated": "2026-10-09T09:49:07Z" }, { "id": "doubao-seedance-1-0-pro-fast-251015", @@ -319480,7 +320471,7 @@ "supported": false }, "attachment": false, - "last_updated": "2026-09-28T03:59:13Z" + "last_updated": "2026-10-09T09:49:07Z" }, { "id": "doubao-seedance-2-0-260128", @@ -319500,7 +320491,7 @@ "supported": false }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z" + "last_updated": "2026-10-09T09:49:07Z" }, { "id": "doubao-seedance-2-0-fast-260128", @@ -319520,7 +320511,7 @@ "supported": false }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z" + "last_updated": "2026-10-09T09:49:07Z" }, { "id": "doubao-seedance-2-0-mini-260615", @@ -319540,7 +320531,7 @@ "supported": false }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z" + "last_updated": "2026-10-09T09:49:07Z" }, { "id": "doubao-seedance-2-5-260628", @@ -319560,7 +320551,7 @@ "supported": false }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z" + "last_updated": "2026-10-09T09:49:07Z" }, { "id": "doubao-seedream-4-0-250828", @@ -319580,7 +320571,7 @@ "supported": false }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "imageGeneration" }, { @@ -319601,7 +320592,7 @@ "supported": false }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "imageGeneration" }, { @@ -319622,7 +320613,7 @@ "supported": false }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "imageGeneration" }, { @@ -319643,7 +320634,7 @@ "supported": false }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "imageGeneration" }, { @@ -319664,7 +320655,7 @@ "supported": false }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "imageGeneration" }, { @@ -319689,7 +320680,7 @@ "default": true }, "attachment": false, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "chat" }, { @@ -319715,7 +320706,7 @@ "default": true }, "attachment": true, - "last_updated": "2026-09-28T03:59:13Z", + "last_updated": "2026-10-09T09:49:07Z", "type": "chat" } ] @@ -319765,6 +320756,26 @@ }, "type": "chat" }, + { + "id": "tencent/hy4-preview", + "name": "Hy4 Preview", + "display_name": "Hy4 Preview", + "limit": { + "context": 1000000, + "output": 64000 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "type": "chat" + }, { "id": "deepseek/deepseek-v4-flash-0731-p", "name": "deepseek/deepseek-v4-flash-0731-p", @@ -320037,43 +321048,6 @@ }, "type": "chat" }, - { - "id": "deepseek/deepseek-v4-flash", - "name": "DeepSeek V4 Flash", - "display_name": "DeepSeek V4 Flash", - "limit": { - "context": 1048576, - "output": 393216 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "effort", - "effort": "high", - "effort_options": [ - "low", - "high", - "max" - ], - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ], - "notes": [ - "The DeepSeek API maps medium and xhigh to high for V4 models; effort_options lists distinct model-effective levels." - ] - } - }, - "type": "chat" - }, { "id": "deepseek/deepseek-v4-pro", "name": "DeepSeek V4 Pro", @@ -323473,6 +324447,46 @@ }, "type": "imageGeneration" }, + { + "id": "qwen-image-2.1-pro", + "name": "qwen-image-2.1-pro", + "display_name": "qwen-image-2.1-pro", + "modalities": { + "input": [ + "text", + "image" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "type": "imageGeneration" + }, + { + "id": "qwen-image-2.1-turbo", + "name": "qwen-image-2.1-turbo", + "display_name": "qwen-image-2.1-turbo", + "modalities": { + "input": [ + "text", + "image" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "type": "imageGeneration" + }, { "id": "claude-haiku-5-5", "name": "claude-haiku-5-5", @@ -323740,9 +324754,9 @@ "type": "chat" }, { - "id": "decision-model-preview", - "name": "decision-model-preview", - "display_name": "decision-model-preview", + "id": "jev-1.13", + "name": "jev-1.13", + "display_name": "jev-1.13", "modalities": { "input": [ "text" @@ -323759,9 +324773,9 @@ "type": "chat" }, { - "id": "jev-1.13", - "name": "jev-1.13", - "display_name": "jev-1.13", + "id": "jev-latest", + "name": "jev-latest", + "display_name": "jev-latest", "modalities": { "input": [ "text" @@ -323778,9 +324792,9 @@ "type": "chat" }, { - "id": "jev-latest", - "name": "jev-latest", - "display_name": "jev-latest", + "id": "decision-model-preview", + "name": "decision-model-preview", + "display_name": "decision-model-preview", "modalities": { "input": [ "text" @@ -323999,26 +325013,6 @@ }, "type": "chat" }, - { - "id": "gpt-live-transcribe", - "name": "gpt-live-transcribe", - "display_name": "gpt-live-transcribe", - "modalities": { - "input": [ - "audio", - "text" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "type": "chat" - }, { "id": "xiaomi-mimo-v2.6-pro-free", "name": "xiaomi-mimo-v2.6-pro-free", @@ -324089,6 +325083,26 @@ }, "type": "chat" }, + { + "id": "gpt-live-transcribe", + "name": "gpt-live-transcribe", + "display_name": "gpt-live-transcribe", + "modalities": { + "input": [ + "audio", + "text" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "type": "chat" + }, { "id": "gpt-realtime-2.1", "name": "gpt-realtime-2.1", @@ -324249,9 +325263,9 @@ "type": "chat" }, { - "id": "coding-glm-5.3", - "name": "coding-glm-5.3", - "display_name": "coding-glm-5.3", + "id": "hy4-preview", + "name": "hy4-preview", + "display_name": "hy4-preview", "modalities": { "input": [ "text" @@ -324274,19 +325288,17 @@ "type": "chat" }, { - "id": "coding-glm-5.3-flash-free", - "name": "coding-glm-5.3-flash-free", - "display_name": "coding-glm-5.3-flash-free", + "id": "coding-glm-5.3", + "name": "coding-glm-5.3", + "display_name": "coding-glm-5.3", "modalities": { "input": [ - "text", - "image", - "video" + "text" ] }, "limit": { - "context": 1000000, - "output": 1000000 + "context": 1048576, + "output": 1048576 }, "tool_call": true, "reasoning": { @@ -324301,17 +325313,19 @@ "type": "chat" }, { - "id": "hy4-preview", - "name": "hy4-preview", - "display_name": "hy4-preview", + "id": "coding-glm-5.3-flash-free", + "name": "coding-glm-5.3-flash-free", + "display_name": "coding-glm-5.3-flash-free", "modalities": { "input": [ - "text" + "text", + "image", + "video" ] }, "limit": { - "context": 1048576, - "output": 1048576 + "context": 1000000, + "output": 1000000 }, "tool_call": true, "reasoning": { @@ -324326,21 +325340,19 @@ "type": "chat" }, { - "id": "muse-spark-1.3", - "name": "muse-spark-1.3", - "display_name": "muse-spark-1.3", + "id": "coding-glm-5.3-flash", + "name": "coding-glm-5.3-flash", + "display_name": "coding-glm-5.3-flash", "modalities": { "input": [ "text", "image", - "video", - "audio", - "pdf" + "video" ] }, "limit": { - "context": 1048576, - "output": 1048576 + "context": 1000000, + "output": 1000000 }, "tool_call": true, "reasoning": { @@ -324355,19 +325367,17 @@ "type": "chat" }, { - "id": "coding-glm-5.3-flash", - "name": "coding-glm-5.3-flash", - "display_name": "coding-glm-5.3-flash", + "id": "coding-glm-5.3-free", + "name": "coding-glm-5.3-free", + "display_name": "coding-glm-5.3-free", "modalities": { "input": [ - "text", - "image", - "video" + "text" ] }, "limit": { - "context": 1000000, - "output": 1000000 + "context": 1048576, + "output": 1048576 }, "tool_call": true, "reasoning": { @@ -324382,12 +325392,16 @@ "type": "chat" }, { - "id": "coding-glm-5.3-free", - "name": "coding-glm-5.3-free", - "display_name": "coding-glm-5.3-free", + "id": "muse-spark-1.3", + "name": "muse-spark-1.3", + "display_name": "muse-spark-1.3", "modalities": { "input": [ - "text" + "text", + "image", + "video", + "audio", + "pdf" ] }, "limit": { @@ -324455,6 +325469,46 @@ }, "type": "chat" }, + { + "id": "mai-image-2.6", + "name": "mai-image-2.6", + "display_name": "mai-image-2.6", + "modalities": { + "input": [ + "text", + "image" + ] + }, + "limit": { + "context": 32000, + "output": 32000 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "type": "imageGeneration" + }, + { + "id": "mai-image-2.6-flash", + "name": "mai-image-2.6-flash", + "display_name": "mai-image-2.6-flash", + "modalities": { + "input": [ + "text", + "image" + ] + }, + "limit": { + "context": 32000, + "output": 32000 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "type": "imageGeneration" + }, { "id": "gemini-3.7-flash", "name": "gemini-3.7-flash", @@ -324498,46 +325552,6 @@ }, "type": "chat" }, - { - "id": "mai-image-2.6", - "name": "mai-image-2.6", - "display_name": "mai-image-2.6", - "modalities": { - "input": [ - "text", - "image" - ] - }, - "limit": { - "context": 32000, - "output": 32000 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "type": "imageGeneration" - }, - { - "id": "mai-image-2.6-flash", - "name": "mai-image-2.6-flash", - "display_name": "mai-image-2.6-flash", - "modalities": { - "input": [ - "text", - "image" - ] - }, - "limit": { - "context": 32000, - "output": 32000 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "type": "imageGeneration" - }, { "id": "minimax-h3-max", "name": "minimax-h3-max", @@ -324605,22 +325619,27 @@ "type": "chat" }, { - "id": "intern-s2-free", - "name": "intern-s2-free", - "display_name": "intern-s2-free", + "id": "glm-5.2", + "name": "glm-5.2", + "display_name": "glm-5.2", "modalities": { "input": [ - "text", - "image" + "text" ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 1000000, + "output": 1000000 }, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } }, "type": "chat" }, @@ -324645,27 +325664,22 @@ "type": "chat" }, { - "id": "glm-5.2", - "name": "glm-5.2", - "display_name": "glm-5.2", + "id": "intern-s2-free", + "name": "intern-s2-free", + "display_name": "intern-s2-free", "modalities": { "input": [ - "text" + "text", + "image" ] }, "limit": { - "context": 1000000, - "output": 1000000 + "context": 262144, + "output": 262144 }, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } + "supported": false }, "type": "chat" }, @@ -327807,26 +328821,6 @@ }, "type": "rerank" }, - { - "id": "qwen-image-2.0", - "name": "qwen-image-2.0", - "display_name": "qwen-image-2.0", - "modalities": { - "input": [ - "text", - "image" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "type": "imageGeneration" - }, { "id": "qwen-image-2.0-pro", "name": "qwen-image-2.0-pro", @@ -327899,6 +328893,26 @@ }, "type": "chat" }, + { + "id": "qwen-image-2.0", + "name": "qwen-image-2.0", + "display_name": "qwen-image-2.0", + "modalities": { + "input": [ + "text", + "image" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "type": "imageGeneration" + }, { "id": "qwen3.6-plus", "name": "qwen3.6-plus", @@ -329571,34 +330585,6 @@ }, "type": "chat" }, - { - "id": "doubao-seed-2-0-mini", - "name": "doubao-seed-2-0-mini", - "display_name": "doubao-seed-2-0-mini", - "modalities": { - "input": [ - "text", - "image", - "video", - "document" - ] - }, - "limit": { - "context": 256000, - "output": 256000 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true - } - }, - "type": "chat" - }, { "id": "gemini-3-flash-preview", "name": "gemini-3-flash-preview", @@ -344698,8 +345684,8 @@ ] }, "limit": { - "context": 128000, - "output": 16000 + "context": 163840, + "output": 16384 }, "tool_call": true, "reasoning": { @@ -346864,8 +347850,8 @@ ] }, "limit": { - "context": 262144, - "output": 235929 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -348920,7 +349906,7 @@ }, "limit": { "context": 262144, - "output": 235929 + "output": 98304 }, "tool_call": true, "reasoning": { @@ -349461,8 +350447,8 @@ ] }, "limit": { - "context": 262144, - "output": 16384 + "context": 202800, + "output": 182520 }, "temperature": true, "tool_call": true, @@ -349596,7 +350582,7 @@ }, "limit": { "context": 262144, - "output": 131072 + "output": 235929 }, "tool_call": true, "reasoning": { @@ -354148,39 +355134,6 @@ }, "type": "chat" }, - { - "id": "qwen/qwen-plus-2025-07-28", - "name": "Qwen: Qwen Plus 0728", - "display_name": "Qwen: Qwen Plus 0728", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 32768 - }, - "tool_call": true, - "reasoning": { - "supported": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "type": "chat" - }, { "id": "qwen/qwen2.5-vl-72b-instruct", "name": "Qwen: Qwen2.5 VL 72B Instruct", @@ -354239,41 +355192,6 @@ }, "type": "chat" }, - { - "id": "qwen/qwen3-235b-a22b", - "name": "Qwen: Qwen3 235B A22B", - "display_name": "Qwen: Qwen3 235B A22B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 8192 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "type": "chat" - }, { "id": "qwen/qwen3-235b-a22b-2507", "name": "Qwen: Qwen3 235B A22B Instruct 2507", @@ -354309,8 +355227,8 @@ ] }, "limit": { - "context": 131072, - "output": 117964 + "context": 128000, + "output": 16384 }, "tool_call": true, "reasoning": { @@ -354368,102 +355286,9 @@ "type": "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": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 235929 - }, - "tool_call": true, - "reasoning": { - "supported": false - }, - "type": "chat" - }, - { - "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" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 81920, - "output": 32768 - }, - "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" - ] - } - }, - "type": "chat" - }, - { - "id": "qwen/qwen3-32b", - "name": "Qwen: Qwen3 32B", - "display_name": "Qwen: Qwen3 32B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 40960, - "output": 16384 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "type": "chat" - }, - { - "id": "qwen/qwen3-8b", - "name": "Qwen: Qwen3 8B", - "display_name": "Qwen: Qwen3 8B", + "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" @@ -354473,10 +355298,31 @@ ] }, "limit": { - "context": 131072, - "output": 8192 + "context": 262144, + "output": 235929 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "type": "chat" + }, + { + "id": "qwen/qwen3-32b", + "name": "Qwen: Qwen3 32B", + "display_name": "Qwen: Qwen3 32B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 40960, + "output": 16384 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -354585,97 +355431,6 @@ }, "type": "chat" }, - { - "id": "qwen/qwen3-coder-plus", - "name": "Qwen: Qwen3 Coder Plus", - "display_name": "Qwen: Qwen3 Coder Plus", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 65536 - }, - "tool_call": true, - "reasoning": { - "supported": false - }, - "type": "chat" - }, - { - "id": "qwen/qwen3-max", - "name": "Qwen: Qwen3 Max", - "display_name": "Qwen: 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, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "type": "chat" - }, - { - "id": "qwen/qwen3-max-thinking", - "name": "Qwen: Qwen3 Max Thinking", - "display_name": "Qwen: Qwen3 Max Thinking", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 65536 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "type": "chat" - }, { "id": "qwen/qwen3-next-80b-a3b-instruct", "name": "Qwen: Qwen3 Next 80B A3B Instruct", @@ -354690,7 +355445,7 @@ }, "limit": { "context": 262144, - "output": 16384 + "output": 235929 }, "tool_call": true, "reasoning": { @@ -354711,8 +355466,8 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 262144, + "output": 235929 }, "tool_call": true, "reasoning": { @@ -354758,44 +355513,6 @@ }, "type": "chat" }, - { - "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", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 32768 - }, - "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" - ] - } - }, - "type": "chat" - }, { "id": "qwen/qwen3-vl-30b-a3b-instruct", "name": "Qwen: Qwen3 VL 30B A3B Instruct", @@ -354834,8 +355551,8 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 262144, + "output": 235929 }, "temperature": true, "tool_call": true, @@ -354858,30 +355575,6 @@ }, "type": "chat" }, - { - "id": "qwen/qwen3-vl-32b-instruct", - "name": "Qwen: Qwen3 VL 32B Instruct", - "display_name": "Qwen: Qwen3 VL 32B Instruct", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 32768 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": false - }, - "type": "chat" - }, { "id": "qwen/qwen3-vl-8b-instruct", "name": "Qwen: Qwen3 VL 8B Instruct", @@ -354896,8 +355589,8 @@ ] }, "limit": { - "context": 131072, - "output": 32768 + "context": 262144, + "output": 235929 }, "temperature": true, "tool_call": true, @@ -354906,44 +355599,6 @@ }, "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, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "fixed", - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "type": "chat" - }, { "id": "qwen/qwen3.5-122b-a10b", "name": "Qwen: Qwen3.5-122B-A10B", @@ -355036,7 +355691,7 @@ }, "limit": { "context": 262144, - "output": 65536 + "output": 32768 }, "temperature": true, "tool_call": true, @@ -355245,46 +355900,9 @@ "type": "chat" }, { - "id": "qwen/qwen3.6-27b", - "name": "Qwen: Qwen3.6 27B", - "display_name": "Qwen: Qwen3.6 27B", - "modalities": { - "input": [ - "text", - "image", - "video" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 262144, - "output": 65536 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } - }, - "type": "chat" - }, - { - "id": "qwen/qwen3.6-35b-a3b", - "name": "Qwen: Qwen3.6 35B A3B", - "display_name": "Qwen: Qwen3.6 35B A3B", + "id": "qwen/qwen3.6-27b", + "name": "Qwen: Qwen3.6 27B", + "display_name": "Qwen: Qwen3.6 27B", "modalities": { "input": [ "text", @@ -355297,9 +355915,8 @@ }, "limit": { "context": 262144, - "output": 235929 + "output": 81920 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -355320,9 +355937,9 @@ "type": "chat" }, { - "id": "qwen/qwen3.6-flash", - "name": "Qwen: Qwen3.6 Flash", - "display_name": "Qwen: Qwen3.6 Flash", + "id": "qwen/qwen3.6-35b-a3b", + "name": "Qwen: Qwen3.6 35B A3B", + "display_name": "Qwen: Qwen3.6 35B A3B", "modalities": { "input": [ "text", @@ -355334,9 +355951,10 @@ ] }, "limit": { - "context": 1000000, + "context": 262144, "output": 65536 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -355357,19 +355975,21 @@ "type": "chat" }, { - "id": "qwen/qwen3.6-max-preview", - "name": "Qwen: Qwen3.6 Max Preview", - "display_name": "Qwen: Qwen3.6 Max Preview", + "id": "qwen/qwen3.6-flash", + "name": "Qwen: Qwen3.6 Flash", + "display_name": "Qwen: Qwen3.6 Flash", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" ] }, "limit": { - "context": 262144, + "context": 1000000, "output": 65536 }, "tool_call": true, @@ -355571,8 +356191,8 @@ ] }, "limit": { - "context": 1000000, - "output": 131072 + "context": 262144, + "output": 235929 }, "temperature": true, "tool_call": true, @@ -357416,8 +358036,8 @@ ] }, "limit": { - "context": 198000, - "output": 16384 + "context": 202752, + "output": 131072 }, "temperature": true, "tool_call": true, @@ -359717,58 +360337,6 @@ }, "type": "chat" }, - { - "id": "claude-opus-4-6-dd", - "name": "claude-opus-4-6-dd", - "display_name": "claude-opus-4-6-dd", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 128000 - }, - "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." - ] - } - }, - "type": "chat" - }, { "id": "claude-opus-4-6", "name": "claude-opus-4-6", @@ -359925,58 +360493,6 @@ }, "type": "chat" }, - { - "id": "claude-sonnet-4-6-dd", - "name": "claude-sonnet-4-6-dd", - "display_name": "claude-sonnet-4-6-dd", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1000000, - "output": 128000 - }, - "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." - ] - } - }, - "type": "chat" - }, { "id": "claude-sonnet-4-6-r", "name": "claude-sonnet-4-6-r", @@ -360080,57 +360596,6 @@ }, "type": "chat" }, - { - "id": "claude-opus-4-5-20251101-dd", - "name": "claude-opus-4-5-20251101-dd", - "display_name": "claude-opus-4-5-20251101-dd", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 200000, - "output": 65536 - }, - "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." - ] - } - }, - "type": "chat" - }, { "id": "claude-sonnet-4-5-20250929", "name": "claude-sonnet-4-5-20250929", @@ -360176,51 +360641,6 @@ }, "type": "chat" }, - { - "id": "claude-sonnet-4-5-20250929-dd", - "name": "claude-sonnet-4-5-20250929-dd", - "display_name": "claude-sonnet-4-5-20250929-dd", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 200000, - "output": 64000 - }, - "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." - ] - } - }, - "type": "chat" - }, { "id": "claude-haiku-4-5-20251001", "name": "claude-haiku-4-5-20251001", @@ -360266,51 +360686,6 @@ }, "type": "chat" }, - { - "id": "claude-haiku-4-5-20251001-dd", - "name": "claude-haiku-4-5-20251001-dd", - "display_name": "claude-haiku-4-5-20251001-dd", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 200000, - "output": 64000 - }, - "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." - ] - } - }, - "type": "chat" - }, { "id": "claude-haiku-4-5-20251001-r", "name": "claude-haiku-4-5-20251001-r", @@ -363055,6 +363430,62 @@ }, "type": "chat" }, + { + "id": "gemini-nano-banana-2.1-as", + "name": "gemini-nano-banana-2.1-as", + "display_name": "gemini-nano-banana-2.1-as", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio" + ], + "output": [ + "text", + "image", + "video", + "audio" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "type": "chat" + }, + { + "id": "gemini-nano-banana-2.1", + "name": "gemini nano banana 2.1", + "display_name": "gemini nano banana 2.1", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio" + ], + "output": [ + "text", + "image", + "video", + "audio" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "type": "chat" + }, { "id": "claude-haiku-5-5", "name": "claude-haiku-5-5", @@ -365492,73 +365923,6 @@ }, "type": "imageGeneration" }, - { - "id": "deepseek/deepseek-r1-0528", - "name": "DeepSeek: DeepSeek R1 0528", - "display_name": "DeepSeek: DeepSeek R1 0528", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 163840, - "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": false, - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "type": "chat" - }, - { - "id": "deepseek/deepseek-chat-v3.1", - "name": "DeepSeek: DeepSeek V3.1", - "display_name": "DeepSeek: DeepSeek V3.1", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 163840, - "output": 32768 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, - "open_weights": false, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "type": "chat" - }, { "id": "deepseek/deepseek-v3.2", "name": "DeepSeek: DeepSeek V3.2", @@ -366449,17 +366813,16 @@ }, "limit": { "context": 262144, - "output": 32768 + "output": 262144 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, + "open_weights": false, "release_date": "2026-04-23", - "last_updated": "2026-06-29", + "last_updated": "2026-04-23", "type": "chat" }, { @@ -366476,17 +366839,16 @@ }, "limit": { "context": 262144, - "output": 32768 + "output": 262144 }, - "temperature": true, "tool_call": true, "reasoning": { "supported": false }, "attachment": false, - "open_weights": true, - "release_date": "2026-04-24", - "last_updated": "2026-04-24", + "open_weights": false, + "release_date": "2026-04-21", + "last_updated": "2026-04-21", "type": "chat" }, { @@ -366505,6 +366867,7 @@ "context": 262144, "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true @@ -366515,7 +366878,7 @@ } }, "attachment": false, - "open_weights": false, + "open_weights": true, "release_date": "2026-07-23", "last_updated": "2026-07-23", "type": "chat" @@ -366594,6 +366957,7 @@ "context": 262144, "output": 32768 }, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, @@ -366601,8 +366965,8 @@ }, "attachment": true, "open_weights": true, - "release_date": "2026-09-09", - "last_updated": "2026-09-09", + "release_date": "2026-09-10", + "last_updated": "2026-09-10", "type": "chat" }, { @@ -366767,8 +367131,8 @@ ] }, "limit": { - "context": 262144, - "output": 65536 + "context": 262000, + "output": 65000 }, "temperature": true, "tool_call": true, @@ -366776,10 +367140,11 @@ "supported": true, "default": true }, - "attachment": false, - "open_weights": false, - "release_date": "2026-05-08", - "last_updated": "2026-05-27", + "attachment": true, + "open_weights": true, + "knowledge": "2025-12-31", + "release_date": "2026-05-07", + "last_updated": "2026-05-14", "type": "chat" }, { @@ -367151,14 +367516,30 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 262144, + "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" + ] + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-07-21", + "last_updated": "2026-07-21", "type": "chat" }, { @@ -367174,14 +367555,30 @@ ] }, "limit": { - "context": 1000000, - "output": 1000000 + "context": 1048576, + "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": false, + "open_weights": true, + "release_date": "2026-07-21", + "last_updated": "2026-07-21", "type": "chat" }, { @@ -369486,73 +369883,6 @@ }, "type": "rerank" }, - { - "id": "qwen/qwen3-coder-plus", - "name": "Qwen: Qwen3-Coder-Plus", - "display_name": "Qwen: Qwen3-Coder-Plus", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 65536 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "type": "chat" - }, - { - "id": "qwen/qwen3-max", - "name": "Qwen: Qwen3-Max-Thinking", - "display_name": "Qwen: Qwen3-Max-Thinking", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 256000, - "output": 65536 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "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-09-23", - "last_updated": "2025-09-23", - "type": "chat" - }, { "id": "qwen/qwen3-vl-plus", "name": "Qwen: Qwen3-VL-Plus", @@ -369715,45 +370045,6 @@ "last_updated": "2026-04-27", "type": "chat" }, - { - "id": "qwen/qwen3.6-max-preview", - "name": "Qwen: Qwen3.6 Max Preview", - "display_name": "Qwen: Qwen3.6 Max Preview", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 245760, - "output": 65536 - }, - "temperature": 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, - "knowledge": "2025-04", - "release_date": "2026-04-20", - "last_updated": "2026-04-20", - "type": "chat" - }, { "id": "qwen/qwen3.6-plus", "name": "Qwen: Qwen3.6-Plus", diff --git a/src/main/cli/computeService.ts b/src/main/cli/computeService.ts index 6590557044..d2b46de9b2 100644 --- a/src/main/cli/computeService.ts +++ b/src/main/cli/computeService.ts @@ -702,12 +702,28 @@ export class CliComputeService { retriable: true }) } + const metadata = extractProviderFailureMetadata(error) + const failure = ModelInvokeProviderFailureSchema.parse({ + ...(metadata?.statusCode !== undefined ? { statusCode: metadata.statusCode } : {}), + retryable: providerFailureIsRetryable(metadata?.statusCode, metadata?.retryable) + }) + if (metadata?.code === 'openai_codex_sign_in_required') { + return new CliRequestError( + 'authentication_failed', + 'OpenAI Codex sign-in is required. Sign in again.', + { httpStatus: 401, details: { providerFailure: failure } } + ) + } this.log.warn('[CLI] Media generation failed', { providerId: input.providerId, modelId: input.modelId, - failure: { name: error instanceof Error ? error.name : typeof error } + failure + }) + return new CliRequestError('unavailable', message, { + httpStatus: 503, + retriable: failure.retryable, + details: { providerFailure: failure } }) - return new CliRequestError('unavailable', message, { httpStatus: 503, retriable: true }) } } diff --git a/src/main/provider/auth/openaiCodex/index.ts b/src/main/provider/auth/openaiCodex/index.ts index 1d2b9f75e5..b8e5b3db25 100644 --- a/src/main/provider/auth/openaiCodex/index.ts +++ b/src/main/provider/auth/openaiCodex/index.ts @@ -25,6 +25,7 @@ import { import { OpenAICodexCredentialStore, type OpenAICodexTokenSet } from './credentialStore' import { createOpenAICodexPkcePair, createOpenAICodexState } from './pkce' import type { OpenAICodexAuthStatus } from '@shared/types/openai-codex' +import { ProviderHttpError } from '../../providerFailure' export type OpenAICodexBackendAuth = { accessToken: string @@ -306,7 +307,11 @@ export class OpenAICodexAuth { const tokens = this.store.load() if (!tokens) { - throw new Error(this.store.getLoadError() ?? 'OpenAI Codex sign-in is required') + throw new ProviderHttpError(this.store.getLoadError() ?? 'OpenAI Codex sign-in is required', { + statusCode: 401, + code: 'openai_codex_sign_in_required', + retryable: false + }) } const current = @@ -323,7 +328,10 @@ export class OpenAICodexAuth { this.assertEnabled() const tokens = this.store.load() if (!tokens?.refreshToken) { - throw new Error(this.store.getLoadError() ?? 'OpenAI Codex refresh token is unavailable') + throw new ProviderHttpError( + this.store.getLoadError() ?? 'OpenAI Codex refresh token is unavailable', + { statusCode: 401, code: 'openai_codex_sign_in_required', retryable: false } + ) } const refreshed = await this.refreshAccessToken(tokens, true) @@ -427,7 +435,11 @@ export class OpenAICodexAuth { currentTokens: OpenAICodexTokenSet ): Promise { if (!currentTokens.refreshToken) { - throw new Error('OpenAI Codex refresh token is unavailable') + throw new ProviderHttpError('OpenAI Codex refresh token is unavailable', { + statusCode: 401, + code: 'openai_codex_sign_in_required', + retryable: false + }) } const payload = await this.postForm(OPENAI_CODEX_TOKEN_URL, { @@ -498,7 +510,20 @@ export class OpenAICodexAuth { }) if (!response.ok) { - throw new Error(await readErrorBody(response)) + const errorBody = await readErrorBody(response) + let requiresSignIn = false + if (params.grant_type === 'refresh_token') { + try { + requiresSignIn = JSON.parse(errorBody)?.error?.code === 'invalid_refresh_token' + } catch {} + } + throw new ProviderHttpError( + requiresSignIn ? 'OpenAI Codex sign-in has expired. Sign in again.' : errorBody, + { + statusCode: response.status, + ...(requiresSignIn ? { code: 'openai_codex_sign_in_required', retryable: false } : {}) + } + ) } return (await response.json()) as TokenResponse diff --git a/src/main/provider/index.ts b/src/main/provider/index.ts index 7bfb6ab5fc..07143b9dd6 100644 --- a/src/main/provider/index.ts +++ b/src/main/provider/index.ts @@ -685,7 +685,7 @@ export class ProviderRuntime }) } if (event.type === 'error') { - throw new Error(event.error_message) + throw Object.assign(new Error(event.error_message), { failure: event.failure }) } } } @@ -769,7 +769,7 @@ export class ProviderRuntime }) } if (event.type === 'error') { - throw new Error(event.error_message) + throw Object.assign(new Error(event.error_message), { failure: event.failure }) } } } @@ -856,7 +856,7 @@ export class ProviderRuntime } } if (event.type === 'error') { - throw new Error(event.error_message) + throw Object.assign(new Error(event.error_message), { failure: event.failure }) } } } diff --git a/src/main/provider/modelConfig.ts b/src/main/provider/modelConfig.ts index 89d7e4b116..d257e0647b 100644 --- a/src/main/provider/modelConfig.ts +++ b/src/main/provider/modelConfig.ts @@ -1,4 +1,4 @@ -import { ApiEndpointType, ModelType } from '@shared/model' +import { ApiEndpointType, ModelType, isOpenAIImageGenerationModelId } from '@shared/model' import type { IModelConfig, MODEL_META, @@ -499,6 +499,8 @@ export class ModelConfigHelper { } if (!finalConfig) { + const isCodexImage = + normProviderId === 'openai-codex' && isOpenAIImageGenerationModelId(normModelId) finalConfig = { ...this.resolveCapabilityFallbacks( normProviderId, @@ -506,11 +508,12 @@ export class ModelConfigHelper { capabilityIdentity, providerApiType ), + ...(isCodexImage ? { functionCall: false } : {}), timeout: DEFAULT_MODEL_TIMEOUT, temperature: 0.6, topP: undefined, - type: ModelType.Chat, - apiEndpoint: ApiEndpointType.Chat, + type: isCodexImage ? ModelType.ImageGeneration : ModelType.Chat, + apiEndpoint: isCodexImage ? ApiEndpointType.Image : ApiEndpointType.Chat, endpointType: undefined, thinkingBudget: undefined, forceInterleavedThinkingCompat: undefined, diff --git a/src/main/provider/providers/aiSdkProvider.ts b/src/main/provider/providers/aiSdkProvider.ts index b94c789b85..e384d60073 100644 --- a/src/main/provider/providers/aiSdkProvider.ts +++ b/src/main/provider/providers/aiSdkProvider.ts @@ -74,13 +74,16 @@ import { } from '../deepseekResponsesAdapter' const OPENAI_CODEX_RECOMMENDED_MODEL_IDS = [ + 'gpt-6.1-sol', + 'gpt-6-astra', + 'gpt-6-sol', + 'gpt-6-luna', 'gpt-5.5', 'gpt-5.6-sol', 'gpt-5.6-terra', 'gpt-5.6-luna', - 'gpt-5.4', - 'gpt-5.4-mini', - 'gpt-5.3-codex-spark', + 'gpt-image-2.5-sunburst', + 'gpt-image-2.5-flare', 'gpt-image-2' ] const GREENPT_RECOMMENDED_MODEL_IDS = [ @@ -1605,19 +1608,12 @@ export class AiSdkProvider extends BaseLLMProvider { private mapOpenAICodexModels(): MODEL_META[] { const models = this.mapProviderDbModels(this.definition.providerDbGroup || 'Codex') const modelsById = new Map(models.map((model) => [model.id, model])) - const recommended = OPENAI_CODEX_RECOMMENDED_MODEL_IDS.flatMap((id) => { + return OPENAI_CODEX_RECOMMENDED_MODEL_IDS.flatMap((id) => { const model = modelsById.get(id) - return model ? [model] : [] + if (model) return [model] + if (!isOpenAIImageGenerationModelId(id)) return [] + return [{ id, name: id, group: 'Codex', providerId: this.provider.id, isCustom: false }] }) - - if (recommended.length > 0) { - return recommended - } - - return models.filter( - (model) => - model.id.toLowerCase().includes('codex') || model.name.toLowerCase().includes('codex') - ) } private mapKimiForCodingModels(): MODEL_META[] { diff --git a/test/main/cli/computeService.test.ts b/test/main/cli/computeService.test.ts index 9696598fa2..ff3fea79f4 100644 --- a/test/main/cli/computeService.test.ts +++ b/test/main/cli/computeService.test.ts @@ -16,6 +16,7 @@ import type { MODEL_META, ModelConfig } from '@shared/types/provider' import { CliComputeService, type CliComputeServiceOptions } from '@/cli/computeService' import { ArtifactSpool } from '@/cli/artifactSpool' import type { CliRouteCaller } from '@/routes/routeRegistry' +import { ProviderHttpError } from '@/provider/providerFailure' const mediaSpools: ArtifactSpool[] = [] const temporaryDirectories: string[] = [] @@ -635,6 +636,86 @@ describe('CLI compute service', () => { expect(await readdir(media.artifactDirectory)).toEqual([]) }) + it.each([ + [400, false], + [401, false], + [403, false], + [429, true], + [500, true], + [200, false] + ] as const)( + 'preserves media provider status %i and retryability %s without private data', + async (statusCode, retryable) => { + const error = Object.assign(new Error('private upstream response'), { + statusCode, + ...(statusCode === 200 ? { isRetryable: false } : {}), + code: 'SECRET_PROVIDER_CODE', + responseHeaders: { 'retry-after': 'secret-header-value' } + }) + const media = await createMediaService(ModelType.ImageGeneration, { + generateImageStandalone: vi.fn(async () => { + throw error + }) + }) + await expect( + media.service.dispatchStream( + imagesGenerateRoute.name, + { providerId: provider.id, modelId: media.mediaModel.id, prompt: 'hello' }, + caller, + 'request-error', + new AbortController().signal, + async () => undefined + ) + ).rejects.toMatchObject({ + code: 'unavailable', + retriable: retryable, + options: { details: { providerFailure: { statusCode, retryable } } } + }) + expect(JSON.stringify(media.log.warn.mock.calls)).not.toMatch( + /private upstream response|SECRET_PROVIDER_CODE|secret-header-value/ + ) + } + ) + + it.each([ + [ModelType.ImageGeneration, imagesGenerateRoute.name, 'generateImageStandalone'], + [ModelType.VideoGeneration, videosGenerateRoute.name, 'generateVideoStandalone'], + [ModelType.TTS, speechGenerateRoute.name, 'generateSpeechStandalone'] + ] as const)( + 'reports expired Codex sign-in for %s without requesting retries', + async (type, route, method) => { + const media = await createMediaService(type, { + [method]: vi.fn(async () => { + throw new ProviderHttpError('private OAuth response', { + statusCode: 400, + code: 'openai_codex_sign_in_required', + retryable: false + }) + }) + }) + await expect( + media.service.dispatchStream( + route, + { + providerId: provider.id, + modelId: media.mediaModel.id, + ...(type === ModelType.TTS ? { text: 'hello' } : { prompt: 'hello' }) + }, + caller, + 'request-auth-error', + new AbortController().signal, + async () => undefined + ) + ).rejects.toMatchObject({ + code: 'authentication_failed', + message: 'OpenAI Codex sign-in is required. Sign in again.', + retriable: false, + options: { details: { providerFailure: { statusCode: 400, retryable: false } } } + }) + expect(media.log.warn).not.toHaveBeenCalled() + } + ) + it('normalizes media failures without logging provider response text', async () => { const media = await createMediaService(ModelType.TTS, { generateSpeechStandalone: vi.fn(async () => { diff --git a/test/main/provider/aiSdkProviderFactory.test.ts b/test/main/provider/aiSdkProviderFactory.test.ts index 76302eb9da..9459188f6c 100644 --- a/test/main/provider/aiSdkProviderFactory.test.ts +++ b/test/main/provider/aiSdkProviderFactory.test.ts @@ -250,66 +250,69 @@ describe('AI SDK provider factory', () => { expect(context.resolvedModelId).toBe('my-gpt-4.1-deployment') }) - it('generates images through the OpenAI Codex image endpoint', async () => { - const imageBase64 = - 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A8AAQUBAScY42YAAAAASUVORK5CYII=' - const fetchMock = vi.fn().mockResolvedValue( - new Response( - JSON.stringify({ - created: 1, - data: [{ b64_json: imageBase64 }] - }), - { - status: 200, - headers: { 'Content-Type': 'application/json' } - } + it.each(['gpt-image-2', 'gpt-image-2.5-sunburst', 'gpt-image-2.5-flare'])( + 'generates %s through the OpenAI Codex image endpoint', + async (modelId) => { + const imageBase64 = + 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A8AAQUBAScY42YAAAAASUVORK5CYII=' + const fetchMock = vi.fn().mockResolvedValue( + new Response( + JSON.stringify({ + created: 1, + data: [{ b64_json: imageBase64 }] + }), + { + status: 200, + headers: { 'Content-Type': 'application/json' } + } + ) ) - ) - vi.stubGlobal('fetch', fetchMock) - codexAuthState.getBackendAuth.mockResolvedValueOnce({ - accessToken: 'codex-token', - accountId: 'acct-1' - }) + vi.stubGlobal('fetch', fetchMock) + codexAuthState.getBackendAuth.mockResolvedValueOnce({ + accessToken: 'codex-token', + accountId: 'acct-1' + }) - const context = createAiSdkProviderContext({ - providerKind: 'openai-codex', - provider: { - id: 'openai-codex', - name: 'OpenAI Codex', - apiType: 'openai-codex', - apiKey: '', - baseUrl: 'https://chatgpt.com/backend-api/codex', - customHeaders: { 'X-Tenant-ID': 'team-a' }, - enable: true - } as any, - providerSettings: {} as any, - defaultHeaders: {}, - modelId: 'gpt-image-2', - wrapThinkReasoning: false - }) + const context = createAiSdkProviderContext({ + providerKind: 'openai-codex', + provider: { + id: 'openai-codex', + name: 'OpenAI Codex', + apiType: 'openai-codex', + apiKey: '', + baseUrl: 'https://chatgpt.com/backend-api/codex', + customHeaders: { 'X-Tenant-ID': 'team-a' }, + enable: true + } as any, + providerSettings: {} as any, + defaultHeaders: {}, + modelId, + wrapThinkReasoning: false + }) - expect(context.imageModel).toBeDefined() - expect(context.endpoint).toBe('https://chatgpt.com/backend-api/codex/responses') - expect(context.imageEndpoint).toBe('https://chatgpt.com/backend-api/codex/images/generations') + expect(context.imageModel).toBeDefined() + expect(context.endpoint).toBe('https://chatgpt.com/backend-api/codex/responses') + expect(context.imageEndpoint).toBe('https://chatgpt.com/backend-api/codex/images/generations') - const result = await generateImage({ - model: context.imageModel, - prompt: 'A red fox in a field', - size: '1024x1024' - }) + const result = await generateImage({ + model: context.imageModel, + prompt: 'A red fox in a field', + size: '1024x1024' + }) - expect(result.image.base64).toBe(imageBase64) - expect(fetchMock).toHaveBeenCalledTimes(1) - const [requestUrl, requestInit] = fetchMock.mock.calls[0] as [string, RequestInit] - expect(requestUrl).toBe('https://chatgpt.com/backend-api/codex/images/generations') - expect(new Headers(requestInit.headers).get('x-tenant-id')).toBe('team-a') - expect(JSON.parse(String(requestInit.body))).toEqual({ - model: 'gpt-image-2', - prompt: 'A red fox in a field', - n: 1, - size: '1024x1024' - }) - }) + expect(result.image.base64).toBe(imageBase64) + expect(fetchMock).toHaveBeenCalledTimes(1) + const [requestUrl, requestInit] = fetchMock.mock.calls[0] as [string, RequestInit] + expect(requestUrl).toBe('https://chatgpt.com/backend-api/codex/images/generations') + expect(new Headers(requestInit.headers).get('x-tenant-id')).toBe('team-a') + expect(JSON.parse(String(requestInit.body))).toEqual({ + model: modelId, + prompt: 'A red fox in a field', + n: 1, + size: '1024x1024' + }) + } + ) it('uses deployment ids from azure deployment-scoped urls', () => { const context = createAiSdkProviderContext({ diff --git a/test/main/provider/auth/openaiCodex.test.ts b/test/main/provider/auth/openaiCodex.test.ts index 51680ac74e..da5526c55b 100644 --- a/test/main/provider/auth/openaiCodex.test.ts +++ b/test/main/provider/auth/openaiCodex.test.ts @@ -193,6 +193,34 @@ describe('OpenAI Codex auth', () => { expect(store.load()?.refreshToken).toBe('new-refresh-token') }) + it('requires sign-in after a rejected refresh token without deleting credentials', async () => { + const store = new OpenAICodexCredentialStore(path.join(tempDir, 'credentials.json')) + store.save({ + accessToken: 'expired-token', + refreshToken: 'rejected-refresh-token', + tokenType: 'Bearer', + expiresAt: Date.now() - 1000, + updatedAt: Date.now() + }) + const fetchMock = vi.fn().mockResolvedValue( + new Response( + JSON.stringify({ + error: { code: 'invalid_refresh_token', message: 'private upstream response' } + }), + { status: 400 } + ) + ) + vi.stubGlobal('fetch', fetchMock) + const auth = new OpenAICodexAuth(store, vi.fn()) + + await expect(auth.getBackendAuth()).rejects.toMatchObject({ + message: 'OpenAI Codex sign-in has expired. Sign in again.', + failure: { statusCode: 400, code: 'openai_codex_sign_in_required', retryable: false } + }) + expect(fetchMock).toHaveBeenCalledOnce() + expect(store.load()?.refreshToken).toBe('rejected-refresh-token') + }) + it('opens browser login externally and completes from a pasted callback URL', async () => { startOAuthLoopbackCallbackSessionMock.mockImplementationOnce( async (options: { expectedState: string; path: string }) => { diff --git a/test/main/provider/openaiCodexProvider.test.ts b/test/main/provider/openaiCodexProvider.test.ts index 7b92216ec0..f525b8a592 100644 --- a/test/main/provider/openaiCodexProvider.test.ts +++ b/test/main/provider/openaiCodexProvider.test.ts @@ -10,6 +10,10 @@ import type { LLM_PROVIDER } from '@shared/types/provider' import { checkRequiresRebuild } from '@shared/provider-operations' const CODEX_RESOURCE_MODEL_IDS = [ + 'gpt-6.1-sol', + 'gpt-6-astra', + 'gpt-6-sol', + 'gpt-6-luna', 'gpt-5.6', 'gpt-5.6-sol', 'gpt-5.6-luna', @@ -113,6 +117,14 @@ describe('OpenAI Codex provider registration', () => { id: 'openai', name: 'OpenAI', models: [ + ...['gpt-6.1-sol', 'gpt-6-astra', 'gpt-6-sol', 'gpt-6-luna'].map((id) => ({ + id, + display_name: id, + modalities: { input: ['text', 'image'], output: ['text'] }, + limit: { context: 1050000, output: 128000 }, + tool_call: true, + reasoning: { supported: true } + })), { id: 'gpt-5-codex', display_name: 'GPT-5-Codex', @@ -202,18 +214,28 @@ describe('OpenAI Codex provider registration', () => { providerDbSpy.mockRestore() expect(models.map((model) => model.id)).toEqual([ + 'gpt-6.1-sol', + 'gpt-6-astra', + 'gpt-6-sol', + 'gpt-6-luna', 'gpt-5.5', 'gpt-5.6-sol', 'gpt-5.6-terra', 'gpt-5.6-luna', - 'gpt-5.4', - 'gpt-5.4-mini', - 'gpt-5.3-codex-spark', + 'gpt-image-2.5-sunburst', + 'gpt-image-2.5-flare', 'gpt-image-2' ]) expect(models.some((model) => model.id === 'gpt-5.6')).toBe(false) expect(models.every((model) => model.group === 'Codex')).toBe(true) expect(models.every((model) => model.providerId === 'openai-codex')).toBe(true) + expect(models.find((model) => model.id === 'gpt-image-2.5-sunburst')).toEqual({ + id: 'gpt-image-2.5-sunburst', + name: 'gpt-image-2.5-sunburst', + group: 'Codex', + providerId: 'openai-codex', + isCustom: false + }) const luna = models.find((model) => model.id === 'gpt-5.6-luna') expect(luna).not.toHaveProperty('reasoning') expect(luna).not.toHaveProperty('contextLength') diff --git a/test/main/provider/providerDbModelConfig.test.ts b/test/main/provider/providerDbModelConfig.test.ts index e65d0e94b0..4ac32c5f72 100644 --- a/test/main/provider/providerDbModelConfig.test.ts +++ b/test/main/provider/providerDbModelConfig.test.ts @@ -372,6 +372,36 @@ describe('Provider DB strict matching and user overrides', () => { expect(helper.getModelConfig('gpt-image-2', 'openai').vision).toBe(true) }) + it.each(['gpt-image-2.5-sunburst', 'gpt-image-2.5-flare'])( + 'routes Codex image model %s without catalog metadata and preserves user settings', + (modelId) => { + const helper = new ModelConfigHelper() + expect(helper.getModelConfig(modelId, 'openai-codex')).toMatchObject({ + type: ModelType.ImageGeneration, + apiEndpoint: ApiEndpointType.Image, + vision: false, + functionCall: false, + reasoning: false, + isUserDefined: false + }) + expect(helper.getModelConfig(modelId, 'openai')).toMatchObject({ + type: ModelType.Chat, + apiEndpoint: ApiEndpointType.Chat + }) + + helper.setModelConfig(modelId, 'openai-codex', { + ...helper.getModelConfig(modelId, 'openai-codex'), + type: ModelType.Chat, + apiEndpoint: ApiEndpointType.Chat + }) + expect(helper.getModelConfig(modelId, 'openai-codex')).toMatchObject({ + type: ModelType.Chat, + apiEndpoint: ApiEndpointType.Chat, + isUserDefined: true + }) + } + ) + it('applies partial fallbacks when limit fields are missing', () => { const helper = new ModelConfigHelper() const cfg1 = helper.getModelConfig('partial-limit', 'test-provider') diff --git a/test/main/provider/providerRuntime.test.ts b/test/main/provider/providerRuntime.test.ts index cef4c3b8d4..c651737dc1 100644 --- a/test/main/provider/providerRuntime.test.ts +++ b/test/main/provider/providerRuntime.test.ts @@ -729,6 +729,21 @@ describe('ProviderRuntime Integration Tests', () => { expect(call?.[6]).toEqual([]) }, 15000) + it.each([ + 'generateImageStandalone', + 'generateVideoStandalone', + 'generateSpeechStandalone' + ] as const)('preserves provider failure metadata from %s error events', async (method) => { + const failure = { statusCode: 401, retryable: false } + mockRunAiSdkCoreStream.mockImplementationOnce(async function* () { + yield { type: 'error', error_message: 'provider rejected request', failure } + }) + + await expect( + providerRuntime[method]('mock-openai-api', 'hello', 'mock-gpt-thinking') + ).rejects.toMatchObject({ message: 'provider rejected request', failure }) + }) + it('should summarize titles', async () => { const messages = [ { role: 'user' as const, content: 'Hello, I want to learn about artificial intelligence' }, From 0a8a2d3f154fced32774f6c3a3156a5b8f2ddd1e Mon Sep 17 00:00:00 2001 From: zerob13 Date: Mon, 12 Oct 2026 15:37:13 +0800 Subject: [PATCH 2/2] fix(auth): preserve Codex error semantics --- docs/features/provider-runtime/spec.md | 3 +- resources/acp-registry/registry.json | 26 +++--- src/main/provider/auth/openaiCodex/index.ts | 21 +++-- test/main/provider/auth/openaiCodex.test.ts | 90 ++++++++++++++------- 4 files changed, 92 insertions(+), 48 deletions(-) diff --git a/docs/features/provider-runtime/spec.md b/docs/features/provider-runtime/spec.md index 6f58b00182..9d921dc1af 100644 --- a/docs/features/provider-runtime/spec.md +++ b/docs/features/provider-runtime/spec.md @@ -111,7 +111,8 @@ Codex requests include required instructions and backend routing headers, preser behavior, and surface entitlement failure without logging token or account identifiers. Rejected refresh tokens retain their HTTP failure metadata and require sign-in again; media CLI calls return `authentication_failed` with `retriable: false`. Other media provider failures expose only normalized -HTTP status and retryability. Image generation +HTTP status and retryability. Unreadable credential files remain storage failures. OAuth error bodies +are parsed before diagnostic messages are limited to 1,000 characters. Image generation uses the same OAuth credential path with `/images/generations`; Responses-only body normalization does not apply to image requests. The image-generation projection preserves shared OpenAI image settings but disables vision input because the standalone route accepts only text prompts. Background provider-db refresh skips diff --git a/resources/acp-registry/registry.json b/resources/acp-registry/registry.json index fe3f561080..7fccc80183 100644 --- a/resources/acp-registry/registry.json +++ b/resources/acp-registry/registry.json @@ -770,7 +770,7 @@ { "id": "harn", "name": "Harn", - "version": "0.10.163", + "version": "0.10.165", "description": "Harn runs .harn agent pipelines as a native ACP coding agent over stdio.", "repository": "https://github.com/burin-labs/harn", "website": "https://harnlang.com", @@ -782,49 +782,49 @@ "distribution": { "binary": { "darwin-aarch64": { - "archive": "https://github.com/burin-labs/harn/releases/download/v0.10.163/harn-aarch64-apple-darwin.tar.gz", + "archive": "https://github.com/burin-labs/harn/releases/download/v0.10.165/harn-aarch64-apple-darwin.tar.gz", "cmd": "./harn", "args": [ "serve", "acp" ], - "sha256": "659693a735cf8bd1dceb04dc660433ebe49a5974f4be0dbf322ac95fa92ff884" + "sha256": "29d9a1eb6024e462f22db26652684b8b10e5ac9c1a9c1fb83916e71f2025de08" }, "darwin-x86_64": { - "archive": "https://github.com/burin-labs/harn/releases/download/v0.10.163/harn-x86_64-apple-darwin.tar.gz", + "archive": "https://github.com/burin-labs/harn/releases/download/v0.10.165/harn-x86_64-apple-darwin.tar.gz", "cmd": "./harn", "args": [ "serve", "acp" ], - "sha256": "406b1416f80764fad8497074078593cbf26577531684d3d62fd59008db6a8ffc" + "sha256": "0f3ca86f1f3f78ba50c23a93c03c4974c2d52ae81e9e01ff52cdc5f967de9e53" }, "linux-aarch64": { - "archive": "https://github.com/burin-labs/harn/releases/download/v0.10.163/harn-aarch64-unknown-linux-gnu.tar.gz", + "archive": "https://github.com/burin-labs/harn/releases/download/v0.10.165/harn-aarch64-unknown-linux-gnu.tar.gz", "cmd": "./harn", "args": [ "serve", "acp" ], - "sha256": "89126de50317ad5fda5893c13862f0683f1f81c7b57f682033bc3e19c75e8c56" + "sha256": "e312f48a8bf7aa02defafc6e820a752eb0e6d170b2f3b9b81b3832aa8850ce14" }, "linux-x86_64": { - "archive": "https://github.com/burin-labs/harn/releases/download/v0.10.163/harn-x86_64-unknown-linux-gnu.tar.gz", + "archive": "https://github.com/burin-labs/harn/releases/download/v0.10.165/harn-x86_64-unknown-linux-gnu.tar.gz", "cmd": "./harn", "args": [ "serve", "acp" ], - "sha256": "e778c31058464c46ab7e9d5d6d9f6cab87a14cb106781817d74ef2eb7f2f15ea" + "sha256": "68f368f0163c07587ce3360781f72bbc44d744db2c16a57b4fd708b1c872d639" }, "windows-x86_64": { - "archive": "https://github.com/burin-labs/harn/releases/download/v0.10.163/harn-x86_64-pc-windows-msvc.zip", + "archive": "https://github.com/burin-labs/harn/releases/download/v0.10.165/harn-x86_64-pc-windows-msvc.zip", "cmd": "harn.exe", "args": [ "serve", "acp" ], - "sha256": "da2cbf6838b417337be8eefb74d44f0bbcd2e1a99958aa0f02037c8339582b8e" + "sha256": "da62c98d007dabf6d6f426d05d19866a8425b3903bfbf18c6dd5ca6788c50541" } } }, @@ -1163,7 +1163,7 @@ { "id": "nova", "name": "Nova", - "version": "1.1.51", + "version": "1.1.52", "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", @@ -1175,7 +1175,7 @@ "icon": "https://cdn.agentclientprotocol.com/registry/v1/latest/nova.svg", "distribution": { "npx": { - "package": "@compass-ai/nova@1.1.51", + "package": "@compass-ai/nova@1.1.52", "args": [ "acp" ] diff --git a/src/main/provider/auth/openaiCodex/index.ts b/src/main/provider/auth/openaiCodex/index.ts index b8e5b3db25..c14ba4973b 100644 --- a/src/main/provider/auth/openaiCodex/index.ts +++ b/src/main/provider/auth/openaiCodex/index.ts @@ -102,7 +102,7 @@ async function readErrorBody(response: Response): Promise { if (!text.trim()) { return `${response.status} ${response.statusText}` } - return text.slice(0, 1000) + return text } catch { return `${response.status} ${response.statusText}` } @@ -307,7 +307,9 @@ export class OpenAICodexAuth { const tokens = this.store.load() if (!tokens) { - throw new ProviderHttpError(this.store.getLoadError() ?? 'OpenAI Codex sign-in is required', { + const loadError = this.store.getLoadError() + if (loadError) throw new Error(loadError) + throw new ProviderHttpError('OpenAI Codex sign-in is required', { statusCode: 401, code: 'openai_codex_sign_in_required', retryable: false @@ -328,10 +330,13 @@ export class OpenAICodexAuth { this.assertEnabled() const tokens = this.store.load() if (!tokens?.refreshToken) { - throw new ProviderHttpError( - this.store.getLoadError() ?? 'OpenAI Codex refresh token is unavailable', - { statusCode: 401, code: 'openai_codex_sign_in_required', retryable: false } - ) + const loadError = this.store.getLoadError() + if (loadError) throw new Error(loadError) + throw new ProviderHttpError('OpenAI Codex refresh token is unavailable', { + statusCode: 401, + code: 'openai_codex_sign_in_required', + retryable: false + }) } const refreshed = await this.refreshAccessToken(tokens, true) @@ -518,7 +523,9 @@ export class OpenAICodexAuth { } catch {} } throw new ProviderHttpError( - requiresSignIn ? 'OpenAI Codex sign-in has expired. Sign in again.' : errorBody, + requiresSignIn + ? 'OpenAI Codex sign-in has expired. Sign in again.' + : errorBody.slice(0, 1000), { statusCode: response.status, ...(requiresSignIn ? { code: 'openai_codex_sign_in_required', retryable: false } : {}) diff --git a/test/main/provider/auth/openaiCodex.test.ts b/test/main/provider/auth/openaiCodex.test.ts index da5526c55b..788e019c35 100644 --- a/test/main/provider/auth/openaiCodex.test.ts +++ b/test/main/provider/auth/openaiCodex.test.ts @@ -5,6 +5,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { OpenAICodexAuth } from '@/provider/auth/openaiCodex' import { OpenAICodexCredentialStore } from '@/provider/auth/openaiCodex/credentialStore' import { createOpenAICodexPkcePair } from '@/provider/auth/openaiCodex/pkce' +import { extractProviderFailureMetadata } from '@/provider/providerFailure' const { startOAuthLoopbackCallbackSessionMock } = vi.hoisted(() => ({ startOAuthLoopbackCallbackSessionMock: vi.fn() @@ -193,32 +194,59 @@ describe('OpenAI Codex auth', () => { expect(store.load()?.refreshToken).toBe('new-refresh-token') }) - it('requires sign-in after a rejected refresh token without deleting credentials', async () => { + it.each([1, 100])( + 'requires sign-in after a rejected refresh token with %i message repeats', + async (messageRepeats) => { + const store = new OpenAICodexCredentialStore(path.join(tempDir, 'credentials.json')) + store.save({ + accessToken: 'expired-token', + refreshToken: 'rejected-refresh-token', + tokenType: 'Bearer', + expiresAt: Date.now() - 1000, + updatedAt: Date.now() + }) + const fetchMock = vi.fn().mockResolvedValue( + new Response( + JSON.stringify({ + error: { + code: 'invalid_refresh_token', + message: 'private upstream response'.repeat(messageRepeats) + } + }), + { status: 400 } + ) + ) + vi.stubGlobal('fetch', fetchMock) + const auth = new OpenAICodexAuth(store, vi.fn()) + + await expect(auth.getBackendAuth()).rejects.toMatchObject({ + message: 'OpenAI Codex sign-in has expired. Sign in again.', + failure: { statusCode: 400, code: 'openai_codex_sign_in_required', retryable: false } + }) + expect(fetchMock).toHaveBeenCalledOnce() + expect(store.load()?.refreshToken).toBe('rejected-refresh-token') + } + ) + + it('limits OAuth diagnostic messages after parsing the complete error response', async () => { const store = new OpenAICodexCredentialStore(path.join(tempDir, 'credentials.json')) store.save({ accessToken: 'expired-token', - refreshToken: 'rejected-refresh-token', + refreshToken: 'refresh-token', tokenType: 'Bearer', expiresAt: Date.now() - 1000, updatedAt: Date.now() }) - const fetchMock = vi.fn().mockResolvedValue( - new Response( - JSON.stringify({ - error: { code: 'invalid_refresh_token', message: 'private upstream response' } - }), - { status: 400 } - ) + vi.stubGlobal( + 'fetch', + vi.fn().mockResolvedValue(new Response('x'.repeat(2000), { status: 500 })) ) - vi.stubGlobal('fetch', fetchMock) const auth = new OpenAICodexAuth(store, vi.fn()) - await expect(auth.getBackendAuth()).rejects.toMatchObject({ - message: 'OpenAI Codex sign-in has expired. Sign in again.', - failure: { statusCode: 400, code: 'openai_codex_sign_in_required', retryable: false } - }) - expect(fetchMock).toHaveBeenCalledOnce() - expect(store.load()?.refreshToken).toBe('rejected-refresh-token') + const failure = await auth.getBackendAuth().catch((error) => error) + expect(failure).toBeInstanceOf(Error) + expect(failure.message).toHaveLength(1000) + expect(failure.failure).toEqual({ statusCode: 500 }) }) it('opens browser login externally and completes from a pasted callback URL', async () => { @@ -326,15 +354,23 @@ describe('OpenAI Codex auth', () => { expect(status.error).toContain('not valid JSON') }) - it('rejects backend auth requests with the credential-store load error', async () => { - vi.spyOn(console, 'warn').mockImplementation(() => {}) - const credentialPath = path.join(tempDir, 'credentials.json') - const store = new OpenAICodexCredentialStore(credentialPath) - const auth = new OpenAICodexAuth(store, vi.fn()) - - files.set(credentialPath, '{broken') - - await expect(auth.getBackendAuth()).rejects.toThrow(/not valid JSON/) - await expect(auth.forceRefreshBackendAuth()).rejects.toThrow(/not valid JSON/) - }) + it.each(['getBackendAuth', 'forceRefreshBackendAuth'] as const)( + 'keeps credential-store load errors separate from sign-in errors in %s', + async (method) => { + vi.spyOn(console, 'warn').mockImplementation(() => {}) + const credentialPath = path.join(tempDir, 'credentials.json') + const store = new OpenAICodexCredentialStore(credentialPath) + const auth = new OpenAICodexAuth(store, vi.fn()) + + files.set(credentialPath, '{broken') + + const failure = await auth[method]().catch((error) => error) + expect(failure).toBeInstanceOf(Error) + expect(failure.message).toMatch(/not valid JSON/) + expect(extractProviderFailureMetadata(failure)?.code).not.toBe( + 'openai_codex_sign_in_required' + ) + expect(files.get(credentialPath)).toBe('{broken') + } + ) })