diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 08ca8c19e..ce5afa7e0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -57,13 +57,18 @@ jobs: run: pnpm run installRuntime:win:${{ matrix.arch }} - name: Build Windows - run: pnpm run build:win:${{ matrix.arch }} + run: | + pnpm run build + pnpm exec electron-builder --win --${{ matrix.arch }} --publish=never env: VITE_GITHUB_CLIENT_ID: ${{ secrets.DC_GITHUB_CLIENT_ID }} VITE_GITHUB_CLIENT_SECRET: ${{ secrets.DC_GITHUB_CLIENT_SECRET }} VITE_GITHUB_REDIRECT_URI: ${{ secrets.DC_GITHUB_REDIRECT_URI }} VITE_PROVIDER_DB_URL: ${{ secrets.CDN_PROVIDER_DB_URL }} + - name: Generate changelog + run: node scripts/generate-changelog.mjs --output dist/changelog.md + - name: Upload artifacts uses: actions/upload-artifact@v4 with: @@ -111,13 +116,18 @@ jobs: # run: pnpm run installRuntime:linux:${{ matrix.arch }} - name: Build Linux - run: pnpm run build:linux:${{ matrix.arch }} + run: | + pnpm run build + pnpm exec electron-builder --linux --${{ matrix.arch }} --publish=never env: VITE_GITHUB_CLIENT_ID: ${{ secrets.DC_GITHUB_CLIENT_ID }} VITE_GITHUB_CLIENT_SECRET: ${{ secrets.DC_GITHUB_CLIENT_SECRET }} VITE_GITHUB_REDIRECT_URI: ${{ secrets.DC_GITHUB_REDIRECT_URI }} VITE_PROVIDER_DB_URL: ${{ secrets.CDN_PROVIDER_DB_URL }} + - name: Generate changelog + run: node scripts/generate-changelog.mjs --output dist/changelog.md + - name: Upload artifacts uses: actions/upload-artifact@v4 with: @@ -166,7 +176,14 @@ jobs: run: pnpm run installRuntime:mac:${{ matrix.arch }} - name: Build Mac - run: pnpm run build:mac:${{ matrix.arch }} + run: | + pnpm run build + if [ "${{ matrix.arch }}" = "arm64" ]; then + CONFIG=electron-builder-macarm.yml + else + CONFIG=electron-builder-macx64.yml + fi + pnpm exec electron-builder -c "$CONFIG" --mac --${{ matrix.arch }} --publish=never env: CSC_LINK: ${{ secrets.DEEPCHAT_CSC_LINK }} CSC_KEY_PASSWORD: ${{ secrets.DEEPCHAT_CSC_KEY_PASS }} @@ -180,6 +197,9 @@ jobs: NODE_OPTIONS: '--max-old-space-size=4096' VITE_PROVIDER_DB_URL: ${{ secrets.CDN_PROVIDER_DB_URL }} + - name: Generate changelog + run: node scripts/generate-changelog.mjs --output dist/changelog.md + - name: Upload artifacts uses: actions/upload-artifact@v4 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1209a9066..67772350a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -49,6 +49,8 @@ jobs: cp artifacts/deepchat-win-x64/*.exe release_assets/ 2>/dev/null || true cp artifacts/deepchat-win-x64/*.msi release_assets/ 2>/dev/null || true cp artifacts/deepchat-win-x64/*.zip release_assets/ 2>/dev/null || true + cp artifacts/deepchat-win-x64/latest*.yml release_assets/ 2>/dev/null || true + cp artifacts/deepchat-win-x64/*.blockmap release_assets/ 2>/dev/null || true fi # Process Windows arm64 artifacts @@ -64,18 +66,31 @@ jobs: cp artifacts/deepchat-linux-x64/*.deb release_assets/ 2>/dev/null || true cp artifacts/deepchat-linux-x64/*.rpm release_assets/ 2>/dev/null || true cp artifacts/deepchat-linux-x64/*.tar.gz release_assets/ 2>/dev/null || true + cp artifacts/deepchat-linux-x64/latest*.yml release_assets/ 2>/dev/null || true + cp artifacts/deepchat-linux-x64/*.blockmap release_assets/ 2>/dev/null || true fi # Process Mac x64 artifacts if [ -d "artifacts/deepchat-mac-x64" ]; then cp artifacts/deepchat-mac-x64/*.dmg release_assets/ 2>/dev/null || true cp artifacts/deepchat-mac-x64/*.zip release_assets/ 2>/dev/null || true + cp artifacts/deepchat-mac-x64/x64-mac.yml release_assets/ 2>/dev/null || true + cp artifacts/deepchat-mac-x64/latest*.yml release_assets/ 2>/dev/null || true + cp artifacts/deepchat-mac-x64/*.blockmap release_assets/ 2>/dev/null || true fi # Process Mac arm64 artifacts if [ -d "artifacts/deepchat-mac-arm64" ]; then cp artifacts/deepchat-mac-arm64/*.dmg release_assets/ 2>/dev/null || true cp artifacts/deepchat-mac-arm64/*.zip release_assets/ 2>/dev/null || true + cp artifacts/deepchat-mac-arm64/arm64-mac.yml release_assets/ 2>/dev/null || true + cp artifacts/deepchat-mac-arm64/latest*.yml release_assets/ 2>/dev/null || true + cp artifacts/deepchat-mac-arm64/*.blockmap release_assets/ 2>/dev/null || true + fi + + CHANGELOG_FILE=$(find artifacts -name "changelog.md" | head -n 1) + if [ -n "$CHANGELOG_FILE" ]; then + cp "$CHANGELOG_FILE" release_assets/ 2>/dev/null || true fi ls -la release_assets/ diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..120e96f8a --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,18 @@ +# Changelog + +## v0.5.6-canary (2025-12-23) +- Markdown 优化,修复列表元素异常 +- 修复 Ollama 视觉模型图片格式 +- Improved Markdown rendering, fixed list element issues +- Fixed Ollama vision model image format + +## v0.5.5 (2025-12-19) +- 全新 Yo Browser 功能,让你的模型畅游网络 +- All-new Yo Browser lets your model roam the web + +## v0.5.3 (2025-12-13) +- 优化 ACP 体验,增加 ACP 调试能力 +- 增加了自定义软件字体能力 +- add acp process warmup and debug panel +- add font settings +- add Hebrew (he-IL) Translation diff --git a/electron-builder-macarm.yml b/electron-builder-macarm.yml new file mode 100644 index 000000000..dca170211 --- /dev/null +++ b/electron-builder-macarm.yml @@ -0,0 +1,86 @@ +appId: com.wefonk.deepchat +productName: DeepChat +directories: + buildResources: build +files: + - '!**/.claude/*' + - '!**/.github/*' + - '!**/.cursor/*' + - '!**/.vscode/*' + - '!src/*' + - '!test/*' + - '!docs/*' + - '!electron.vite.config.{js,ts,mjs,cjs}' + - '!{.eslintignore,.eslintrc.cjs,.prettierignore,.prettierrc.yaml,dev-app-update.yml,CHANGELOG.md,README.md}' + - '!{.env,.env.*,.npmrc,pnpm-lock.yaml}' + - '!{tsconfig.json,tsconfig.node.json,tsconfig.app.json}' + - '!keys/*' + - '!scripts/*' + - '!.github/*' + - '!electron-builder.yml' + - '!electron-builder-macx64.yml' + - '!electron-builder-macarm.yml' + - '!test/*' + - '!*.config.ts' + - '!*.config.js' + - '!**/{LICENSE,LICENSE.txt,*.LICENSE.txt,NOTICE.txt,README.md,CHANGELOG.md,CONTRIBUTING.md,CONTRIBUTING.zh.md,README.zh.md,README.jp.md}' + - '!**/{.DS_Store,Thumbs.db}' + - '!*.md' +asarUnpack: + - '**/node_modules/sharp/**/*' + - '**/node_modules/@img/**/*' +extraResources: + - from: ./runtime/ + to: app.asar.unpacked/runtime + filter: ['**/*'] + - from: ./resources/cdn/ + to: app.asar.unpacked/resources/cdn + filter: ['**/*'] +afterSign: scripts/notarize.js +afterPack: scripts/afterPack.js +electronLanguages: + - zh-CN + - zh-TW + - zh-HK + - en-US + - ja-JP + - ko-KR + - fr-FR + - ru-RU + - ja + - ru + - zh_CN + - zh_TW + - zh_HK + - en + - ko + - fr + - fa-IR + - fa + - pt-BR + - pt + - da-DK + - da + - he-IL + - he +mac: + entitlementsInherit: build/entitlements.mac.plist + extendInfo: + - NSCameraUsageDescription: Application requests access to the device's camera. + - NSMicrophoneUsageDescription: Application requests access to the device's microphone. + - NSDocumentsFolderUsageDescription: Application requests access to the user's Documents folder. + - NSDownloadsFolderUsageDescription: Application requests access to the user's Downloads folder. + gatekeeperAssess: false + category: public.app-category.utilities + target: + - target: dmg + arch: arm64 + - target: zip + arch: arm64 + artifactName: ${name}-${version}-mac-${arch}.${ext} +npmRebuild: true +publish: + provider: github + owner: ThinkInAIXYZ + repo: deepchat + channel: arm64 diff --git a/electron-builder-macx64.yml b/electron-builder-macx64.yml index beb6a7b84..bbea68e3f 100644 --- a/electron-builder-macx64.yml +++ b/electron-builder-macx64.yml @@ -79,5 +79,7 @@ mac: artifactName: ${name}-${version}-mac-${arch}.${ext} npmRebuild: true publish: - provider: generic - url: https://cdn.deepchatai.cn/upgrade/ + provider: github + owner: ThinkInAIXYZ + repo: deepchat + channel: x64 diff --git a/electron-builder.yml b/electron-builder.yml index 93c31acbb..7bec7bf42 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -99,5 +99,6 @@ linux: - x-scheme-handler/deepchat npmRebuild: true publish: - provider: generic - url: https://cdn.deepchatai.cn/upgrade/ + provider: github + owner: ThinkInAIXYZ + repo: deepchat diff --git a/package.json b/package.json index 410eec19e..70b147d13 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "DeepChat", - "version": "0.5.5", + "version": "0.5.6-canary", "description": "DeepChat,一个简单易用的AI客户端", "main": "./out/main/index.js", "author": "ThinkInAIXYZ", @@ -37,7 +37,7 @@ "build:win:arm64": "pnpm run build && electron-builder --win --arm64", "install:sharp": "node scripts/install-sharp-for-platform.js", "build:mac": "pnpm run build && electron-builder --mac", - "build:mac:arm64": "pnpm run build && electron-builder --mac --arm64", + "build:mac:arm64": "pnpm run build && electron-builder -c electron-builder-macarm.yml --mac --arm64", "build:mac:x64": "pnpm run build && electron-builder -c electron-builder-macx64.yml --mac --x64 ", "build:linux": "pnpm run build && electron-builder --linux", "build:linux:x64": "pnpm run build && electron-builder --linux --x64", diff --git a/resources/model-db/providers.json b/resources/model-db/providers.json index bf85d3612..b393a7e28 100644 --- a/resources/model-db/providers.json +++ b/resources/model-db/providers.json @@ -422,6 +422,40 @@ "api": "https://api.z.ai/api/coding/paas/v4", "doc": "https://docs.z.ai/devpack/overview", "models": [ + { + "id": "glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, { "id": "glm-4.5-flash", "name": "GLM-4.5-Flash", @@ -4091,6 +4125,38 @@ "output": 0 } }, + { + "id": "nvidia/nemotron-3-nano-30b-a3b", + "name": "nemotron-3-nano-30b-a3b", + "display_name": "nemotron-3-nano-30b-a3b", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "knowledge": "2024-09", + "release_date": "2024-12", + "last_updated": "2024-12", + "cost": { + "input": 0, + "output": 0 + } + }, { "id": "nvidia/parakeet-tdt-0.6b-v2", "name": "Parakeet TDT 0.6B v2", @@ -13481,7 +13547,7 @@ }, "limit": { "context": 262144, - "output": 8192 + "output": 65536 }, "temperature": true, "tool_call": true, @@ -13492,11 +13558,12 @@ "attachment": true, "open_weights": false, "knowledge": "2025-07", - "release_date": "2025-11-19", - "last_updated": "2025-11-19", + "release_date": "2025-04-29", + "last_updated": "2025-12-23", "cost": { "input": 0.5, - "output": 1.25 + "output": 1.25, + "cache_read": 0.125 } }, { @@ -13513,7 +13580,7 @@ }, "limit": { "context": 131072, - "output": 8192 + "output": 32768 }, "temperature": true, "tool_call": true, @@ -13523,8 +13590,8 @@ "attachment": false, "open_weights": true, "knowledge": "2025-07", - "release_date": "2025-07-27", - "last_updated": "2025-07-27", + "release_date": "2025-04-29", + "last_updated": "2025-12-18", "cost": { "input": 0.15, "output": 0.75 @@ -13547,7 +13614,7 @@ ] }, "limit": { - "context": 256576, + "context": 262144, "output": 65536 }, "temperature": true, @@ -13559,8 +13626,8 @@ "attachment": true, "open_weights": false, "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", + "release_date": "2025-12-13", + "last_updated": "2025-12-23", "cost": { "input": 0.7, "output": 3.75 @@ -13582,7 +13649,7 @@ }, "limit": { "context": 202752, - "output": 8192 + "output": 50688 }, "temperature": true, "tool_call": true, @@ -13593,11 +13660,12 @@ "attachment": true, "open_weights": false, "knowledge": "2025-03", - "release_date": "2025-12-05", - "last_updated": "2025-12-05", + "release_date": "2024-12-05", + "last_updated": "2025-12-23", "cost": { "input": 6, - "output": 30 + "output": 30, + "cache_read": 0.6 } }, { @@ -13615,7 +13683,7 @@ }, "limit": { "context": 131072, - "output": 8192 + "output": 32768 }, "temperature": true, "tool_call": true, @@ -13625,8 +13693,8 @@ "attachment": true, "open_weights": true, "knowledge": "2023-10", - "release_date": "2025-07-15", - "last_updated": "2025-12-09", + "release_date": "2025-03-18", + "last_updated": "2025-12-18", "cost": { "input": 0.5, "output": 2 @@ -13656,8 +13724,8 @@ "attachment": false, "open_weights": true, "knowledge": "2023-10", - "release_date": "2025-07-15", - "last_updated": "2025-12-09", + "release_date": "2025-03-18", + "last_updated": "2025-12-18", "cost": { "input": 0.2, "output": 0.9 @@ -13669,7 +13737,10 @@ "display_name": "Gemini 3 Pro Preview", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video" ], "output": [ "text" @@ -13677,7 +13748,7 @@ }, "limit": { "context": 202752, - "output": 8192 + "output": 50688 }, "temperature": true, "tool_call": true, @@ -13688,11 +13759,12 @@ "attachment": true, "open_weights": false, "knowledge": "2024-04", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", + "release_date": "2024-06-07", + "last_updated": "2025-12-23", "cost": { "input": 2.5, - "output": 15 + "output": 15, + "cache_read": 0.625 } }, { @@ -13701,64 +13773,31 @@ "display_name": "GPT-5.2", "modalities": { "input": [ - "text", - "image" + "text" ], "output": [ "text" ] }, "limit": { - "context": 200000, - "output": 128000 + "context": 262144, + "output": 65536 }, - "temperature": false, + "temperature": true, "tool_call": true, "reasoning": { "supported": true, "default": true }, - "attachment": true, + "attachment": false, "open_weights": false, "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", + "release_date": "2024-12-11", + "last_updated": "2025-12-23", "cost": { "input": 2.19, "output": 17.5, - "cache_read": 0.175 - } - }, - { - "id": "qwen3-235b", - "name": "Venice Large 1.1", - "display_name": "Venice Large 1.1", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 8192 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-07-27", - "last_updated": "2025-12-09", - "cost": { - "input": 0.45, - "output": 3.5 + "cache_read": 0.219 } }, { @@ -13786,8 +13825,8 @@ "attachment": false, "open_weights": true, "knowledge": "2024-07", - "release_date": "2025-07-27", - "last_updated": "2025-12-09", + "release_date": "2025-04-29", + "last_updated": "2025-12-18", "cost": { "input": 0.05, "output": 0.15 @@ -13806,8 +13845,8 @@ ] }, "limit": { - "context": 65536, - "output": 8192 + "context": 131072, + "output": 32768 }, "temperature": true, "tool_call": true, @@ -13817,8 +13856,8 @@ "attachment": false, "open_weights": true, "knowledge": "2023-12", - "release_date": "2025-06-09", - "last_updated": "2025-06-09", + "release_date": "2024-12-09", + "last_updated": "2025-12-18", "cost": { "input": 0.7, "output": 2.8 @@ -13838,7 +13877,7 @@ }, "limit": { "context": 131072, - "output": 8192 + "output": 32768 }, "temperature": true, "tool_call": true, @@ -13848,8 +13887,8 @@ "attachment": false, "open_weights": true, "knowledge": "2025-07", - "release_date": "2025-07-27", - "last_updated": "2025-07-27", + "release_date": "2024-04-01", + "last_updated": "2025-12-18", "cost": { "input": 0.07, "output": 0.3 @@ -13869,7 +13908,7 @@ }, "limit": { "context": 262144, - "output": 8192 + "output": 65536 }, "temperature": true, "tool_call": true, @@ -13880,8 +13919,8 @@ "attachment": false, "open_weights": true, "knowledge": "2024-04", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", + "release_date": "2024-06-07", + "last_updated": "2025-12-18", "cost": { "input": 0.75, "output": 3.2 @@ -13901,7 +13940,7 @@ }, "limit": { "context": 131072, - "output": 8192 + "output": 32768 }, "temperature": true, "tool_call": true, @@ -13912,8 +13951,8 @@ "attachment": false, "open_weights": true, "knowledge": "2025-07", - "release_date": "2025-07-27", - "last_updated": "2025-07-27", + "release_date": "2025-04-29", + "last_updated": "2025-12-18", "cost": { "input": 0.45, "output": 3.5 @@ -13933,7 +13972,7 @@ }, "limit": { "context": 131072, - "output": 8192 + "output": 32768 }, "temperature": true, "tool_call": true, @@ -13943,8 +13982,8 @@ "attachment": false, "open_weights": true, "knowledge": "2023-12", - "release_date": "2025-05-23", - "last_updated": "2025-05-23", + "release_date": "2024-10-03", + "last_updated": "2025-12-18", "cost": { "input": 0.15, "output": 0.6 @@ -13965,7 +14004,7 @@ }, "limit": { "context": 202752, - "output": 8192 + "output": 50688 }, "temperature": true, "tool_call": true, @@ -13975,8 +14014,8 @@ "attachment": true, "open_weights": true, "knowledge": "2025-07", - "release_date": "2025-07-27", - "last_updated": "2025-07-27", + "release_date": "2024-04-01", + "last_updated": "2025-12-18", "cost": { "input": 0.12, "output": 0.2 @@ -13996,7 +14035,7 @@ }, "limit": { "context": 131072, - "output": 8192 + "output": 32768 }, "temperature": true, "tool_call": false, @@ -14006,13 +14045,44 @@ "attachment": false, "open_weights": true, "knowledge": "2024-04", - "release_date": "2024-04-15", - "last_updated": "2024-04-15", + "release_date": "2024-04-01", + "last_updated": "2025-12-18", "cost": { "input": 1.1, "output": 3 } }, + { + "id": "zai-org-glm-4.6v", + "name": "GLM 4.6V", + "display_name": "GLM 4.6V", + "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": "2024-12-10", + "last_updated": "2025-12-18", + "cost": { + "input": 0.39, + "output": 1.13 + } + }, { "id": "qwen3-next-80b", "name": "Qwen 3 Next 80b", @@ -14027,7 +14097,7 @@ }, "limit": { "context": 262144, - "output": 8192 + "output": 65536 }, "temperature": true, "tool_call": true, @@ -14037,8 +14107,8 @@ "attachment": false, "open_weights": true, "knowledge": "2025-07", - "release_date": "2025-07-27", - "last_updated": "2025-07-27", + "release_date": "2025-04-29", + "last_updated": "2025-12-18", "cost": { "input": 0.35, "output": 1.9 @@ -14058,7 +14128,7 @@ }, "limit": { "context": 202752, - "output": 8192 + "output": 50688 }, "temperature": true, "tool_call": true, @@ -14068,8 +14138,8 @@ "attachment": false, "open_weights": true, "knowledge": "2024-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", + "release_date": "2024-04-01", + "last_updated": "2025-12-18", "cost": { "input": 0.85, "output": 2.75 @@ -14089,7 +14159,7 @@ }, "limit": { "context": 262144, - "output": 8192 + "output": 65536 }, "temperature": true, "tool_call": true, @@ -14099,8 +14169,8 @@ "attachment": false, "open_weights": true, "knowledge": "2025-07", - "release_date": "2025-07-27", - "last_updated": "2025-07-27", + "release_date": "2025-04-29", + "last_updated": "2025-12-18", "cost": { "input": 0.75, "output": 3 @@ -14120,21 +14190,23 @@ }, "limit": { "context": 163840, - "output": 8192 + "output": 40960 }, "temperature": true, "tool_call": false, "reasoning": { - "supported": false + "supported": true, + "default": true }, "attachment": false, "open_weights": true, "knowledge": "2025-10", - "release_date": "2025-10-05", - "last_updated": "2025-10-05", + "release_date": "2025-12-07", + "last_updated": "2025-12-23", "cost": { "input": 0.4, - "output": 1 + "output": 1, + "cache_read": 0.2 } } ] @@ -27711,38 +27783,6 @@ "cache_read": 0.107 } }, - { - "id": "alpha-minimax-m2", - "name": "MiniMax M2 (alpha)", - "display_name": "MiniMax M2 (alpha)", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 204800, - "output": 131072 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": false, - "open_weights": true, - "knowledge": "2024-10", - "release_date": "2025-10-27", - "last_updated": "2025-10-27", - "cost": { - "input": 0.3, - "output": 1.2 - } - }, { "id": "gpt-5-nano", "name": "GPT-5 Nano", @@ -27913,6 +27953,39 @@ "cache_read": 0.1 } }, + { + "id": "glm-4.7-free", + "name": "GLM-4.7", + "display_name": "GLM-4.7", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, { "id": "grok-code", "name": "Grok Code Fast 1", @@ -28128,6 +28201,40 @@ "cache_read": 0.107 } }, + { + "id": "minimax-m2.1", + "name": "MiniMax M2.1", + "display_name": "MiniMax M2.1", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-12-20", + "last_updated": "2025-12-20", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, { "id": "gpt-5.2", "name": "GPT-5.2", @@ -32642,9 +32749,99 @@ "doc": "https://developers.cloudflare.com/ai-gateway/", "models": [ { - "id": "workers-ai/aura-1", - "name": "Aura 1", - "display_name": "Aura 1", + "id": "workers-ai/llama-3.2-11b-vision-instruct", + "name": "Llama 3.2 11B Vision Instruct", + "display_name": "Llama 3.2 11B Vision Instruct", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-08-23", + "last_updated": "2025-08-23", + "cost": { + "input": 49000, + "output": 680000 + } + }, + { + "id": "workers-ai/bge-m3", + "name": "BGE M3", + "display_name": "BGE M3", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-08-23", + "last_updated": "2025-08-23", + "cost": { + "input": 12000, + "output": 0 + } + }, + { + "id": "workers-ai/llama-3.1-8b-instruct-fp8", + "name": "Llama 3.1 8B Instruct FP8", + "display_name": "Llama 3.1 8B Instruct FP8", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-08-23", + "last_updated": "2025-08-23", + "cost": { + "input": 150000, + "output": 290000 + } + }, + { + "id": "workers-ai/smart-turn-v2", + "name": "Smart Turn V2", + "display_name": "Smart Turn V2", "modalities": { "input": [ "text" @@ -32672,9 +32869,9 @@ } }, { - "id": "workers-ai/llama-3.2-11b-vision-instruct", - "name": "Llama 3.2 11B Vision Instruct", - "display_name": "Llama 3.2 11B Vision Instruct", + "id": "workers-ai/llama-2-7b-chat-fp16", + "name": "Llama 2 7B Chat FP16", + "display_name": "Llama 2 7B Chat FP16", "modalities": { "input": [ "text" @@ -32697,14 +32894,14 @@ "release_date": "2025-08-23", "last_updated": "2025-08-23", "cost": { - "input": 49000, - "output": 680000 + "input": 560000, + "output": 6670000 } }, { - "id": "workers-ai/bge-m3", - "name": "BGE M3", - "display_name": "BGE M3", + "id": "workers-ai/llama-3-8b-instruct", + "name": "Llama 3 8B Instruct", + "display_name": "Llama 3 8B Instruct", "modalities": { "input": [ "text" @@ -32727,14 +32924,14 @@ "release_date": "2025-08-23", "last_updated": "2025-08-23", "cost": { - "input": 12000, - "output": 0 + "input": 280000, + "output": 830000 } }, { - "id": "workers-ai/llama-3.1-8b-instruct-fp8", - "name": "Llama 3.1 8B Instruct FP8", - "display_name": "Llama 3.1 8B Instruct FP8", + "id": "workers-ai/llama-3.1-8b-instruct", + "name": "Llama 3.1 8B Instruct", + "display_name": "Llama 3.1 8B Instruct", "modalities": { "input": [ "text" @@ -32757,14 +32954,14 @@ "release_date": "2025-08-23", "last_updated": "2025-08-23", "cost": { - "input": 150000, - "output": 290000 + "input": 280000, + "output": 830000 } }, { - "id": "workers-ai/whisper", - "name": "Whisper", - "display_name": "Whisper", + "id": "workers-ai/bge-base-en-v1.5", + "name": "BGE Base EN V1.5", + "display_name": "BGE Base EN V1.5", "modalities": { "input": [ "text" @@ -32784,17 +32981,17 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", + "release_date": "2025-08-23", + "last_updated": "2025-08-23", "cost": { - "input": 0, + "input": 67000, "output": 0 } }, { - "id": "workers-ai/smart-turn-v2", - "name": "Smart Turn V2", - "display_name": "Smart Turn V2", + "id": "workers-ai/bart-large-cnn", + "name": "BART Large CNN", + "display_name": "BART Large CNN", "modalities": { "input": [ "text" @@ -32814,17 +33011,17 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", + "release_date": "2025-04-09", + "last_updated": "2025-04-09", "cost": { "input": 0, "output": 0 } }, { - "id": "workers-ai/llama-2-7b-chat-fp16", - "name": "Llama 2 7B Chat FP16", - "display_name": "Llama 2 7B Chat FP16", + "id": "workers-ai/deepseek-r1-distill-qwen-32b", + "name": "DeepSeek R1 Distill Qwen 32B", + "display_name": "DeepSeek R1 Distill Qwen 32B", "modalities": { "input": [ "text" @@ -32847,14 +33044,44 @@ "release_date": "2025-08-23", "last_updated": "2025-08-23", "cost": { - "input": 560000, - "output": 6670000 + "input": 500000, + "output": 4880000 } }, { - "id": "workers-ai/llama-3-8b-instruct", - "name": "Llama 3 8B Instruct", - "display_name": "Llama 3 8B Instruct", + "id": "workers-ai/plamo-embedding-1b", + "name": "PLaMo Embedding 1B", + "display_name": "PLaMo Embedding 1B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "cost": { + "input": 0, + "output": 0 + } + }, + { + "id": "workers-ai/bge-large-en-v1.5", + "name": "BGE Large EN V1.5", + "display_name": "BGE Large EN V1.5", "modalities": { "input": [ "text" @@ -32877,14 +33104,44 @@ "release_date": "2025-08-23", "last_updated": "2025-08-23", "cost": { - "input": 280000, - "output": 830000 + "input": 200000, + "output": 0 } }, { - "id": "workers-ai/llama-3.1-8b-instruct", - "name": "Llama 3.1 8B Instruct", - "display_name": "Llama 3.1 8B Instruct", + "id": "workers-ai/gemma-sea-lion-v4-27b-it", + "name": "Gemma SEA-LION V4 27B IT", + "display_name": "Gemma SEA-LION V4 27B IT", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 16384 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "cost": { + "input": 0, + "output": 0 + } + }, + { + "id": "workers-ai/m2m100-1.2b", + "name": "M2M100 1.2B", + "display_name": "M2M100 1.2B", "modalities": { "input": [ "text" @@ -32907,14 +33164,14 @@ "release_date": "2025-08-23", "last_updated": "2025-08-23", "cost": { - "input": 280000, - "output": 830000 + "input": 340000, + "output": 340000 } }, { - "id": "workers-ai/bge-base-en-v1.5", - "name": "BGE Base EN V1.5", - "display_name": "BGE Base EN V1.5", + "id": "workers-ai/llama-3.2-3b-instruct", + "name": "Llama 3.2 3B Instruct", + "display_name": "Llama 3.2 3B Instruct", "modalities": { "input": [ "text" @@ -32937,14 +33194,14 @@ "release_date": "2025-08-23", "last_updated": "2025-08-23", "cost": { - "input": 67000, - "output": 0 + "input": 51000, + "output": 340000 } }, { - "id": "workers-ai/bart-large-cnn", - "name": "BART Large CNN", - "display_name": "BART Large CNN", + "id": "workers-ai/qwen2.5-coder-32b-instruct", + "name": "Qwen 2.5 Coder 32B Instruct", + "display_name": "Qwen 2.5 Coder 32B Instruct", "modalities": { "input": [ "text" @@ -32964,17 +33221,17 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-04-09", - "last_updated": "2025-04-09", + "release_date": "2025-04-11", + "last_updated": "2025-04-11", "cost": { "input": 0, - "output": 0 + "output": 1 } }, { - "id": "workers-ai/deepseek-r1-distill-qwen-32b", - "name": "DeepSeek R1 Distill Qwen 32B", - "display_name": "DeepSeek R1 Distill Qwen 32B", + "id": "workers-ai/bge-reranker-base", + "name": "BGE Reranker Base", + "display_name": "BGE Reranker Base", "modalities": { "input": [ "text" @@ -32994,17 +33251,17 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", + "release_date": "2025-04-09", + "last_updated": "2025-04-09", "cost": { - "input": 500000, - "output": 4880000 + "input": 0, + "output": 0 } }, { - "id": "workers-ai/plamo-embedding-1b", - "name": "PLaMo Embedding 1B", - "display_name": "PLaMo Embedding 1B", + "id": "workers-ai/mistral-small-3.1-24b-instruct", + "name": "Mistral Small 3.1 24B Instruct", + "display_name": "Mistral Small 3.1 24B Instruct", "modalities": { "input": [ "text" @@ -33024,17 +33281,17 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "release_date": "2025-04-11", + "last_updated": "2025-04-11", "cost": { "input": 0, "output": 0 } }, { - "id": "workers-ai/bge-large-en-v1.5", - "name": "BGE Large EN V1.5", - "display_name": "BGE Large EN V1.5", + "id": "workers-ai/aura-2-es", + "name": "Aura 2 ES", + "display_name": "Aura 2 ES", "modalities": { "input": [ "text" @@ -33054,17 +33311,17 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", "cost": { - "input": 200000, + "input": 0, "output": 0 } }, { - "id": "workers-ai/gemma-sea-lion-v4-27b-it", - "name": "Gemma SEA-LION V4 27B IT", - "display_name": "Gemma SEA-LION V4 27B IT", + "id": "workers-ai/qwen3-30b-a3b-fp8", + "name": "Qwen3 30B A3B FP8", + "display_name": "Qwen3 30B A3B FP8", "modalities": { "input": [ "text" @@ -33084,17 +33341,17 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", "cost": { "input": 0, "output": 0 } }, { - "id": "workers-ai/m2m100-1.2b", - "name": "M2M100 1.2B", - "display_name": "M2M100 1.2B", + "id": "workers-ai/aura-2-en", + "name": "Aura 2 EN", + "display_name": "Aura 2 EN", "modalities": { "input": [ "text" @@ -33114,17 +33371,17 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", "cost": { - "input": 340000, - "output": 340000 + "input": 0, + "output": 0 } }, { - "id": "workers-ai/llama-3.2-3b-instruct", - "name": "Llama 3.2 3B Instruct", - "display_name": "Llama 3.2 3B Instruct", + "id": "workers-ai/granite-4.0-h-micro", + "name": "Granite 4.0 H Micro", + "display_name": "Granite 4.0 H Micro", "modalities": { "input": [ "text" @@ -33144,17 +33401,17 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 51000, - "output": 340000 + "input": 0, + "output": 0 } }, { - "id": "workers-ai/qwen2.5-coder-32b-instruct", - "name": "Qwen 2.5 Coder 32B Instruct", - "display_name": "Qwen 2.5 Coder 32B Instruct", + "id": "workers-ai/llama-3.3-70b-instruct-fp8-fast", + "name": "Llama 3.3 70B Instruct FP8 Fast", + "display_name": "Llama 3.3 70B Instruct FP8 Fast", "modalities": { "input": [ "text" @@ -33174,17 +33431,17 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-04-11", - "last_updated": "2025-04-11", + "release_date": "2025-08-23", + "last_updated": "2025-08-23", "cost": { - "input": 0, - "output": 1 + "input": 290000, + "output": 2250000 } }, { - "id": "workers-ai/bge-reranker-base", - "name": "BGE Reranker Base", - "display_name": "BGE Reranker Base", + "id": "workers-ai/llama-3-8b-instruct-awq", + "name": "Llama 3 8B Instruct AWQ", + "display_name": "Llama 3 8B Instruct AWQ", "modalities": { "input": [ "text" @@ -33204,17 +33461,17 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-04-09", - "last_updated": "2025-04-09", + "release_date": "2025-08-23", + "last_updated": "2025-08-23", "cost": { - "input": 0, - "output": 0 + "input": 120000, + "output": 270000 } }, { - "id": "workers-ai/mistral-small-3.1-24b-instruct", - "name": "Mistral Small 3.1 24B Instruct", - "display_name": "Mistral Small 3.1 24B Instruct", + "id": "workers-ai/qwen3-embedding-0.6b", + "name": "Qwen3 Embedding 0.6B", + "display_name": "Qwen3 Embedding 0.6B", "modalities": { "input": [ "text" @@ -33234,17 +33491,17 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-04-11", - "last_updated": "2025-04-11", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", "cost": { "input": 0, "output": 0 } }, { - "id": "workers-ai/aura-2-es", - "name": "Aura 2 ES", - "display_name": "Aura 2 ES", + "id": "workers-ai/llama-3.2-1b-instruct", + "name": "Llama 3.2 1B Instruct", + "display_name": "Llama 3.2 1B Instruct", "modalities": { "input": [ "text" @@ -33264,17 +33521,17 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", + "release_date": "2025-08-23", + "last_updated": "2025-08-23", "cost": { - "input": 0, - "output": 0 + "input": 27000, + "output": 200000 } }, { - "id": "workers-ai/qwen3-30b-a3b-fp8", - "name": "Qwen3 30B A3B FP8", - "display_name": "Qwen3 30B A3B FP8", + "id": "workers-ai/llama-4-scout-17b-16e-instruct", + "name": "Llama 4 Scout 17B 16E Instruct", + "display_name": "Llama 4 Scout 17B 16E Instruct", "modalities": { "input": [ "text" @@ -33294,17 +33551,17 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", "cost": { "input": 0, "output": 0 } }, { - "id": "workers-ai/aura-2-en", - "name": "Aura 2 EN", - "display_name": "Aura 2 EN", + "id": "workers-ai/gemma-3-12b-it", + "name": "Gemma 3 12B IT", + "display_name": "Gemma 3 12B IT", "modalities": { "input": [ "text" @@ -33324,17 +33581,17 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", + "release_date": "2025-04-11", + "last_updated": "2025-04-11", "cost": { "input": 0, "output": 0 } }, { - "id": "workers-ai/granite-4.0-h-micro", - "name": "Granite 4.0 H Micro", - "display_name": "Granite 4.0 H Micro", + "id": "workers-ai/llama-guard-3-8b", + "name": "Llama Guard 3 8B", + "display_name": "Llama Guard 3 8B", "modalities": { "input": [ "text" @@ -33354,17 +33611,17 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-10-15", - "last_updated": "2025-10-15", + "release_date": "2025-08-23", + "last_updated": "2025-08-23", "cost": { - "input": 0, - "output": 0 + "input": 480000, + "output": 30000 } }, { - "id": "workers-ai/llama-3.3-70b-instruct-fp8-fast", - "name": "Llama 3.3 70B Instruct FP8 Fast", - "display_name": "Llama 3.3 70B Instruct FP8 Fast", + "id": "workers-ai/mistral-7b-instruct-v0.1", + "name": "Mistral 7B Instruct V0.1", + "display_name": "Mistral 7B Instruct V0.1", "modalities": { "input": [ "text" @@ -33387,14 +33644,14 @@ "release_date": "2025-08-23", "last_updated": "2025-08-23", "cost": { - "input": 290000, - "output": 2250000 + "input": 110000, + "output": 190000 } }, { - "id": "workers-ai/llama-3-8b-instruct-awq", - "name": "Llama 3 8B Instruct AWQ", - "display_name": "Llama 3 8B Instruct AWQ", + "id": "workers-ai/gpt-oss-20b", + "name": "GPT-OSS 20B", + "display_name": "GPT-OSS 20B", "modalities": { "input": [ "text" @@ -33414,17 +33671,17 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 120000, - "output": 270000 + "input": 0, + "output": 0 } }, { - "id": "workers-ai/qwen3-embedding-0.6b", - "name": "Qwen3 Embedding 0.6B", - "display_name": "Qwen3 Embedding 0.6B", + "id": "workers-ai/gpt-oss-120b", + "name": "GPT-OSS 120B", + "display_name": "GPT-OSS 120B", "modalities": { "input": [ "text" @@ -33444,17 +33701,17 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { "input": 0, "output": 0 } }, { - "id": "workers-ai/llama-3.2-1b-instruct", - "name": "Llama 3.2 1B Instruct", - "display_name": "Llama 3.2 1B Instruct", + "id": "workers-ai/bge-small-en-v1.5", + "name": "BGE Small EN V1.5", + "display_name": "BGE Small EN V1.5", "modalities": { "input": [ "text" @@ -33477,14 +33734,14 @@ "release_date": "2025-08-23", "last_updated": "2025-08-23", "cost": { - "input": 27000, - "output": 200000 + "input": 20000, + "output": 0 } }, { - "id": "workers-ai/whisper-large-v3-turbo", - "name": "Whisper Large V3 Turbo", - "display_name": "Whisper Large V3 Turbo", + "id": "workers-ai/melotts", + "name": "MeloTTS", + "display_name": "MeloTTS", "modalities": { "input": [ "text" @@ -33512,9 +33769,9 @@ } }, { - "id": "workers-ai/llama-4-scout-17b-16e-instruct", - "name": "Llama 4 Scout 17B 16E Instruct", - "display_name": "Llama 4 Scout 17B 16E Instruct", + "id": "workers-ai/nova-3", + "name": "Nova 3", + "display_name": "Nova 3", "modalities": { "input": [ "text" @@ -33534,17 +33791,17 @@ }, "attachment": false, "open_weights": false, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", "cost": { "input": 0, "output": 0 } }, { - "id": "workers-ai/gemma-3-12b-it", - "name": "Gemma 3 12B IT", - "display_name": "Gemma 3 12B IT", + "id": "workers-ai/qwq-32b", + "name": "QwQ 32B", + "display_name": "QwQ 32B", "modalities": { "input": [ "text" @@ -33568,13 +33825,13 @@ "last_updated": "2025-04-11", "cost": { "input": 0, - "output": 0 + "output": 1 } }, { - "id": "workers-ai/llama-guard-3-8b", - "name": "Llama Guard 3 8B", - "display_name": "Llama Guard 3 8B", + "id": "workers-ai/distilbert-sst-2-int8", + "name": "DistilBERT SST-2 INT8", + "display_name": "DistilBERT SST-2 INT8", "modalities": { "input": [ "text" @@ -33597,254 +33854,14 @@ "release_date": "2025-08-23", "last_updated": "2025-08-23", "cost": { - "input": 480000, - "output": 30000 + "input": 26000, + "output": 0 } }, { - "id": "workers-ai/mistral-7b-instruct-v0.1", - "name": "Mistral 7B Instruct V0.1", - "display_name": "Mistral 7B Instruct V0.1", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 16384 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", - "cost": { - "input": 110000, - "output": 190000 - } - }, - { - "id": "workers-ai/gpt-oss-20b", - "name": "GPT-OSS 20B", - "display_name": "GPT-OSS 20B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 16384 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "cost": { - "input": 0, - "output": 0 - } - }, - { - "id": "workers-ai/gpt-oss-120b", - "name": "GPT-OSS 120B", - "display_name": "GPT-OSS 120B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 16384 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "cost": { - "input": 0, - "output": 0 - } - }, - { - "id": "workers-ai/bge-small-en-v1.5", - "name": "BGE Small EN V1.5", - "display_name": "BGE Small EN V1.5", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 16384 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", - "cost": { - "input": 20000, - "output": 0 - } - }, - { - "id": "workers-ai/melotts", - "name": "MeloTTS", - "display_name": "MeloTTS", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 16384 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "cost": { - "input": 0, - "output": 0 - } - }, - { - "id": "workers-ai/nova-3", - "name": "Nova 3", - "display_name": "Nova 3", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 16384 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "cost": { - "input": 0, - "output": 0 - } - }, - { - "id": "workers-ai/qwq-32b", - "name": "QwQ 32B", - "display_name": "QwQ 32B", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 16384 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2025-04-11", - "last_updated": "2025-04-11", - "cost": { - "input": 0, - "output": 1 - } - }, - { - "id": "workers-ai/distilbert-sst-2-int8", - "name": "DistilBERT SST-2 INT8", - "display_name": "DistilBERT SST-2 INT8", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 16384 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", - "cost": { - "input": 26000, - "output": 0 - } - }, - { - "id": "workers-ai/llama-3.1-8b-instruct-awq", - "name": "Llama 3.1 8B Instruct AWQ", - "display_name": "Llama 3.1 8B Instruct AWQ", + "id": "workers-ai/llama-3.1-8b-instruct-awq", + "name": "Llama 3.1 8B Instruct AWQ", + "display_name": "Llama 3.1 8B Instruct AWQ", "modalities": { "input": [ "text" @@ -33991,36 +34008,6 @@ "output": 30 } }, - { - "id": "openai/o1-preview", - "name": "o1 Preview", - "display_name": "o1 Preview", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 16384 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2024-09-12", - "last_updated": "2024-09-12", - "cost": { - "input": 15, - "output": 60 - } - }, { "id": "openai/o3-mini", "name": "o3 mini", @@ -34171,36 +34158,6 @@ "output": 60 } }, - { - "id": "openai/o1-mini", - "name": "o1 mini", - "display_name": "o1 mini", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 16384 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2025-02-10", - "last_updated": "2025-02-10", - "cost": { - "input": 1.1, - "output": 4.4 - } - }, { "id": "openai/o3-pro", "name": "O3 Pro", @@ -34292,453 +34249,463 @@ } }, { - "id": "replicate/meta/meta-llama-3.1-405b-instruct", - "name": "Llama 3.1 405B Instruct", - "display_name": "Llama 3.1 405B Instruct", + "id": "openai/gpt-5.2", + "name": "GPT-5.2", + "display_name": "GPT-5.2", "modalities": { "input": [ - "text" + "text", + "image" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 400000, + "output": 128000 }, - "temperature": true, - "tool_call": false, + "temperature": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-09-25", - "last_updated": "2024-09-25", + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", "cost": { - "input": 9.5, - "output": 9.5 + "input": 1.75, + "output": 14, + "cache_read": 0.175 } }, { - "id": "replicate/meta/meta-llama-3-70b-instruct", - "name": "Llama 3 70B Instruct", - "display_name": "Llama 3 70B Instruct", + "id": "anthropic/claude-opus-4", + "name": "Claude Opus 4 (latest)", + "display_name": "Claude Opus 4 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 32000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-10-08", - "last_updated": "2024-10-08", + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", "cost": { - "input": 0, - "output": 2.75 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 } }, { - "id": "replicate/meta/meta-llama-3-8b-instruct", - "name": "Llama 3 8B Instruct", - "display_name": "Llama 3 8B Instruct", + "id": "anthropic/claude-opus-4-1", + "name": "Claude Opus 4.1 (latest)", + "display_name": "Claude Opus 4.1 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 32000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-02-05", - "last_updated": "2025-02-05", + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", "cost": { - "input": 0, - "output": 0 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 } }, { - "id": "replicate/deepseek-ai/deepseek-r1", - "name": "DeepSeek R1", - "display_name": "DeepSeek R1", + "id": "anthropic/claude-haiku-4-5", + "name": "Claude Haiku 4.5 (latest)", + "display_name": "Claude Haiku 4.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 64000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-03-11", - "last_updated": "2025-03-11", + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", "cost": { - "input": 10, - "output": 10 + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 } }, { - "id": "anthropic/claude-opus-4", - "name": "Claude Opus 4", - "display_name": "Claude Opus 4", + "id": "anthropic/claude-3-haiku", + "name": "Claude Haiku 3", + "display_name": "Claude Haiku 3", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 4096 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", + "knowledge": "2023-08-31", + "release_date": "2024-03-13", + "last_updated": "2024-03-13", "cost": { - "input": 15, - "output": 75 + "input": 0.25, + "output": 1.25, + "cache_read": 0.03, + "cache_write": 0.3 } }, { - "id": "anthropic/claude-haiku-4.5", - "name": "Claude Haiku 4.5", - "display_name": "Claude Haiku 4.5", + "id": "anthropic/claude-opus-4-5", + "name": "Claude Opus 4.5 (latest)", + "display_name": "Claude Opus 4.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 64000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", "cost": { - "input": 1, - "output": 5 + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 } }, { - "id": "anthropic/claude-3-haiku", - "name": "Claude 3 Haiku", - "display_name": "Claude 3 Haiku", + "id": "anthropic/claude-3-opus", + "name": "Claude Opus 3", + "display_name": "Claude Opus 3", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 4096 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-07-31", - "last_updated": "2024-07-31", + "knowledge": "2023-08-31", + "release_date": "2024-02-29", + "last_updated": "2024-02-29", "cost": { - "input": 0, - "output": 1.25 + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 } }, { - "id": "anthropic/claude-3-opus", - "name": "Claude 3 Opus", - "display_name": "Claude 3 Opus", + "id": "anthropic/claude-sonnet-4-5", + "name": "Claude Sonnet 4.5 (latest)", + "display_name": "Claude Sonnet 4.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 64000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-07-31", - "last_updated": "2024-07-31", + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", "cost": { - "input": 15, - "output": 75 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 } }, { "id": "anthropic/claude-3.5-sonnet", - "name": "Claude 3.5 Sonnet", - "display_name": "Claude 3.5 Sonnet", + "name": "Claude Sonnet 3.5 v2", + "display_name": "Claude Sonnet 3.5 v2", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-07-31", - "last_updated": "2024-07-31", + "knowledge": "2024-04-30", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", "cost": { - "input": 6, - "output": 30 + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 } }, { "id": "anthropic/claude-3-sonnet", - "name": "Claude 3 Sonnet", - "display_name": "Claude 3 Sonnet", + "name": "Claude Sonnet 3", + "display_name": "Claude Sonnet 3", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 4096 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2024-07-31", - "last_updated": "2024-07-31", + "knowledge": "2023-08-31", + "release_date": "2024-03-04", + "last_updated": "2024-03-04", "cost": { "input": 3, - "output": 15 + "output": 15, + "cache_read": 0.3, + "cache_write": 0.3 } }, { - "id": "anthropic/claude-opus-4.1", - "name": "Claude Opus 4.1", - "display_name": "Claude Opus 4.1", + "id": "anthropic/claude-3-5-haiku", + "name": "Claude Haiku 3.5 (latest)", + "display_name": "Claude Haiku 3.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", "cost": { - "input": 15, - "output": 75 + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 } }, { "id": "anthropic/claude-3.5-haiku", - "name": "Claude 3.5 Haiku", - "display_name": "Claude 3.5 Haiku", + "name": "Claude Haiku 3.5 (latest)", + "display_name": "Claude Haiku 3.5 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 8192 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, - "attachment": false, + "attachment": true, "open_weights": false, - "release_date": "2025-01-07", - "last_updated": "2025-01-07", + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", "cost": { - "input": 0, - "output": 4 + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 } }, { "id": "anthropic/claude-sonnet-4", - "name": "Claude Sonnet 4", - "display_name": "Claude Sonnet 4", + "name": "Claude Sonnet 4 (latest)", + "display_name": "Claude Sonnet 4 (latest)", "modalities": { "input": [ - "text" + "text", + "image", + "pdf" ], "output": [ "text" ] }, "limit": { - "context": 128000, - "output": 16384 + "context": 200000, + "output": 64000 }, "temperature": true, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, - "attachment": false, + "attachment": true, "open_weights": false, + "knowledge": "2025-03-31", "release_date": "2025-05-22", "last_updated": "2025-05-22", "cost": { "input": 3, - "output": 15 - } - }, - { - "id": "anthropic/claude-opus-4.5", - "name": "Claude Opus 4.5", - "display_name": "Claude Opus 4.5", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 16384 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2025-11-24", - "last_updated": "2025-11-24", - "cost": { - "input": 5, - "output": 25 - } - }, - { - "id": "anthropic/claude-sonnet-4.5", - "name": "Claude Sonnet 4.5", - "display_name": "Claude Sonnet 4.5", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 128000, - "output": 16384 - }, - "temperature": true, - "tool_call": false, - "reasoning": { - "supported": false - }, - "attachment": false, - "open_weights": false, - "release_date": "2025-10-08", - "last_updated": "2025-10-08", - "cost": { - "input": 3, - "output": 15 + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 } } ] @@ -36288,6 +36255,40 @@ "cache_read": 0, "cache_write": 0 } + }, + { + "id": "glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } } ] }, @@ -39622,6 +39623,40 @@ "cache_read": 0, "cache_write": 0 } + }, + { + "id": "glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 + } } ] }, @@ -39672,6 +39707,40 @@ "api": "https://api.z.ai/api/paas/v4", "doc": "https://docs.z.ai/guides/overview/pricing", "models": [ + { + "id": "glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 + } + }, { "id": "glm-4.5-flash", "name": "GLM-4.5-Flash", @@ -51914,6 +51983,7 @@ "id": "ollama", "name": "Ollama Cloud", "display_name": "Ollama Cloud", + "api": "https://ollama.com/v1", "doc": "https://docs.ollama.com/cloud", "models": [ { @@ -59051,6 +59121,21 @@ }, "type": "chat" }, + { + "id": "zai-org/glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", + "limit": { + "context": 204800, + "output": 131072 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "type": "chat" + }, { "id": "kat-coder", "name": "KAT-Coder-Pro V1", @@ -59426,6 +59511,21 @@ }, "type": "chat" }, + { + "id": "xiaomimimo/mimo-v2-flash", + "name": "XiaomiMiMo/MiMo-V2-Flash", + "display_name": "XiaomiMiMo/MiMo-V2-Flash", + "limit": { + "context": 262144, + "output": 32000 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "type": "chat" + }, { "id": "zai-org/glm-4.5-air", "name": "zai-org/glm-4.5-air", @@ -64469,57 +64569,6 @@ }, "type": "imageGeneration" }, - { - "id": "glm-4.6", - "name": "glm-4.6", - "display_name": "glm-4.6", - "modalities": { - "input": [ - "text" - ] - }, - "limit": { - "context": 204800, - "output": 204800 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "cost": { - "input": 0, - "output": 0, - "cache_read": 0 - }, - "type": "chat" - }, - { - "id": "glm-4.6v", - "name": "glm-4.6v", - "display_name": "glm-4.6v", - "modalities": { - "input": [ - "text", - "image", - "video" - ] - }, - "limit": { - "context": 128000, - "output": 128000 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.137, - "output": 0.411, - "cache_read": 0.0274 - }, - "type": "chat" - }, { "id": "grok-4-1-fast-non-reasoning", "name": "grok-4-1-fast-non-reasoning", @@ -64572,6 +64621,30 @@ }, "type": "chat" }, + { + "id": "mimo-v2-flash", + "name": "mimo-v2-flash", + "display_name": "mimo-v2-flash", + "modalities": { + "input": [ + "text" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.1918, + "output": 0.5754, + "cache_read": 0.03836 + }, + "type": "chat" + }, { "id": "web-gpt-image-1.5", "name": "web-gpt-image-1.5", @@ -65054,6 +65127,24 @@ }, "type": "chat" }, + { + "id": "minimax-m2.1", + "name": "minimax-m2.1", + "display_name": "minimax-m2.1", + "limit": { + "context": 204800, + "output": 204800 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.288, + "output": 1.152 + }, + "type": "chat" + }, { "id": "o3", "name": "o3", @@ -65081,21 +65172,58 @@ "type": "chat" }, { - "id": "gemini-2.5-pro", - "name": "gemini-2.5-pro", - "display_name": "gemini-2.5-pro", + "id": "cc-glm-4.7", + "name": "cc-glm-4.7", + "display_name": "cc-glm-4.7", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.06, + "output": 0.22 + }, + "type": "chat" + }, + { + "id": "cc-minimax-m2.1", + "name": "cc-minimax-m2.1", + "display_name": "cc-minimax-m2.1", "modalities": { "input": [ - "text", - "image", - "audio", - "video", - "pdf" + "text" ] }, "limit": { - "context": 1048576, - "output": 1048576 + "context": 8192, + "output": 8192 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.1, + "output": 0.1 + }, + "type": "chat" + }, + { + "id": "coding-glm-4.7", + "name": "coding-glm-4.7", + "display_name": "coding-glm-4.7", + "modalities": { + "input": [ + "text" + ] + }, + "limit": { + "context": 8192, + "output": 8192 }, "tool_call": true, "reasoning": { @@ -65103,46 +65231,83 @@ "default": true }, "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.31 + "input": 0.06, + "output": 0.22, + "cache_read": 0.010998 }, "type": "chat" }, { - "id": "jimeng-3.0-1080p", - "name": "jimeng-3.0-1080p", - "display_name": "jimeng-3.0-1080p", + "id": "coding-glm-4.7-free", + "name": "coding-glm-4.7-free", + "display_name": "coding-glm-4.7-free", "modalities": { "input": [ - "text", - "image" + "text" ] }, "limit": { "context": 8192, "output": 8192 }, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "cost": { - "input": 2, - "output": 0 + "input": 0, + "output": 0, + "cache_read": 0 }, "type": "chat" }, { - "id": "jimeng-3.0-720p", - "name": "jimeng-3.0-720p", - "display_name": "jimeng-3.0-720p", + "id": "coding-minimax-m2.1", + "name": "coding-minimax-m2.1", + "display_name": "coding-minimax-m2.1", "modalities": { "input": [ - "text", - "image" + "text" ] }, + "limit": { + "context": 204800, + "output": 204800 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "cost": { + "input": 0.2, + "output": 0.2 + }, + "type": "chat" + }, + { + "id": "coding-minimax-m2.1-free", + "name": "coding-minimax-m2.1-free", + "display_name": "coding-minimax-m2.1-free", + "limit": { + "context": 204800, + "output": 204800 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, + { + "id": "cc-glm-4.6", + "name": "cc-glm-4.6", + "display_name": "cc-glm-4.6", "limit": { "context": 8192, "output": 8192 @@ -65152,47 +65317,97 @@ "supported": false }, "cost": { - "input": 2, - "output": 0 + "input": 0.06, + "output": 0.22 }, "type": "chat" }, { - "id": "jimeng-3.0-pro", - "name": "jimeng-3.0-pro", - "display_name": "jimeng-3.0-pro", + "id": "coding-glm-4.6", + "name": "coding-glm-4.6", + "display_name": "coding-glm-4.6", "modalities": { "input": [ - "text", - "image" + "text" ] }, "limit": { "context": 8192, "output": 8192 }, - "tool_call": false, + "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "cost": { - "input": 2, - "output": 0 + "input": 0.06, + "output": 0.22, + "cache_read": 0.010998 }, "type": "chat" }, { - "id": "kimi-for-coding-free", - "name": "kimi-for-coding-free", - "display_name": "kimi-for-coding-free", + "id": "coding-glm-4.6-free", + "name": "coding-glm-4.6-free", + "display_name": "coding-glm-4.6-free", "modalities": { "input": [ "text" ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 200000, + "output": 200000 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + }, + "type": "chat" + }, + { + "id": "coding-minimax-m2", + "name": "coding-minimax-m2", + "display_name": "coding-minimax-m2", + "modalities": { + "input": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 204800 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "cost": { + "input": 0.2, + "output": 0.2 + }, + "type": "chat" + }, + { + "id": "coding-minimax-m2-free", + "name": "coding-minimax-m2-free", + "display_name": "coding-minimax-m2-free", + "modalities": { + "input": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 204800 }, "tool_call": true, "reasoning": { @@ -65363,9 +65578,15 @@ "type": "chat" }, { - "id": "cc-glm-4.6", - "name": "cc-glm-4.6", - "display_name": "cc-glm-4.6", + "id": "flux-2-flex", + "name": "flux-2-flex", + "display_name": "flux-2-flex", + "modalities": { + "input": [ + "text", + "image" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -65375,48 +65596,53 @@ "supported": false }, "cost": { - "input": 0.06, - "output": 0.22 + "input": 2, + "output": 0, + "cache_read": 0 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "coding-glm-4.6", - "name": "coding-glm-4.6", - "display_name": "coding-glm-4.6", + "id": "flux-2-pro", + "name": "flux-2-pro", + "display_name": "flux-2-pro", "modalities": { "input": [ - "text" + "text", + "image" ] }, "limit": { "context": 8192, "output": 8192 }, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "cost": { - "input": 0.06, - "output": 0.22, - "cache_read": 0.010998 + "input": 2, + "output": 0, + "cache_read": 0 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "coding-glm-4.6-free", - "name": "coding-glm-4.6-free", - "display_name": "coding-glm-4.6-free", + "id": "gemini-2.5-pro", + "name": "gemini-2.5-pro", + "display_name": "gemini-2.5-pro", "modalities": { "input": [ - "text" + "text", + "image", + "audio", + "video", + "pdf" ] }, "limit": { - "context": 200000, - "output": 200000 + "context": 1048576, + "output": 1048576 }, "tool_call": true, "reasoning": { @@ -65424,16 +65650,16 @@ "default": true }, "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 1.25, + "output": 10, + "cache_read": 0.125 }, "type": "chat" }, { - "id": "coding-minimax-m2", - "name": "coding-minimax-m2", - "display_name": "coding-minimax-m2", + "id": "glm-4.6", + "name": "glm-4.6", + "display_name": "glm-4.6", "modalities": { "input": [ "text" @@ -65456,34 +65682,35 @@ "type": "chat" }, { - "id": "coding-minimax-m2-free", - "name": "coding-minimax-m2-free", - "display_name": "coding-minimax-m2-free", + "id": "glm-4.6v", + "name": "glm-4.6v", + "display_name": "glm-4.6v", "modalities": { "input": [ - "text" + "text", + "image", + "video" ] }, "limit": { - "context": 204800, - "output": 204800 + "context": 128000, + "output": 128000 }, - "tool_call": true, + "tool_call": false, "reasoning": { - "supported": true, - "default": true + "supported": false }, "cost": { - "input": 0, - "output": 0, - "cache_read": 0 + "input": 0.137, + "output": 0.411, + "cache_read": 0.0274 }, "type": "chat" }, { - "id": "flux-2-flex", - "name": "flux-2-flex", - "display_name": "flux-2-flex", + "id": "jimeng-3.0-1080p", + "name": "jimeng-3.0-1080p", + "display_name": "jimeng-3.0-1080p", "modalities": { "input": [ "text", @@ -65500,15 +65727,14 @@ }, "cost": { "input": 2, - "output": 0, - "cache_read": 0 + "output": 0 }, - "type": "imageGeneration" + "type": "chat" }, { - "id": "flux-2-pro", - "name": "flux-2-pro", - "display_name": "flux-2-pro", + "id": "jimeng-3.0-720p", + "name": "jimeng-3.0-720p", + "display_name": "jimeng-3.0-720p", "modalities": { "input": [ "text", @@ -65525,10 +65751,58 @@ }, "cost": { "input": 2, + "output": 0 + }, + "type": "chat" + }, + { + "id": "jimeng-3.0-pro", + "name": "jimeng-3.0-pro", + "display_name": "jimeng-3.0-pro", + "modalities": { + "input": [ + "text", + "image" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 2, + "output": 0 + }, + "type": "chat" + }, + { + "id": "kimi-for-coding-free", + "name": "kimi-for-coding-free", + "display_name": "kimi-for-coding-free", + "modalities": { + "input": [ + "text" + ] + }, + "limit": { + "context": 256000, + "output": 256000 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "cost": { + "input": 0, "output": 0, "cache_read": 0 }, - "type": "imageGeneration" + "type": "chat" }, { "id": "gemini-2.5-pro-search", @@ -65555,7 +65829,7 @@ "cost": { "input": 1.25, "output": 10, - "cache_read": 0.31 + "cache_read": 0.125 }, "type": "chat" }, @@ -65657,7 +65931,7 @@ "cost": { "input": 0.3, "output": 2.499, - "cache_read": 0.075 + "cache_read": 0.03 }, "type": "chat" }, @@ -65684,7 +65958,7 @@ "cost": { "input": 0.3, "output": 2.499, - "cache_read": 0.075 + "cache_read": 0.03 }, "type": "chat" }, @@ -65737,7 +66011,7 @@ "cost": { "input": 0.1, "output": 0.4, - "cache_read": 0.025 + "cache_read": 0.01 }, "type": "chat" }, @@ -65764,7 +66038,7 @@ "cost": { "input": 0.1, "output": 0.4, - "cache_read": 0.025 + "cache_read": 0.01 }, "type": "chat" }, @@ -65791,7 +66065,7 @@ "cost": { "input": 0.3, "output": 2.499, - "cache_read": 0.075 + "cache_read": 0.03 }, "type": "chat" }, @@ -65818,7 +66092,7 @@ "cost": { "input": 0.3, "output": 2.499, - "cache_read": 0.075 + "cache_read": 0.03 }, "type": "chat" }, @@ -65845,7 +66119,7 @@ "cost": { "input": 0.3, "output": 2.499, - "cache_read": 0.075 + "cache_read": 0.03 }, "type": "chat" }, @@ -65872,7 +66146,7 @@ "cost": { "input": 0.3, "output": 2.499, - "cache_read": 0.075 + "cache_read": 0.03 }, "type": "chat" }, @@ -66140,6 +66414,240 @@ }, "type": "chat" }, + { + "id": "paddleocr-vl-0.9b", + "name": "paddleocr-vl-0.9b", + "display_name": "paddleocr-vl-0.9b", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 2, + "output": 0 + }, + "type": "chat" + }, + { + "id": "pp-structurev3", + "name": "pp-structurev3", + "display_name": "pp-structurev3", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 2, + "output": 0 + }, + "type": "chat" + }, + { + "id": "qwen3-vl-235b-a22b-instruct", + "name": "qwen3-vl-235b-a22b-instruct", + "display_name": "qwen3-vl-235b-a22b-instruct", + "modalities": { + "input": [ + "text", + "image", + "video" + ] + }, + "limit": { + "context": 131000, + "output": 131000 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.274, + "output": 1.096 + }, + "type": "chat" + }, + { + "id": "qwen3-vl-235b-a22b-thinking", + "name": "qwen3-vl-235b-a22b-thinking", + "display_name": "qwen3-vl-235b-a22b-thinking", + "modalities": { + "input": [ + "text", + "image", + "video" + ] + }, + "limit": { + "context": 131000, + "output": 131000 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "cost": { + "input": 0.274, + "output": 2.74 + }, + "type": "chat" + }, + { + "id": "qwen3-vl-30b-a3b-instruct", + "name": "qwen3-vl-30b-a3b-instruct", + "display_name": "qwen3-vl-30b-a3b-instruct", + "modalities": { + "input": [ + "text", + "image", + "video" + ] + }, + "limit": { + "context": 128000, + "output": 128000 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.1028, + "output": 0.4112 + }, + "type": "chat" + }, + { + "id": "qwen3-vl-30b-a3b-thinking", + "name": "qwen3-vl-30b-a3b-thinking", + "display_name": "qwen3-vl-30b-a3b-thinking", + "modalities": { + "input": [ + "text", + "image", + "video" + ] + }, + "limit": { + "context": 128000, + "output": 128000 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "cost": { + "input": 0.1028, + "output": 1.028 + }, + "type": "chat" + }, + { + "id": "veo-3.0-generate-preview", + "name": "veo-3.0-generate-preview", + "display_name": "veo-3.0-generate-preview", + "modalities": { + "input": [ + "text", + "image", + "video" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 2, + "output": 2, + "cache_read": 0 + }, + "type": "chat" + }, + { + "id": "veo-3.1-fast-generate-preview", + "name": "veo-3.1-fast-generate-preview", + "display_name": "veo-3.1-fast-generate-preview", + "modalities": { + "input": [ + "text", + "image", + "video" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 2, + "output": 0 + }, + "type": "chat" + }, + { + "id": "veo-3.1-generate-preview", + "name": "veo-3.1-generate-preview", + "display_name": "veo-3.1-generate-preview", + "modalities": { + "input": [ + "text", + "image", + "video" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 2, + "output": 2, + "cache_read": 0 + }, + "type": "chat" + }, + { + "id": "flux-kontext-max", + "name": "flux-kontext-max", + "display_name": "flux-kontext-max", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 2, + "output": 0, + "cache_read": 0 + }, + "type": "chat" + }, { "id": "gemini-2.5-flash-image-preview", "name": "gemini-2.5-flash-image-preview", @@ -66318,142 +66826,37 @@ "type": "chat" }, { - "id": "qwen3-vl-235b-a22b-instruct", - "name": "qwen3-vl-235b-a22b-instruct", - "display_name": "qwen3-vl-235b-a22b-instruct", - "modalities": { - "input": [ - "text", - "image", - "video" - ] - }, - "limit": { - "context": 131000, - "output": 131000 - }, - "tool_call": true, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.274, - "output": 1.096 - }, - "type": "chat" - }, - { - "id": "qwen3-vl-235b-a22b-thinking", - "name": "qwen3-vl-235b-a22b-thinking", - "display_name": "qwen3-vl-235b-a22b-thinking", - "modalities": { - "input": [ - "text", - "image", - "video" - ] - }, - "limit": { - "context": 131000, - "output": 131000 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "cost": { - "input": 0.274, - "output": 2.74 - }, - "type": "chat" - }, - { - "id": "qwen3-vl-30b-a3b-instruct", - "name": "qwen3-vl-30b-a3b-instruct", - "display_name": "qwen3-vl-30b-a3b-instruct", - "modalities": { - "input": [ - "text", - "image", - "video" - ] - }, - "limit": { - "context": 128000, - "output": 128000 - }, - "tool_call": true, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.1028, - "output": 0.4112 - }, - "type": "chat" - }, - { - "id": "qwen3-vl-30b-a3b-thinking", - "name": "qwen3-vl-30b-a3b-thinking", - "display_name": "qwen3-vl-30b-a3b-thinking", - "modalities": { - "input": [ - "text", - "image", - "video" - ] - }, - "limit": { - "context": 128000, - "output": 128000 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "cost": { - "input": 0.1028, - "output": 1.028 - }, - "type": "chat" - }, - { - "id": "veo-3.0-generate-preview", - "name": "veo-3.0-generate-preview", - "display_name": "veo-3.0-generate-preview", + "id": "deepseek-ocr", + "name": "deepseek-ocr", + "display_name": "deepseek-ocr", "modalities": { "input": [ "text", - "image", - "video" + "image" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 8000, + "output": 8000 }, "tool_call": false, "reasoning": { "supported": false }, "cost": { - "input": 2, - "output": 2, - "cache_read": 0 + "input": 0.02, + "output": 0.02 }, "type": "chat" }, { - "id": "veo-3.1-fast-generate-preview", - "name": "veo-3.1-fast-generate-preview", - "display_name": "veo-3.1-fast-generate-preview", + "id": "aihubmix-router", + "name": "aihubmix-router", + "display_name": "aihubmix-router", "modalities": { "input": [ "text", - "image", - "video" + "image" ] }, "limit": { @@ -66465,15 +66868,16 @@ "supported": false }, "cost": { - "input": 2, - "output": 0 + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 }, "type": "chat" }, { - "id": "veo-3.1-generate-preview", - "name": "veo-3.1-generate-preview", - "display_name": "veo-3.1-generate-preview", + "id": "qwen3-vl-plus", + "name": "qwen3-vl-plus", + "display_name": "qwen3-vl-plus", "modalities": { "input": [ "text", @@ -66482,61 +66886,17 @@ ] }, "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 2, - "output": 2, - "cache_read": 0 - }, - "type": "chat" - }, - { - "id": "flux-kontext-max", - "name": "flux-kontext-max", - "display_name": "flux-kontext-max", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 2, - "output": 0, - "cache_read": 0 - }, - "type": "chat" - }, - { - "id": "aihubmix-router", - "name": "aihubmix-router", - "display_name": "aihubmix-router", - "modalities": { - "input": [ - "text", - "image" - ] - }, - "limit": { - "context": 8192, - "output": 8192 + "context": 256000, + "output": 256000 }, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "cost": { - "input": 0.4, - "output": 1.6, - "cache_read": 0.1 + "input": 0.137, + "output": 1.37, + "cache_read": 0.0274 }, "type": "chat" }, @@ -66565,32 +66925,6 @@ }, "type": "chat" }, - { - "id": "qwen3-vl-plus", - "name": "qwen3-vl-plus", - "display_name": "qwen3-vl-plus", - "modalities": { - "input": [ - "text", - "image", - "video" - ] - }, - "limit": { - "context": 256000, - "output": 256000 - }, - "tool_call": true, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.137, - "output": 1.37, - "cache_read": 0.0274 - }, - "type": "chat" - }, { "id": "gpt-4.1-nano", "name": "gpt-4.1-nano", @@ -66640,7 +66974,7 @@ "cost": { "input": 1.25, "output": 10, - "cache_read": 0.31 + "cache_read": 0.125 }, "type": "chat" }, @@ -66666,7 +67000,7 @@ "cost": { "input": 1.25, "output": 10, - "cache_read": 0.31 + "cache_read": 0.125 }, "type": "chat" }, @@ -66694,7 +67028,7 @@ "cost": { "input": 1.25, "output": 10, - "cache_read": 0.31 + "cache_read": 0.125 }, "type": "chat" }, @@ -66722,7 +67056,7 @@ "cost": { "input": 1.25, "output": 10, - "cache_read": 0.31 + "cache_read": 0.125 }, "type": "chat" }, @@ -67042,7 +67376,7 @@ "cost": { "input": 1.25, "output": 10, - "cache_read": 0.31 + "cache_read": 0.125 }, "type": "chat" }, @@ -67879,128 +68213,6 @@ }, "type": "embedding" }, - { - "id": "gemini-2.0-flash-preview-image-generation", - "name": "gemini-2.0-flash-preview-image-generation", - "display_name": "gemini-2.0-flash-preview-image-generation", - "modalities": { - "input": [ - "text", - "image" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.1, - "output": 0.4, - "cache_read": 0 - }, - "type": "chat" - }, - { - "id": "mimo-v2-flash-free", - "name": "mimo-v2-flash-free", - "display_name": "mimo-v2-flash-free", - "modalities": { - "input": [ - "text" - ] - }, - "limit": { - "context": 256000, - "output": 256000 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0, - "output": 0, - "cache_read": 0 - }, - "type": "chat" - }, - { - "id": "claude-3-7-sonnet", - "name": "claude-3-7-sonnet", - "display_name": "claude-3-7-sonnet", - "modalities": { - "input": [ - "text", - "image" - ] - }, - "limit": { - "context": 200000, - "output": 200000 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "cost": { - "input": 3.3, - "output": 16.5 - }, - "type": "chat" - }, - { - "id": "ernie-4.5", - "name": "ernie-4.5", - "display_name": "ernie-4.5", - "modalities": { - "input": [ - "text", - "image" - ] - }, - "limit": { - "context": 160000, - "output": 160000 - }, - "tool_call": true, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.068, - "output": 0.272 - }, - "type": "chat" - }, - { - "id": "ernie-4.5-turbo-vl", - "name": "ernie-4.5-turbo-vl", - "display_name": "ernie-4.5-turbo-vl", - "modalities": { - "input": [ - "text", - "image" - ] - }, - "limit": { - "context": 139000, - "output": 139000 - }, - "tool_call": true, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.4, - "output": 1.2 - }, - "type": "chat" - }, { "id": "gemini-2.0-flash", "name": "gemini-2.0-flash", @@ -68028,6 +68240,128 @@ }, "type": "chat" }, + { + "id": "gemini-2.0-flash-preview-image-generation", + "name": "gemini-2.0-flash-preview-image-generation", + "display_name": "gemini-2.0-flash-preview-image-generation", + "modalities": { + "input": [ + "text", + "image" + ] + }, + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0 + }, + "type": "chat" + }, + { + "id": "mimo-v2-flash-free", + "name": "mimo-v2-flash-free", + "display_name": "mimo-v2-flash-free", + "modalities": { + "input": [ + "text" + ] + }, + "limit": { + "context": 256000, + "output": 256000 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + }, + "type": "chat" + }, + { + "id": "claude-3-7-sonnet", + "name": "claude-3-7-sonnet", + "display_name": "claude-3-7-sonnet", + "modalities": { + "input": [ + "text", + "image" + ] + }, + "limit": { + "context": 200000, + "output": 200000 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "cost": { + "input": 3.3, + "output": 16.5 + }, + "type": "chat" + }, + { + "id": "ernie-4.5", + "name": "ernie-4.5", + "display_name": "ernie-4.5", + "modalities": { + "input": [ + "text", + "image" + ] + }, + "limit": { + "context": 160000, + "output": 160000 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.068, + "output": 0.272 + }, + "type": "chat" + }, + { + "id": "ernie-4.5-turbo-vl", + "name": "ernie-4.5-turbo-vl", + "display_name": "ernie-4.5-turbo-vl", + "modalities": { + "input": [ + "text", + "image" + ] + }, + "limit": { + "context": 139000, + "output": 139000 + }, + "tool_call": true, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.4, + "output": 1.2 + }, + "type": "chat" + }, { "id": "o3-mini", "name": "o3-mini", @@ -68198,6 +68532,24 @@ }, "type": "chat" }, + { + "id": "qwen-3-235b-a22b-thinking-2507", + "name": "qwen-3-235b-a22b-thinking-2507", + "display_name": "qwen-3-235b-a22b-thinking-2507", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.28, + "output": 2.8 + }, + "type": "chat" + }, { "id": "gemini-embedding-001", "name": "gemini-embedding-001", @@ -68245,24 +68597,6 @@ }, "type": "chat" }, - { - "id": "qwen-3-235b-a22b-thinking-2507", - "name": "qwen-3-235b-a22b-thinking-2507", - "display_name": "qwen-3-235b-a22b-thinking-2507", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.28, - "output": 2.8 - }, - "type": "chat" - }, { "id": "cc-kimi-for-coding", "name": "cc-kimi-for-coding", @@ -68359,7 +68693,7 @@ "cost": { "input": 1.25, "output": 10, - "cache_read": 0.31 + "cache_read": 0.125 }, "type": "chat" }, @@ -68577,25 +68911,6 @@ }, "type": "chat" }, - { - "id": "gemma-3-1b-it", - "name": "gemma-3-1b-it", - "display_name": "gemma-3-1b-it", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.2, - "output": 0.2, - "cache_read": 0 - }, - "type": "chat" - }, { "id": "gemma-3-27b-it", "name": "gemma-3-27b-it", @@ -68703,6 +69018,25 @@ }, "type": "imageGeneration" }, + { + "id": "gemma-3-1b-it", + "name": "gemma-3-1b-it", + "display_name": "gemma-3-1b-it", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.2, + "output": 0.2, + "cache_read": 0 + }, + "type": "chat" + }, { "id": "deepseek-r1-distill-llama-70b", "name": "deepseek-r1-distill-llama-70b", @@ -68996,6 +69330,24 @@ }, "type": "chat" }, + { + "id": "ernie-x1.1-preview", + "name": "ernie-x1.1-preview", + "display_name": "ernie-x1.1-preview", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.136, + "output": 0.544 + }, + "type": "chat" + }, { "id": "minimax-m2", "name": "minimax-m2", @@ -69019,24 +69371,6 @@ }, "type": "chat" }, - { - "id": "ernie-x1.1-preview", - "name": "ernie-x1.1-preview", - "display_name": "ernie-x1.1-preview", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.136, - "output": 0.544 - }, - "type": "chat" - }, { "id": "bge-large-en", "name": "bge-large-en", @@ -69501,25 +69835,6 @@ }, "type": "embedding" }, - { - "id": "google/gemma-3-27b-it", - "name": "google/gemma-3-27b-it", - "display_name": "google/gemma-3-27b-it", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.2, - "output": 0.2, - "cache_read": 0 - }, - "type": "chat" - }, { "id": "kimi-thinking-preview", "name": "kimi-thinking-preview", @@ -70137,9 +70452,9 @@ "type": "chat" }, { - "id": "glm-zero-preview", - "name": "glm-zero-preview", - "display_name": "glm-zero-preview", + "id": "qwen-3-235b-a22b-instruct-2507", + "name": "qwen-3-235b-a22b-instruct-2507", + "display_name": "qwen-3-235b-a22b-instruct-2507", "limit": { "context": 8192, "output": 8192 @@ -70149,15 +70464,15 @@ "supported": false }, "cost": { - "input": 2, - "output": 2 + "input": 0.28, + "output": 1.4 }, "type": "chat" }, { - "id": "qwen-3-235b-a22b-instruct-2507", - "name": "qwen-3-235b-a22b-instruct-2507", - "display_name": "qwen-3-235b-a22b-instruct-2507", + "id": "glm-zero-preview", + "name": "glm-zero-preview", + "display_name": "glm-zero-preview", "limit": { "context": 8192, "output": 8192 @@ -70167,8 +70482,8 @@ "supported": false }, "cost": { - "input": 0.28, - "output": 1.4 + "input": 2, + "output": 2 }, "type": "chat" }, @@ -70340,8 +70655,8 @@ "supported": false }, "cost": { - "input": 0.6, - "output": 0.6 + "input": 0.44, + "output": 0.44 }, "type": "chat" }, @@ -70363,30 +70678,6 @@ }, "type": "chat" }, - { - "id": "glm-4.5-flash", - "name": "glm-4.5-flash", - "display_name": "glm-4.5-flash", - "modalities": { - "input": [ - "text" - ] - }, - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0, - "output": 0, - "cache_read": 0 - }, - "type": "chat" - }, { "id": "gpt-image-test", "name": "gpt-image-test", @@ -70431,24 +70722,6 @@ }, "type": "imageGeneration" }, - { - "id": "llama3-8b-8192", - "name": "llama3-8b-8192", - "display_name": "llama3-8b-8192", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.06, - "output": 0.12 - }, - "type": "chat" - }, { "id": "llama3.1-8b", "name": "llama3.1-8b", @@ -70493,24 +70766,6 @@ }, "type": "chat" }, - { - "id": "sf-kimi-k2-thinking", - "name": "sf-kimi-k2-thinking", - "display_name": "sf-kimi-k2-thinking", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.548, - "output": 2.192 - }, - "type": "chat" - }, { "id": "bai-qwen3-vl-235b-a22b-instruct", "name": "bai-qwen3-vl-235b-a22b-instruct", @@ -70715,14 +70970,27 @@ "type": "chat" }, { - "id": "aihubmix-command-r-08-2024", - "name": "aihubmix-command-r-08-2024", - "display_name": "aihubmix-command-r-08-2024", - "modalities": { - "input": [ - "text" - ] + "id": "sf-kimi-k2-thinking", + "name": "sf-kimi-k2-thinking", + "display_name": "sf-kimi-k2-thinking", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.548, + "output": 2.192 }, + "type": "chat" + }, + { + "id": "omni-moderation-latest", + "name": "omni-moderation-latest", + "display_name": "omni-moderation-latest", "limit": { "context": 8192, "output": 8192 @@ -70733,19 +71001,33 @@ }, "cost": { "input": 0.2, - "output": 0.8 + "output": 0.2 }, "type": "chat" }, { - "id": "aihubmix-command-r-plus", - "name": "aihubmix-command-r-plus", - "display_name": "aihubmix-command-r-plus", - "modalities": { - "input": [ - "text" - ] + "id": "qwen-flash", + "name": "qwen-flash", + "display_name": "qwen-flash", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.02, + "output": 0.2, + "cache_read": 0.02 }, + "type": "chat" + }, + { + "id": "qwen-flash-2025-07-28", + "name": "qwen-flash-2025-07-28", + "display_name": "qwen-flash-2025-07-28", "limit": { "context": 8192, "output": 8192 @@ -70755,20 +71037,34 @@ "supported": false }, "cost": { - "input": 3.84, - "output": 19.2 + "input": 0.02, + "output": 0.2, + "cache_read": 0.02 }, "type": "chat" }, { - "id": "aihubmix-command-r-plus-08-2024", - "name": "aihubmix-command-r-plus-08-2024", - "display_name": "aihubmix-command-r-plus-08-2024", - "modalities": { - "input": [ - "text" - ] + "id": "qwen-long", + "name": "qwen-long", + "display_name": "qwen-long", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false }, + "cost": { + "input": 0.1, + "output": 0.4 + }, + "type": "chat" + }, + { + "id": "qwen-max", + "name": "qwen-max", + "display_name": "qwen-max", "limit": { "context": 8192, "output": 8192 @@ -70778,15 +71074,51 @@ "supported": false }, "cost": { - "input": 2.8, - "output": 11.2 + "input": 0.38, + "output": 1.52 }, "type": "chat" }, { - "id": "baidu-deepseek-v3.2", - "name": "baidu-deepseek-v3.2", - "display_name": "baidu-deepseek-v3.2", + "id": "qwen-max-longcontext", + "name": "qwen-max-longcontext", + "display_name": "qwen-max-longcontext", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 7, + "output": 21 + }, + "type": "chat" + }, + { + "id": "qwen-plus", + "name": "qwen-plus", + "display_name": "qwen-plus", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.7, + "output": 2.1 + }, + "type": "chat" + }, + { + "id": "qwen-turbo", + "name": "qwen-turbo", + "display_name": "qwen-turbo", "modalities": { "input": [ "text" @@ -70796,20 +71128,20 @@ "context": 8192, "output": 8192 }, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "cost": { - "input": 0.274, - "output": 0.411 + "input": 0.36, + "output": 1.08 }, "type": "chat" }, { - "id": "baidu-deepseek-v3.2-exp", - "name": "baidu-deepseek-v3.2-exp", - "display_name": "baidu-deepseek-v3.2-exp", + "id": "qwen-turbo-2024-11-01", + "name": "qwen-turbo-2024-11-01", + "display_name": "qwen-turbo-2024-11-01", "modalities": { "input": [ "text" @@ -70819,21 +71151,20 @@ "context": 8192, "output": 8192 }, - "tool_call": true, + "tool_call": false, "reasoning": { "supported": false }, "cost": { - "input": 0.274, - "output": 0.411, - "cache_read": 0.0274 + "input": 0.36, + "output": 1.08 }, "type": "chat" }, { - "id": "chatglm_lite", - "name": "chatglm_lite", - "display_name": "chatglm_lite", + "id": "qwen2.5-14b-instruct", + "name": "qwen2.5-14b-instruct", + "display_name": "qwen2.5-14b-instruct", "limit": { "context": 8192, "output": 8192 @@ -70843,15 +71174,15 @@ "supported": false }, "cost": { - "input": 0.2858, - "output": 0.2858 + "input": 0.4, + "output": 1.2 }, "type": "chat" }, { - "id": "chatglm_pro", - "name": "chatglm_pro", - "display_name": "chatglm_pro", + "id": "qwen2.5-32b-instruct", + "name": "qwen2.5-32b-instruct", + "display_name": "qwen2.5-32b-instruct", "limit": { "context": 8192, "output": 8192 @@ -70861,15 +71192,15 @@ "supported": false }, "cost": { - "input": 1.4286, - "output": 1.4286 + "input": 0.6, + "output": 1.2 }, "type": "chat" }, { - "id": "chatglm_std", - "name": "chatglm_std", - "display_name": "chatglm_std", + "id": "qwen2.5-3b-instruct", + "name": "qwen2.5-3b-instruct", + "display_name": "qwen2.5-3b-instruct", "limit": { "context": 8192, "output": 8192 @@ -70879,15 +71210,87 @@ "supported": false }, "cost": { - "input": 0.7144, - "output": 0.7144 + "input": 0.4, + "output": 0.8 }, "type": "chat" }, { - "id": "chatglm_turbo", - "name": "chatglm_turbo", - "display_name": "chatglm_turbo", + "id": "qwen2.5-72b-instruct", + "name": "qwen2.5-72b-instruct", + "display_name": "qwen2.5-72b-instruct", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.8, + "output": 2.4 + }, + "type": "chat" + }, + { + "id": "qwen2.5-7b-instruct", + "name": "qwen2.5-7b-instruct", + "display_name": "qwen2.5-7b-instruct", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.4, + "output": 0.8 + }, + "type": "chat" + }, + { + "id": "qwen2.5-coder-1.5b-instruct", + "name": "qwen2.5-coder-1.5b-instruct", + "display_name": "qwen2.5-coder-1.5b-instruct", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.2, + "output": 0.4 + }, + "type": "chat" + }, + { + "id": "qwen2.5-coder-7b-instruct", + "name": "qwen2.5-coder-7b-instruct", + "display_name": "qwen2.5-coder-7b-instruct", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.2, + "output": 0.4 + }, + "type": "chat" + }, + { + "id": "qwen2.5-math-1.5b-instruct", + "name": "qwen2.5-math-1.5b-instruct", + "display_name": "qwen2.5-math-1.5b-instruct", "limit": { "context": 8192, "output": 8192 @@ -70897,15 +71300,15 @@ "supported": false }, "cost": { - "input": 0.7144, - "output": 0.7144 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "claude-2", - "name": "claude-2", - "display_name": "claude-2", + "id": "qwen2.5-math-72b-instruct", + "name": "qwen2.5-math-72b-instruct", + "display_name": "qwen2.5-math-72b-instruct", "limit": { "context": 8192, "output": 8192 @@ -70915,15 +71318,15 @@ "supported": false }, "cost": { - "input": 8.8, - "output": 8.8 + "input": 0.8, + "output": 2.4 }, "type": "chat" }, { - "id": "claude-2.0", - "name": "claude-2.0", - "display_name": "claude-2.0", + "id": "qwen2.5-math-7b-instruct", + "name": "qwen2.5-math-7b-instruct", + "display_name": "qwen2.5-math-7b-instruct", "limit": { "context": 8192, "output": 8192 @@ -70933,15 +71336,15 @@ "supported": false }, "cost": { - "input": 8.8, - "output": 39.6 + "input": 0.2, + "output": 0.4 }, "type": "chat" }, { - "id": "claude-2.1", - "name": "claude-2.1", - "display_name": "claude-2.1", + "id": "sonar-reasoning-pro", + "name": "sonar-reasoning-pro", + "display_name": "sonar-reasoning-pro", "limit": { "context": 8192, "output": 8192 @@ -70951,45 +71354,33 @@ "supported": false }, "cost": { - "input": 8.8, - "output": 39.6 + "input": 3, + "output": 12 }, "type": "chat" }, { - "id": "claude-3-5-sonnet-20240620", - "name": "claude-3-5-sonnet-20240620", - "display_name": "claude-3-5-sonnet-20240620", - "modalities": { - "input": [ - "text", - "image" - ] - }, + "id": "step-2-16k", + "name": "step-2-16k", + "display_name": "step-2-16k", "limit": { - "context": 200000, - "output": 200000 + "context": 8192, + "output": 8192 }, "tool_call": false, "reasoning": { "supported": false }, "cost": { - "input": 3.3, - "output": 16.5 + "input": 2, + "output": 2 }, "type": "chat" }, { - "id": "claude-3-haiku-20240229", - "name": "claude-3-haiku-20240229", - "display_name": "claude-3-haiku-20240229", - "modalities": { - "input": [ - "text", - "image" - ] - }, + "id": "text-ada-001", + "name": "text-ada-001", + "display_name": "text-ada-001", "limit": { "context": 8192, "output": 8192 @@ -70999,21 +71390,15 @@ "supported": false }, "cost": { - "input": 0.275, - "output": 0.275 + "input": 0.4, + "output": 0.4 }, "type": "chat" }, { - "id": "claude-3-haiku-20240307", - "name": "claude-3-haiku-20240307", - "display_name": "claude-3-haiku-20240307", - "modalities": { - "input": [ - "text", - "image" - ] - }, + "id": "text-babbage-001", + "name": "text-babbage-001", + "display_name": "text-babbage-001", "limit": { "context": 8192, "output": 8192 @@ -71023,21 +71408,15 @@ "supported": false }, "cost": { - "input": 0.275, - "output": 1.375 + "input": 0.5, + "output": 0.5 }, "type": "chat" }, { - "id": "claude-3-sonnet-20240229", - "name": "claude-3-sonnet-20240229", - "display_name": "claude-3-sonnet-20240229", - "modalities": { - "input": [ - "text", - "image" - ] - }, + "id": "text-curie-001", + "name": "text-curie-001", + "display_name": "text-curie-001", "limit": { "context": 8192, "output": 8192 @@ -71047,15 +71426,15 @@ "supported": false }, "cost": { - "input": 3.3, - "output": 16.5 + "input": 2, + "output": 2 }, "type": "chat" }, { - "id": "claude-instant-1", - "name": "claude-instant-1", - "display_name": "claude-instant-1", + "id": "text-davinci-002", + "name": "text-davinci-002", + "display_name": "text-davinci-002", "limit": { "context": 8192, "output": 8192 @@ -71065,15 +71444,15 @@ "supported": false }, "cost": { - "input": 1.793, - "output": 1.793 + "input": 20, + "output": 20 }, "type": "chat" }, { - "id": "claude-instant-1.2", - "name": "claude-instant-1.2", - "display_name": "claude-instant-1.2", + "id": "text-davinci-003", + "name": "text-davinci-003", + "display_name": "text-davinci-003", "limit": { "context": 8192, "output": 8192 @@ -71083,15 +71462,15 @@ "supported": false }, "cost": { - "input": 0.88, - "output": 3.96 + "input": 20, + "output": 20 }, "type": "chat" }, { - "id": "code-davinci-edit-001", - "name": "code-davinci-edit-001", - "display_name": "code-davinci-edit-001", + "id": "text-davinci-edit-001", + "name": "text-davinci-edit-001", + "display_name": "text-davinci-edit-001", "limit": { "context": 8192, "output": 8192 @@ -71107,9 +71486,14 @@ "type": "chat" }, { - "id": "cogview-3", - "name": "cogview-3", - "display_name": "cogview-3", + "id": "text-embedding-3-large", + "name": "text-embedding-3-large", + "display_name": "text-embedding-3-large", + "modalities": { + "input": [ + "text" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -71119,15 +71503,20 @@ "supported": false }, "cost": { - "input": 35.5, - "output": 35.5 + "input": 0.13, + "output": 0.13 }, - "type": "chat" + "type": "embedding" }, { - "id": "cogview-3-plus", - "name": "cogview-3-plus", - "display_name": "cogview-3-plus", + "id": "text-embedding-3-small", + "name": "text-embedding-3-small", + "display_name": "text-embedding-3-small", + "modalities": { + "input": [ + "text" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -71137,15 +71526,15 @@ "supported": false }, "cost": { - "input": 10, - "output": 10 + "input": 0.02, + "output": 0.02 }, - "type": "chat" + "type": "embedding" }, { - "id": "command", - "name": "command", - "display_name": "command", + "id": "text-embedding-ada-002", + "name": "text-embedding-ada-002", + "display_name": "text-embedding-ada-002", "modalities": { "input": [ "text" @@ -71160,15 +71549,20 @@ "supported": false }, "cost": { - "input": 1, - "output": 2 + "input": 0.1, + "output": 0.1 }, - "type": "chat" + "type": "embedding" }, { - "id": "command-light", - "name": "command-light", - "display_name": "command-light", + "id": "text-embedding-v1", + "name": "text-embedding-v1", + "display_name": "text-embedding-v1", + "modalities": { + "input": [ + "text" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -71178,15 +71572,15 @@ "supported": false }, "cost": { - "input": 1, - "output": 2 + "input": 0.1, + "output": 0.1 }, - "type": "chat" + "type": "embedding" }, { - "id": "command-light-nightly", - "name": "command-light-nightly", - "display_name": "command-light-nightly", + "id": "text-moderation-007", + "name": "text-moderation-007", + "display_name": "text-moderation-007", "limit": { "context": 8192, "output": 8192 @@ -71196,15 +71590,15 @@ "supported": false }, "cost": { - "input": 1, - "output": 2 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "command-nightly", - "name": "command-nightly", - "display_name": "command-nightly", + "id": "text-moderation-latest", + "name": "text-moderation-latest", + "display_name": "text-moderation-latest", "limit": { "context": 8192, "output": 8192 @@ -71214,20 +71608,15 @@ "supported": false }, "cost": { - "input": 1, - "output": 2 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "command-r", - "name": "command-r", - "display_name": "command-r", - "modalities": { - "input": [ - "text" - ] - }, + "id": "text-moderation-stable", + "name": "text-moderation-stable", + "display_name": "text-moderation-stable", "limit": { "context": 8192, "output": 8192 @@ -71237,20 +71626,15 @@ "supported": false }, "cost": { - "input": 0.64, - "output": 1.92 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "command-r-08-2024", - "name": "command-r-08-2024", - "display_name": "command-r-08-2024", - "modalities": { - "input": [ - "text" - ] - }, + "id": "text-search-ada-doc-001", + "name": "text-search-ada-doc-001", + "display_name": "text-search-ada-doc-001", "limit": { "context": 8192, "output": 8192 @@ -71260,18 +71644,18 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.8 + "input": 20, + "output": 20 }, "type": "chat" }, { - "id": "command-r-plus", - "name": "command-r-plus", - "display_name": "command-r-plus", + "id": "tts-1", + "name": "tts-1", + "display_name": "tts-1", "modalities": { "input": [ - "text" + "audio" ] }, "limit": { @@ -71283,18 +71667,17 @@ "supported": false }, "cost": { - "input": 3.84, - "output": 19.2 - }, - "type": "chat" + "input": 15, + "output": 15 + } }, { - "id": "command-r-plus-08-2024", - "name": "command-r-plus-08-2024", - "display_name": "command-r-plus-08-2024", + "id": "tts-1-1106", + "name": "tts-1-1106", + "display_name": "tts-1-1106", "modalities": { "input": [ - "text" + "audio" ] }, "limit": { @@ -71306,19 +71689,17 @@ "supported": false }, "cost": { - "input": 2.8, - "output": 11.2 - }, - "type": "chat" + "input": 15, + "output": 15 + } }, { - "id": "dall-e-2", - "name": "dall-e-2", - "display_name": "dall-e-2", + "id": "tts-1-hd", + "name": "tts-1-hd", + "display_name": "tts-1-hd", "modalities": { "input": [ - "text", - "image" + "audio" ] }, "limit": { @@ -71330,15 +71711,19 @@ "supported": false }, "cost": { - "input": 16, - "output": 16 - }, - "type": "imageGeneration" + "input": 30, + "output": 30 + } }, { - "id": "davinci", - "name": "davinci", - "display_name": "davinci", + "id": "tts-1-hd-1106", + "name": "tts-1-hd-1106", + "display_name": "tts-1-hd-1106", + "modalities": { + "input": [ + "audio" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -71348,15 +71733,22 @@ "supported": false }, "cost": { - "input": 20, - "output": 20 - }, - "type": "chat" + "input": 30, + "output": 30 + } }, { - "id": "davinci-002", - "name": "davinci-002", - "display_name": "davinci-002", + "id": "veo-3", + "name": "veo-3", + "display_name": "veo-3", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -71367,14 +71759,23 @@ }, "cost": { "input": 2, - "output": 2 + "output": 2, + "cache_read": 0 }, "type": "chat" }, { - "id": "deepinfra-llama-3.1-8b-instant", - "name": "deepinfra-llama-3.1-8b-instant", - "display_name": "deepinfra-llama-3.1-8b-instant", + "id": "veo3", + "name": "veo3", + "display_name": "veo3", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -71384,15 +71785,21 @@ "supported": false }, "cost": { - "input": 0.033, - "output": 0.054978 + "input": 2, + "output": 2, + "cache_read": 0 }, "type": "chat" }, { - "id": "deepinfra-llama-3.3-70b-instant-turbo", - "name": "deepinfra-llama-3.3-70b-instant-turbo", - "display_name": "deepinfra-llama-3.3-70b-instant-turbo", + "id": "whisper-1", + "name": "whisper-1", + "display_name": "whisper-1", + "modalities": { + "input": [ + "audio" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -71402,15 +71809,20 @@ "supported": false }, "cost": { - "input": 0.11, - "output": 0.352 + "input": 100, + "output": 100 }, "type": "chat" }, { - "id": "deepinfra-llama-4-maverick-17b-128e-instruct", - "name": "deepinfra-llama-4-maverick-17b-128e-instruct", - "display_name": "deepinfra-llama-4-maverick-17b-128e-instruct", + "id": "whisper-large-v3", + "name": "whisper-large-v3", + "display_name": "whisper-large-v3", + "modalities": { + "input": [ + "audio" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -71420,15 +71832,20 @@ "supported": false }, "cost": { - "input": 1.65, - "output": 6.6 + "input": 30.834, + "output": 30.834 }, "type": "chat" }, { - "id": "deepinfra-llama-4-scout-17b-16e-instruct", - "name": "deepinfra-llama-4-scout-17b-16e-instruct", - "display_name": "deepinfra-llama-4-scout-17b-16e-instruct", + "id": "whisper-large-v3-turbo", + "name": "whisper-large-v3-turbo", + "display_name": "whisper-large-v3-turbo", + "modalities": { + "input": [ + "audio" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -71438,16 +71855,15 @@ "supported": false }, "cost": { - "input": 0.088, - "output": 0.33, - "cache_read": 0 + "input": 5.556, + "output": 5.556 }, "type": "chat" }, { - "id": "deepseek-ai/deepseek-llm-67b-chat", - "name": "deepseek-ai/deepseek-llm-67b-chat", - "display_name": "deepseek-ai/deepseek-llm-67b-chat", + "id": "yi-large", + "name": "yi-large", + "display_name": "yi-large", "limit": { "context": 8192, "output": 8192 @@ -71457,15 +71873,15 @@ "supported": false }, "cost": { - "input": 0.16, - "output": 0.16 + "input": 3, + "output": 3 }, "type": "chat" }, { - "id": "deepseek-ai/deepseek-vl2", - "name": "deepseek-ai/deepseek-vl2", - "display_name": "deepseek-ai/deepseek-vl2", + "id": "yi-large-rag", + "name": "yi-large-rag", + "display_name": "yi-large-rag", "limit": { "context": 8192, "output": 8192 @@ -71475,15 +71891,15 @@ "supported": false }, "cost": { - "input": 0.16, - "output": 0.16 + "input": 4, + "output": 4 }, "type": "chat" }, { - "id": "deepseek-v3", - "name": "deepseek-v3", - "display_name": "deepseek-v3", + "id": "yi-large-turbo", + "name": "yi-large-turbo", + "display_name": "yi-large-turbo", "limit": { "context": 8192, "output": 8192 @@ -71493,21 +71909,15 @@ "supported": false }, "cost": { - "input": 0.272, - "output": 1.088, - "cache_read": 0 + "input": 1.8, + "output": 1.8 }, "type": "chat" }, { - "id": "distil-whisper-large-v3-en", - "name": "distil-whisper-large-v3-en", - "display_name": "distil-whisper-large-v3-en", - "modalities": { - "input": [ - "audio" - ] - }, + "id": "yi-lightning", + "name": "yi-lightning", + "display_name": "yi-lightning", "limit": { "context": 8192, "output": 8192 @@ -71517,15 +71927,15 @@ "supported": false }, "cost": { - "input": 5.556, - "output": 5.556 + "input": 0.2, + "output": 0.2 }, "type": "chat" }, { - "id": "doubao-1-5-thinking-vision-pro-250428", - "name": "doubao-1-5-thinking-vision-pro-250428", - "display_name": "doubao-1-5-thinking-vision-pro-250428", + "id": "yi-medium", + "name": "yi-medium", + "display_name": "yi-medium", "limit": { "context": 8192, "output": 8192 @@ -71535,28 +71945,26 @@ "supported": false }, "cost": { - "input": 2, - "output": 2, - "cache_read": 2 + "input": 0.4, + "output": 0.4 }, "type": "chat" }, { - "id": "doubao-seed-1-8-251215", - "name": "doubao-seed-1-8-251215", - "display_name": "doubao-seed-1-8-251215", + "id": "yi-vl-plus", + "name": "yi-vl-plus", + "display_name": "yi-vl-plus", "limit": { - "context": 256000, - "output": 256000 + "context": 8192, + "output": 8192 }, "tool_call": false, "reasoning": { "supported": false }, "cost": { - "input": 0.10959, - "output": 0.273975, - "cache_read": 0.021918 + "input": 0.000852, + "output": 0.000852 }, "type": "chat" }, @@ -71666,7 +72074,7 @@ "cost": { "input": 1.25, "output": 5, - "cache_read": 0.31 + "cache_read": 0.125 }, "type": "chat" }, @@ -71933,6 +72341,62 @@ }, "type": "chat" }, + { + "id": "google-gemma-3-12b-it", + "name": "google-gemma-3-12b-it", + "display_name": "google-gemma-3-12b-it", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.2, + "output": 0.2 + }, + "type": "chat" + }, + { + "id": "google-gemma-3-27b-it", + "name": "google-gemma-3-27b-it", + "display_name": "google-gemma-3-27b-it", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.2, + "output": 0.2, + "cache_read": 0 + }, + "type": "chat" + }, + { + "id": "google-gemma-3-4b-it", + "name": "google-gemma-3-4b-it", + "display_name": "google-gemma-3-4b-it", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.2, + "output": 0.2, + "cache_read": 0 + }, + "type": "chat" + }, { "id": "google/gemini-exp-1114", "name": "google/gemini-exp-1114", @@ -72817,6 +73281,24 @@ }, "type": "chat" }, + { + "id": "llama3-8b-8192", + "name": "llama3-8b-8192", + "display_name": "llama3-8b-8192", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.06, + "output": 0.12 + }, + "type": "chat" + }, { "id": "llama3-groq-70b-8192-tool-use-preview", "name": "llama3-groq-70b-8192-tool-use-preview", @@ -73125,137 +73607,9 @@ "type": "chat" }, { - "id": "omni-moderation-latest", - "name": "omni-moderation-latest", - "display_name": "omni-moderation-latest", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.2, - "output": 0.2 - }, - "type": "chat" - }, - { - "id": "qwen-flash", - "name": "qwen-flash", - "display_name": "qwen-flash", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.02, - "output": 0.2, - "cache_read": 0.02 - }, - "type": "chat" - }, - { - "id": "qwen-flash-2025-07-28", - "name": "qwen-flash-2025-07-28", - "display_name": "qwen-flash-2025-07-28", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.02, - "output": 0.2, - "cache_read": 0.02 - }, - "type": "chat" - }, - { - "id": "qwen-long", - "name": "qwen-long", - "display_name": "qwen-long", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.1, - "output": 0.4 - }, - "type": "chat" - }, - { - "id": "qwen-max", - "name": "qwen-max", - "display_name": "qwen-max", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.38, - "output": 1.52 - }, - "type": "chat" - }, - { - "id": "qwen-max-longcontext", - "name": "qwen-max-longcontext", - "display_name": "qwen-max-longcontext", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 7, - "output": 21 - }, - "type": "chat" - }, - { - "id": "qwen-plus", - "name": "qwen-plus", - "display_name": "qwen-plus", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.7, - "output": 2.1 - }, - "type": "chat" - }, - { - "id": "qwen-turbo", - "name": "qwen-turbo", - "display_name": "qwen-turbo", + "id": "aihubmix-command-r-08-2024", + "name": "aihubmix-command-r-08-2024", + "display_name": "aihubmix-command-r-08-2024", "modalities": { "input": [ "text" @@ -73270,15 +73624,15 @@ "supported": false }, "cost": { - "input": 0.36, - "output": 1.08 + "input": 0.2, + "output": 0.8 }, "type": "chat" }, { - "id": "qwen-turbo-2024-11-01", - "name": "qwen-turbo-2024-11-01", - "display_name": "qwen-turbo-2024-11-01", + "id": "aihubmix-command-r-plus", + "name": "aihubmix-command-r-plus", + "display_name": "aihubmix-command-r-plus", "modalities": { "input": [ "text" @@ -73293,141 +73647,20 @@ "supported": false }, "cost": { - "input": 0.36, - "output": 1.08 - }, - "type": "chat" - }, - { - "id": "qwen2.5-14b-instruct", - "name": "qwen2.5-14b-instruct", - "display_name": "qwen2.5-14b-instruct", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.4, - "output": 1.2 - }, - "type": "chat" - }, - { - "id": "qwen2.5-32b-instruct", - "name": "qwen2.5-32b-instruct", - "display_name": "qwen2.5-32b-instruct", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.6, - "output": 1.2 - }, - "type": "chat" - }, - { - "id": "qwen2.5-3b-instruct", - "name": "qwen2.5-3b-instruct", - "display_name": "qwen2.5-3b-instruct", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.4, - "output": 0.8 - }, - "type": "chat" - }, - { - "id": "qwen2.5-72b-instruct", - "name": "qwen2.5-72b-instruct", - "display_name": "qwen2.5-72b-instruct", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.8, - "output": 2.4 - }, - "type": "chat" - }, - { - "id": "qwen2.5-7b-instruct", - "name": "qwen2.5-7b-instruct", - "display_name": "qwen2.5-7b-instruct", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.4, - "output": 0.8 - }, - "type": "chat" - }, - { - "id": "qwen2.5-coder-1.5b-instruct", - "name": "qwen2.5-coder-1.5b-instruct", - "display_name": "qwen2.5-coder-1.5b-instruct", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.2, - "output": 0.4 + "input": 3.84, + "output": 19.2 }, "type": "chat" }, { - "id": "qwen2.5-coder-7b-instruct", - "name": "qwen2.5-coder-7b-instruct", - "display_name": "qwen2.5-coder-7b-instruct", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.2, - "output": 0.4 + "id": "aihubmix-command-r-plus-08-2024", + "name": "aihubmix-command-r-plus-08-2024", + "display_name": "aihubmix-command-r-plus-08-2024", + "modalities": { + "input": [ + "text" + ] }, - "type": "chat" - }, - { - "id": "qwen2.5-math-1.5b-instruct", - "name": "qwen2.5-math-1.5b-instruct", - "display_name": "qwen2.5-math-1.5b-instruct", "limit": { "context": 8192, "output": 8192 @@ -73437,69 +73670,62 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.2 + "input": 2.8, + "output": 11.2 }, "type": "chat" }, { - "id": "qwen2.5-math-72b-instruct", - "name": "qwen2.5-math-72b-instruct", - "display_name": "qwen2.5-math-72b-instruct", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 0.8, - "output": 2.4 + "id": "baidu-deepseek-v3.2", + "name": "baidu-deepseek-v3.2", + "display_name": "baidu-deepseek-v3.2", + "modalities": { + "input": [ + "text" + ] }, - "type": "chat" - }, - { - "id": "qwen2.5-math-7b-instruct", - "name": "qwen2.5-math-7b-instruct", - "display_name": "qwen2.5-math-7b-instruct", "limit": { "context": 8192, "output": 8192 }, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "cost": { - "input": 0.2, - "output": 0.4 + "input": 0.274, + "output": 0.411 }, "type": "chat" }, { - "id": "sonar-reasoning-pro", - "name": "sonar-reasoning-pro", - "display_name": "sonar-reasoning-pro", + "id": "baidu-deepseek-v3.2-exp", + "name": "baidu-deepseek-v3.2-exp", + "display_name": "baidu-deepseek-v3.2-exp", + "modalities": { + "input": [ + "text" + ] + }, "limit": { "context": 8192, "output": 8192 }, - "tool_call": false, + "tool_call": true, "reasoning": { "supported": false }, "cost": { - "input": 3, - "output": 12 + "input": 0.274, + "output": 0.411, + "cache_read": 0.0274 }, "type": "chat" }, { - "id": "step-2-16k", - "name": "step-2-16k", - "display_name": "step-2-16k", + "id": "cerebras-llama-3.3-70b", + "name": "cerebras-llama-3.3-70b", + "display_name": "cerebras-llama-3.3-70b", "limit": { "context": 8192, "output": 8192 @@ -73509,15 +73735,15 @@ "supported": false }, "cost": { - "input": 2, - "output": 2 + "input": 0.6, + "output": 0.6 }, "type": "chat" }, { - "id": "text-ada-001", - "name": "text-ada-001", - "display_name": "text-ada-001", + "id": "chatglm_lite", + "name": "chatglm_lite", + "display_name": "chatglm_lite", "limit": { "context": 8192, "output": 8192 @@ -73527,15 +73753,15 @@ "supported": false }, "cost": { - "input": 0.4, - "output": 0.4 + "input": 0.2858, + "output": 0.2858 }, "type": "chat" }, { - "id": "text-babbage-001", - "name": "text-babbage-001", - "display_name": "text-babbage-001", + "id": "chatglm_pro", + "name": "chatglm_pro", + "display_name": "chatglm_pro", "limit": { "context": 8192, "output": 8192 @@ -73545,15 +73771,15 @@ "supported": false }, "cost": { - "input": 0.5, - "output": 0.5 + "input": 1.4286, + "output": 1.4286 }, "type": "chat" }, { - "id": "text-curie-001", - "name": "text-curie-001", - "display_name": "text-curie-001", + "id": "chatglm_std", + "name": "chatglm_std", + "display_name": "chatglm_std", "limit": { "context": 8192, "output": 8192 @@ -73563,15 +73789,15 @@ "supported": false }, "cost": { - "input": 2, - "output": 2 + "input": 0.7144, + "output": 0.7144 }, "type": "chat" }, { - "id": "text-davinci-002", - "name": "text-davinci-002", - "display_name": "text-davinci-002", + "id": "chatglm_turbo", + "name": "chatglm_turbo", + "display_name": "chatglm_turbo", "limit": { "context": 8192, "output": 8192 @@ -73581,15 +73807,15 @@ "supported": false }, "cost": { - "input": 20, - "output": 20 + "input": 0.7144, + "output": 0.7144 }, "type": "chat" }, { - "id": "text-davinci-003", - "name": "text-davinci-003", - "display_name": "text-davinci-003", + "id": "claude-2", + "name": "claude-2", + "display_name": "claude-2", "limit": { "context": 8192, "output": 8192 @@ -73599,15 +73825,15 @@ "supported": false }, "cost": { - "input": 20, - "output": 20 + "input": 8.8, + "output": 8.8 }, "type": "chat" }, { - "id": "text-davinci-edit-001", - "name": "text-davinci-edit-001", - "display_name": "text-davinci-edit-001", + "id": "claude-2.0", + "name": "claude-2.0", + "display_name": "claude-2.0", "limit": { "context": 8192, "output": 8192 @@ -73617,20 +73843,15 @@ "supported": false }, "cost": { - "input": 20, - "output": 20 + "input": 8.8, + "output": 39.6 }, "type": "chat" }, { - "id": "text-embedding-3-large", - "name": "text-embedding-3-large", - "display_name": "text-embedding-3-large", - "modalities": { - "input": [ - "text" - ] - }, + "id": "claude-2.1", + "name": "claude-2.1", + "display_name": "claude-2.1", "limit": { "context": 8192, "output": 8192 @@ -73640,41 +73861,43 @@ "supported": false }, "cost": { - "input": 0.13, - "output": 0.13 + "input": 8.8, + "output": 39.6 }, - "type": "embedding" + "type": "chat" }, { - "id": "text-embedding-3-small", - "name": "text-embedding-3-small", - "display_name": "text-embedding-3-small", + "id": "claude-3-5-sonnet-20240620", + "name": "claude-3-5-sonnet-20240620", + "display_name": "claude-3-5-sonnet-20240620", "modalities": { "input": [ - "text" + "text", + "image" ] }, "limit": { - "context": 8192, - "output": 8192 + "context": 200000, + "output": 200000 }, "tool_call": false, "reasoning": { "supported": false }, "cost": { - "input": 0.02, - "output": 0.02 + "input": 3.3, + "output": 16.5 }, - "type": "embedding" + "type": "chat" }, { - "id": "text-embedding-ada-002", - "name": "text-embedding-ada-002", - "display_name": "text-embedding-ada-002", + "id": "claude-3-haiku-20240229", + "name": "claude-3-haiku-20240229", + "display_name": "claude-3-haiku-20240229", "modalities": { "input": [ - "text" + "text", + "image" ] }, "limit": { @@ -73686,18 +73909,19 @@ "supported": false }, "cost": { - "input": 0.1, - "output": 0.1 + "input": 0.275, + "output": 0.275 }, - "type": "embedding" + "type": "chat" }, { - "id": "text-embedding-v1", - "name": "text-embedding-v1", - "display_name": "text-embedding-v1", + "id": "claude-3-haiku-20240307", + "name": "claude-3-haiku-20240307", + "display_name": "claude-3-haiku-20240307", "modalities": { "input": [ - "text" + "text", + "image" ] }, "limit": { @@ -73709,15 +73933,21 @@ "supported": false }, "cost": { - "input": 0.1, - "output": 0.1 + "input": 0.275, + "output": 1.375 }, - "type": "embedding" + "type": "chat" }, { - "id": "text-moderation-007", - "name": "text-moderation-007", - "display_name": "text-moderation-007", + "id": "claude-3-sonnet-20240229", + "name": "claude-3-sonnet-20240229", + "display_name": "claude-3-sonnet-20240229", + "modalities": { + "input": [ + "text", + "image" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -73727,15 +73957,15 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.2 + "input": 3.3, + "output": 16.5 }, "type": "chat" }, { - "id": "text-moderation-latest", - "name": "text-moderation-latest", - "display_name": "text-moderation-latest", + "id": "claude-instant-1", + "name": "claude-instant-1", + "display_name": "claude-instant-1", "limit": { "context": 8192, "output": 8192 @@ -73745,15 +73975,15 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.2 + "input": 1.793, + "output": 1.793 }, "type": "chat" }, { - "id": "text-moderation-stable", - "name": "text-moderation-stable", - "display_name": "text-moderation-stable", + "id": "claude-instant-1.2", + "name": "claude-instant-1.2", + "display_name": "claude-instant-1.2", "limit": { "context": 8192, "output": 8192 @@ -73763,15 +73993,15 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.2 + "input": 0.88, + "output": 3.96 }, "type": "chat" }, { - "id": "text-search-ada-doc-001", - "name": "text-search-ada-doc-001", - "display_name": "text-search-ada-doc-001", + "id": "code-davinci-edit-001", + "name": "code-davinci-edit-001", + "display_name": "code-davinci-edit-001", "limit": { "context": 8192, "output": 8192 @@ -73787,14 +74017,9 @@ "type": "chat" }, { - "id": "tts-1", - "name": "tts-1", - "display_name": "tts-1", - "modalities": { - "input": [ - "audio" - ] - }, + "id": "cogview-3", + "name": "cogview-3", + "display_name": "cogview-3", "limit": { "context": 8192, "output": 8192 @@ -73804,19 +74029,15 @@ "supported": false }, "cost": { - "input": 15, - "output": 15 - } + "input": 35.5, + "output": 35.5 + }, + "type": "chat" }, { - "id": "tts-1-1106", - "name": "tts-1-1106", - "display_name": "tts-1-1106", - "modalities": { - "input": [ - "audio" - ] - }, + "id": "cogview-3-plus", + "name": "cogview-3-plus", + "display_name": "cogview-3-plus", "limit": { "context": 8192, "output": 8192 @@ -73826,17 +74047,18 @@ "supported": false }, "cost": { - "input": 15, - "output": 15 - } + "input": 10, + "output": 10 + }, + "type": "chat" }, { - "id": "tts-1-hd", - "name": "tts-1-hd", - "display_name": "tts-1-hd", + "id": "command", + "name": "command", + "display_name": "command", "modalities": { "input": [ - "audio" + "text" ] }, "limit": { @@ -73848,19 +74070,15 @@ "supported": false }, "cost": { - "input": 30, - "output": 30 - } + "input": 1, + "output": 2 + }, + "type": "chat" }, { - "id": "tts-1-hd-1106", - "name": "tts-1-hd-1106", - "display_name": "tts-1-hd-1106", - "modalities": { - "input": [ - "audio" - ] - }, + "id": "command-light", + "name": "command-light", + "display_name": "command-light", "limit": { "context": 8192, "output": 8192 @@ -73870,22 +74088,15 @@ "supported": false }, "cost": { - "input": 30, - "output": 30 - } + "input": 1, + "output": 2 + }, + "type": "chat" }, { - "id": "veo-3", - "name": "veo-3", - "display_name": "veo-3", - "modalities": { - "input": [ - "text", - "image", - "audio", - "video" - ] - }, + "id": "command-light-nightly", + "name": "command-light-nightly", + "display_name": "command-light-nightly", "limit": { "context": 8192, "output": 8192 @@ -73895,24 +74106,15 @@ "supported": false }, "cost": { - "input": 2, - "output": 2, - "cache_read": 0 + "input": 1, + "output": 2 }, "type": "chat" }, { - "id": "veo3", - "name": "veo3", - "display_name": "veo3", - "modalities": { - "input": [ - "text", - "image", - "audio", - "video" - ] - }, + "id": "command-nightly", + "name": "command-nightly", + "display_name": "command-nightly", "limit": { "context": 8192, "output": 8192 @@ -73922,19 +74124,18 @@ "supported": false }, "cost": { - "input": 2, - "output": 2, - "cache_read": 0 + "input": 1, + "output": 2 }, "type": "chat" }, { - "id": "whisper-1", - "name": "whisper-1", - "display_name": "whisper-1", + "id": "command-r", + "name": "command-r", + "display_name": "command-r", "modalities": { "input": [ - "audio" + "text" ] }, "limit": { @@ -73946,18 +74147,18 @@ "supported": false }, "cost": { - "input": 100, - "output": 100 + "input": 0.64, + "output": 1.92 }, "type": "chat" }, { - "id": "whisper-large-v3", - "name": "whisper-large-v3", - "display_name": "whisper-large-v3", + "id": "command-r-08-2024", + "name": "command-r-08-2024", + "display_name": "command-r-08-2024", "modalities": { "input": [ - "audio" + "text" ] }, "limit": { @@ -73969,18 +74170,18 @@ "supported": false }, "cost": { - "input": 30.834, - "output": 30.834 + "input": 0.2, + "output": 0.8 }, "type": "chat" }, { - "id": "whisper-large-v3-turbo", - "name": "whisper-large-v3-turbo", - "display_name": "whisper-large-v3-turbo", + "id": "command-r-plus", + "name": "command-r-plus", + "display_name": "command-r-plus", "modalities": { "input": [ - "audio" + "text" ] }, "limit": { @@ -73992,33 +74193,20 @@ "supported": false }, "cost": { - "input": 5.556, - "output": 5.556 + "input": 3.84, + "output": 19.2 }, "type": "chat" }, { - "id": "yi-large", - "name": "yi-large", - "display_name": "yi-large", - "limit": { - "context": 8192, - "output": 8192 - }, - "tool_call": false, - "reasoning": { - "supported": false - }, - "cost": { - "input": 3, - "output": 3 + "id": "command-r-plus-08-2024", + "name": "command-r-plus-08-2024", + "display_name": "command-r-plus-08-2024", + "modalities": { + "input": [ + "text" + ] }, - "type": "chat" - }, - { - "id": "yi-large-rag", - "name": "yi-large-rag", - "display_name": "yi-large-rag", "limit": { "context": 8192, "output": 8192 @@ -74028,15 +74216,21 @@ "supported": false }, "cost": { - "input": 4, - "output": 4 + "input": 2.8, + "output": 11.2 }, "type": "chat" }, { - "id": "yi-large-turbo", - "name": "yi-large-turbo", - "display_name": "yi-large-turbo", + "id": "dall-e-2", + "name": "dall-e-2", + "display_name": "dall-e-2", + "modalities": { + "input": [ + "text", + "image" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -74046,15 +74240,15 @@ "supported": false }, "cost": { - "input": 1.8, - "output": 1.8 + "input": 16, + "output": 16 }, - "type": "chat" + "type": "imageGeneration" }, { - "id": "yi-lightning", - "name": "yi-lightning", - "display_name": "yi-lightning", + "id": "davinci", + "name": "davinci", + "display_name": "davinci", "limit": { "context": 8192, "output": 8192 @@ -74064,15 +74258,15 @@ "supported": false }, "cost": { - "input": 0.2, - "output": 0.2 + "input": 20, + "output": 20 }, "type": "chat" }, { - "id": "yi-medium", - "name": "yi-medium", - "display_name": "yi-medium", + "id": "davinci-002", + "name": "davinci-002", + "display_name": "davinci-002", "limit": { "context": 8192, "output": 8192 @@ -74082,15 +74276,15 @@ "supported": false }, "cost": { - "input": 0.4, - "output": 0.4 + "input": 2, + "output": 2 }, "type": "chat" }, { - "id": "yi-vl-plus", - "name": "yi-vl-plus", - "display_name": "yi-vl-plus", + "id": "deepinfra-llama-3.1-8b-instant", + "name": "deepinfra-llama-3.1-8b-instant", + "display_name": "deepinfra-llama-3.1-8b-instant", "limit": { "context": 8192, "output": 8192 @@ -74100,15 +74294,15 @@ "supported": false }, "cost": { - "input": 0.000852, - "output": 0.000852 + "input": 0.033, + "output": 0.054978 }, "type": "chat" }, { - "id": "gpt-4o-2024-08-06-global", - "name": "gpt-4o-2024-08-06-global", - "display_name": "gpt-4o-2024-08-06-global", + "id": "deepinfra-llama-3.3-70b-instant-turbo", + "name": "deepinfra-llama-3.3-70b-instant-turbo", + "display_name": "deepinfra-llama-3.3-70b-instant-turbo", "limit": { "context": 8192, "output": 8192 @@ -74118,16 +74312,15 @@ "supported": false }, "cost": { - "input": 2.5, - "output": 10, - "cache_read": 1.25 + "input": 0.11, + "output": 0.352 }, "type": "chat" }, { - "id": "gpt-4o-mini-global", - "name": "gpt-4o-mini-global", - "display_name": "gpt-4o-mini-global", + "id": "deepinfra-llama-4-maverick-17b-128e-instruct", + "name": "deepinfra-llama-4-maverick-17b-128e-instruct", + "display_name": "deepinfra-llama-4-maverick-17b-128e-instruct", "limit": { "context": 8192, "output": 8192 @@ -74137,16 +74330,15 @@ "supported": false }, "cost": { - "input": 0.15, - "output": 0.6, - "cache_read": 0.075 + "input": 1.65, + "output": 6.6 }, "type": "chat" }, { - "id": "meta-llama-3-70b", - "name": "meta-llama-3-70b", - "display_name": "meta-llama-3-70b", + "id": "deepinfra-llama-4-scout-17b-16e-instruct", + "name": "deepinfra-llama-4-scout-17b-16e-instruct", + "display_name": "deepinfra-llama-4-scout-17b-16e-instruct", "limit": { "context": 8192, "output": 8192 @@ -74156,15 +74348,16 @@ "supported": false }, "cost": { - "input": 4.795, - "output": 4.795 + "input": 0.088, + "output": 0.33, + "cache_read": 0 }, "type": "chat" }, { - "id": "meta-llama-3-8b", - "name": "meta-llama-3-8b", - "display_name": "meta-llama-3-8b", + "id": "deepseek-ai/deepseek-llm-67b-chat", + "name": "deepseek-ai/deepseek-llm-67b-chat", + "display_name": "deepseek-ai/deepseek-llm-67b-chat", "limit": { "context": 8192, "output": 8192 @@ -74174,15 +74367,15 @@ "supported": false }, "cost": { - "input": 0.548, - "output": 0.548 + "input": 0.16, + "output": 0.16 }, "type": "chat" }, { - "id": "o3-global", - "name": "o3-global", - "display_name": "o3-global", + "id": "deepseek-ai/deepseek-vl2", + "name": "deepseek-ai/deepseek-vl2", + "display_name": "deepseek-ai/deepseek-vl2", "limit": { "context": 8192, "output": 8192 @@ -74192,16 +74385,15 @@ "supported": false }, "cost": { - "input": 2, - "output": 8, - "cache_read": 0.5 + "input": 0.16, + "output": 0.16 }, "type": "chat" }, { - "id": "o3-mini-global", - "name": "o3-mini-global", - "display_name": "o3-mini-global", + "id": "deepseek-v3", + "name": "deepseek-v3", + "display_name": "deepseek-v3", "limit": { "context": 8192, "output": 8192 @@ -74211,16 +74403,21 @@ "supported": false }, "cost": { - "input": 1.1, - "output": 4.4, - "cache_read": 0.55 + "input": 0.272, + "output": 1.088, + "cache_read": 0 }, "type": "chat" }, { - "id": "o3-pro-global", - "name": "o3-pro-global", - "display_name": "o3-pro-global", + "id": "distil-whisper-large-v3-en", + "name": "distil-whisper-large-v3-en", + "display_name": "distil-whisper-large-v3-en", + "modalities": { + "input": [ + "audio" + ] + }, "limit": { "context": 8192, "output": 8192 @@ -74230,15 +74427,15 @@ "supported": false }, "cost": { - "input": 20, - "output": 80 + "input": 5.556, + "output": 5.556 }, "type": "chat" }, { - "id": "qianfan-chinese-llama-2-13b", - "name": "qianfan-chinese-llama-2-13b", - "display_name": "qianfan-chinese-llama-2-13b", + "id": "doubao-1-5-thinking-vision-pro-250428", + "name": "doubao-1-5-thinking-vision-pro-250428", + "display_name": "doubao-1-5-thinking-vision-pro-250428", "limit": { "context": 8192, "output": 8192 @@ -74248,26 +74445,28 @@ "supported": false }, "cost": { - "input": 0.822, - "output": 0.822 + "input": 2, + "output": 2, + "cache_read": 2 }, "type": "chat" }, { - "id": "qianfan-llama-vl-8b", - "name": "qianfan-llama-vl-8b", - "display_name": "qianfan-llama-vl-8b", + "id": "doubao-seed-1-8-251215", + "name": "doubao-seed-1-8-251215", + "display_name": "doubao-seed-1-8-251215", "limit": { - "context": 8192, - "output": 8192 + "context": 256000, + "output": 256000 }, "tool_call": false, "reasoning": { "supported": false }, "cost": { - "input": 0.274, - "output": 0.685 + "input": 0.10959, + "output": 0.273975, + "cache_read": 0.021918 }, "type": "chat" }, @@ -74362,6 +74561,172 @@ "output": 0.27 }, "type": "chat" + }, + { + "id": "gpt-4o-2024-08-06-global", + "name": "gpt-4o-2024-08-06-global", + "display_name": "gpt-4o-2024-08-06-global", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 2.5, + "output": 10, + "cache_read": 1.25 + }, + "type": "chat" + }, + { + "id": "gpt-4o-mini-global", + "name": "gpt-4o-mini-global", + "display_name": "gpt-4o-mini-global", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.075 + }, + "type": "chat" + }, + { + "id": "meta-llama-3-70b", + "name": "meta-llama-3-70b", + "display_name": "meta-llama-3-70b", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 4.795, + "output": 4.795 + }, + "type": "chat" + }, + { + "id": "meta-llama-3-8b", + "name": "meta-llama-3-8b", + "display_name": "meta-llama-3-8b", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.548, + "output": 0.548 + }, + "type": "chat" + }, + { + "id": "o3-global", + "name": "o3-global", + "display_name": "o3-global", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + }, + "type": "chat" + }, + { + "id": "o3-mini-global", + "name": "o3-mini-global", + "display_name": "o3-mini-global", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 + }, + "type": "chat" + }, + { + "id": "o3-pro-global", + "name": "o3-pro-global", + "display_name": "o3-pro-global", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 20, + "output": 80 + }, + "type": "chat" + }, + { + "id": "qianfan-chinese-llama-2-13b", + "name": "qianfan-chinese-llama-2-13b", + "display_name": "qianfan-chinese-llama-2-13b", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.822, + "output": 0.822 + }, + "type": "chat" + }, + { + "id": "qianfan-llama-vl-8b", + "name": "qianfan-llama-vl-8b", + "display_name": "qianfan-llama-vl-8b", + "limit": { + "context": 8192, + "output": 8192 + }, + "tool_call": false, + "reasoning": { + "supported": false + }, + "cost": { + "input": 0.274, + "output": 0.685 + }, + "type": "chat" } ] }, @@ -75059,7 +75424,7 @@ }, "limit": { "context": 200000, - "output": 32000 + "output": 200000 }, "tool_call": true, "reasoning": { @@ -75959,7 +76324,7 @@ }, "limit": { "context": 163840, - "output": 163840 + "output": 65536 }, "temperature": true, "tool_call": true, @@ -77592,6 +77957,30 @@ }, "type": "chat" }, + { + "id": "minimax/minimax-m2.1", + "name": "MiniMax: MiniMax M2.1", + "display_name": "MiniMax: MiniMax M2.1", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "type": "chat" + }, { "id": "mistralai/codestral-2508", "name": "Mistral: Codestral 2508", @@ -78512,7 +78901,7 @@ }, "limit": { "context": 262144, - "output": 16384 + "output": 65535 }, "tool_call": true, "reasoning": { @@ -80609,7 +80998,7 @@ }, "limit": { "context": 32768, - "output": 32768 + "output": 16384 }, "tool_call": true, "reasoning": { @@ -80996,7 +81385,8 @@ }, "tool_call": true, "reasoning": { - "supported": false + "supported": true, + "default": true }, "type": "chat" }, @@ -81023,29 +81413,6 @@ }, "type": "chat" }, - { - "id": "qwen/qwen3-235b-a22b:free", - "name": "Qwen: Qwen3 235B A22B (free)", - "display_name": "Qwen: Qwen3 235B A22B (free)", - "modalities": { - "input": [ - "text" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 131072, - "output": 131072 - }, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "type": "chat" - }, { "id": "qwen/qwen3-30b-a3b", "name": "Qwen: Qwen3 30B A3B", @@ -81219,8 +81586,8 @@ ] }, "limit": { - "context": 262144, - "output": 262144 + "context": 160000, + "output": 32768 }, "tool_call": true, "reasoning": { @@ -82042,7 +82409,7 @@ }, "limit": { "context": 163840, - "output": 163840 + "output": 65536 }, "tool_call": true, "reasoning": { @@ -82296,7 +82663,7 @@ }, "limit": { "context": 262144, - "output": 262144 + "output": 65536 }, "tool_call": true, "reasoning": { @@ -82342,7 +82709,7 @@ }, "limit": { "context": 131072, - "output": 131072 + "output": 65536 }, "temperature": true, "tool_call": true, @@ -82498,6 +82865,30 @@ "default": true }, "type": "imageGeneration" + }, + { + "id": "z-ai/glm-4.7", + "name": "Z.AI: GLM 4.7", + "display_name": "Z.AI: GLM 4.7", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 202752, + "output": 65535 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "type": "chat" } ] }, @@ -83313,6 +83704,29 @@ }, "type": "chat" }, + { + "id": "zai-org/glm-4.7", + "name": "GLM-4.7", + "display_name": "GLM-4.7", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 204800, + "output": 131072 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "type": "chat" + }, { "id": "gpt-4.1", "name": "gpt-4.1", @@ -84687,6 +85101,29 @@ "supported": false }, "type": "chat" + }, + { + "id": "xiaomimimo/mimo-v2-flash", + "name": "XiaomiMiMo/MiMo-V2-Flash", + "display_name": "XiaomiMiMo/MiMo-V2-Flash", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 131072 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "type": "chat" } ] } diff --git a/scripts/generate-changelog.mjs b/scripts/generate-changelog.mjs new file mode 100644 index 000000000..35ff5c454 --- /dev/null +++ b/scripts/generate-changelog.mjs @@ -0,0 +1,21 @@ +import fs from 'fs' +import path from 'path' + +const projectRoot = process.cwd() +const sourcePath = path.join(projectRoot, 'CHANGELOG.md') +const outputPath = path.join(projectRoot, 'dist', 'changelog.md') + +if (!fs.existsSync(sourcePath)) { + console.error('CHANGELOG.md not found at project root.') + process.exit(1) +} + +const content = fs.readFileSync(sourcePath, 'utf8').trim() +if (!content) { + console.error('CHANGELOG.md is empty.') + process.exit(1) +} + +fs.mkdirSync(path.dirname(outputPath), { recursive: true }) +fs.writeFileSync(outputPath, `${content}\n`, 'utf8') +console.log(`Generated changelog at ${outputPath}`) diff --git a/scripts/rebrand.js b/scripts/rebrand.js index 797ce4984..81b0ccaa7 100644 --- a/scripts/rebrand.js +++ b/scripts/rebrand.js @@ -151,6 +151,35 @@ function updateElectronBuilderMacX64(config) { } } +// 更新 electron-builder-macarm.yml +function updateElectronBuilderMacArm(config) { + const builderPath = path.join(PROJECT_ROOT, 'electron-builder-macarm.yml') + + if (!fs.existsSync(builderPath)) { + return // 文件不存在则跳过 + } + + try { + let content = fs.readFileSync(builderPath, 'utf8') + + // 替换 appId + content = content.replace(/appId: .+/, `appId: ${config.app.appId}`) + + // 替换 productName + content = content.replace(/productName: .+/, `productName: ${config.app.productName}`) + + // 替换 publish URL + if (config.update && config.update.baseUrl) { + content = content.replace(/url: https:\/\/cdn\.deepchatai\.cn\/upgrade\//, `url: ${config.update.baseUrl}`) + } + + fs.writeFileSync(builderPath, content, 'utf8') + success('已更新 electron-builder-macarm.yml') + } catch (err) { + error(`更新 electron-builder-macarm.yml 失败: ${err.message}`) + } +} + // 更新主进程中的 app user model ID function updateMainIndex(config) { const mainIndexPath = path.join(PROJECT_ROOT, 'src/main/index.ts') @@ -481,6 +510,7 @@ function main() { updatePackageJson(config) updateElectronBuilder(config) updateElectronBuilderMacX64(config) + updateElectronBuilderMacArm(config) updateMainIndex(config) updateUpgradePresenter(config) updateI18nFiles(config) diff --git a/src/main/presenter/upgradePresenter/index.ts b/src/main/presenter/upgradePresenter/index.ts index 9d9584eb1..c62fe36cb 100644 --- a/src/main/presenter/upgradePresenter/index.ts +++ b/src/main/presenter/upgradePresenter/index.ts @@ -8,8 +8,8 @@ import { import { eventBus, SendTarget } from '@/eventbus' import { UPDATE_EVENTS, WINDOW_EVENTS } from '@/events' import electronUpdater from 'electron-updater' +import type { UpdateInfo } from 'electron-updater' import axios from 'axios' -import { compare } from 'compare-versions' import fs from 'fs' import path from 'path' @@ -20,31 +20,19 @@ interface VersionInfo { version: string releaseDate: string releaseNotes: string - githubUrl: string - downloadUrl: string + githubUrl?: string + downloadUrl?: string } -// 获取平台和架构信息 -const getPlatformInfo = () => { - const platform = process.platform - const arch = process.arch - let platformString = '' - - if (platform === 'win32') { - platformString = arch === 'arm64' ? 'winarm' : 'winx64' - } else if (platform === 'darwin') { - platformString = arch === 'arm64' ? 'macarm' : 'macx64' - } else if (platform === 'linux') { - platformString = arch === 'arm64' ? 'linuxarm' : 'linuxx64' - } - - return platformString -} +const GITHUB_OWNER = 'ThinkInAIXYZ' +const GITHUB_REPO = 'deepchat' +const GITHUB_RELEASE_BASE_URL = `https://github.com/${GITHUB_OWNER}/${GITHUB_REPO}/releases` -// 获取版本检查的基础URL -const getVersionCheckBaseUrl = () => { - return 'https://cdn.deepchatai.cn' -} +const getReleaseTag = (version: string) => `v${version}` +const getReleasePageUrl = (version: string) => + `${GITHUB_RELEASE_BASE_URL}/tag/${getReleaseTag(version)}` +const getChangelogUrl = (version: string) => + `${GITHUB_RELEASE_BASE_URL}/download/${getReleaseTag(version)}/changelog.md` // 获取自动更新状态文件路径 const getUpdateMarkerFilePath = () => { @@ -57,8 +45,8 @@ export class UpgradePresenter implements IUpgradePresenter { private _progress: UpdateProgress | null = null private _error: string | null = null private _versionInfo: VersionInfo | null = null - private _baseUrl: string private _lastCheckTime: number = 0 // 上次检查更新的时间戳 + private _lastCheckType: string | undefined private _updateMarkerPath: string private _previousUpdateFailed: boolean = false // 标记上次更新是否失败 private _configPresenter: IConfigPresenter // 配置presenter @@ -66,13 +54,15 @@ export class UpgradePresenter implements IUpgradePresenter { constructor(configPresenter: IConfigPresenter) { this._configPresenter = configPresenter - this._baseUrl = getVersionCheckBaseUrl() this._updateMarkerPath = getUpdateMarkerFilePath() // 配置自动更新 autoUpdater.autoDownload = false // 默认不自动下载,由我们手动控制 autoUpdater.allowDowngrade = false autoUpdater.autoInstallOnAppQuit = true + if (process.platform === 'darwin') { + autoUpdater.channel = process.arch === 'arm64' ? 'arm64' : 'x64' + } // 错误处理 autoUpdater.on('error', (e) => { @@ -98,7 +88,8 @@ export class UpgradePresenter implements IUpgradePresenter { this._lock = false this._status = 'not-available' eventBus.sendToRenderer(UPDATE_EVENTS.STATUS_CHANGED, SendTarget.ALL_WINDOWS, { - status: this._status + status: this._status, + type: this._lastCheckType }) }) @@ -106,11 +97,20 @@ export class UpgradePresenter implements IUpgradePresenter { autoUpdater.on('update-available', (info) => { console.log('检测到新版本', info) this._status = 'available' - - // 重要:这里不再使用info中的信息更新this._versionInfo - // 而是确保使用之前从versionUrl获取的原始信息 + this._versionInfo = this.buildVersionInfo(info, '') console.log('使用已保存的版本信息:', this._versionInfo) - // 检测到更新后自动开始下载 + void this.refreshReleaseNotes(info) + if (this._previousUpdateFailed) { + console.log('上次更新失败,本次不进行自动更新,改为手动更新') + this._status = 'error' + this._error = '自动更新可能不稳定,请手动下载更新' + eventBus.sendToRenderer(UPDATE_EVENTS.STATUS_CHANGED, SendTarget.ALL_WINDOWS, { + status: this._status, + error: this._error, + info: this._versionInfo + }) + return + } this.startDownloadUpdate() }) @@ -250,83 +250,22 @@ export class UpgradePresenter implements IUpgradePresenter { try { this._status = 'checking' + this._lastCheckType = type eventBus.sendToRenderer(UPDATE_EVENTS.STATUS_CHANGED, SendTarget.ALL_WINDOWS, { status: this._status }) - // 首先获取版本信息文件 - const platformString = getPlatformInfo() const rawChannel = this._configPresenter.getUpdateChannel() - const updateChannel = rawChannel === 'canary' ? 'canary' : 'upgrade' // Sanitize channel - const randomId = Math.floor(Date.now() / 3600000) // Timestamp truncated to hour - const versionPath = updateChannel - const versionUrl = `${this._baseUrl}/${versionPath}/${platformString}.json?noCache=${randomId}` - console.log('versionUrl', versionUrl) - const response = await axios.get(versionUrl, { timeout: 60000 }) // Add network timeout - const remoteVersion = response.data - const currentVersion = app.getVersion() - - // 保存完整的远程版本信息到内存中,作为唯一的标准信息源 - this._versionInfo = { - version: remoteVersion.version, - releaseDate: remoteVersion.releaseDate, - releaseNotes: remoteVersion.releaseNotes, - githubUrl: remoteVersion.githubUrl, - downloadUrl: remoteVersion.downloadUrl + autoUpdater.allowPrerelease = rawChannel === 'canary' + if (process.platform === 'darwin') { + autoUpdater.channel = process.arch === 'arm64' ? 'arm64' : 'x64' } - console.log('cache versionInfo:', this._versionInfo) - // 更新上次检查时间 this._lastCheckTime = Date.now() - // 比较版本号 - if (compare(remoteVersion.version, currentVersion, '>')) { - // 有新版本 - - // 如果上次更新失败,这次不再尝试自动更新,直接进入错误状态让用户手动更新 - if (this._previousUpdateFailed) { - console.log('上次更新失败,本次不进行自动更新,改为手动更新') - this._status = 'error' - this._error = '自动更新可能不稳定,请手动下载更新' - - eventBus.sendToRenderer(UPDATE_EVENTS.STATUS_CHANGED, SendTarget.ALL_WINDOWS, { - status: this._status, - error: this._error, - info: this._versionInfo - }) - return - } - - // 设置自动更新的URL - const autoUpdateUrl = - updateChannel === 'canary' - ? `${this._baseUrl}/canary/${platformString}` - : `${this._baseUrl}/upgrade/v${remoteVersion.version}/${platformString}` - console.log('设置自动更新URL:', autoUpdateUrl) - autoUpdater.setFeedURL(autoUpdateUrl) - - try { - // 使用electron-updater检查更新,但不自动下载 - await autoUpdater.checkForUpdates() - } catch (err) { - console.error('自动更新检查失败,回退到手动更新', err) - // 如果自动更新失败,回退到手动更新 - this._status = 'available' - - eventBus.sendToRenderer(UPDATE_EVENTS.STATUS_CHANGED, SendTarget.ALL_WINDOWS, { - status: this._status, - info: this._versionInfo // 使用已保存的版本信息 - }) - } - } else { - // 没有新版本 - this._status = 'not-available' - eventBus.sendToRenderer(UPDATE_EVENTS.STATUS_CHANGED, SendTarget.ALL_WINDOWS, { - status: this._status, - type - }) - } + // 使用electron-updater检查更新,但不自动下载 + await autoUpdater.checkForUpdates() } catch (error: Error | unknown) { this._status = 'error' this._error = error instanceof Error ? error.message : String(error) @@ -477,6 +416,55 @@ export class UpgradePresenter implements IUpgradePresenter { } } + private buildVersionInfo(info: UpdateInfo, releaseNotes: string): VersionInfo { + const version = info.version + return { + version, + releaseDate: info.releaseDate ? String(info.releaseDate) : '', + releaseNotes, + githubUrl: getReleasePageUrl(version) + } + } + + private async refreshReleaseNotes(info: UpdateInfo): Promise { + try { + const changelog = await this.fetchChangelog(info.version) + if (!this._versionInfo) { + this._versionInfo = this.buildVersionInfo(info, changelog) + } else { + this._versionInfo.releaseNotes = changelog + } + + eventBus.sendToRenderer(UPDATE_EVENTS.STATUS_CHANGED, SendTarget.ALL_WINDOWS, { + status: this._status, + info: this._versionInfo + }) + } catch (error) { + console.error('获取更新日志失败', error) + } + } + + private async fetchChangelog(version: string): Promise { + const url = getChangelogUrl(version) + try { + const response = await axios.get(url, { + timeout: 15000, + responseType: 'text', + validateStatus: (status) => status >= 200 && status < 300 + }) + + const content = typeof response.data === 'string' ? response.data.trim() : '' + if (content.length > 0) { + return content + } + } catch (error) { + console.warn('changelog not found', error) + } + + const fallbackUrl = getReleasePageUrl(version) + return `Release notes are not available yet. [View release page](${fallbackUrl}).` + } + // Set update flag and broadcast state private setUpdatingFlag(updating: boolean): void { this._isUpdating = updating diff --git a/src/renderer/src/components/ui/UpdateDialog.vue b/src/renderer/src/components/ui/UpdateDialog.vue index 368707ae4..b6c20aa45 100644 --- a/src/renderer/src/components/ui/UpdateDialog.vue +++ b/src/renderer/src/components/ui/UpdateDialog.vue @@ -44,7 +44,7 @@ - diff --git a/src/renderer/src/stores/upgrade.ts b/src/renderer/src/stores/upgrade.ts index 36911e7a3..329726b93 100644 --- a/src/renderer/src/stores/upgrade.ts +++ b/src/renderer/src/stores/upgrade.ts @@ -105,6 +105,15 @@ export const useUpgradeStore = defineStore('upgrade', () => { hasUpdate.value = true isDownloading.value = true isUpdating.value = true + if (info) { + updateInfo.value = { + version: info.version, + releaseDate: info.releaseDate, + releaseNotes: info.releaseNotes, + githubUrl: info.githubUrl, + downloadUrl: info.downloadUrl + } + } break case 'downloaded': hasUpdate.value = true