Compare commits

..

1 Commits

Author SHA1 Message Date
ONLY-yours f95f97a0f2 fix: slove import agent settings something lost 2025-08-07 14:12:37 +08:00
178 changed files with 5007 additions and 6473 deletions
+19 -2
View File
@@ -26,11 +26,28 @@ Gather the modified code and context. Please strictly follow the process below:
### Code Style
read [typescript.mdc](mdc:.cursor/rules/typescript.mdc) for the consolidated project code style and optimization rules.
read [typescript.mdc](mdc:.cursor/rules/typescript.mdc) to learn the project's code style.
- Ensure JSDoc comments accurately reflect the implementation; update them when needed.
- Look for opportunities to simplify or modernize code with the latest JavaScript/TypeScript features.
- Prefer `async`/`await` over callbacks or chained `.then` promises.
- Use consistent, descriptive naming—avoid obscure abbreviations.
- Replace magic numbers or strings with well-named constants.
- Use semantically meaningful variable, function, and class names.
- Ignore purely formatting issues and other autofixable lint problems.
### Code Optimization
The optimization checklist has been consolidated into [typescript.mdc](mdc:.cursor/rules/typescript.mdc): loops, debouncing/throttling, design system components, theming tokens, concurrency with `Promise.*`, minimal DB column selection, and package reuse.
- Prefer `for…of` loops to index-based `for` loops when feasible.
- Decide whether callbacks should be **debounced** or **throttled**.
- Use components from `@lobehub/ui`, Ant Design, or the existing design system instead of raw HTML tags (e.g., `Button` vs. `button`).
- reuse npm packages already installed (e.g., `lodash/omit`) rather than reinventing the wheel.
- Design for dark mode and mobile responsiveness:
- Use the `antd-style` token system instead of hard-coded colors.
- Select the proper component variants.
- Performance considerations:
- Where safe, convert sequential async flows to concurrent ones with `Promise.all`, `Promise.race`, etc.
- Query only the required columns from a database rather than selecting entire rows.
### Obvious Bugs
+72
View File
@@ -30,3 +30,75 @@ alwaysApply: true
- Good: `git show commit_hash -- file.txt | cat`
- Good: `git log --oneline | cat`
- Reason: Some git commands use pagers by default, which may prevent output from being captured properly
## Mermaid Diagram Generation: Strict Syntax Validation Checklist
Before producing any Mermaid diagram, you **must** compare your final code line-by-line against every rule in the following checklist to ensure 100% compliance. **This is a hard requirement and takes precedence over other stylistic suggestions.** Please follow these action steps:
1. Plan the Mermaid diagram logic in your mind.
2. Write the Mermaid code.
3. **Carefully review your code line-by-line against the entire checklist below.**
4. Fix any aspect of your code that doesn't comply.
5. Use the `validateMermaid` tool to check your code for syntax errors. Only proceed if validation passes.
6. Output the final, compliant, and copy-ready Mermaid code block.
7. Immediately after the Mermaid code block, output:
I have checked that the Mermaid syntax fully complies with the validation checklist.
---
### Checklist Details
#### Rule 1: Edge Labels Must Be Plain Text Only
> **Essence:** Anything inside `|...|` must contain pure, unformatted text. Absolutely NO Markdown, list markers, or parentheses/brackets allowed—these often cause rendering failures.
- **✅ Do:** `A -->|Process plain text data| B`
- **❌ Don't:** `A -->|1. Ordered list item| B` (No numbered lists)
- **❌ Don't:** `CC --"1. fetch('/api/...')"--> API` (No square brackets)
- **❌ Don't:** `A -->|- Unordered list item| B` (No hyphen lists)
- **❌ Don't:** `A -->|Transform (important)| B` (No parentheses)
- **❌ Don't:** `A -->|Transform [important]| B` (No square brackets)
#### Rule 2: Node Definition Handle Special Characters with Care
> **Essence:** When node text or subgraph titles contain special characters like `()` or `[]`, wrap the text in quotes to avoid conflicts with Mermaid shape syntax.
- **When your node text includes parentheses (e.g., 'React (JSX)'):**
- **✅ Do:** `I_REACT["<b>React component (JSX)</b>"]` (Quotes wrap all text)
- **❌ Don't:** `I_REACT(<b>React component (JSX)</b>)` (Wrong, Mermaid parses this as a shape)
- **❌ Don't:** `subgraph Plugin Features (Plugins)` (Wrong, subgraph titles with parentheses must also be wrapped in quotes)
#### Rule 3: Double Quotes in Text Must Be Escaped
> **Essence:** Use `&quot;` for double quotes **inside node text**.
- **✅ Do:** `A[This node contains &quot;quotes&quot;]`
- **❌ Don't:** `A[This node contains "quotes"]`
#### Rule 4: All Formatting Must Use HTML Tags (NOT Markdown!)
> **Essence:** For newlines, bold, and other text formatting in nodes, use HTML tags only. Markdown is not supported.
- **✅ Do (robust):** `A["<b>Bold</b> and <code>code</code><br>This is a new line"]`
- **❌ Don't (not rendered):** `C["# This is a heading"]`
- **❌ Don't (not rendered):** ``C["`const` means constant"]``
- **⚠️ Warning (unreliable):** `B["Markdown **bold** might sometimes work but DON'T rely on it"]`
#### Rule 5: No HTML Tags for Participants and Message Labels (Sequence Diagrams)
> **Important Addition:**
> In Mermaid sequence diagrams, you MUST NOT use any HTML tags (such as `<b>`, `<code>`, etc.) in:
>
> - `participant` display names (`as` part)
> - Message labels (the text after `:` in diagram flows)
>
> These tags are generally not rendered—they may appear as-is or cause compatibility issues.
- **✅ Do:** `participant A as Client`
- **❌ Don't:** `participant A as <b>Client</b>`
- **✅ Do:** `A->>B: 1. Establish connection`
- **❌ Don't:** `A->>B: 1. <code>Establish connection</code>`
---
**Validate each Mermaid code block by running it through the `validateMermaid` tool before delivering your output!**
+5 -5
View File
@@ -43,16 +43,16 @@ The project uses the following technologies:
Note: All tools and libraries used are the latest versions. The application only needs to be compatible with the latest browsers;
## Often used npm scripts and commands
## Often used npm scripts
```bash
# !: don't any build script to check weather code can work after modify
# type check
bun run type-check
bun type-check
# install dependencies
pnpm install
# run tests
npx vitest run --config vitest.config.ts '[file-path-pattern]'
# !: don't any build script to check weather code can work after modify
```
check [testing guide](./testing-guide/testing-guide.mdc) to learn test scripts.
+73 -92
View File
@@ -3,7 +3,6 @@ description:
globs: *.tsx
alwaysApply: false
---
# react component 编写指南
- 如果要写复杂样式的话用 antd-style ,简单的话可以用 style 属性直接写内联样式
@@ -21,20 +20,18 @@ import { useTheme } from 'antd-style';
const MyComponent = () => {
const theme = useTheme();
return (
<div
style={{
color: theme.colorPrimary,
backgroundColor: theme.colorBgContainer,
padding: theme.padding,
borderRadius: theme.borderRadius,
}}
>
<div style={{
color: theme.colorPrimary,
backgroundColor: theme.colorBgContainer,
padding: theme.padding,
borderRadius: theme.borderRadius
}}>
使用主题 token 的组件
</div>
);
};
}
```
#### 使用 antd-style 的 createStyles
@@ -56,13 +53,13 @@ const useStyles = createStyles(({ css, token }) => {
content: css`
font-size: ${token.fontSize}px;
line-height: ${token.lineHeight};
`,
`
};
});
const Card: FC<CardProps> = ({ title, content }) => {
const { styles } = useStyles();
return (
<Flexbox className={styles.container}>
<div className={styles.title}>{title}</div>
@@ -77,96 +74,80 @@ const Card: FC<CardProps> = ({ title, content }) => {
请注意使用下面的 token 而不是 css 字面值。可以访问 https://ant.design/docs/react/customize-theme-cn 了解所有 token
- 动画类
- token.motionDurationMid
- token.motionEaseInOut
- token.motionDurationMid
- token.motionEaseInOut
- 包围盒属性
- token.paddingSM
- token.marginLG
- token.paddingSM
- token.marginLG
## Lobe UI 包含的组件
- 不知道 @lobehub/ui 的组件怎么用,有哪些属性,就自己搜下这个项目其它地方怎么用的,不要瞎猜,大部分组件都是在 antd 的基础上扩展了属性
- 具体用法不懂可以联网搜索,例如 ActionIcon 就爬取 https://ui.lobehub.com/components/action-icon
- 可以阅读 node_modules/@lobehub/ui/es/index.js 了解有哪些组件,每个组件的属性是什么
- General
- ActionIcon
- ActionIconGroup
- Block
- Button
- DownloadButton
- Icon
ActionIcon
ActionIconGroup
Block
Button
Icon
- Data Display
- Avatar
- AvatarGroup
- GroupAvatar
- Collapse
- FileTypeIcon
- FluentEmoji
- GuideCard
- Highlighter
- Hotkey
- Image
- List
- Markdown
- SearchResultCards
- MaterialFileTypeIcon
- Mermaid
- Typography
- Text
- Segmented
- Snippet
- SortableList
- Tag
- Tooltip
- Video
Avatar
Collapse
FileTypeIcon
FluentEmoji
GuideCard
Highlighter
Hotkey
Image
List
Markdown
MaterialFileTypeIcon
Mermaid
Segmented
Snippet
SortableList
Tag
Tooltip
Video
- Data Entry
- AutoComplete
- CodeEditor
- ColorSwatches
- CopyButton
- DatePicker
- EditableText
- EmojiPicker
- Form
- FormModal
- HotkeyInput
- ImageSelect
- Input
- SearchBar
- Select
- SliderWithInput
- ThemeSwitch
AutoComplete
CodeEditor
ColorSwatches
CopyButton
DatePicker
EditableText
EmojiPicker
Form
FormModal
HotkeyInput
ImageSelect
Input
SearchBar
Select
SliderWithInput
ThemeSwitch
- Feedback
- Alert
- Drawer
- Modal
Alert
Drawer
Modal
- Layout
- DraggablePanel
- DraggablePanelBody
- DraggablePanelContainer
- DraggablePanelFooter
- DraggablePanelHeader
- Footer
- Grid
- Header
- Layout
- LayoutFooter
- LayoutHeader
- LayoutMain
- LayoutSidebar
- LayoutSidebarInner
- LayoutToc
- MaskShadow
- ScrollShadow
DraggablePanel
Footer
Grid
Header
Layout
MaskShadow
ScrollShadow
- Navigation
- Burger
- Dropdown
- Menu
- SideNav
- Tabs
- Toc
Burger
Dropdown
Menu
SideNav
Tabs
Toc
- Theme
- ConfigProvider
- FontLoader
- ThemeProvider
ConfigProvider
FontLoader
ThemeProvider
+63 -30
View File
@@ -4,49 +4,82 @@ globs:
alwaysApply: true
---
# 📋 Available Rules Index
# LobeChat Cursor Rules System Guide
This document explains how the LobeChat project's Cursor rules system works and serves as an index for manually accessible rules.
## 🎯 Core Principle
**All rules are equal** - there are no priorities or "recommendations" between different rule sources. You should follow all applicable rules simultaneously.
## 📚 Four Ways to Access Rules
### 1. **Always Applied Rules** - `always_applied_workspace_rules`
- **What**: Core project guidelines that are always active
- **Content**: Project tech stack, basic coding standards, output formatting rules
- **Access**: No tools needed - automatically provided in every conversation
### 2. **Dynamic Context Rules** - `cursor_rules_context`
- **What**: Rules automatically matched based on files referenced in the conversation
- **Trigger**: Only when user **explicitly @ mentions files** or **opens files in Cursor**
- **Content**: May include brief descriptions or full rule content, depending on relevance
- **Access**: No tools needed - automatically updated when files are referenced
### 3. **Agent Requestable Rules** - `agent_requestable_workspace_rules`
- **What**: Detailed operational guides that can be requested on-demand
- **Access**: Use `fetch_rules` tool with rule names
- **Examples**: `debug`, `i18n/i18n`, `code-review`
### 4. **Manual Rules Index** - This file + `read_file`
- **What**: Additional rules not covered by the above mechanisms
- **Why needed**: Cursor's rule system only supports "agent request" or "auto attach" modes
- **Access**: Use `read_file` tool to read specific `.mdc` files
## 🔧 When to Use `read_file` for Rules
Use `read_file` to access rules from the index below when:
1. **Gap identification**: You determine a rule is needed for the current task
2. **No auto-trigger**: The rule isn't provided in `cursor_rules_context` (because relevant files weren't @ mentioned)
3. **Not agent-requestable**: The rule isn't available via `fetch_rules`
## 📋 Available Rules Index
The following rules are available via `read_file` from the `.cursor/rules/` directory:
## General
- `project-introduce.mdc` Project description and tech stack
- `cursor-rules.mdc` Cursor rules authoring and optimization guide
- `code-review.mdc` How to code review
## Backend
- `backend-architecture.mdc` Backend layer architecture and design guidelines
- `define-database-model.mdc` Database model definition guidelines
- `drizzle-schema-style-guide.mdc` Style guide for defining Drizzle ORM schemas
## Frontend
- `react-component.mdc` React component style guide and conventions
- `i18n.mdc` Internationalization guide using react-i18next
- `testing-guide.mdc` Comprehensive testing guide for Vitest environment
- `typescript.mdc` TypeScript code style guide
- `packages/react-layout-kit.mdc` Usage guide for react-layout-kit
## State Management
- `zustand-action-patterns.mdc` Recommended patterns for organizing Zustand actions
- `zustand-slice-organization.mdc` Best practices for structuring Zustand slices
## Desktop (Electron)
## ❌ Common Misunderstandings to Avoid
- `desktop-feature-implementation.mdc` Implementing new Electron desktop features
- `desktop-controller-tests.mdc` Desktop controller unit testing guide
- `desktop-local-tools-implement.mdc` Workflow to add new desktop local tools
- `desktop-menu-configuration.mdc` Desktop menu configuration guide
- `desktop-window-management.mdc` Desktop window management guide
1. **"Priority confusion"**: There's no hierarchy between rule sources - they're complementary, not competitive
2. **"Dynamic expectations"**: `cursor_rules_context` only updates when you @ files - it won't automatically include rules for tasks you're thinking about
3. **"Tool redundancy"**: Each access method serves a different purpose - they're not alternatives to choose from
## Debugging
## 🛠️ Practical Workflow
- `debug.mdc` General debugging guide
- `debug-usage.mdc` Using the debug package and namespace conventions
```
1. Start with always_applied_workspace_rules (automatic)
2. Check cursor_rules_context for auto-matched rules (automatic)
3. If you need specific guides: fetch_rules (manual)
4. If you identify gaps: consult this index → read_file (manual)
```
## Testing
## Example Decision Flow
- `testing-guide/testing-guide.mdc` Comprehensive testing guide for Vitest
- `testing-guide/electron-ipc-test.mdc` Electron IPC interface testing strategy
- `testing-guide/db-model-test.mdc` Database Model testing guide
**Scenario**: Working on a new Zustand store slice
1. Follow always_applied_workspace_rules ✅
2. If store files were @ mentioned → use cursor_rules_context rules ✅
3. Need detailed Zustand guidance → `read_file('.cursor/rules/zustand-slice-organization.mdc')` ✅
4. All rules apply simultaneously - no conflicts ✅
+20 -8
View File
@@ -6,26 +6,38 @@ alwaysApply: true
## System Role
You are an expert in full-stack Web development, proficient in JavaScript, TypeScript, CSS, React, Node.js, Next.js, Postgresql, Redis, S3, all kinds of network protocols.
You are an expert in full-stack Web development, proficient in JavaScript, TypeScript, CSS, React, Node.js, Next.js, Postgresql, all kinds of network protocols.
You are an LLM expert, you are familiar with all kinds of LLM models, ai agents, ai workflow, prompt engineering and context engineering.
You are an expert in Ai art. In Ai image generation, you are proficient in Stable Diffusion and ComfyUI's architectural principles, workflows, model structures, parameter configurations, training methods, and inference optimization.
You are an expert in LLM and Ai art. In Ai image generation, you are proficient in Stable Diffusion and ComfyUI's architectural principles, workflows, model structures, parameter configurations, training methods, and inference optimization.
You are an expert in UI/UX design, proficient in web interaction patterns, responsive design, accessibility, and user behavior optimization. You excel at improving user retention and paid conversion rates through various interaction details.
## Problem Solving
- Before formulating any response, you must first gather context by using tools like codebase_search, grep_search, file_search, web_search, fetch_rules, context7, and read_file to avoid making assumptions.
- When modifying existing code, clearly describe the differences and reasons for the changes
- Provide alternative solutions that may be better overall or superior in specific aspects
- Provide optimization suggestions for deprecated API usage
- Cite sources whenever possible at the end, not inline
- When you provide multiple solutions, provide the recommended solution first, and note it as `Recommended`
- Express uncertainty when there might not be a correct answer, instead of take action by guessing and assuming
- Express uncertainty when there might not be a correct answer
- Admit when you don't know something instead of guessing
## Code Implementation
- Write correct, up-to-date, bug-free, fully functional, secure, maintainable and efficient code
- First, think step-by-step: describe your plan in detailed pseudocode before implementation
- Confirm the plan before writing code
- Focus on maintainable over being performant
- Be sure to reference file path
- If doc links or required files are missing, ask for them before proceeding with the task rather than making assumptions
- If you're unable to get valid result when using tools, please clearly state in the output
- Leave NO TODOs, placeholders, or missing pieces
- Be sure to reference file names
- When you notice I have manually modified the code, that was definitely on purpose and do not revert them
- If documentation links or required files are missing, ask for them before proceeding with the task rather than making assumptions
- If you're unable to access or retrieve content from websites, please inform me immediately and request the specific information needed rather than making assumptions
- You can use emojis, npm packages like `chalk`/`chalk-animation`/`terminal-link`/`gradient-string`/`log-symbols`/`boxen`/`consola`/`@clack/prompts` to create beautiful terminal output
- Don't run `tsc --noEmit` to check ts syntax error, because our project is very large and the validate very slow
## Some logging rules
- Never log user private information like api key, etc
- Don't use `import { log } from 'debug'` to log messages, because it will directly log the message to the console.
+14 -55
View File
@@ -1,62 +1,21 @@
---
description: TypeScript code style and optimization guidelines
description:
globs: *.ts,*.tsx,*.mts
alwaysApply: false
---
# TypeScript Code Style Guide
## Types and Type Safety
TypeScript Code Style Guide:
- Avoid explicit type annotations when TypeScript can infer types.
- Avoid implicitly `any` variables; explicitly type when necessary (e.g., `let a: number` instead of `let a`).
- Use the most accurate type possible (e.g., prefer `Record<PropertyKey, unknown>` over `object`).
- Prefer `interface` over `type` for object shapes (e.g., React component props). Keep `type` for unions, intersections, and utility types.
- Prefer `as const satisfies XyzInterface` over plain `as const` when suitable.
## Imports and Modules
- When importing a directory module, prefer the explicit index path like `@/db/index` instead of `@/db`.
## Asynchronous Patterns and Concurrency
- Prefer `async`/`await` over callbacks or chained `.then` promises.
- Prefer async APIs over sync ones (avoid `*Sync`).
- Prefer promise-based variants (e.g., `import { readFile } from 'fs/promises'`) over callback-based APIs from `fs`.
- Where safe, convert sequential async flows to concurrent ones with `Promise.all`, `Promise.race`, etc.
## Code Structure and Readability
- Refactor repeated logic into reusable functions.
- Prefer object destructuring when accessing and using properties.
- Use consistent, descriptive naming; avoid obscure abbreviations.
- Use semantically meaningful variable, function, and class names.
- Replace magic numbers or strings with well-named constants.
- Keep meaningful code comments; do not remove them when applying edits. Update comments when behavior changes.
- Ensure JSDoc comments accurately reflect the implementation.
- Look for opportunities to simplify or modernize code with the latest JavaScript/TypeScript features where it improves clarity.
- Defer formatting to tooling; ignore purely formatting-only issues and autofixable lint problems.
- Respect project Prettier settings.
## UI and Theming
- Use components from `@lobehub/ui`, Ant Design, or existing design system components instead of raw HTML tags (e.g., `Button` vs. `button`).
- Design for dark mode and mobile responsiveness:
- Use the `antd-style` token system instead of hard-coded colors.
- Select appropriate component variants.
## Performance
- Prefer `for…of` loops to index-based `for` loops when feasible.
- Decide whether callbacks should be debounced or throttled based on UX and performance needs.
- Reuse existing npm packages rather than reinventing the wheel (e.g., `lodash-es/omit`).
- Query only the required columns from a database rather than selecting entire rows.
## Time and Consistency
- Instead of calling `Date.now()` multiple times, assign it to a constant once and reuse it to ensure consistency and improve readability.
## Some logging rules
- Never log user private information like api key, etc
- Don't use `import { log } from 'debug'` to log messages, because it will directly log the message to the console.
- Avoid defining `any` type variables (e.g., `let a: number;` instead of `let a;`).
- Use the most accurate type possible (e.g., use `Record<PropertyKey, unknown>` instead of `object`).
- Prefer `interface` over `type` (e.g., define react component props).
- Use `as const satisfies XyzInterface` instead of `as const` when suitable
- import index.ts module(directory module) like `@/db/index` instead of `@/db`
- Instead of calling Date.now() multiple times, assign it to a constant once and reuse it. This ensures consistency and improves readability
- Always refactor repeated logic into a reusable function
- Don't remove meaningful code comments, be sure to keep original comments when providing applied code
- Update the code comments when needed after you modify the related code
- Please respect my prettier preferences when you provide code
- Prefer object destructuring when accessing and using properties
- Prefer async version api than sync version, eg: use readFile from 'fs/promises' instead of 'fs'
-194
View File
@@ -2,200 +2,6 @@
# Changelog
### [Version 1.111.4](https://github.com/lobehub/lobe-chat/compare/v1.111.3...v1.111.4)
<sup>Released on **2025-08-09**</sup>
#### 🐛 Bug Fixes
- **pricing**: Adjust cachedInput values for GPT-5 models.
<br/>
<details>
<summary><kbd>Improvements and Fixes</kbd></summary>
#### What's fixed
- **pricing**: Adjust cachedInput values for GPT-5 models, closes [#8723](https://github.com/lobehub/lobe-chat/issues/8723) ([652bf08](https://github.com/lobehub/lobe-chat/commit/652bf08))
</details>
<div align="right">
[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
</div>
### [Version 1.111.3](https://github.com/lobehub/lobe-chat/compare/v1.111.2...v1.111.3)
<sup>Released on **2025-08-09**</sup>
#### 💄 Styles
- **misc**: Improve thinking auto scroll style, Support session switch shortcut key, update i18n.
<br/>
<details>
<summary><kbd>Improvements and Fixes</kbd></summary>
#### Styles
- **misc**: Improve thinking auto scroll style, closes [#8719](https://github.com/lobehub/lobe-chat/issues/8719) ([acec55f](https://github.com/lobehub/lobe-chat/commit/acec55f))
- **misc**: Support session switch shortcut key, closes [#8626](https://github.com/lobehub/lobe-chat/issues/8626) ([efc7eaf](https://github.com/lobehub/lobe-chat/commit/efc7eaf))
- **misc**: Update i18n, closes [#8725](https://github.com/lobehub/lobe-chat/issues/8725) ([d9642fc](https://github.com/lobehub/lobe-chat/commit/d9642fc))
</details>
<div align="right">
[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
</div>
### [Version 1.111.2](https://github.com/lobehub/lobe-chat/compare/v1.111.1...v1.111.2)
<sup>Released on **2025-08-08**</sup>
#### ♻ Code Refactoring
- **pricing**: Introduce new pricing system.
<br/>
<details>
<summary><kbd>Improvements and Fixes</kbd></summary>
#### Code refactoring
- **pricing**: Introduce new pricing system, closes [#8681](https://github.com/lobehub/lobe-chat/issues/8681) ([96b7508](https://github.com/lobehub/lobe-chat/commit/96b7508))
</details>
<div align="right">
[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
</div>
### [Version 1.111.1](https://github.com/lobehub/lobe-chat/compare/v1.111.0...v1.111.1)
<sup>Released on **2025-08-08**</sup>
#### 💄 Styles
- **misc**: Add descriptions for the FLUX.1 Krea and Qwen Image.
<br/>
<details>
<summary><kbd>Improvements and Fixes</kbd></summary>
#### Styles
- **misc**: Add descriptions for the FLUX.1 Krea and Qwen Image, closes [#8678](https://github.com/lobehub/lobe-chat/issues/8678) ([769fda0](https://github.com/lobehub/lobe-chat/commit/769fda0))
</details>
<div align="right">
[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
</div>
## [Version 1.111.0](https://github.com/lobehub/lobe-chat/compare/v1.110.7...v1.111.0)
<sup>Released on **2025-08-08**</sup>
#### ✨ Features
- **misc**: Add GPT-5 series models.
<br/>
<details>
<summary><kbd>Improvements and Fixes</kbd></summary>
#### What's improved
- **misc**: Add GPT-5 series models, closes [#8711](https://github.com/lobehub/lobe-chat/issues/8711) ([600c29b](https://github.com/lobehub/lobe-chat/commit/600c29b))
</details>
<div align="right">
[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
</div>
### [Version 1.110.7](https://github.com/lobehub/lobe-chat/compare/v1.110.6...v1.110.7)
<sup>Released on **2025-08-07**</sup>
#### 🐛 Bug Fixes
- **misc**: Missing languages it-IT, pl-PL, nl-NL.
<br/>
<details>
<summary><kbd>Improvements and Fixes</kbd></summary>
#### What's fixed
- **misc**: Missing languages it-IT, pl-PL, nl-NL, closes [#8710](https://github.com/lobehub/lobe-chat/issues/8710) ([b46fa8e](https://github.com/lobehub/lobe-chat/commit/b46fa8e))
</details>
<div align="right">
[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
</div>
### [Version 1.110.6](https://github.com/lobehub/lobe-chat/compare/v1.110.5...v1.110.6)
<sup>Released on **2025-08-07**</sup>
<br/>
<details>
<summary><kbd>Improvements and Fixes</kbd></summary>
</details>
<div align="right">
[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
</div>
### [Version 1.110.5](https://github.com/lobehub/lobe-chat/compare/v1.110.4...v1.110.5)
<sup>Released on **2025-08-07**</sup>
#### 🐛 Bug Fixes
- **misc**: Optimize Gemini error message display & Filter empty messages.
<br/>
<details>
<summary><kbd>Improvements and Fixes</kbd></summary>
#### What's fixed
- **misc**: Optimize Gemini error message display & Filter empty messages, closes [#8489](https://github.com/lobehub/lobe-chat/issues/8489) ([5b409cc](https://github.com/lobehub/lobe-chat/commit/5b409cc))
</details>
<div align="right">
[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
</div>
### [Version 1.110.4](https://github.com/lobehub/lobe-chat/compare/v1.110.3...v1.110.4)
<sup>Released on **2025-08-06**</sup>
+1 -1
View File
@@ -51,7 +51,7 @@
"@typescript/native-preview": "7.0.0-dev.20250711.1",
"consola": "^3.1.0",
"cookie": "^1.0.2",
"electron": "^37.2.0",
"electron": "~37.1.0",
"electron-builder": "^26.0.12",
"electron-is": "^3.0.0",
"electron-log": "^5.3.3",
-52
View File
@@ -1,56 +1,4 @@
[
{
"children": {},
"date": "2025-08-09",
"version": "1.111.4"
},
{
"children": {
"improvements": [
"Improve thinking auto scroll style, Support session switch shortcut key, update i18n."
]
},
"date": "2025-08-09",
"version": "1.111.3"
},
{
"children": {},
"date": "2025-08-08",
"version": "1.111.2"
},
{
"children": {
"improvements": ["Add descriptions for the FLUX.1 Krea and Qwen Image."]
},
"date": "2025-08-08",
"version": "1.111.1"
},
{
"children": {
"features": ["Add GPT-5 series models."]
},
"date": "2025-08-08",
"version": "1.111.0"
},
{
"children": {
"fixes": ["Missing languages it-IT, pl-PL, nl-NL."]
},
"date": "2025-08-07",
"version": "1.110.7"
},
{
"children": {},
"date": "2025-08-07",
"version": "1.110.6"
},
{
"children": {
"fixes": ["Optimize Gemini error message display & Filter empty messages."]
},
"date": "2025-08-07",
"version": "1.110.5"
},
{
"children": {
"improvements": ["Refactor trace type."]
@@ -84,16 +84,12 @@ We need to configure an S3 storage service in the server-side database to store
<Image alt={'Configure allowed site domain'} src={'https://github.com/lobehub/lobe-chat/assets/28616219/dfcc2cb3-2958-4498-a8a4-51bec584fe7d'} />
<Callout type={'info'}>
If you also plan to use the desktop client, add <code>http://localhost:3015</code> to <code>AllowedOrigins</code> so the desktop client (running locally) can access R2.
</Callout>
Example configuration is as follows:
```json
[
{
"AllowedOrigins": ["https://your-project.vercel.app", "http://localhost:3015"],
"AllowedOrigins": ["https://your-project.vercel.app"],
"AllowedMethods": ["GET", "PUT", "HEAD", "POST", "DELETE"],
"AllowedHeaders": ["*"]
}
@@ -82,17 +82,13 @@ tags:
添加跨域规则,允许你的域名(在上文是 `https://your-project.vercel.app`)来源的请求:
<Image alt={'配置允许你的站点域名'} src={'https://github.com/lobehub/lobe-chat/assets/28616219/dfcc2cb3-2958-4498-a8a4-51bec584fe7d'} />
<Callout type={'info'}>
如果你还需要在桌面端使用,请在 <code>AllowedOrigins</code> 中额外添加 <code>http://localhost:3015</code>,以便桌面端(本地运行)能够访问 R2。
</Callout>
示例配置如下:
```json
[
{
"AllowedOrigins": ["https://your-project.vercel.app", "http://localhost:3015"],
"AllowedOrigins": ["https://your-project.vercel.app"],
"AllowedMethods": ["GET", "PUT", "HEAD", "POST", "DELETE"],
"AllowedHeaders": ["*"]
}
+3 -21
View File
@@ -1104,7 +1104,7 @@
"description": "FLUX.1 [dev] هو نموذج مفتوح المصدر للأوزان المكررة موجه للتطبيقات غير التجارية. يحافظ على جودة الصور وقدرة اتباع التعليمات مماثلة لإصدار FLUX الاحترافي، مع كفاءة تشغيل أعلى. مقارنة بالنماذج القياسية ذات الحجم المماثل، يستخدم الموارد بشكل أكثر فعالية."
},
"flux-kontext/dev": {
"description": "نموذج FLUX.1 مخصص لمهام تحرير الصور، يدعم إدخال النصوص والصور."
"description": "نموذج تحرير الصور Frontier."
},
"flux-merged": {
"description": "نموذج FLUX.1-merged يجمع بين ميزات العمق التي استكشفتها نسخة \"DEV\" أثناء التطوير ومزايا التنفيذ السريع التي تمثلها نسخة \"Schnell\". من خلال هذا الدمج، يعزز FLUX.1-merged حدود أداء النموذج ويوسع نطاق تطبيقاته."
@@ -1118,11 +1118,8 @@
"flux.1-schnell": {
"description": "محول تدفق مصحح يحتوي على 12 مليار معلمة، قادر على توليد الصور بناءً على الوصف النصي."
},
"flux/krea": {
"description": "Flux Krea [dev] هو نموذج توليد صور ذو تفضيلات جمالية، يهدف إلى إنتاج صور أكثر واقعية وطبيعية."
},
"flux/schnell": {
"description": "FLUX.1 [schnell] هو نموذج توليد صور يحتوي على 12 مليار معلمة، يركز على توليد صور عالية الجودة بسرعة."
"description": "FLUX.1 [schnell] هو نموذج محول متدفق يحتوي على 12 مليار معلمة، قادر على توليد صور عالية الجودة من النص في 1 إلى 4 خطوات، مناسب للاستخدام الشخصي والتجاري."
},
"gemini-1.0-pro-001": {
"description": "Gemini 1.0 Pro 001 (تعديل) يوفر أداءً مستقرًا وقابلًا للتعديل، وهو الخيار المثالي لحلول المهام المعقدة."
@@ -1484,18 +1481,6 @@
"gpt-4o-transcribe": {
"description": "GPT-4o Transcribe هو نموذج تحويل الصوت إلى نص يستخدم GPT-4o لتفريغ الصوت. مقارنةً بنموذج Whisper الأصلي، يحسن معدل الخطأ في الكلمات ويعزز التعرف على اللغة والدقة. استخدمه للحصول على تفريغ أكثر دقة."
},
"gpt-5": {
"description": "أفضل نموذج للترميز والمهام الوكيلة عبر المجالات. يحقق GPT-5 قفزة في الدقة والسرعة والاستدلال والتعرف على السياق والتفكير المنظم وحل المشكلات."
},
"gpt-5-chat-latest": {
"description": "نموذج GPT-5 المستخدم في ChatGPT. يجمع بين قدرات قوية في فهم اللغة وتوليدها، مناسب لتطبيقات التفاعل الحواري."
},
"gpt-5-mini": {
"description": "نسخة أسرع وأكثر اقتصادية من GPT-5، مناسبة للمهام المحددة بوضوح. توفر استجابة أسرع مع الحفاظ على جودة عالية."
},
"gpt-5-nano": {
"description": "أسرع وأكفأ نسخة من GPT-5 من حيث التكلفة. مثالية للتطبيقات التي تتطلب استجابة سريعة وحساسة للتكلفة."
},
"gpt-image-1": {
"description": "نموذج توليد الصور متعدد الوسائط الأصلي من ChatGPT"
},
@@ -1644,7 +1629,7 @@
"description": "نسخة ألترا من سلسلة نموذج Imagen للجيل الرابع لتحويل النص إلى صورة"
},
"imagen4/preview": {
"description": "نموذج توليد صور عالي الجودة مقدم من جوجل."
"description": "نموذج توليد الصور الأعلى جودة من Google"
},
"internlm/internlm2_5-7b-chat": {
"description": "InternLM2.5 يوفر حلول حوار ذكية في عدة سيناريوهات."
@@ -2213,9 +2198,6 @@
"qwen-coder-turbo-latest": {
"description": "نموذج Qwen للبرمجة."
},
"qwen-image": {
"description": "نموذج قوي من فريق Qwen لتوليد الصور الخام، يتميز بقدرة مميزة على توليد النصوص الصينية وأنماط بصرية متنوعة للصور."
},
"qwen-long": {
"description": "نموذج Qwen العملاق للغة، يدعم سياقات نصية طويلة، بالإضافة إلى وظائف الحوار المستندة إلى الوثائق الطويلة والعديد من الوثائق."
},
-11
View File
@@ -183,21 +183,10 @@
"title": "معلومات المساعد"
},
"settingAppearance": {
"animationMode": {
"agile": "سريع",
"desc": "اختر سرعة استجابة حركة التطبيق",
"disabled": "إيقاف",
"elegant": "أنيق",
"title": "حركة الاستجابة"
},
"neutralColor": {
"desc": "تخصيص تدرجات الرمادي ذات الاتجاهات اللونية المختلفة",
"title": "لون محايد"
},
"noAnimation": {
"desc": "تعطيل جميع تأثيرات الحركة في التطبيق",
"title": "وضع بدون حركة"
},
"preview": {
"title": "لوحة الألوان"
},
+3 -21
View File
@@ -1104,7 +1104,7 @@
"description": "FLUX.1 [dev] е отворен и пречистен модел, предназначен за нетърговска употреба. Той запазва качество на изображенията и способността за следване на инструкции, близки до професионалната версия на FLUX, като същевременно предлага по-висока ефективност на работа и по-добро използване на ресурсите в сравнение със стандартни модели със същия размер."
},
"flux-kontext/dev": {
"description": "FLUX.1 модел, фокусиран върху задачи за редактиране на изображения, поддържащ текстови и визуални входни данни."
"description": "Модел за редактиране на изображения Frontier."
},
"flux-merged": {
"description": "FLUX.1-merged комбинира дълбоките характеристики, изследвани в разработката на \"DEV\" версията, с високоскоростните предимства на \"Schnell\". Тази комбинация не само разширява границите на производителността на модела, но и увеличава обхвата на неговото приложение."
@@ -1118,11 +1118,8 @@
"flux.1-schnell": {
"description": "Коригиран потоков трансформър с 12 милиарда параметри, способен да генерира изображения въз основа на текстово описание."
},
"flux/krea": {
"description": "Flux Krea [dev] е модел за генериране на изображения с естетически предпочитания, целящ да създава по-реалистични и естествени изображения."
},
"flux/schnell": {
"description": "FLUX.1 [schnell] е модел за генериране на изображения с 12 милиарда параметри, фокусиран върху бързото създаване на висококачествени изображения."
"description": "FLUX.1 [schnell] е потоков трансформаторен модел с 12 милиарда параметри, способен да генерира висококачествени изображения от текст в 1 до 4 стъпки, подходящ за лична и търговска употреба."
},
"gemini-1.0-pro-001": {
"description": "Gemini 1.0 Pro 001 (Тунинг) предлага стабилна и настройваема производителност, идеален избор за решения на сложни задачи."
@@ -1484,18 +1481,6 @@
"gpt-4o-transcribe": {
"description": "GPT-4o Transcribe е модел за преобразуване на реч в текст, използващ GPT-4o за транскрибиране на аудио. В сравнение с оригиналния модел Whisper, той намалява процента на грешки в думите и подобрява разпознаването на езика и точността. Използвайте го за по-точни транскрипции."
},
"gpt-5": {
"description": "Най-добрият модел за междуотраслово кодиране и задачи с агенти. GPT-5 постига пробиви в точност, скорост, разсъждение, разпознаване на контекст, структурирано мислене и решаване на проблеми."
},
"gpt-5-chat-latest": {
"description": "Моделът GPT-5, използван в ChatGPT. Комбинира мощно разбиране и генериране на език, подходящ за диалогови приложения."
},
"gpt-5-mini": {
"description": "По-бърза и по-икономична версия на GPT-5, подходяща за ясно дефинирани задачи. Осигурява по-бърз отговор, като същевременно поддържа високо качество на изхода."
},
"gpt-5-nano": {
"description": "Най-бързата и най-икономична версия на GPT-5. Отлично подходяща за приложения, изискващи бърз отговор и чувствителни към разходите."
},
"gpt-image-1": {
"description": "Роден мултимодален модел за генериране на изображения ChatGPT."
},
@@ -1644,7 +1629,7 @@
"description": "Imagen 4-то поколение текст-към-изображение модел серия Ултра версия"
},
"imagen4/preview": {
"description": "Висококачествен модел за генериране на изображения, предоставен от Google."
"description": "Най-висококачественият модел за генериране на изображения на Google."
},
"internlm/internlm2_5-7b-chat": {
"description": "InternLM2.5 предлага интелигентни решения за диалог в множество сценарии."
@@ -2213,9 +2198,6 @@
"qwen-coder-turbo-latest": {
"description": "Моделът на кода Qwen."
},
"qwen-image": {
"description": "Мощен модел за генериране на изображения от екипа на Qwen, с впечатляващи възможности за генериране на китайски текст и разнообразни визуални стилове на изображения."
},
"qwen-long": {
"description": "Qwen е мащабен езиков модел, който поддържа дълги текстови контексти и диалогови функции, базирани на дълги документи и множество документи."
},
-11
View File
@@ -183,21 +183,10 @@
"title": "Информация за агента"
},
"settingAppearance": {
"animationMode": {
"agile": "Бързо",
"desc": "Изберете скоростта на анимацията за отговор на действията в приложението",
"disabled": "Изключено",
"elegant": "Елегантно",
"title": "Анимация на отговор"
},
"neutralColor": {
"desc": "Персонализиране на сивата скала с различни цветови нюанси",
"title": "Неутрални цветове"
},
"noAnimation": {
"desc": "Деактивирайте всички анимационни ефекти в приложението",
"title": "Режим без анимация"
},
"preview": {
"title": "Цветова палитра"
},
+3 -21
View File
@@ -1104,7 +1104,7 @@
"description": "FLUX.1 [dev] ist ein Open-Source-Gewichtungs- und Feinschlichtungsmodell für nicht-kommerzielle Anwendungen. Es bietet eine Bildqualität und Instruktionsbefolgung ähnlich der professionellen FLUX-Version, jedoch mit höherer Effizienz. Im Vergleich zu Standardmodellen gleicher Größe ist es ressourcenschonender."
},
"flux-kontext/dev": {
"description": "FLUX.1 Modell, spezialisiert auf Bildbearbeitungsaufgaben, unterstützt Text- und Bildeingaben."
"description": "Frontier Bildbearbeitungsmodell."
},
"flux-merged": {
"description": "Das FLUX.1-merged Modell kombiniert die tiefgehenden Eigenschaften, die in der Entwicklungsphase von „DEV“ erforscht wurden, mit der hohen Ausführungsgeschwindigkeit von „Schnell“. Dadurch werden sowohl die Leistungsgrenzen des Modells erweitert als auch dessen Anwendungsbereich vergrößert."
@@ -1118,11 +1118,8 @@
"flux.1-schnell": {
"description": "Ein Rectified Flow Transformer mit 12 Milliarden Parametern, der Bilder basierend auf Textbeschreibungen generieren kann."
},
"flux/krea": {
"description": "Flux Krea [dev] ist ein bildgenerierendes Modell mit ästhetischer Präferenz, das darauf abzielt, realistischere und natürlichere Bilder zu erzeugen."
},
"flux/schnell": {
"description": "FLUX.1 [schnell] ist ein bildgenerierendes Modell mit 12 Milliarden Parametern, das sich auf die schnelle Erstellung hochwertiger Bilder konzentriert."
"description": "FLUX.1 [schnell] ist ein Streaming-Transformator-Modell mit 12 Milliarden Parametern, das in 1 bis 4 Schritten hochwertige Bilder aus Text generiert und sich für private und kommerzielle Nutzung eignet."
},
"gemini-1.0-pro-001": {
"description": "Gemini 1.0 Pro 001 (Tuning) bietet stabile und anpassbare Leistung und ist die ideale Wahl für Lösungen komplexer Aufgaben."
@@ -1484,18 +1481,6 @@
"gpt-4o-transcribe": {
"description": "GPT-4o Transcribe ist ein Sprach-zu-Text-Modell, das GPT-4o zur Transkription von Audio verwendet. Im Vergleich zum ursprünglichen Whisper-Modell verbessert es die Wortfehlerrate sowie die Spracherkennung und Genauigkeit. Verwenden Sie es für genauere Transkriptionen."
},
"gpt-5": {
"description": "Das beste Modell für bereichsübergreifende Codierungs- und Agentenaufgaben. GPT-5 erzielt Durchbrüche in Genauigkeit, Geschwindigkeit, Schlussfolgerungen, Kontextverständnis, strukturiertem Denken und Problemlösung."
},
"gpt-5-chat-latest": {
"description": "Das in ChatGPT verwendete GPT-5 Modell. Vereint starke Sprachverständnis- und Generierungsfähigkeiten, ideal für dialogorientierte Anwendungen."
},
"gpt-5-mini": {
"description": "Eine schnellere und kosteneffizientere Version von GPT-5, geeignet für klar definierte Aufgaben. Bietet schnellere Reaktionszeiten bei gleichbleibend hoher Ausgabequalität."
},
"gpt-5-nano": {
"description": "Die schnellste und kostengünstigste Version von GPT-5. Besonders geeignet für Anwendungen, die schnelle Reaktionen und Kostenbewusstsein erfordern."
},
"gpt-image-1": {
"description": "ChatGPT natives multimodales Bildgenerierungsmodell"
},
@@ -1644,7 +1629,7 @@
"description": "Imagen 4. Generation Text-zu-Bild Modellserie Ultra-Version"
},
"imagen4/preview": {
"description": "Hochwertiges bildgenerierendes Modell von Google."
"description": "Googles hochwertigstes Bildgenerierungsmodell"
},
"internlm/internlm2_5-7b-chat": {
"description": "InternLM2.5 bietet intelligente Dialoglösungen in mehreren Szenarien."
@@ -2213,9 +2198,6 @@
"qwen-coder-turbo-latest": {
"description": "Das Tongyi Qianwen Code-Modell."
},
"qwen-image": {
"description": "Leistungsstarkes Rohbildmodell vom Qwen-Team mit beeindruckenden Fähigkeiten zur chinesischen Textgenerierung und vielfältigen visuellen Bildstilen."
},
"qwen-long": {
"description": "Qwen ist ein groß angelegtes Sprachmodell, das lange Textkontexte unterstützt und Dialogfunktionen für verschiedene Szenarien wie lange Dokumente und mehrere Dokumente bietet."
},
-11
View File
@@ -183,21 +183,10 @@
"title": "Assistenteninformationen"
},
"settingAppearance": {
"animationMode": {
"agile": "Agil",
"desc": "Wählen Sie die Animationsgeschwindigkeit für die Reaktion der Anwendung",
"disabled": "Aus",
"elegant": "Elegant",
"title": "Reaktionsanimation"
},
"neutralColor": {
"desc": "Anpassung der Graustufen mit unterschiedlichen Farbneigungen",
"title": "Neutrale Farben"
},
"noAnimation": {
"desc": "Deaktivieren Sie alle Animationseffekte in der Anwendung",
"title": "Kein Animationsmodus"
},
"preview": {
"title": "Farbauswahl"
},
+3 -21
View File
@@ -1104,7 +1104,7 @@
"description": "FLUX.1 [dev] is an open-source weight and fine-tuned model for non-commercial applications. It maintains image quality and instruction-following capabilities close to the FLUX professional version while offering higher operational efficiency. Compared to standard models of the same size, it is more resource-efficient."
},
"flux-kontext/dev": {
"description": "FLUX.1 model focused on image editing tasks, supporting both text and image inputs."
"description": "Frontier image editing model."
},
"flux-merged": {
"description": "The FLUX.1-merged model combines the deep features explored during the development phase of “DEV” with the high-speed execution advantages represented by “Schnell.” This integration not only pushes the model's performance boundaries but also broadens its application scope."
@@ -1118,11 +1118,8 @@
"flux.1-schnell": {
"description": "A 12-billion-parameter rectified flow transformer capable of generating images based on text descriptions."
},
"flux/krea": {
"description": "Flux Krea [dev] is an image generation model with an aesthetic preference, aimed at producing more realistic and natural images."
},
"flux/schnell": {
"description": "FLUX.1 [schnell] is an image generation model with 12 billion parameters, specializing in fast generation of high-quality images."
"description": "FLUX.1 [schnell] is a streaming transformer model with 12 billion parameters, capable of generating high-quality images from text in 1 to 4 steps, suitable for personal and commercial use."
},
"gemini-1.0-pro-001": {
"description": "Gemini 1.0 Pro 001 (Tuning) offers stable and tunable performance, making it an ideal choice for complex task solutions."
@@ -1484,18 +1481,6 @@
"gpt-4o-transcribe": {
"description": "GPT-4o Transcribe is a speech-to-text model that uses GPT-4o to transcribe audio. Compared to the original Whisper model, it improves word error rate, language recognition, and accuracy. Use it for more precise transcriptions."
},
"gpt-5": {
"description": "The best model for cross-domain coding and agent tasks. GPT-5 achieves breakthroughs in accuracy, speed, reasoning, context recognition, structured thinking, and problem-solving."
},
"gpt-5-chat-latest": {
"description": "The GPT-5 model used in ChatGPT. Combines powerful language understanding and generation capabilities, ideal for conversational interaction applications."
},
"gpt-5-mini": {
"description": "A faster, more cost-effective version of GPT-5, suitable for well-defined tasks. Provides quicker response times while maintaining high-quality output."
},
"gpt-5-nano": {
"description": "The fastest and most cost-efficient version of GPT-5. Perfectly suited for applications requiring rapid responses and cost sensitivity."
},
"gpt-image-1": {
"description": "ChatGPT native multimodal image generation model."
},
@@ -1644,7 +1629,7 @@
"description": "Imagen 4th generation text-to-image model series Ultra version"
},
"imagen4/preview": {
"description": "A high-quality image generation model provided by Google."
"description": "Google's highest quality image generation model."
},
"internlm/internlm2_5-7b-chat": {
"description": "InternLM2.5 offers intelligent dialogue solutions across multiple scenarios."
@@ -2213,9 +2198,6 @@
"qwen-coder-turbo-latest": {
"description": "The Tongyi Qianwen Coder model."
},
"qwen-image": {
"description": "A powerful raw image model from the Qwen team, featuring impressive Chinese text generation capabilities and diverse visual styles."
},
"qwen-long": {
"description": "Qwen is a large-scale language model that supports long text contexts and dialogue capabilities based on long documents and multiple documents."
},
-11
View File
@@ -183,21 +183,10 @@
"title": "Assistant Information"
},
"settingAppearance": {
"animationMode": {
"agile": "Agile",
"desc": "Select the animation speed for application response actions",
"disabled": "Off",
"elegant": "Elegant",
"title": "Response Animation"
},
"neutralColor": {
"desc": "Custom grayscale with different color tendencies",
"title": "Neutral Color"
},
"noAnimation": {
"desc": "Disable all animation effects in the application",
"title": "No Animation Mode"
},
"preview": {
"title": "Color Palette"
},
+3 -21
View File
@@ -1104,7 +1104,7 @@
"description": "FLUX.1 [dev] es un modelo refinado y de pesos abiertos para aplicaciones no comerciales. Mantiene una calidad de imagen y capacidad de seguimiento de instrucciones similar a la versión profesional de FLUX, pero con mayor eficiencia operativa. En comparación con modelos estándar de tamaño similar, es más eficiente en el uso de recursos."
},
"flux-kontext/dev": {
"description": "Modelo FLUX.1 centrado en tareas de edición de imágenes, compatible con entradas de texto e imagen."
"description": "Modelo de edición de imágenes Frontier."
},
"flux-merged": {
"description": "El modelo FLUX.1-merged combina las características profundas exploradas durante la fase de desarrollo de “DEV” con las ventajas de ejecución rápida representadas por “Schnell”. Esta combinación no solo amplía los límites de rendimiento del modelo, sino que también amplía su rango de aplicaciones."
@@ -1118,11 +1118,8 @@
"flux.1-schnell": {
"description": "Transformador de flujo rectificado con 12 mil millones de parámetros, capaz de generar imágenes basadas en descripciones textuales."
},
"flux/krea": {
"description": "Flux Krea [dev] es un modelo generador de imágenes con preferencia estética, diseñado para crear imágenes más realistas y naturales."
},
"flux/schnell": {
"description": "FLUX.1 [schnell] es un modelo generador de imágenes con 12 mil millones de parámetros, enfocado en la generación rápida de imágenes de alta calidad."
"description": "FLUX.1 [schnell] es un modelo transformador de flujo con 12 mil millones de parámetros, capaz de generar imágenes de alta calidad a partir de texto en 1 a 4 pasos, adecuado para uso personal y comercial."
},
"gemini-1.0-pro-001": {
"description": "Gemini 1.0 Pro 001 (Ajuste) ofrece un rendimiento estable y ajustable, siendo una opción ideal para soluciones de tareas complejas."
@@ -1484,18 +1481,6 @@
"gpt-4o-transcribe": {
"description": "GPT-4o Transcribe es un modelo de conversión de voz a texto que utiliza GPT-4o para transcribir audio. En comparación con el modelo Whisper original, mejora la tasa de error de palabras y aumenta la precisión y el reconocimiento del idioma. Úselo para obtener transcripciones más precisas."
},
"gpt-5": {
"description": "El mejor modelo para tareas de codificación y agentes multidisciplinarios. GPT-5 logra avances en precisión, velocidad, razonamiento, reconocimiento contextual, pensamiento estructurado y resolución de problemas."
},
"gpt-5-chat-latest": {
"description": "Modelo GPT-5 utilizado en ChatGPT. Combina una potente comprensión y generación del lenguaje, ideal para aplicaciones de interacción conversacional."
},
"gpt-5-mini": {
"description": "Versión más rápida y económica de GPT-5, adecuada para tareas bien definidas. Ofrece respuestas más rápidas manteniendo una salida de alta calidad."
},
"gpt-5-nano": {
"description": "Versión más rápida y económica de GPT-5. Perfecta para escenarios que requieren respuestas rápidas y son sensibles al costo."
},
"gpt-image-1": {
"description": "Modelo nativo multimodal de generación de imágenes de ChatGPT."
},
@@ -1644,7 +1629,7 @@
"description": "Serie de modelos de texto a imagen de cuarta generación de Imagen, versión Ultra"
},
"imagen4/preview": {
"description": "Modelo generador de imágenes de alta calidad proporcionado por Google."
"description": "El modelo de generación de imágenes de mayor calidad de Google."
},
"internlm/internlm2_5-7b-chat": {
"description": "InternLM2.5 ofrece soluciones de diálogo inteligente en múltiples escenarios."
@@ -2213,9 +2198,6 @@
"qwen-coder-turbo-latest": {
"description": "El modelo de código Tongyi Qwen."
},
"qwen-image": {
"description": "Potente modelo de imágenes en bruto del equipo Qwen, con impresionante capacidad para generar texto en chino y diversos estilos visuales de imágenes."
},
"qwen-long": {
"description": "Qwen es un modelo de lenguaje a gran escala que admite contextos de texto largos y funciones de conversación basadas en documentos largos y múltiples."
},
-11
View File
@@ -183,21 +183,10 @@
"title": "Información del asistente"
},
"settingAppearance": {
"animationMode": {
"agile": "Ágil",
"desc": "Selecciona la velocidad de la animación para las respuestas de la aplicación",
"disabled": "Desactivado",
"elegant": "Elegante",
"title": "Animación de respuesta"
},
"neutralColor": {
"desc": "Personalización de escalas de grises con diferentes inclinaciones de color",
"title": "Color Neutro"
},
"noAnimation": {
"desc": "Desactiva todos los efectos de animación en la aplicación",
"title": "Modo sin animación"
},
"preview": {
"title": "Paleta de Colores"
},
+3 -21
View File
@@ -1104,7 +1104,7 @@
"description": "FLUX.1 [dev] یک مدل وزن باز و پالایش شده متن‌باز برای کاربردهای غیرتجاری است. این مدل کیفیت تصویر و پیروی از دستورالعمل را نزدیک به نسخه حرفه‌ای FLUX حفظ کرده و در عین حال کارایی اجرایی بالاتری دارد. نسبت به مدل‌های استاندارد با اندازه مشابه، بهره‌وری منابع بهتری دارد."
},
"flux-kontext/dev": {
"description": "مدل FLUX.1 متمرکز بر وظایف ویرایش تصویر، با پشتیبانی از ورودی‌های متنی و تصویری."
"description": "مدل ویرایش تصویر Frontier."
},
"flux-merged": {
"description": "مدل FLUX.1-merged ترکیبی از ویژگی‌های عمیق کشف شده در مرحله توسعه \"DEV\" و مزایای اجرای سریع \"Schnell\" است. این اقدام باعث افزایش مرزهای عملکرد مدل و گسترش دامنه کاربردهای آن شده است."
@@ -1118,11 +1118,8 @@
"flux.1-schnell": {
"description": "ترنسفورمر جریان اصلاح‌شده با 12 میلیارد پارامتر که قادر است تصاویر را بر اساس توصیف متنی تولید کند."
},
"flux/krea": {
"description": "Flux Krea [dev] مدلی برای تولید تصویر با سلیقه زیبایی‌شناسانه است که هدف آن تولید تصاویر واقعی‌تر و طبیعی‌تر می‌باشد."
},
"flux/schnell": {
"description": "FLUX.1 [schnell] مدلی با 12 میلیارد پارامتر برای تولید تصویر است که بر تولید سریع تصاویر با کیفیت بالا تمرکز دارد."
"description": "FLUX.1 [schnell] یک مدل تبدیل جریانی با 12 میلیارد پارامتر است که می‌تواند در 1 تا 4 مرحله تصاویر با کیفیت بالا را از متن تولید کند و برای استفاده شخصی و تجاری مناسب است."
},
"gemini-1.0-pro-001": {
"description": "Gemini 1.0 Pro 001 (تنظیم) عملکردی پایدار و قابل تنظیم ارائه می‌دهد و انتخابی ایده‌آل برای راه‌حل‌های وظایف پیچیده است."
@@ -1484,18 +1481,6 @@
"gpt-4o-transcribe": {
"description": "GPT-4o Transcribe یک مدل تبدیل گفتار به متن است که از GPT-4o برای رونویسی صوت استفاده می‌کند. نسبت به مدل اصلی Whisper، نرخ خطای کلمات را کاهش داده و دقت و شناسایی زبان را بهبود بخشیده است. از آن برای دریافت رونویسی دقیق‌تر استفاده کنید."
},
"gpt-5": {
"description": "بهترین مدل برای کدگذاری و وظایف نمایندگی در حوزه‌های مختلف. GPT-5 جهشی در دقت، سرعت، استدلال، درک زمینه، تفکر ساختاری و حل مسئله ایجاد کرده است."
},
"gpt-5-chat-latest": {
"description": "مدل GPT-5 استفاده شده در ChatGPT. ترکیبی از درک و تولید زبان قدرتمند، مناسب برای برنامه‌های تعاملی گفتگو محور."
},
"gpt-5-mini": {
"description": "نسخه‌ای سریع‌تر و اقتصادی‌تر از GPT-5، مناسب برای وظایف با تعریف واضح. در حالی که کیفیت خروجی بالا حفظ می‌شود، پاسخگویی سریع‌تری ارائه می‌دهد."
},
"gpt-5-nano": {
"description": "سریع‌ترین و اقتصادی‌ترین نسخه GPT-5. بسیار مناسب برای کاربردهایی که نیاز به پاسخ سریع و حساسیت به هزینه دارند."
},
"gpt-image-1": {
"description": "مدل تولید تصویر چندرسانه‌ای بومی ChatGPT"
},
@@ -1644,7 +1629,7 @@
"description": "نسخه اولترا سری مدل متن به تصویر نسل چهارم Imagen"
},
"imagen4/preview": {
"description": "مدل تولید تصویر با کیفیت بالا ارائه شده توسط گوگل."
"description": "مدل تولید تصویر با بالاترین کیفیت گوگل"
},
"internlm/internlm2_5-7b-chat": {
"description": "InternLM2.5 راه‌حل‌های گفتگوی هوشمند در چندین سناریو ارائه می‌دهد."
@@ -2213,9 +2198,6 @@
"qwen-coder-turbo-latest": {
"description": "مدل کدنویسی تونگی چیان‌ون."
},
"qwen-image": {
"description": "مدل قدرتمند تولید تصویر خام از تیم Qwen، با توانایی چشمگیر در تولید متن‌های چینی و سبک‌های بصری متنوع تصاویر."
},
"qwen-long": {
"description": "مدل زبانی بسیار بزرگ Tongyi Qianwen که از متن‌های طولانی و همچنین قابلیت مکالمه در چندین سناریو مانند اسناد طولانی و چندین سند پشتیبانی می‌کند."
},
-11
View File
@@ -183,21 +183,10 @@
"title": "اطلاعات دستیار"
},
"settingAppearance": {
"animationMode": {
"agile": "چابک",
"desc": "سرعت انیمیشن پاسخ عملیات برنامه را انتخاب کنید",
"disabled": "خاموش",
"elegant": "ظریف",
"title": "انیمیشن پاسخ"
},
"neutralColor": {
"desc": "سفارشی‌سازی مقیاس خاکستری با تم‌های رنگی مختلف",
"title": "رنگ‌های خنثی"
},
"noAnimation": {
"desc": "تمام جلوه‌های انیمیشنی در برنامه را غیرفعال کنید",
"title": "حالت بدون انیمیشن"
},
"preview": {
"title": "پالت رنگ"
},
+3 -21
View File
@@ -1104,7 +1104,7 @@
"description": "FLUX.1 [dev] est un modèle open source affiné destiné à un usage non commercial. Il maintient une qualité d'image et une adhérence aux instructions proches de la version professionnelle FLUX, tout en offrant une efficacité d'exécution supérieure. Par rapport aux modèles standards de même taille, il est plus efficace en termes d'utilisation des ressources."
},
"flux-kontext/dev": {
"description": "Modèle FLUX.1 spécialisé dans les tâches d'édition d'images, prenant en charge les entrées texte et image."
"description": "Modèle d'édition d'image Frontier."
},
"flux-merged": {
"description": "Le modèle FLUX.1-merged combine les caractéristiques approfondies explorées durant la phase de développement « DEV » et les avantages d'exécution rapide représentés par « Schnell ». Cette fusion améliore non seulement les performances du modèle mais étend également son champ d'application."
@@ -1118,11 +1118,8 @@
"flux.1-schnell": {
"description": "Transformateur de flux rectifié de 12 milliards de paramètres capable de générer des images à partir de descriptions textuelles."
},
"flux/krea": {
"description": "Flux Krea [dev] est un modèle de génération d'images avec une préférence esthétique, visant à produire des images plus réalistes et naturelles."
},
"flux/schnell": {
"description": "FLUX.1 [schnell] est un modèle de génération d'images de 12 milliards de paramètres, axé sur la génération rapide d'images de haute qualité."
"description": "FLUX.1 [schnell] est un modèle transformeur en flux avec 12 milliards de paramètres, capable de générer des images de haute qualité à partir de texte en 1 à 4 étapes, adapté à un usage personnel et commercial."
},
"gemini-1.0-pro-001": {
"description": "Gemini 1.0 Pro 001 (Ajustement) offre des performances stables et ajustables, ce qui en fait un choix idéal pour des solutions de tâches complexes."
@@ -1484,18 +1481,6 @@
"gpt-4o-transcribe": {
"description": "GPT-4o Transcribe est un modèle de transcription audio en texte utilisant GPT-4o. Par rapport au modèle Whisper original, il améliore le taux d'erreur des mots ainsi que la reconnaissance et la précision linguistiques. Utilisez-le pour obtenir des transcriptions plus précises."
},
"gpt-5": {
"description": "Le meilleur modèle pour les tâches de codage inter-domaines et d'agents. GPT-5 réalise un bond en avant en précision, vitesse, raisonnement, reconnaissance contextuelle, pensée structurée et résolution de problèmes."
},
"gpt-5-chat-latest": {
"description": "Modèle GPT-5 utilisé dans ChatGPT. Allie une compréhension et une génération linguistique puissantes, idéal pour les applications d'interaction conversationnelle."
},
"gpt-5-mini": {
"description": "Version plus rapide et économique de GPT-5, adaptée aux tâches bien définies. Offre une réponse plus rapide tout en maintenant une sortie de haute qualité."
},
"gpt-5-nano": {
"description": "Version la plus rapide et la plus économique de GPT-5. Parfaitement adaptée aux scénarios nécessitant une réponse rapide et sensibles aux coûts."
},
"gpt-image-1": {
"description": "Modèle natif multimodal de génération d'images de ChatGPT."
},
@@ -1644,7 +1629,7 @@
"description": "Série de modèles de génération d'images à partir de texte Imagen 4e génération version Ultra"
},
"imagen4/preview": {
"description": "Modèle de génération d'images de haute qualité fourni par Google."
"description": "Modèle de génération d'images de la plus haute qualité de Google."
},
"internlm/internlm2_5-7b-chat": {
"description": "InternLM2.5 fournit des solutions de dialogue intelligent dans divers scénarios."
@@ -2213,9 +2198,6 @@
"qwen-coder-turbo-latest": {
"description": "Le modèle de code Tongyi Qwen."
},
"qwen-image": {
"description": "Modèle puissant de génération d'images brutes développé par l'équipe Qwen, avec une impressionnante capacité de génération de texte en chinois et une diversité de styles visuels d'images."
},
"qwen-long": {
"description": "Qwen est un modèle de langage à grande échelle, prenant en charge un contexte de texte long, ainsi que des fonctionnalités de dialogue basées sur des documents longs et multiples."
},
-11
View File
@@ -183,21 +183,10 @@
"title": "Informations sur l'agent"
},
"settingAppearance": {
"animationMode": {
"agile": "Agile",
"desc": "Choisissez la vitesse d'animation des réponses des actions de l'application",
"disabled": "Désactivé",
"elegant": "Élégant",
"title": "Animation de réponse"
},
"neutralColor": {
"desc": "Personnalisation des nuances de gris selon les tendances de couleur",
"title": "Couleur neutre"
},
"noAnimation": {
"desc": "Désactive toutes les animations dans l'application",
"title": "Mode sans animation"
},
"preview": {
"title": "Palette de couleurs"
},
+3 -21
View File
@@ -1104,7 +1104,7 @@
"description": "FLUX.1 [dev] è un modello open source raffinato e pesato per uso non commerciale. Mantiene qualità d'immagine e aderenza alle istruzioni simili alla versione professionale FLUX, ma con maggiore efficienza operativa. Rispetto a modelli standard di dimensioni simili, utilizza le risorse in modo più efficiente."
},
"flux-kontext/dev": {
"description": "Modello FLUX.1 focalizzato su compiti di modifica delle immagini, supporta input di testo e immagini."
"description": "Modello di editing immagini Frontier."
},
"flux-merged": {
"description": "Il modello FLUX.1-merged combina le caratteristiche approfondite esplorate nella fase di sviluppo \"DEV\" con i vantaggi di esecuzione rapida rappresentati da \"Schnell\". Questa combinazione non solo estende i limiti di prestazione del modello, ma ne amplia anche l'ambito di applicazione."
@@ -1118,11 +1118,8 @@
"flux.1-schnell": {
"description": "Trasformatore di flusso rettificato con 12 miliardi di parametri, capace di generare immagini basate su descrizioni testuali."
},
"flux/krea": {
"description": "Flux Krea [dev] è un modello di generazione di immagini con preferenze estetiche, progettato per creare immagini più realistiche e naturali."
},
"flux/schnell": {
"description": "FLUX.1 [schnell] è un modello di generazione di immagini con 12 miliardi di parametri, focalizzato sulla generazione rapida di immagini di alta qualità."
"description": "FLUX.1 [schnell] è un modello trasformatore a flusso con 12 miliardi di parametri, capace di generare immagini di alta qualità da testo in 1-4 passaggi, adatto per uso personale e commerciale."
},
"gemini-1.0-pro-001": {
"description": "Gemini 1.0 Pro 001 (Tuning) offre prestazioni stabili e ottimizzabili, è la scelta ideale per soluzioni a compiti complessi."
@@ -1484,18 +1481,6 @@
"gpt-4o-transcribe": {
"description": "GPT-4o Transcribe è un modello di trascrizione vocale che utilizza GPT-4o per convertire audio in testo. Rispetto al modello Whisper originale, migliora il tasso di errore delle parole e la precisione nel riconoscimento linguistico. Usalo per ottenere trascrizioni più accurate."
},
"gpt-5": {
"description": "Il miglior modello per compiti di codifica e agenti cross-domain. GPT-5 rappresenta un salto in termini di accuratezza, velocità, ragionamento, riconoscimento del contesto, pensiero strutturato e problem solving."
},
"gpt-5-chat-latest": {
"description": "Modello GPT-5 utilizzato in ChatGPT. Combina potenti capacità di comprensione e generazione del linguaggio, ideale per applicazioni di interazione conversazionale."
},
"gpt-5-mini": {
"description": "Versione più veloce ed economica di GPT-5, adatta a compiti ben definiti. Offre risposte più rapide mantenendo un output di alta qualità."
},
"gpt-5-nano": {
"description": "Versione più veloce ed economica di GPT-5. Perfetta per scenari applicativi che richiedono risposte rapide e sono sensibili ai costi."
},
"gpt-image-1": {
"description": "Modello nativo multimodale di generazione immagini di ChatGPT"
},
@@ -1644,7 +1629,7 @@
"description": "Serie di modelli di generazione di immagini da testo di quarta generazione Imagen versione Ultra"
},
"imagen4/preview": {
"description": "Modello di generazione di immagini di alta qualità fornito da Google."
"description": "Il modello di generazione immagini di massima qualità di Google"
},
"internlm/internlm2_5-7b-chat": {
"description": "InternLM2.5 offre soluzioni di dialogo intelligente in vari scenari."
@@ -2213,9 +2198,6 @@
"qwen-coder-turbo-latest": {
"description": "Modello di codice Tongyi Qwen."
},
"qwen-image": {
"description": "Potente modello di immagini grezze del team Qwen, con impressionante capacità di generazione di testo in cinese e stili visivi di immagini diversificati."
},
"qwen-long": {
"description": "Qwen è un modello di linguaggio su larga scala che supporta contesti di testo lunghi e funzionalità di dialogo basate su documenti lunghi e multipli."
},
-11
View File
@@ -183,21 +183,10 @@
"title": "Informazioni sull'assistente"
},
"settingAppearance": {
"animationMode": {
"agile": "Agile",
"desc": "Seleziona la velocità dell'animazione per la risposta delle azioni dell'applicazione",
"disabled": "Disattivato",
"elegant": "Elegante",
"title": "Animazione di risposta"
},
"neutralColor": {
"desc": "Personalizzazione dei grigi con diverse inclinazioni di colore",
"title": "Colore Neutro"
},
"noAnimation": {
"desc": "Disabilita tutte le animazioni nell'applicazione",
"title": "Modalità senza animazioni"
},
"preview": {
"title": "Tavolozza"
},
+3 -21
View File
@@ -1104,7 +1104,7 @@
"description": "FLUX.1 [dev]は非商用用途向けのオープンソースの重み付き精錬モデルで、FLUXプロフェッショナル版に近い画像品質と指示遵守能力を維持しつつ、より高い実行効率を実現。標準モデルと同サイズながらリソース利用効率が向上しています。"
},
"flux-kontext/dev": {
"description": "画像編集タスクに特化したFLUX.1モデルで、テキストと画像の入力に対応しています。"
"description": "フロンティアイメージ編集モデル。"
},
"flux-merged": {
"description": "FLUX.1-mergedモデルは、開発段階で探索された「DEV」の深層特性と「Schnell」が示す高速実行の利点を組み合わせています。この取り組みにより、FLUX.1-mergedはモデルの性能限界を押し上げ、応用範囲を拡大しました。"
@@ -1118,11 +1118,8 @@
"flux.1-schnell": {
"description": "120億パラメータを持つ修正フロートランスフォーマーで、テキスト記述に基づいて画像を生成します。"
},
"flux/krea": {
"description": "Flux Krea [dev] は美的嗜好を持つ画像生成モデルで、よりリアルで自然な画像の生成を目指しています。"
},
"flux/schnell": {
"description": "FLUX.1 [schnell] は120億パラメータを持つ画像生成モデルで、高品質な画像を迅速に生成することに特化しています。"
"description": "FLUX.1 [schnell] は120億パラメータを持つストリーミングトランスフォーマーモデルで、1〜4ステップでテキストから高品質な画像を生成し、個人および商用利用に適しています。"
},
"gemini-1.0-pro-001": {
"description": "Gemini 1.0 Pro 001(チューニング)は、安定した調整可能な性能を提供し、複雑なタスクのソリューションに理想的な選択肢です。"
@@ -1484,18 +1481,6 @@
"gpt-4o-transcribe": {
"description": "GPT-4o TranscribeはGPT-4oを使用した音声からテキストへの転写モデルです。元のWhisperモデルと比較して単語誤り率が改善され、言語認識と精度が向上しています。より正確な転写を得るためにご利用ください。"
},
"gpt-5": {
"description": "クロスドメインのコーディングおよびエージェントタスクに最適なモデル。GPT-5は正確性、速度、推論、コンテキスト認識、構造的思考、問題解決において飛躍的な進歩を遂げました。"
},
"gpt-5-chat-latest": {
"description": "ChatGPTで使用されているGPT-5モデル。強力な言語理解と生成能力を兼ね備え、対話型インタラクションに適しています。"
},
"gpt-5-mini": {
"description": "より高速でコスト効率の高いGPT-5のバージョンで、明確に定義されたタスクに適しています。高品質な出力を維持しつつ、より速い応答速度を提供します。"
},
"gpt-5-nano": {
"description": "最も高速かつコスト効率の高いGPT-5のバージョン。迅速な応答が求められ、コストに敏感なアプリケーションに非常に適しています。"
},
"gpt-image-1": {
"description": "ChatGPT ネイティブのマルチモーダル画像生成モデル"
},
@@ -1644,7 +1629,7 @@
"description": "Imagen 第4世代テキストから画像へのモデルシリーズ ウルトラバージョン"
},
"imagen4/preview": {
"description": "Googleが提供する高品質画像生成モデル"
"description": "Google の最高品質画像生成モデル"
},
"internlm/internlm2_5-7b-chat": {
"description": "InternLM2.5は多様なシーンでのインテリジェントな対話ソリューションを提供します。"
@@ -2213,9 +2198,6 @@
"qwen-coder-turbo-latest": {
"description": "通義千問のコードモデルです。"
},
"qwen-image": {
"description": "Qwenチームによる強力な生画像モデルで、印象的な中国語テキスト生成能力と多様な画像ビジュアルスタイルを備えています。"
},
"qwen-long": {
"description": "通義千問超大規模言語モデルで、長文コンテキストや長文書、複数文書に基づく対話機能をサポートしています。"
},
-11
View File
@@ -183,21 +183,10 @@
"title": "アシスタント情報"
},
"settingAppearance": {
"animationMode": {
"agile": "敏捷",
"desc": "アプリケーションの操作応答のアニメーション速度を選択します",
"disabled": "オフ",
"elegant": "エレガント",
"title": "応答アニメーション"
},
"neutralColor": {
"desc": "異なる色彩傾向のグレースケールカスタマイズ",
"title": "ニュートラルカラー"
},
"noAnimation": {
"desc": "アプリ内のすべてのアニメーション効果を無効にします",
"title": "アニメーションなしモード"
},
"preview": {
"title": "カラーパレット"
},
+3 -21
View File
@@ -1104,7 +1104,7 @@
"description": "FLUX.1 [dev]는 비상업적 용도를 위한 오픈 소스 가중치 및 정제 모델입니다. FLUX.1 [dev]는 FLUX 전문판과 유사한 이미지 품질과 명령 준수 능력을 유지하면서도 더 높은 실행 효율성을 갖추고 있습니다. 동일 크기 표준 모델 대비 자원 활용이 더 효율적입니다."
},
"flux-kontext/dev": {
"description": "이미지 편집 작업에 특화된 FLUX.1 모델로, 텍스트와 이미지 입력을 지원합니다."
"description": "프론티어 이미지 편집 모델."
},
"flux-merged": {
"description": "FLUX.1-merged 모델은 개발 단계에서 탐색된 \"DEV\"의 심층 특성과 \"Schnell\"이 대표하는 고속 실행 장점을 결합했습니다. 이를 통해 FLUX.1-merged는 모델 성능 한계를 높이고 적용 범위를 확장했습니다."
@@ -1118,11 +1118,8 @@
"flux.1-schnell": {
"description": "120억 파라미터의 수정 흐름 변환기로, 텍스트 설명에 따라 이미지를 생성할 수 있습니다."
},
"flux/krea": {
"description": "Flux Krea [dev]는 미적 선호를 반영한 이미지 생성 모델로, 보다 사실적이고 자연스러운 이미지를 생성하는 것을 목표로 합니다."
},
"flux/schnell": {
"description": "FLUX.1 [schnell]은 120억 개의 매개변수를 가진 이미지 생성 모델로, 빠르게 고품질 이미지를 생성하는 데 중점을 둡니다."
"description": "FLUX.1 [schnell]은 120억 개의 매개변수를 가진 스트림 변환기 모델로, 1~4단계 내에 텍스트로부터 고품질 이미지를 생성하며 개인 및 상업적 용도에 적합합니다."
},
"gemini-1.0-pro-001": {
"description": "Gemini 1.0 Pro 001 (Tuning)은 안정적이고 조정 가능한 성능을 제공하며, 복잡한 작업 솔루션의 이상적인 선택입니다."
@@ -1484,18 +1481,6 @@
"gpt-4o-transcribe": {
"description": "GPT-4o Transcribe는 GPT-4o를 사용하여 오디오를 텍스트로 전사하는 음성 인식 모델입니다. 원래 Whisper 모델에 비해 단어 오류율이 개선되었고, 언어 인식 및 정확도가 향상되었습니다. 보다 정확한 전사를 위해 사용하세요."
},
"gpt-5": {
"description": "다중 분야 코딩 및 에이전트 작업에 최적화된 모델입니다. GPT-5는 정확성, 속도, 추론, 문맥 인식, 구조적 사고 및 문제 해결 능력에서 비약적인 발전을 이루었습니다."
},
"gpt-5-chat-latest": {
"description": "ChatGPT에 사용되는 GPT-5 모델로, 강력한 언어 이해 및 생성 능력을 결합하여 대화형 상호작용에 적합합니다."
},
"gpt-5-mini": {
"description": "더 빠르고 경제적인 GPT-5 버전으로, 명확하게 정의된 작업에 적합합니다. 높은 품질의 출력을 유지하면서 더 빠른 응답 속도를 제공합니다."
},
"gpt-5-nano": {
"description": "가장 빠르고 경제적인 GPT-5 버전으로, 빠른 응답과 비용 효율성이 중요한 애플리케이션에 매우 적합합니다."
},
"gpt-image-1": {
"description": "ChatGPT 네이티브 멀티모달 이미지 생성 모델"
},
@@ -1644,7 +1629,7 @@
"description": "Imagen 4세대 텍스트-이미지 모델 시리즈 울트라 버전"
},
"imagen4/preview": {
"description": "Google에서 제공하는 고품질 이미지 생성 모델입니다."
"description": "Google의 최고 품질 이미지 생성 모델"
},
"internlm/internlm2_5-7b-chat": {
"description": "InternLM2.5는 다양한 시나리오에서 스마트 대화 솔루션을 제공합니다."
@@ -2213,9 +2198,6 @@
"qwen-coder-turbo-latest": {
"description": "통의 천문 코드 모델입니다."
},
"qwen-image": {
"description": "Qwen 팀이 개발한 강력한 원본 이미지 생성 모델로, 인상적인 중국어 텍스트 생성 능력과 다양한 시각적 이미지 스타일을 갖추고 있습니다."
},
"qwen-long": {
"description": "통의천문 초대규모 언어 모델로, 긴 텍스트 컨텍스트를 지원하며, 긴 문서 및 다수의 문서에 기반한 대화 기능을 제공합니다."
},
-11
View File
@@ -183,21 +183,10 @@
"title": "도우미 정보"
},
"settingAppearance": {
"animationMode": {
"agile": "민첩함",
"desc": "애플리케이션의 동작 반응 애니메이션 속도를 선택하세요",
"disabled": "끄기",
"elegant": "우아함",
"title": "반응 애니메이션"
},
"neutralColor": {
"desc": "다양한 색조의 그레이스케일 사용자 정의",
"title": "중립 색상"
},
"noAnimation": {
"desc": "애플리케이션 내 모든 애니메이션 효과를 비활성화합니다",
"title": "애니메이션 없음 모드"
},
"preview": {
"title": "팔레트"
},
+3 -21
View File
@@ -1104,7 +1104,7 @@
"description": "FLUX.1 [dev] is een open-source gewicht en verfijnd model voor niet-commercieel gebruik. Het behoudt een beeldkwaliteit en instructienaleving vergelijkbaar met de professionele versie van FLUX, maar met een hogere operationele efficiëntie. Vergeleken met standaardmodellen van dezelfde grootte is het efficiënter in het gebruik van middelen."
},
"flux-kontext/dev": {
"description": "FLUX.1-model gericht op beeldbewerkingsopdrachten, ondersteunt tekst- en beeldinvoer."
"description": "Frontier beeldbewerkingsmodel."
},
"flux-merged": {
"description": "Het FLUX.1-merged model combineert de diepgaande kenmerken verkend tijdens de ontwikkelingsfase van \"DEV\" met de hoge uitvoeringssnelheid van \"Schnell\". Deze combinatie verhoogt niet alleen de prestatiegrenzen van het model, maar breidt ook het toepassingsgebied uit."
@@ -1118,11 +1118,8 @@
"flux.1-schnell": {
"description": "Een Rectified Flow Transformer met 12 miljard parameters, in staat om beelden te genereren op basis van tekstbeschrijvingen."
},
"flux/krea": {
"description": "Flux Krea [dev] is een beeldgeneratiemodel met een esthetische voorkeur, gericht op het creëren van realistischere en natuurlijkere beelden."
},
"flux/schnell": {
"description": "FLUX.1 [schnell] is een beeldgeneratiemodel met 12 miljard parameters, gericht op het snel genereren van beelden van hoge kwaliteit."
"description": "FLUX.1 [schnell] is een streaming transformer-model met 12 miljard parameters, dat binnen 1 tot 4 stappen hoogwaardige afbeeldingen uit tekst kan genereren, geschikt voor persoonlijk en commercieel gebruik."
},
"gemini-1.0-pro-001": {
"description": "Gemini 1.0 Pro 001 (Tuning) biedt stabiele en afstelbare prestaties, ideaal voor oplossingen voor complexe taken."
@@ -1484,18 +1481,6 @@
"gpt-4o-transcribe": {
"description": "GPT-4o Transcribe is een spraak-naar-tekstmodel dat GPT-4o gebruikt voor audiotranscriptie. Vergeleken met het originele Whisper-model verbetert het de woordfoutpercentage en verhoogt het de taalherkenning en nauwkeurigheid. Gebruik het voor nauwkeurigere transcripties."
},
"gpt-5": {
"description": "Het beste model voor cross-domain codering en agenttaken. GPT-5 maakt een sprong voorwaarts in nauwkeurigheid, snelheid, redeneren, contextherkenning, gestructureerd denken en probleemoplossing."
},
"gpt-5-chat-latest": {
"description": "Het GPT-5-model gebruikt in ChatGPT. Combineert krachtige taalbegrip en generatie, geschikt voor interactieve dialoogtoepassingen."
},
"gpt-5-mini": {
"description": "Een snellere en kostenefficiëntere versie van GPT-5, geschikt voor duidelijk gedefinieerde taken. Biedt snellere reactietijden met behoud van hoge outputkwaliteit."
},
"gpt-5-nano": {
"description": "De snelste en meest kostenefficiënte versie van GPT-5. Uitstekend geschikt voor toepassingen die snelle reacties en kostenbewustzijn vereisen."
},
"gpt-image-1": {
"description": "ChatGPT native multimodaal afbeeldingsgeneratiemodel"
},
@@ -1644,7 +1629,7 @@
"description": "Imagen 4e generatie tekst-naar-beeld modelserie Ultra versie"
},
"imagen4/preview": {
"description": "Hoogwaardig beeldgeneratiemodel geleverd door Google."
"description": "Google's hoogste kwaliteit afbeeldingsgeneratiemodel"
},
"internlm/internlm2_5-7b-chat": {
"description": "InternLM2.5 biedt intelligente gespreksoplossingen voor meerdere scenario's."
@@ -2213,9 +2198,6 @@
"qwen-coder-turbo-latest": {
"description": "Het Tongyi Qianwen codeermodel."
},
"qwen-image": {
"description": "Krachtig ruwe beeldmodel van het Qwen-team, met indrukwekkende Chinese tekstgeneratie en diverse visuele stijlen."
},
"qwen-long": {
"description": "Qwen is een grootschalig taalmodel dat lange tekstcontexten ondersteunt, evenals dialoogfunctionaliteit op basis van lange documenten en meerdere documenten."
},
-11
View File
@@ -183,21 +183,10 @@
"title": "Assistentinformatie"
},
"settingAppearance": {
"animationMode": {
"agile": "Behendig",
"desc": "Kies de animatiesnelheid voor de reactietijd van de applicatie",
"disabled": "Uitgeschakeld",
"elegant": "Elegant",
"title": "Reactie-animatie"
},
"neutralColor": {
"desc": "Aangepaste grijstinten met verschillende kleurvoorkeuren",
"title": "Neutrale kleur"
},
"noAnimation": {
"desc": "Schakel alle animatie-effecten in de applicatie uit",
"title": "Animatie uit modus"
},
"preview": {
"title": "Kleurpalet"
},
+3 -21
View File
@@ -1104,7 +1104,7 @@
"description": "FLUX.1 [dev] to otwarty, dopracowany model o otwartych wagach przeznaczony do zastosowań niekomercyjnych. Zachowuje jakość obrazu i zdolność do przestrzegania instrukcji zbliżoną do wersji profesjonalnej FLUX, oferując jednocześnie wyższą efektywność działania. W porównaniu do standardowych modeli o podobnej wielkości jest bardziej efektywny w wykorzystaniu zasobów."
},
"flux-kontext/dev": {
"description": "Model FLUX.1 skoncentrowany na zadaniach edycji obrazów, obsługujący wejścia tekstowe i graficzne."
"description": "Model edycji obrazów Frontier."
},
"flux-merged": {
"description": "Model FLUX.1-merged łączy głębokie cechy eksplorowane podczas fazy rozwojowej „DEV” z zaletami szybkiego wykonania reprezentowanymi przez „Schnell”. Dzięki temu FLUX.1-merged nie tylko przesuwa granice wydajności modelu, ale także rozszerza zakres jego zastosowań."
@@ -1118,11 +1118,8 @@
"flux.1-schnell": {
"description": "Transformator przepływu skorygowanego o 12 miliardach parametrów, zdolny do generowania obrazów na podstawie opisów tekstowych."
},
"flux/krea": {
"description": "Flux Krea [dev] to model generowania obrazów z estetycznymi preferencjami, mający na celu tworzenie bardziej realistycznych i naturalnych obrazów."
},
"flux/schnell": {
"description": "FLUX.1 [schnell] to model generowania obrazów z 12 miliardami parametrów, skoncentrowany na szybkim tworzeniu wysokiej jakości obrazów."
"description": "FLUX.1 [schnell] to model transformera strumieniowego z 12 miliardami parametrów, zdolny generować wysokiej jakości obrazy z tekstu w 1 do 4 krokach, odpowiedni do użytku osobistego i komercyjnego."
},
"gemini-1.0-pro-001": {
"description": "Gemini 1.0 Pro 001 (Tuning) oferuje stabilną i dostosowywalną wydajność, co czyni go idealnym wyborem dla rozwiązań złożonych zadań."
@@ -1484,18 +1481,6 @@
"gpt-4o-transcribe": {
"description": "GPT-4o Transcribe to model konwersji mowy na tekst wykorzystujący GPT-4o do transkrypcji audio. W porównaniu z oryginalnym modelem Whisper poprawia wskaźnik błędów słów oraz rozpoznawanie i dokładność językową. Użyj go, aby uzyskać dokładniejsze transkrypcje."
},
"gpt-5": {
"description": "Najlepszy model do zadań międzydziedzinowego kodowania i pośrednictwa. GPT-5 osiąga przełom w dokładności, szybkości, rozumowaniu, rozpoznawaniu kontekstu, myśleniu strukturalnym i rozwiązywaniu problemów."
},
"gpt-5-chat-latest": {
"description": "Model GPT-5 używany w ChatGPT. Łączy potężne zdolności rozumienia i generowania języka, idealny do interakcji konwersacyjnych."
},
"gpt-5-mini": {
"description": "Szybsza i bardziej ekonomiczna wersja GPT-5, przeznaczona do jasno określonych zadań. Zapewnia szybszą reakcję przy zachowaniu wysokiej jakości wyników."
},
"gpt-5-nano": {
"description": "Najszybsza i najbardziej ekonomiczna wersja GPT-5. Doskonała do zastosowań wymagających szybkiej odpowiedzi i wrażliwych na koszty."
},
"gpt-image-1": {
"description": "Natywny multimodalny model generowania obrazów ChatGPT."
},
@@ -1644,7 +1629,7 @@
"description": "Seria modeli tekst-na-obraz Imagen czwartej generacji, wersja Ultra"
},
"imagen4/preview": {
"description": "Model generowania obrazów wysokiej jakości udostępniony przez Google."
"description": "Najwyższej jakości model generowania obrazów Google."
},
"internlm/internlm2_5-7b-chat": {
"description": "InternLM2.5 oferuje inteligentne rozwiązania dialogowe w różnych scenariuszach."
@@ -2213,9 +2198,6 @@
"qwen-coder-turbo-latest": {
"description": "Model kodowania Qwen."
},
"qwen-image": {
"description": "Potężny model generowania obrazów od zespołu Qwen, z imponującymi zdolnościami generowania tekstu w języku chińskim oraz różnorodnymi stylami wizualnymi obrazów."
},
"qwen-long": {
"description": "Qwen to ultra-duży model językowy, który obsługuje długie konteksty tekstowe oraz funkcje dialogowe oparte na długich dokumentach i wielu dokumentach."
},
-11
View File
@@ -183,21 +183,10 @@
"title": "Informacje o asystencie"
},
"settingAppearance": {
"animationMode": {
"agile": "Zwinny",
"desc": "Wybierz prędkość animacji reakcji aplikacji",
"disabled": "Wyłączone",
"elegant": "Elegancki",
"title": "Animacja reakcji"
},
"neutralColor": {
"desc": "Dostosowanie odcieni szarości w różnych kolorach",
"title": "Kolor neutralny"
},
"noAnimation": {
"desc": "Wyłącz wszystkie efekty animacji w aplikacji",
"title": "Tryb bez animacji"
},
"preview": {
"title": "Paleta kolorów"
},
+3 -21
View File
@@ -1104,7 +1104,7 @@
"description": "FLUX.1 [dev] é um modelo open source refinado e com pesos voltado para aplicações não comerciais. Mantém qualidade de imagem e capacidade de seguir instruções próximas à versão profissional FLUX, com maior eficiência operacional. Em comparação com modelos padrão de tamanho similar, é mais eficiente no uso de recursos."
},
"flux-kontext/dev": {
"description": "Modelo FLUX.1 focado em tarefas de edição de imagens, suportando entrada de texto e imagem."
"description": "Modelo de edição de imagem Frontier."
},
"flux-merged": {
"description": "O modelo FLUX.1-merged combina as características profundas exploradas na fase de desenvolvimento \"DEV\" com as vantagens de execução rápida representadas por \"Schnell\". Essa combinação não só eleva os limites de desempenho do modelo, como também amplia seu campo de aplicação."
@@ -1118,11 +1118,8 @@
"flux.1-schnell": {
"description": "Transformador de fluxo retificado com 12 bilhões de parâmetros, capaz de gerar imagens a partir de descrições textuais."
},
"flux/krea": {
"description": "Flux Krea [dev] é um modelo de geração de imagens com preferência estética, visando criar imagens mais realistas e naturais."
},
"flux/schnell": {
"description": "FLUX.1 [schnell] é um modelo de geração de imagens com 12 bilhões de parâmetros, focado em gerar imagens de alta qualidade rapidamente."
"description": "FLUX.1 [schnell] é um modelo transformador streaming com 12 bilhões de parâmetros, capaz de gerar imagens de alta qualidade a partir de texto em 1 a 4 passos, adequado para uso pessoal e comercial."
},
"gemini-1.0-pro-001": {
"description": "Gemini 1.0 Pro 001 (Ajuste) oferece desempenho estável e ajustável, sendo a escolha ideal para soluções de tarefas complexas."
@@ -1484,18 +1481,6 @@
"gpt-4o-transcribe": {
"description": "GPT-4o Transcribe é um modelo de transcrição de áudio para texto que utiliza GPT-4o. Em comparação com o modelo Whisper original, melhora a taxa de erro de palavras, além do reconhecimento e precisão linguística. Use-o para obter transcrições mais precisas."
},
"gpt-5": {
"description": "O melhor modelo para tarefas de codificação e agentes interdisciplinares. GPT-5 alcança avanços em precisão, velocidade, raciocínio, reconhecimento de contexto, pensamento estruturado e resolução de problemas."
},
"gpt-5-chat-latest": {
"description": "Modelo GPT-5 usado no ChatGPT. Combina forte compreensão e geração de linguagem, ideal para aplicações de interação conversacional."
},
"gpt-5-mini": {
"description": "Versão mais rápida e econômica do GPT-5, adequada para tarefas bem definidas. Oferece respostas mais rápidas mantendo alta qualidade de saída."
},
"gpt-5-nano": {
"description": "Versão mais rápida e econômica do GPT-5. Muito adequada para cenários que exigem respostas rápidas e sensibilidade a custos."
},
"gpt-image-1": {
"description": "Modelo nativo multimodal de geração de imagens do ChatGPT"
},
@@ -1644,7 +1629,7 @@
"description": "Série de modelos de texto para imagem da 4ª geração Imagen, versão Ultra"
},
"imagen4/preview": {
"description": "Modelo de geração de imagens de alta qualidade fornecido pelo Google."
"description": "Modelo de geração de imagens de mais alta qualidade do Google"
},
"internlm/internlm2_5-7b-chat": {
"description": "InternLM2.5 oferece soluções de diálogo inteligente em múltiplos cenários."
@@ -2213,9 +2198,6 @@
"qwen-coder-turbo-latest": {
"description": "Modelo de código Qwen."
},
"qwen-image": {
"description": "Modelo poderoso de imagens brutas da equipe Qwen, com impressionante capacidade de geração de texto em chinês e diversos estilos visuais de imagens."
},
"qwen-long": {
"description": "O Qwen é um modelo de linguagem em larga escala que suporta contextos de texto longos e funcionalidades de diálogo baseadas em documentos longos e múltiplos cenários."
},
-11
View File
@@ -183,21 +183,10 @@
"title": "Informações do assistente"
},
"settingAppearance": {
"animationMode": {
"agile": "Ágil",
"desc": "Escolha a velocidade da animação para as respostas das ações do aplicativo",
"disabled": "Desativado",
"elegant": "Elegante",
"title": "Animação de Resposta"
},
"neutralColor": {
"desc": "Personalização de escala de cinza com diferentes inclinações de cor",
"title": "Cor Neutra"
},
"noAnimation": {
"desc": "Desativa todos os efeitos de animação no aplicativo",
"title": "Modo Sem Animação"
},
"preview": {
"title": "Paleta de Cores"
},
+3 -21
View File
@@ -1104,7 +1104,7 @@
"description": "FLUX.1 [dev] — открытая модель с весами и оптимизациями для некоммерческого использования. Обеспечивает качество изображений и следование инструкциям, близкие к профессиональной версии FLUX, при более высокой эффективности работы и лучшем использовании ресурсов по сравнению с моделями того же размера."
},
"flux-kontext/dev": {
"description": "Модель FLUX.1, ориентированная на задачи редактирования изображений, поддерживает ввод текста и изображений."
"description": "Модель редактирования изображений Frontier."
},
"flux-merged": {
"description": "Модель FLUX.1-merged объединяет глубокие особенности, исследованные в фазе разработки \"DEV\", и преимущества высокой скорости исполнения, представленные в \"Schnell\". Это позволяет расширить границы производительности модели и увеличить её применимость."
@@ -1118,11 +1118,8 @@
"flux.1-schnell": {
"description": "Исправленный потоковый трансформер с 12 миллиардами параметров, способный генерировать изображения на основе текстовых описаний."
},
"flux/krea": {
"description": "Flux Krea [dev] — модель генерации изображений с эстетическими предпочтениями, направленная на создание более реалистичных и естественных изображений."
},
"flux/schnell": {
"description": "FLUX.1 [schnell] — модель генерации изображений с 12 миллиардами параметров, ориентированная на быстрое создание высококачественных изображений."
"description": "FLUX.1 [schnell] — это потоковая трансформерная модель с 12 миллиардами параметров, способная генерировать высококачественные изображения из текста за 1–4 шага, подходит для личного и коммерческого использования."
},
"gemini-1.0-pro-001": {
"description": "Gemini 1.0 Pro 001 (Тюнинг) предлагает стабильную и настраиваемую производительность, что делает её идеальным выбором для решения сложных задач."
@@ -1484,18 +1481,6 @@
"gpt-4o-transcribe": {
"description": "GPT-4o Transcribe — модель преобразования речи в текст, использующая GPT-4o для транскрибирования аудио. По сравнению с оригинальной моделью Whisper, она снижает количество ошибок в словах и повышает точность распознавания языка. Используйте её для более точной транскрипции."
},
"gpt-5": {
"description": "Лучшая модель для междисциплинарного кодирования и агентных задач. GPT-5 совершил прорыв в точности, скорости, рассуждениях, распознавании контекста, структурном мышлении и решении проблем."
},
"gpt-5-chat-latest": {
"description": "Модель GPT-5, используемая в ChatGPT. Объединяет мощные возможности понимания и генерации языка, идеально подходит для диалоговых приложений."
},
"gpt-5-mini": {
"description": "Более быстрая и экономичная версия GPT-5, предназначенная для чётко определённых задач. Обеспечивает более быстрый отклик при сохранении высокого качества вывода."
},
"gpt-5-nano": {
"description": "Самая быстрая и экономичная версия GPT-5. Отлично подходит для приложений, требующих быстрого отклика и чувствительных к затратам."
},
"gpt-image-1": {
"description": "Родная мультимодальная модель генерации изображений ChatGPT."
},
@@ -1644,7 +1629,7 @@
"description": "Ультра-версия серии моделей Imagen 4-го поколения для преобразования текста в изображение"
},
"imagen4/preview": {
"description": "Высококачественная модель генерации изображений от Google."
"description": "Модель генерации изображений высочайшего качества от Google."
},
"internlm/internlm2_5-7b-chat": {
"description": "InternLM2.5 предлагает интеллектуальные решения для диалогов в различных сценариях."
@@ -2213,9 +2198,6 @@
"qwen-coder-turbo-latest": {
"description": "Модель кода Tongyi Qwen."
},
"qwen-image": {
"description": "Мощная модель генерации изображений от команды Qwen с впечатляющими возможностями генерации китайского текста и разнообразными визуальными стилями."
},
"qwen-long": {
"description": "Qwen — это сверхмасштабная языковая модель, поддерживающая длинный контекст текста и диалоговые функции на основе длинных документов и нескольких документов."
},
-11
View File
@@ -183,21 +183,10 @@
"title": "Информация о помощнике"
},
"settingAppearance": {
"animationMode": {
"agile": "Быстрый",
"desc": "Выберите скорость анимации отклика приложения",
"disabled": "Выключено",
"elegant": "Элегантный",
"title": "Анимация отклика"
},
"neutralColor": {
"desc": "Настройка градаций серого с различными цветовыми наклонами",
"title": "Нейтральный цвет"
},
"noAnimation": {
"desc": "Отключить все анимационные эффекты в приложении",
"title": "Режим без анимации"
},
"preview": {
"title": "Палитра"
},
+3 -21
View File
@@ -1104,7 +1104,7 @@
"description": "FLUX.1 [dev], ticari olmayan uygulamalar için açık kaynaklı ağırlık ve rafine modeldir. FLUX.1 [dev], FLUX profesyonel sürümüne yakın görüntü kalitesi ve talimat uyumu sağlarken daha yüksek çalışma verimliliğine sahiptir. Aynı boyuttaki standart modellere kıyasla kaynak kullanımı açısından daha etkilidir."
},
"flux-kontext/dev": {
"description": "Metin ve görsel girdileri destekleyen, görüntü düzenleme görevlerine odaklanan FLUX.1 modeli."
"description": "Frontier görüntü düzenleme modeli."
},
"flux-merged": {
"description": "FLUX.1-merged modeli, geliştirme aşamasında \"DEV\" tarafından keşfedilen derin özellikler ile \"Schnell\" in yüksek hızlı yürütme avantajlarını birleştirir. Bu sayede model performans sınırlarını artırır ve uygulama alanlarını genişletir."
@@ -1118,11 +1118,8 @@
"flux.1-schnell": {
"description": "120 milyar parametreli düzeltilmiş akış dönüştürücüsüdür ve metin açıklamalarına göre görüntü oluşturabilir."
},
"flux/krea": {
"description": "Flux Krea [dev], estetik tercihlere sahip bir görüntü oluşturma modeli olup, daha gerçekçi ve doğal görüntüler üretmeyi hedefler."
},
"flux/schnell": {
"description": "FLUX.1 [schnell], 12 milyar parametreye sahip, hızlı ve yüksek kaliteli görüntü üretimine odaklanan bir görüntü oluşturma modeli."
"description": "FLUX.1 [schnell], 12 milyar parametreye sahip bir akış dönüştürücü modelidir ve metinden 1 ila 4 adımda yüksek kaliteli görüntüler üretebilir; kişisel ve ticari kullanım için uygundur."
},
"gemini-1.0-pro-001": {
"description": "Gemini 1.0 Pro 001 (Tuning), kararlı ve ayarlanabilir bir performans sunar, karmaşık görev çözümleri için ideal bir seçimdir."
@@ -1484,18 +1481,6 @@
"gpt-4o-transcribe": {
"description": "GPT-4o Transcribe, GPT-4o kullanarak sesleri metne dönüştüren bir konuşma tanıma modelidir. Orijinal Whisper modeline kıyasla kelime hata oranını düşürür ve dil tanıma ile doğruluğu artırır. Daha doğru transkripsiyonlar için kullanın."
},
"gpt-5": {
"description": "Çapraz alan kodlama ve temsil görevleri için en iyi model. GPT-5, doğruluk, hız, akıl yürütme, bağlam tanıma, yapısal düşünme ve problem çözmede büyük ilerleme kaydetti."
},
"gpt-5-chat-latest": {
"description": "ChatGPT'de kullanılan GPT-5 modeli. Güçlü dil anlama ve üretme yeteneklerini birleştirerek diyalog tabanlı etkileşim uygulamaları için uygundur."
},
"gpt-5-mini": {
"description": "Daha hızlı ve ekonomik GPT-5 versiyonu, belirgin tanımlı görevler için uygundur. Yüksek kaliteli çıktıyı korurken daha hızlı yanıt sağlar."
},
"gpt-5-nano": {
"description": "En hızlı ve en ekonomik GPT-5 versiyonu. Hızlı yanıt gerektiren ve maliyet duyarlı uygulamalar için idealdir."
},
"gpt-image-1": {
"description": "ChatGPT'nin yerel çok modlu görüntü oluşturma modeli"
},
@@ -1644,7 +1629,7 @@
"description": "Imagen 4. nesil metinden görüntüye model serisi Ultra versiyonu"
},
"imagen4/preview": {
"description": "Google tarafından sunulan yüksek kaliteli görüntü oluşturma modeli."
"description": "Google'ın en yüksek kaliteli görüntü oluşturma modeli"
},
"internlm/internlm2_5-7b-chat": {
"description": "InternLM2.5, çoklu senaryolarda akıllı diyalog çözümleri sunar."
@@ -2213,9 +2198,6 @@
"qwen-coder-turbo-latest": {
"description": "Tongyi Qianwen kodlama modeli."
},
"qwen-image": {
"description": "Qwen ekibinin güçlü ham görüntü modeli, etkileyici Çince metin üretme yeteneği ve çeşitli görsel stil seçenekleri sunar."
},
"qwen-long": {
"description": "Tongyi Qianwen, uzun metin bağlamını destekleyen ve uzun belgeler, çoklu belgeler gibi çeşitli senaryolar için diyalog işlevselliği sunan büyük ölçekli bir dil modelidir."
},
-11
View File
@@ -183,21 +183,10 @@
"title": "Asistan Bilgileri"
},
"settingAppearance": {
"animationMode": {
"agile": "Çevik",
"desc": "Uygulamanın işlem yanıt animasyon hızını seçin",
"disabled": "Kapalı",
"elegant": "Zarif",
"title": "Yanıt Animasyonu"
},
"neutralColor": {
"desc": "Farklı renk eğilimlerine sahip gri tonları özelleştirme",
"title": "Nötr Renk"
},
"noAnimation": {
"desc": "Uygulamadaki tüm animasyon efektlerini devre dışı bırak",
"title": "Animasyonsuz Mod"
},
"preview": {
"title": "Renk Paleti"
},
+3 -21
View File
@@ -1104,7 +1104,7 @@
"description": "FLUX.1 [dev] là mô hình tinh luyện mã nguồn mở dành cho ứng dụng phi thương mại. FLUX.1 [dev] duy trì chất lượng hình ảnh và khả năng tuân thủ chỉ dẫn gần tương đương phiên bản chuyên nghiệp FLUX, đồng thời có hiệu suất vận hành cao hơn. So với mô hình chuẩn cùng kích thước, nó sử dụng tài nguyên hiệu quả hơn."
},
"flux-kontext/dev": {
"description": "Mô hình FLUX.1 tập trung vào nhiệm vụ chỉnh sửa hình ảnh, hỗ trợ đầu vào văn bản và hình ảnh."
"description": "Mô hình chỉnh sửa hình ảnh Frontier."
},
"flux-merged": {
"description": "Mô hình FLUX.1-merged kết hợp các đặc tính sâu sắc được khám phá trong giai đoạn phát triển của \"DEV\" và ưu thế thực thi nhanh của \"Schnell\". Qua đó, FLUX.1-merged không chỉ nâng cao giới hạn hiệu suất mà còn mở rộng phạm vi ứng dụng."
@@ -1118,11 +1118,8 @@
"flux.1-schnell": {
"description": "Bộ biến đổi luồng hiệu chỉnh với 12 tỷ tham số, có khả năng tạo hình ảnh dựa trên mô tả văn bản."
},
"flux/krea": {
"description": "Flux Krea [dev] là một mô hình tạo hình ảnh với sở thích thẩm mỹ, nhằm tạo ra hình ảnh chân thực và tự nhiên hơn."
},
"flux/schnell": {
"description": "FLUX.1 [schnell] là mô hình tạo hình ảnh với 12 tỷ tham số, tập trung vào việc tạo hình ảnh chất lượng cao nhanh chóng."
"description": "FLUX.1 [schnell] là mô hình bộ chuyển đổi dòng với 12 tỷ tham số, có thể tạo ra hình ảnh chất lượng cao từ văn bản trong 1 đến 4 bước, phù hợp cho mục đích cá nhân và thương mại."
},
"gemini-1.0-pro-001": {
"description": "Gemini 1.0 Pro 001 (Tuning) cung cấp hiệu suất ổn định và có thể điều chỉnh, là lựa chọn lý tưởng cho các giải pháp nhiệm vụ phức tạp."
@@ -1484,18 +1481,6 @@
"gpt-4o-transcribe": {
"description": "GPT-4o Transcribe là mô hình chuyển đổi giọng nói thành văn bản sử dụng GPT-4o để phiên âm âm thanh. So với mô hình Whisper gốc, nó cải thiện tỷ lệ lỗi từ và nâng cao khả năng nhận diện ngôn ngữ cũng như độ chính xác. Sử dụng nó để có bản phiên âm chính xác hơn."
},
"gpt-5": {
"description": "Mô hình tốt nhất cho các nhiệm vụ mã hóa và đại diện đa lĩnh vực. GPT-5 đạt bước tiến vượt bậc về độ chính xác, tốc độ, suy luận, nhận diện ngữ cảnh, tư duy có cấu trúc và giải quyết vấn đề."
},
"gpt-5-chat-latest": {
"description": "Mô hình GPT-5 được sử dụng trong ChatGPT. Kết hợp khả năng hiểu và tạo ngôn ngữ mạnh mẽ, phù hợp cho các ứng dụng tương tác đối thoại."
},
"gpt-5-mini": {
"description": "Phiên bản GPT-5 nhanh hơn và tiết kiệm chi phí hơn, phù hợp cho các nhiệm vụ được xác định rõ ràng. Cung cấp tốc độ phản hồi nhanh hơn trong khi vẫn giữ chất lượng đầu ra cao."
},
"gpt-5-nano": {
"description": "Phiên bản GPT-5 nhanh nhất và tiết kiệm chi phí nhất. Rất phù hợp cho các ứng dụng cần phản hồi nhanh và nhạy cảm về chi phí."
},
"gpt-image-1": {
"description": "Mô hình tạo hình ảnh đa phương thức nguyên bản của ChatGPT"
},
@@ -1644,7 +1629,7 @@
"description": "Phiên bản Ultra của dòng mô hình chuyển đổi văn bản thành hình ảnh thế hệ thứ 4 của Imagen"
},
"imagen4/preview": {
"description": "Mô hình tạo hình ảnh chất lượng cao do Google cung cấp."
"description": "Mô hình tạo hình ảnh chất lượng cao nhất của Google"
},
"internlm/internlm2_5-7b-chat": {
"description": "InternLM2.5 cung cấp giải pháp đối thoại thông minh cho nhiều tình huống."
@@ -2213,9 +2198,6 @@
"qwen-coder-turbo-latest": {
"description": "Mô hình mã Qwen."
},
"qwen-image": {
"description": "Mô hình hình ảnh mạnh mẽ từ đội ngũ Qwen, có khả năng tạo văn bản tiếng Trung ấn tượng và đa dạng phong cách hình ảnh thị giác."
},
"qwen-long": {
"description": "Mô hình ngôn ngữ quy mô lớn Qwen, hỗ trợ ngữ cảnh văn bản dài và chức năng đối thoại dựa trên tài liệu dài, nhiều tài liệu."
},
-11
View File
@@ -183,21 +183,10 @@
"title": "Thông tin trợ lý"
},
"settingAppearance": {
"animationMode": {
"agile": "Nhanh nhẹn",
"desc": "Chọn tốc độ hoạt ảnh phản hồi của ứng dụng",
"disabled": "Tắt",
"elegant": "Thanh lịch",
"title": "Hoạt ảnh phản hồi"
},
"neutralColor": {
"desc": "Tùy chỉnh thang độ xám với các xu hướng màu sắc khác nhau",
"title": "Màu trung tính"
},
"noAnimation": {
"desc": "Vô hiệu hóa tất cả hiệu ứng hoạt ảnh trong ứng dụng",
"title": "Chế độ không hoạt ảnh"
},
"preview": {
"title": "Bảng màu"
},
+3 -21
View File
@@ -1104,7 +1104,7 @@
"description": "FLUX.1 [dev] 是一款面向非商业应用的开源权重、精炼模型。FLUX.1 [dev] 在保持了与FLUX专业版相近的图像质量和指令遵循能力的同时,具备更高的运行效率。相较于同尺寸的标准模型,它在资源利用上更为高效。"
},
"flux-kontext/dev": {
"description": "专注于图像编辑任务的FLUX.1模型,支持文本和图像输入。"
"description": "Frontier image editing model."
},
"flux-merged": {
"description": "FLUX.1-merged 模型结合了 \"DEV\" 在开发阶段探索的深度特性和 \"Schnell\" 所代表的高速执行优势。通过这一举措,FLUX.1-merged 不仅提升了模型的性能界限,还拓宽了其应用范围。"
@@ -1118,11 +1118,8 @@
"flux.1-schnell": {
"description": "具有120亿参数的修正流变换器,能够根据文本描述生成图像。"
},
"flux/krea": {
"description": "Flux Krea [dev] 是一个有美学偏好的图像生成模型,目标是生成更加真实、自然的图像。"
},
"flux/schnell": {
"description": "FLUX.1 [schnell] 是一个有120亿参数的图像生成模型,专注于快速生成高质量图像。"
"description": "FLUX.1 [schnell] 是一个有120亿参数的流式转换器模型,能够在1到4步内从文本生成高质量图像,适合个人和商业用途。"
},
"gemini-1.0-pro-001": {
"description": "Gemini 1.0 Pro 001 (Tuning) 提供稳定并可调优的性能,是复杂任务解决方案的理想选择。"
@@ -1484,18 +1481,6 @@
"gpt-4o-transcribe": {
"description": "GPT-4o Transcribe 是一种使用 GPT-4o 转录音频的语音转文本模型。与原始 Whisper 模型相比,它提高了单词错误率,并提高了语言识别和准确性。使用它来获得更准确的转录。"
},
"gpt-5": {
"description": "跨领域编码和代理任务的最佳模型。GPT-5 在准确性、速度、推理、上下文识别、结构化思维和问题解决方面实现了飞跃。"
},
"gpt-5-chat-latest": {
"description": "ChatGPT 中使用的 GPT-5 模型。结合了强大的语言理解与生成能力,适合对话式交互应用。"
},
"gpt-5-mini": {
"description": "更快、更经济高效的 GPT-5 版本,适用于明确定义的任务。在保持高质量输出的同时,提供更快的响应速度。"
},
"gpt-5-nano": {
"description": "最快、最经济高效的 GPT-5 版本。非常适合需要快速响应且成本敏感的应用场景。"
},
"gpt-image-1": {
"description": "ChatGPT 原生多模态图片生成模型"
},
@@ -1644,7 +1629,7 @@
"description": "Imagen 4th generation text-to-image model series Ultra version"
},
"imagen4/preview": {
"description": "Google 提供的高质量的图像生成模型"
"description": "Google 高质量的图像生成模型"
},
"internlm/internlm2_5-7b-chat": {
"description": "InternLM2.5-7B-Chat 是一个开源的对话模型,基于 InternLM2 架构开发。该 7B 参数规模的模型专注于对话生成任务,支持中英双语交互。模型采用了最新的训练技术,旨在提供流畅、智能的对话体验。InternLM2.5-7B-Chat 适用于各种对话应用场景,包括但不限于智能客服、个人助手等领域"
@@ -2213,9 +2198,6 @@
"qwen-coder-turbo-latest": {
"description": "通义千问代码模型。"
},
"qwen-image": {
"description": "Qwen团队带来的强大生图模型,具有令人印象深刻的中文文字生成能力和多样图片视觉风格。"
},
"qwen-long": {
"description": "通义千问超大规模语言模型,支持长文本上下文,以及基于长文档、多文档等多个场景的对话功能。"
},
-11
View File
@@ -183,21 +183,10 @@
"title": "助手信息"
},
"settingAppearance": {
"animationMode": {
"agile": "敏捷",
"desc": "选择应用程序的操作响应的动画速度",
"disabled": "关闭",
"elegant": "优雅",
"title": "响应动画"
},
"neutralColor": {
"desc": "不同色彩倾向的灰阶自定义",
"title": "中性色"
},
"noAnimation": {
"desc": "禁用应用程序中的所有动画效果",
"title": "无动画模式"
},
"preview": {
"title": "调色盘"
},
+3 -21
View File
@@ -1104,7 +1104,7 @@
"description": "FLUX.1 [dev] 是一款面向非商業應用的開源權重、精煉模型。FLUX.1 [dev] 在保持了與 FLUX 專業版相近的圖像品質和指令遵循能力的同時,具備更高的運行效率。相較於同尺寸的標準模型,它在資源利用上更為高效。"
},
"flux-kontext/dev": {
"description": "專注於圖像編輯任務的FLUX.1模型,支援文字和圖像輸入。"
"description": "Frontier 影像編輯模型。"
},
"flux-merged": {
"description": "FLUX.1-merged 模型結合了 \"DEV\" 在開發階段探索的深度特性和 \"Schnell\" 所代表的高速執行優勢。透過這一舉措,FLUX.1-merged 不僅提升了模型的性能界限,還拓寬了其應用範圍。"
@@ -1118,11 +1118,8 @@
"flux.1-schnell": {
"description": "具有120億參數的修正流變換器,能夠根據文本描述生成圖像。"
},
"flux/krea": {
"description": "Flux Krea [dev] 是一個具有美學偏好的圖像生成模型,目標是生成更加真實、自然的圖像。"
},
"flux/schnell": {
"description": "FLUX.1 [schnell] 是一個擁有120億參數的圖像生成模型,專注於快速生成高品質圖像。"
"description": "FLUX.1 [schnell] 是一個擁有120億參數的流式轉換器模型,能夠在1到4步內從文字生成高品質圖像,適合個人和商業用途。"
},
"gemini-1.0-pro-001": {
"description": "Gemini 1.0 Pro 001 (Tuning) 提供穩定並可調優的性能,是複雜任務解決方案的理想選擇。"
@@ -1484,18 +1481,6 @@
"gpt-4o-transcribe": {
"description": "GPT-4o Transcribe 是一種使用 GPT-4o 轉錄音訊的語音轉文字模型。與原始 Whisper 模型相比,它降低了字詞錯誤率,並提升了語言識別和準確性。使用它來獲得更準確的轉錄。"
},
"gpt-5": {
"description": "跨領域編碼和代理任務的最佳模型。GPT-5 在準確性、速度、推理、上下文識別、結構化思維和問題解決方面實現了飛躍。"
},
"gpt-5-chat-latest": {
"description": "ChatGPT 中使用的 GPT-5 模型。結合了強大的語言理解與生成能力,適合對話式互動應用。"
},
"gpt-5-mini": {
"description": "更快、更經濟高效的 GPT-5 版本,適用於明確定義的任務。在保持高品質輸出的同時,提供更快的回應速度。"
},
"gpt-5-nano": {
"description": "最快、最經濟高效的 GPT-5 版本。非常適合需要快速回應且成本敏感的應用場景。"
},
"gpt-image-1": {
"description": "ChatGPT 原生多模態圖片生成模型"
},
@@ -1644,7 +1629,7 @@
"description": "Imagen 第四代文字轉圖像模型系列 超級版"
},
"imagen4/preview": {
"description": "Google 提供的高品質圖像生成模型"
"description": "Google 高品質圖像生成模型"
},
"internlm/internlm2_5-7b-chat": {
"description": "InternLM2.5 提供多場景下的智能對話解決方案。"
@@ -2213,9 +2198,6 @@
"qwen-coder-turbo-latest": {
"description": "通義千問代碼模型。"
},
"qwen-image": {
"description": "Qwen團隊帶來的強大生圖模型,具有令人印象深刻的中文文字生成能力和多樣圖片視覺風格。"
},
"qwen-long": {
"description": "通義千問超大規模語言模型,支持長文本上下文,以及基於長文檔、多文檔等多個場景的對話功能。"
},
-11
View File
@@ -183,21 +183,10 @@
"title": "助手資訊"
},
"settingAppearance": {
"animationMode": {
"agile": "敏捷",
"desc": "選擇應用程式操作回應的動畫速度",
"disabled": "關閉",
"elegant": "優雅",
"title": "回應動畫"
},
"neutralColor": {
"desc": "不同色彩傾向的灰階自訂",
"title": "中性色"
},
"noAnimation": {
"desc": "停用應用程式中的所有動畫效果",
"title": "無動畫模式"
},
"preview": {
"title": "調色盤"
},
+46 -47
View File
@@ -1,6 +1,6 @@
{
"name": "@lobehub/chat",
"version": "1.111.4",
"version": "1.110.4",
"description": "Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.",
"keywords": [
"framework",
@@ -122,26 +122,26 @@
"@ant-design/icons": "^5.6.1",
"@ant-design/pro-components": "^2.8.10",
"@anthropic-ai/sdk": "^0.57.0",
"@auth/core": "^0.40.0",
"@aws-sdk/client-bedrock-runtime": "^3.862.0",
"@aws-sdk/client-s3": "^3.862.0",
"@aws-sdk/s3-request-presigner": "^3.862.0",
"@auth/core": "^0.38.0",
"@aws-sdk/client-bedrock-runtime": "^3.848.0",
"@aws-sdk/client-s3": "^3.850.0",
"@aws-sdk/s3-request-presigner": "^3.850.0",
"@azure-rest/ai-inference": "1.0.0-beta.5",
"@azure/core-auth": "^1.10.0",
"@cfworker/json-schema": "^4.1.1",
"@clerk/localizations": "^3.20.7",
"@clerk/nextjs": "^6.29.0",
"@clerk/themes": "^2.4.5",
"@clerk/localizations": "^3.20.6",
"@clerk/nextjs": "^6.28.1",
"@clerk/themes": "^2.4.4",
"@codesandbox/sandpack-react": "^2.20.0",
"@cyntler/react-doc-viewer": "^1.17.0",
"@electric-sql/pglite": "0.2.17",
"@fal-ai/client": "^1.6.1",
"@formkit/auto-animate": "^0.8.2",
"@google/genai": "^1.13.0",
"@google/genai": "^1.10.0",
"@huggingface/inference": "^2.8.1",
"@icons-pack/react-simple-icons": "9.6.0",
"@khmyznikov/pwa-install": "0.3.9",
"@langchain/community": "^0.3.50",
"@langchain/community": "^0.3.49",
"@lobechat/electron-client-ipc": "workspace:*",
"@lobechat/electron-server-ipc": "workspace:*",
"@lobechat/file-loaders": "workspace:*",
@@ -150,30 +150,29 @@
"@lobehub/charts": "^2.0.0",
"@lobehub/chat-plugin-sdk": "^1.32.4",
"@lobehub/chat-plugins-gateway": "^1.9.0",
"@lobehub/icons": "^2.25.0",
"@lobehub/icons": "^2.17.0",
"@lobehub/market-sdk": "^0.22.7",
"@lobehub/tts": "^2.0.1",
"@lobehub/ui": "^2.8.3",
"@modelcontextprotocol/sdk": "^1.17.1",
"@lobehub/ui": "^2.7.5",
"@modelcontextprotocol/sdk": "^1.16.0",
"@neondatabase/serverless": "^1.0.1",
"@next/third-parties": "^15.4.6",
"@next/third-parties": "^15.4.3",
"@react-spring/web": "^9.7.5",
"@sentry/nextjs": "^7.120.4",
"@sentry/nextjs": "^7.120.3",
"@serwist/next": "^9.1.1",
"@t3-oss/env-nextjs": "^0.13.8",
"@tanstack/react-query": "^5.84.1",
"@trpc/client": "^11.4.4",
"@trpc/next": "^11.4.4",
"@trpc/react-query": "^11.4.4",
"@trpc/server": "^11.4.4",
"@upstash/redis": "^1.35.3",
"@t3-oss/env-nextjs": "^0.12.0",
"@tanstack/react-query": "^5.83.0",
"@trpc/client": "^11.4.3",
"@trpc/next": "^11.4.3",
"@trpc/react-query": "^11.4.3",
"@trpc/server": "^11.4.3",
"@vercel/analytics": "^1.5.0",
"@vercel/edge-config": "^1.4.0",
"@vercel/functions": "^2.2.8",
"@vercel/functions": "^2.2.4",
"@vercel/speed-insights": "^1.2.0",
"@xterm/xterm": "^5.5.0",
"ahooks": "^3.9.0",
"antd": "^5.26.7",
"antd": "^5.26.6",
"antd-style": "^3.7.1",
"brotli-wasm": "^3.0.1",
"chroma-js": "^3.1.2",
@@ -183,16 +182,16 @@
"debug": "^4.4.1",
"dexie": "^3.2.7",
"diff": "^7.0.0",
"drizzle-orm": "^0.44.4",
"drizzle-orm": "^0.44.0",
"drizzle-zod": "^0.5.1",
"epub2": "^3.0.2",
"fast-deep-equal": "^3.1.3",
"file-type": "^20.5.0",
"framer-motion": "^12.23.12",
"framer-motion": "^12.23.6",
"gpt-tokenizer": "^2.9.0",
"gray-matter": "^4.0.3",
"html-to-text": "^9.0.5",
"i18next": "^25.3.2",
"i18next": "^24.2.3",
"i18next-browser-languagedetector": "^8.2.0",
"i18next-resources-to-backend": "^1.2.1",
"idb-keyval": "^6.2.2",
@@ -206,7 +205,7 @@
"langfuse-core": "^3.38.4",
"lodash-es": "^4.17.21",
"lucide-react": "^0.536.0",
"mammoth": "^1.10.0",
"mammoth": "^1.9.1",
"markdown-to-txt": "^2.0.1",
"mdast-util-to-markdown": "^2.1.2",
"modern-screenshot": "^4.6.5",
@@ -228,17 +227,17 @@
"pdf-parse": "^1.1.1",
"pdfjs-dist": "4.8.69",
"pg": "^8.16.3",
"pino": "^9.8.0",
"pino": "^9.7.0",
"plaiceholder": "^3.0.0",
"polished": "^4.3.1",
"posthog-js": "^1.258.6",
"posthog-js": "^1.257.2",
"pure-rand": "^7.0.1",
"pwa-install-handler": "^2.6.3",
"pwa-install-handler": "^2.6.2",
"query-string": "^9.2.2",
"random-words": "^2.0.1",
"react": "^19.1.1",
"react": "^19.1.0",
"react-confetti": "^6.4.0",
"react-dom": "^19.1.1",
"react-dom": "^19.1.0",
"react-fast-marquee": "^1.6.5",
"react-hotkeys-hook": "^5.1.0",
"react-i18next": "^15.6.1",
@@ -257,10 +256,10 @@
"rtl-detect": "^1.1.2",
"semver": "^7.7.2",
"sharp": "^0.34.3",
"shiki": "^3.9.2",
"shiki": "^3.8.1",
"stripe": "^17.7.0",
"superjson": "^2.2.2",
"svix": "^1.70.1",
"svix": "^1.69.0",
"swr": "^2.3.4",
"systemjs": "^6.15.1",
"tokenx": "^0.4.1",
@@ -273,7 +272,7 @@
"ws": "^8.18.3",
"y-protocols": "^1.0.6",
"y-webrtc": "^10.3.0",
"yaml": "^2.8.1",
"yaml": "^2.8.0",
"yjs": "^13.6.27",
"zod": "^3.25.76",
"zustand": "5.0.4",
@@ -288,12 +287,12 @@
"@lobehub/lint": "^1.26.2",
"@lobehub/market-types": "^1.11.4",
"@lobehub/seo-cli": "^1.7.0",
"@next/bundle-analyzer": "^15.4.6",
"@next/eslint-plugin-next": "^15.4.6",
"@next/bundle-analyzer": "^15.4.3",
"@next/eslint-plugin-next": "^15.4.3",
"@peculiar/webcrypto": "^1.5.0",
"@prettier/sync": "^0.6.1",
"@semantic-release/exec": "^6.0.3",
"@testing-library/jest-dom": "^6.6.4",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.3.0",
"@testing-library/user-event": "^14.6.1",
"@types/chroma-js": "^3.1.1",
@@ -305,12 +304,12 @@
"@types/json-schema": "^7.0.15",
"@types/lodash": "^4.17.20",
"@types/lodash-es": "^4.17.12",
"@types/node": "^22.17.0",
"@types/node": "^22.16.5",
"@types/numeral": "^2.0.5",
"@types/oidc-provider": "^9.1.2",
"@types/pg": "^8.15.5",
"@types/react": "^19.1.9",
"@types/react-dom": "^19.1.7",
"@types/oidc-provider": "^9.1.1",
"@types/pg": "^8.15.4",
"@types/react": "^19.1.8",
"@types/react-dom": "^19.1.6",
"@types/rtl-detect": "^1.0.3",
"@types/semver": "^7.7.0",
"@types/systemjs": "^6.15.3",
@@ -333,7 +332,7 @@
"eslint": "^8.57.1",
"eslint-plugin-mdx": "^3.6.2",
"fake-indexeddb": "^6.0.1",
"fs-extra": "^11.3.1",
"fs-extra": "^11.3.0",
"glob": "^11.0.3",
"happy-dom": "^17.6.3",
"husky": "^9.1.7",
@@ -344,7 +343,7 @@
"mcp-hello-world": "^1.1.2",
"mime": "^4.0.7",
"node-fetch": "^3.3.2",
"node-gyp": "^11.3.0",
"node-gyp": "^11.2.0",
"openapi-typescript": "^7.8.0",
"p-map": "^7.0.3",
"prettier": "^3.6.2",
@@ -355,7 +354,7 @@
"semantic-release": "^21.1.2",
"serwist": "^9.1.1",
"stylelint": "^15.11.0",
"tsx": "^4.20.3",
"tsx": "~4.19.4",
"type-fest": "^4.41.0",
"typescript": "^5.9.2",
"unified": "^11.0.5",
+46 -67
View File
@@ -107,65 +107,6 @@ export interface ChatModelPricing extends BasicModelPricing {
writeCacheInput?: number;
}
// New pricing system types
export type PricingUnitName =
// Text-based pricing units
| 'textInput' // corresponds to ChatModelPricing.input
| 'textOutput' // corresponds to ChatModelPricing.output
| 'textInput_cacheRead' // corresponds to ChatModelPricing.cachedInput
| 'textInput_cacheWrite' // corresponds to ChatModelPricing.writeCacheInput
// Audio-based pricing units
| 'audioInput' // corresponds to ChatModelPricing.audioInput
| 'audioOutput' // corresponds to ChatModelPricing.audioOutput
| 'audioInput_cacheRead' // corresponds to ChatModelPricing.cachedAudioInput
// Image-based pricing units
| 'imageGeneration'; // for image generation models
export type PricingUnitType =
| 'millionTokens' // per 1M tokens
| 'millionCharacters' // per 1M characters
| 'image' // per image
| 'megapixel' // per megapixel
| 'second'; // per second
export type PricingStrategy = 'fixed' | 'tiered' | 'lookup';
export interface PricingUnitBase {
name: PricingUnitName;
strategy: PricingStrategy;
unit: PricingUnitType;
}
export interface FixedPricingUnit extends PricingUnitBase {
rate: number;
strategy: 'fixed';
}
export interface TieredPricingUnit extends PricingUnitBase {
strategy: 'tiered';
tiers: Array<{
rate: number;
upTo: number | 'infinity';
}>;
}
export interface LookupPricingUnit extends PricingUnitBase {
lookup: {
prices: Record<string, number>;
pricingParams: string[];
};
strategy: 'lookup';
}
export type PricingUnit = FixedPricingUnit | TieredPricingUnit | LookupPricingUnit;
export interface Pricing {
currency?: ModelPriceCurrency;
units: PricingUnit[];
}
export interface AIBaseModelCard {
/**
* the context window (or input + output tokens limit)
@@ -226,31 +167,69 @@ export interface AIChatModelCard extends AIBaseModelCard {
abilities?: ModelAbilities;
config?: AiModelConfig;
maxOutput?: number;
pricing?: Pricing;
pricing?: ChatModelPricing;
settings?: AiModelSettings;
type: 'chat';
}
export interface AIEmbeddingModelCard extends AIBaseModelCard {
maxDimension: number;
pricing?: Pricing;
pricing?: {
/**
* the currency of the pricing
* @default USD
*/
currency?: ModelPriceCurrency;
/**
* the input pricing, e.g. $1 / 1M tokens
*/
input?: number;
};
type: 'embedding';
}
export interface AIImageModelCard extends AIBaseModelCard {
parameters?: ModelParamsSchema;
pricing?: Pricing;
pricing?: {
/**
* the currency of the pricing
* @default USD
*/
currency?: ModelPriceCurrency;
} & Record<string, number>;
resolutions?: string[];
type: 'image';
}
export interface AITTSModelCard extends AIBaseModelCard {
pricing?: Pricing;
pricing?: {
/**
* the currency of the pricing
* @default USD
*/
currency?: ModelPriceCurrency;
/**
* the input pricing, e.g. $1 / 1M tokens
*/
input?: number;
output?: number;
};
type: 'tts';
}
export interface AISTTModelCard extends AIBaseModelCard {
pricing?: Pricing;
pricing?: {
/**
* the currency of the pricing
* @default USD
*/
currency?: ModelPriceCurrency;
/**
* the input pricing, e.g. $1 / 1M tokens
*/
input?: number;
output?: number;
};
type: 'stt';
}
@@ -278,7 +257,7 @@ export interface AIRealtimeModelCard extends AIBaseModelCard {
*/
deploymentName?: string;
maxOutput?: number;
pricing?: Pricing;
pricing?: ChatModelPricing;
type: 'realtime';
}
@@ -290,7 +269,7 @@ export interface AiFullModelCard extends AIBaseModelCard {
id: string;
maxDimension?: number;
parameters?: ModelParamsSchema;
pricing?: Pricing;
pricing?: ChatModelPricing;
type: AiModelType;
}
@@ -325,7 +304,7 @@ export interface AiProviderModelListItem {
enabled: boolean;
id: string;
parameters?: Record<string, any>;
pricing?: Pricing;
pricing?: ChatModelPricing;
releasedAt?: string;
settings?: AiModelSettings;
source?: AiModelSourceType;
-2
View File
@@ -54,14 +54,12 @@ export const KeyEnum = {
Space: 'space',
Tab: 'tab',
Up: 'up',
Zero: '0',
} as const;
export const HotkeyEnum = {
AddUserMessage: 'addUserMessage',
ClearCurrentMessages: 'clearCurrentMessages',
EditMessage: 'editMessage',
NavigateToChat: 'navigateToChat',
OpenChatSettings: 'openChatSettings',
OpenHotkeyHelper: 'openHotkeyHelper',
RegenerateMessage: 'regenerateMessage',
+3 -3
View File
@@ -1,7 +1,7 @@
import { ReactNode } from 'react';
import { AiModelType, Pricing } from '@/types/aiModel';
import { AiProviderSettings } from '@/types/aiProvider';
import { AiModelType, ChatModelPricing } from './aiModel';
import { AiProviderSettings } from './aiProvider';
export type ModelPriceCurrency = 'CNY' | 'USD';
@@ -41,7 +41,7 @@ export interface ChatModelCard {
*/
legacy?: boolean;
maxOutput?: number;
pricing?: Pricing;
pricing?: ChatModelPricing;
/**
* whether model supports reasoning
@@ -2,10 +2,7 @@ import type { HighlighterProps, MermaidProps, NeutralColors, PrimaryColors } fro
import { ResponseAnimationStyle } from '@/types/llm';
export type AnimationMode = 'disabled' | 'agile' | 'elegant';
export interface UserGeneralConfig {
animationMode?: AnimationMode;
fontSize: number;
highlighterTheme?: HighlighterProps['theme'];
mermaidTheme?: MermaidProps['theme'];
@@ -2,9 +2,9 @@ import { Avatar, Tooltip } from '@lobehub/ui';
import { Divider } from 'antd';
import { createStyles } from 'antd-style';
import isEqual from 'fast-deep-equal';
import { parseAsBoolean, useQueryState } from 'nuqs';
import { Flexbox } from 'react-layout-kit';
import { usePinnedAgentState } from '@/hooks/usePinnedAgentState';
import { useSwitchSession } from '@/hooks/useSwitchSession';
import { useSessionStore } from '@/store/session';
import { sessionHelpers } from '@/store/session/helpers';
@@ -71,11 +71,11 @@ const PinList = () => {
const switchSession = useSwitchSession();
const hotkey = useUserStore(settingsSelectors.getHotkeyById(HotkeyEnum.SwitchAgent));
const hasList = list.length > 0;
const [isPinned, { pinAgent }] = usePinnedAgentState();
const [isPinned, setPinned] = useQueryState('pinned', parseAsBoolean);
const switchAgent = (id: string) => {
switchSession(id);
pinAgent();
setPinned(true);
};
return (
@@ -38,7 +38,6 @@ vi.mock('@lobehub/ui', () => ({
ActionIcon: vi.fn(({ title }) => <div>{title}</div>),
combineKeys: vi.fn((keys) => keys.join('+')),
KeyMapEnum: { Alt: 'alt', Ctrl: 'ctrl', Shift: 'shift' },
Hotkey: vi.fn(({ keys = [] }) => <div>{keys}</div>),
}));
vi.mock('react-i18next', () => ({
@@ -1,4 +1,4 @@
import { ActionIcon, ActionIconProps, Hotkey } from '@lobehub/ui';
import { ActionIcon, ActionIconProps } from '@lobehub/ui';
import { Compass, FolderClosed, MessageSquare, Palette } from 'lucide-react';
import Link from 'next/link';
import { memo } from 'react';
@@ -9,9 +9,6 @@ import { useGlobalStore } from '@/store/global';
import { SidebarTabKey } from '@/store/global/initialState';
import { featureFlagsSelectors, useServerConfigStore } from '@/store/serverConfig';
import { useSessionStore } from '@/store/session';
import { useUserStore } from '@/store/user';
import { settingsSelectors } from '@/store/user/selectors';
import { HotkeyEnum } from '@/types/hotkey';
const ICON_SIZE: ActionIconProps['size'] = {
blockSize: 40,
@@ -28,7 +25,6 @@ const TopActions = memo<TopActionProps>(({ tab, isPinned }) => {
const { t } = useTranslation('common');
const switchBackToChat = useGlobalStore((s) => s.switchBackToChat);
const { showMarket, enableKnowledgeBase } = useServerConfigStore(featureFlagsSelectors);
const hotkey = useUserStore(settingsSelectors.getHotkeyById(HotkeyEnum.NavigateToChat));
const isChatActive = tab === SidebarTabKey.Chat && !isPinned;
const isFilesActive = tab === SidebarTabKey.Files;
@@ -55,12 +51,7 @@ const TopActions = memo<TopActionProps>(({ tab, isPinned }) => {
active={isChatActive}
icon={MessageSquare}
size={ICON_SIZE}
title={
<Flexbox align={'center'} gap={8} horizontal justify={'space-between'}>
<span>{t('tab.chat')}</span>
<Hotkey inverseTheme keys={hotkey} />
</Flexbox>
}
title={t('tab.chat')}
tooltipProps={{ placement: 'right' }}
/>
</Link>
@@ -2,11 +2,11 @@
import { SideNav } from '@lobehub/ui';
import { useTheme } from 'antd-style';
import { parseAsBoolean, useQueryState } from 'nuqs';
import { Suspense, memo } from 'react';
import { isDesktop } from '@/const/version';
import { useActiveTabKey } from '@/hooks/useActiveTabKey';
import { usePinnedAgentState } from '@/hooks/usePinnedAgentState';
import { useGlobalStore } from '@/store/global';
import { systemStatusSelectors } from '@/store/global/selectors';
import { featureFlagsSelectors, useServerConfigStore } from '@/store/serverConfig';
@@ -18,7 +18,7 @@ import PinList from './PinList';
import TopActions from './TopActions';
const Top = () => {
const [isPinned] = usePinnedAgentState();
const [isPinned] = useQueryState('pinned', parseAsBoolean);
const sidebarKey = useActiveTabKey();
return <TopActions isPinned={isPinned} tab={sidebarKey} />;
@@ -3,13 +3,13 @@
import { Avatar } from '@lobehub/ui';
import { Skeleton } from 'antd';
import { createStyles } from 'antd-style';
import { parseAsBoolean, useQueryState } from 'nuqs';
import { Suspense, memo } from 'react';
import { useTranslation } from 'react-i18next';
import { Flexbox } from 'react-layout-kit';
import { useInitAgentConfig } from '@/hooks/useInitAgentConfig';
import { useOpenChatSettings } from '@/hooks/useInterceptingRoutes';
import { usePinnedAgentState } from '@/hooks/usePinnedAgentState';
import { useGlobalStore } from '@/store/global';
import { systemStatusSelectors } from '@/store/global/selectors';
import { useSessionStore } from '@/store/session';
@@ -44,7 +44,7 @@ const Main = memo<{ className?: string }>(({ className }) => {
const { t } = useTranslation(['chat', 'hotkey']);
const { styles } = useStyles();
useInitAgentConfig();
const [isPinned] = usePinnedAgentState();
const [isPinned] = useQueryState('pinned', parseAsBoolean);
const [init, isInbox, title, avatar, backgroundColor] = useSessionStore((s) => [
sessionSelectors.isSomeSessionActive(s),
@@ -3,11 +3,11 @@
import { DraggablePanel, DraggablePanelContainer, type DraggablePanelProps } from '@lobehub/ui';
import { createStyles, useResponsive } from 'antd-style';
import isEqual from 'fast-deep-equal';
import { parseAsBoolean, useQueryState } from 'nuqs';
import { PropsWithChildren, memo, useEffect, useState } from 'react';
import { withSuspense } from '@/components/withSuspense';
import { FOLDER_WIDTH } from '@/const/layoutTokens';
import { usePinnedAgentState } from '@/hooks/usePinnedAgentState';
import { useGlobalStore } from '@/store/global';
import { systemStatusSelectors } from '@/store/global/selectors';
@@ -35,7 +35,7 @@ export const useStyles = createStyles(({ css, token }) => ({
const SessionPanel = memo<PropsWithChildren>(({ children }) => {
const { md = true } = useResponsive();
const [isPinned] = usePinnedAgentState();
const [isPinned] = useQueryState('pinned', parseAsBoolean);
const { styles } = useStyles();
const [sessionsWidth, sessionExpandable, updatePreference] = useGlobalStore((s) => [
@@ -14,7 +14,6 @@ import InlineTable from '@/components/InlineTable';
import { ModelInfoTags } from '@/components/ModelSelect';
import { BASE_PROVIDER_DOC_URL } from '@/const/url';
import { formatPriceByCurrency, formatTokenNumber } from '@/utils/format';
import { getTextInputUnitRate, getTextOutputUnitRate } from '@/utils/pricing';
import { useDetailContext } from '../../../DetailProvider';
@@ -90,17 +89,12 @@ const ProviderList = memo(() => {
{
dataIndex: 'model.inputPrice',
key: 'inputPrice',
render: (_, record) => {
const inputRate = getTextInputUnitRate(record.model?.pricing);
return inputRate
? '$' + formatPriceByCurrency(inputRate, record.model.pricing?.currency)
: '--';
},
sorter: (a, b) => {
const aRate = getTextInputUnitRate(a.model?.pricing) || 0;
const bRate = getTextInputUnitRate(b.model?.pricing) || 0;
return aRate - bRate;
},
render: (_, record) =>
record.model?.pricing?.input
? '$' +
formatPriceByCurrency(record.model.pricing.input, record.model.pricing?.currency)
: '--',
sorter: (a, b) => (a.model?.pricing?.input || 0) - (b.model?.pricing?.input || 0),
title: (
<Tooltip title={t('models.providerInfo.inputTooltip')}>
{t('models.providerInfo.input')}
@@ -111,17 +105,12 @@ const ProviderList = memo(() => {
{
dataIndex: 'model.outputPrice',
key: 'outputPrice',
render: (_, record) => {
const outputRate = getTextOutputUnitRate(record.model?.pricing);
return outputRate
? '$' + formatPriceByCurrency(outputRate, record.model.pricing?.currency)
: '--';
},
sorter: (a, b) => {
const aRate = getTextOutputUnitRate(a.model?.pricing) || 0;
const bRate = getTextOutputUnitRate(b.model?.pricing) || 0;
return aRate - bRate;
},
render: (_, record) =>
record.model?.pricing?.output
? '$' +
formatPriceByCurrency(record.model.pricing.output, record.model.pricing?.currency)
: '--',
sorter: (a, b) => (a.model?.pricing?.output || 0) - (b.model?.pricing?.output || 0),
title: (
<Tooltip title={t('models.providerInfo.outputTooltip')}>
{t('models.providerInfo.output')}
@@ -13,7 +13,6 @@ import urlJoin from 'url-join';
import InlineTable from '@/components/InlineTable';
import { ModelInfoTags } from '@/components/ModelSelect';
import { formatPriceByCurrency, formatTokenNumber } from '@/utils/format';
import { getTextInputUnitRate, getTextOutputUnitRate } from '@/utils/pricing';
import { useDetailContext } from '../../../DetailProvider';
@@ -83,17 +82,11 @@ const ModelList = memo(() => {
{
dataIndex: 'inputPrice',
key: 'inputPrice',
render: (_, record) => {
const inputRate = getTextInputUnitRate(record.pricing);
return inputRate
? '$' + formatPriceByCurrency(inputRate, record.pricing?.currency)
: '--';
},
sorter: (a, b) => {
const aRate = getTextInputUnitRate(a.pricing) || 0;
const bRate = getTextInputUnitRate(b.pricing) || 0;
return aRate - bRate;
},
render: (_, record) =>
record.pricing?.input
? '$' + formatPriceByCurrency(record.pricing.input, record.pricing?.currency)
: '--',
sorter: (a, b) => (a.pricing?.input || 0) - (b.pricing?.input || 0),
title: (
<Tooltip title={t('models.providerInfo.inputTooltip')}>
{t('models.providerInfo.input')}
@@ -104,17 +97,11 @@ const ModelList = memo(() => {
{
dataIndex: 'outputPrice',
key: 'outputPrice',
render: (_, record) => {
const outputRate = getTextOutputUnitRate(record.pricing);
return outputRate
? '$' + formatPriceByCurrency(outputRate, record.pricing?.currency)
: '--';
},
sorter: (a, b) => {
const aRate = getTextOutputUnitRate(a.pricing) || 0;
const bRate = getTextOutputUnitRate(b.pricing) || 0;
return aRate - bRate;
},
render: (_, record) =>
record.pricing?.output
? '$' + formatPriceByCurrency(record.pricing.output, record.pricing?.currency)
: '--',
sorter: (a, b) => (a.pricing?.output || 0) - (b.pricing?.output || 0),
title: (
<Tooltip title={t('models.providerInfo.outputTooltip')}>
{t('models.providerInfo.output')}
@@ -2,9 +2,9 @@
import { Form, type FormGroupItemType, Icon, ImageSelect, InputPassword } from '@lobehub/ui';
import { Select } from '@lobehub/ui';
import { Segmented, Skeleton } from 'antd';
import { Skeleton } from 'antd';
import isEqual from 'fast-deep-equal';
import { Ban, Gauge, Loader2Icon, Monitor, Moon, Sun, Waves } from 'lucide-react';
import { Loader2Icon, Monitor, Moon, Sun } from 'lucide-react';
import { memo, useState } from 'react';
import { useTranslation } from 'react-i18next';
@@ -22,7 +22,7 @@ const Common = memo(() => {
const { t } = useTranslation('setting');
const showAccessCodeConfig = useServerConfigStore(serverConfigSelectors.enabledAccessCode);
const general = useUserStore((s) => settingsSelectors.currentSettings(s).general, isEqual);
const settings = useUserStore(settingsSelectors.currentSettings, isEqual);
const themeMode = useGlobalStore(systemStatusSelectors.themeMode);
const language = useGlobalStore(systemStatusSelectors.language);
const [setSettings, isUserStateInit] = useUserStore((s) => [s.setSettings, s.isUserStateInit]);
@@ -81,34 +81,6 @@ const Common = memo(() => {
),
label: t('settingCommon.lang.title'),
},
{
children: (
<Segmented
options={[
{
icon: <Icon icon={Ban} size={16} />,
label: t('settingAppearance.animationMode.disabled'),
value: 'disabled',
},
{
icon: <Icon icon={Gauge} size={16} />,
label: t('settingAppearance.animationMode.agile'),
value: 'agile',
},
{
icon: <Icon icon={Waves} size={16} />,
label: t('settingAppearance.animationMode.elegant'),
value: 'elegant',
},
]}
/>
),
desc: t('settingAppearance.animationMode.desc'),
label: t('settingAppearance.animationMode.title'),
minWidth: undefined,
name: 'animationMode',
},
{
children: (
<InputPassword
@@ -128,12 +100,12 @@ const Common = memo(() => {
return (
<Form
initialValues={general}
initialValues={settings.keyVaults}
items={[theme]}
itemsType={'group'}
onValuesChange={async (v) => {
setLoading(true);
await setSettings({ general: v });
await setSettings({ keyVaults: v });
setLoading(false);
}}
variant={'borderless'}
@@ -10,13 +10,8 @@ import { Flexbox } from 'react-layout-kit';
import { ModelInfoTags } from '@/components/ModelSelect';
import { useIsMobile } from '@/hooks/useIsMobile';
import { aiModelSelectors, useAiInfraStore } from '@/store/aiInfra';
import { AiModelSourceEnum, AiProviderModelListItem } from '@/types/aiModel';
import { AiModelSourceEnum, AiProviderModelListItem, ChatModelPricing } from '@/types/aiModel';
import { formatPriceByCurrency } from '@/utils/format';
import {
getAudioInputUnitRate,
getTextInputUnitRate,
getTextOutputUnitRate,
} from '@/utils/pricing';
import ModelConfigModal from './ModelConfigModal';
import { ProviderSettingsContext } from './ProviderSettingsContext';
@@ -59,6 +54,7 @@ interface ModelItemProps extends AiProviderModelListItem {
enabled: boolean;
id: string;
isAzure?: boolean;
pricing?: ChatModelPricing;
releasedAt?: string;
removed?: boolean;
}
@@ -98,43 +94,38 @@ const ModelItem = memo<ModelItemProps>(
switch (type) {
case 'chat': {
const inputRate = getTextInputUnitRate(pricing);
const outputRate = getTextOutputUnitRate(pricing);
return [
typeof inputRate === 'number' &&
typeof pricing.input === 'number' &&
t('providerModels.item.pricing.inputTokens', {
amount: formatPriceByCurrency(inputRate, pricing?.currency),
amount: formatPriceByCurrency(pricing.input, pricing?.currency),
}),
typeof outputRate === 'number' &&
typeof pricing.output === 'number' &&
t('providerModels.item.pricing.outputTokens', {
amount: formatPriceByCurrency(outputRate, pricing?.currency),
amount: formatPriceByCurrency(pricing.output, pricing?.currency),
}),
].filter(Boolean) as string[];
}
case 'embedding': {
const inputRate = getTextInputUnitRate(pricing);
return [
typeof inputRate === 'number' &&
typeof pricing.input === 'number' &&
t('providerModels.item.pricing.inputTokens', {
amount: formatPriceByCurrency(inputRate, pricing?.currency),
amount: formatPriceByCurrency(pricing.input, pricing?.currency),
}),
].filter(Boolean) as string[];
}
case 'tts': {
const inputRate = getAudioInputUnitRate(pricing);
return [
typeof inputRate === 'number' &&
typeof pricing.input === 'number' &&
t('providerModels.item.pricing.inputCharts', {
amount: formatPriceByCurrency(inputRate, pricing?.currency),
amount: formatPriceByCurrency(pricing.input, pricing?.currency),
}),
].filter(Boolean) as string[];
}
case 'stt': {
const inputRate = getAudioInputUnitRate(pricing);
return [
typeof inputRate === 'number' &&
typeof pricing.input === 'number' &&
t('providerModels.item.pricing.inputMinutes', {
amount: formatPriceByCurrency(inputRate, pricing?.currency),
amount: formatPriceByCurrency(pricing.input, pricing?.currency),
}),
].filter(Boolean) as string[];
}
+14 -57
View File
@@ -1,9 +1,9 @@
import { ActionIcon, CopyButton, Icon, Markdown, ScrollShadow } from '@lobehub/ui';
import { ActionIcon, CopyButton, Icon, Markdown } from '@lobehub/ui';
import { createStyles } from 'antd-style';
import { AnimatePresence, motion } from 'framer-motion';
import { AtomIcon, ChevronDown, ChevronRight } from 'lucide-react';
import { rgba } from 'polished';
import { CSSProperties, RefObject, memo, useEffect, useRef, useState } from 'react';
import { CSSProperties, memo, useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { Flexbox } from 'react-layout-kit';
@@ -16,14 +16,11 @@ const useStyles = createStyles(({ css, token }) => ({
color: ${token.colorTextTertiary};
transition: all 0.2s ${token.motionEaseOut};
`,
contentScroll: css`
max-height: min(40vh, 320px);
padding-block-end: 8px;
padding-inline: 8px;
`,
expand: css`
color: ${token.colorTextTertiary};
color: ${token.colorTextSecondary};
background: ${token.colorFillTertiary};
`,
header: css`
padding-block: 4px;
padding-inline: 8px 4px;
@@ -37,6 +34,7 @@ const useStyles = createStyles(({ css, token }) => ({
headerExpand: css`
color: ${token.colorTextSecondary};
background: ${token.colorFillQuaternary};
`,
shinyText: css`
color: ${rgba(token.colorText, 0.45)};
@@ -88,39 +86,11 @@ const Thinking = memo<ThinkingProps>((props) => {
const { styles, cx, theme } = useStyles();
const [showDetail, setShowDetail] = useState(false);
const contentRef = useRef<HTMLDivElement | null>(null);
useEffect(() => {
setShowDetail(!!thinking);
}, [thinking]);
// 当内容变更且正在思考时,如果用户接近底部则自动滚动到底部
useEffect(() => {
if (!thinking || !showDetail) return;
const container = contentRef.current;
if (!container) return;
// 仅当用户接近底部时才自动滚动,避免打断用户查看上方内容
const distanceToBottom = container.scrollHeight - container.scrollTop - container.clientHeight;
const isNearBottom = distanceToBottom < 60;
if (isNearBottom) {
requestAnimationFrame(() => {
container.scrollTop = container.scrollHeight;
});
}
}, [content, thinking, showDetail]);
// 展开时滚动到底部,便于查看最新内容
useEffect(() => {
if (!showDetail) return;
const container = contentRef.current;
if (!container) return;
requestAnimationFrame(() => {
container.scrollTop = container.scrollHeight;
});
}, [showDetail]);
return (
<Flexbox
className={cx(styles.container, showDetail && styles.expand)}
@@ -175,7 +145,7 @@ const Thinking = memo<ThinkingProps>((props) => {
animate="open"
exit="collapsed"
initial="collapsed"
style={{ overflow: 'hidden' }}
style={{ overflow: 'hidden', padding: 12 }}
transition={{
duration: 0.2,
ease: [0.4, 0, 0.2, 1], // 使用 ease-out 缓动函数
@@ -185,26 +155,13 @@ const Thinking = memo<ThinkingProps>((props) => {
open: { opacity: 1, width: 'auto' },
}}
>
<ScrollShadow
className={styles.contentScroll}
ref={contentRef as unknown as RefObject<HTMLDivElement>}
size={12}
>
{typeof content === 'string' ? (
<Markdown
animated={thinkingAnimated}
citations={citations}
style={{
overflow: 'unset',
}}
variant={'chat'}
>
{content}
</Markdown>
) : (
content
)}
</ScrollShadow>
{typeof content === 'string' ? (
<Markdown animated={thinkingAnimated} citations={citations} variant={'chat'}>
{content}
</Markdown>
) : (
content
)}
</motion.div>
)}
</AnimatePresence>
+4 -8
View File
@@ -11,10 +11,8 @@ const ai21ChatModels: AIChatModelCard[] = [
enabled: true,
id: 'jamba-mini',
pricing: {
units: [
{ name: 'textInput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.2,
output: 0.4,
},
releasedAt: '2025-03-06',
type: 'chat',
@@ -29,10 +27,8 @@ const ai21ChatModels: AIChatModelCard[] = [
enabled: true,
id: 'jamba-large',
pricing: {
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 8,
},
releasedAt: '2025-03-06',
type: 'chat',
+14 -28
View File
@@ -13,10 +13,8 @@ const ai360ChatModels: AIChatModelCard[] = [
id: '360zhinao2-o1',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 10,
},
type: 'chat',
},
@@ -31,10 +29,8 @@ const ai360ChatModels: AIChatModelCard[] = [
id: '360gpt2-o1',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 10,
},
type: 'chat',
},
@@ -50,10 +46,8 @@ const ai360ChatModels: AIChatModelCard[] = [
id: '360gpt2-pro',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 5,
},
settings: {
searchImpl: 'params',
@@ -71,10 +65,8 @@ const ai360ChatModels: AIChatModelCard[] = [
id: '360gpt-pro',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 5,
},
settings: {
searchImpl: 'params',
@@ -88,10 +80,8 @@ const ai360ChatModels: AIChatModelCard[] = [
id: '360gpt-pro-trans',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 5,
},
type: 'chat',
},
@@ -103,10 +93,8 @@ const ai360ChatModels: AIChatModelCard[] = [
id: '360gpt-turbo',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 2,
},
type: 'chat',
},
@@ -121,10 +109,8 @@ const ai360ChatModels: AIChatModelCard[] = [
id: '360/deepseek-r1',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 16,
},
type: 'chat',
},
+76 -254
View File
@@ -1,106 +1,6 @@
import { AIChatModelCard } from '@/types/aiModel';
const aihubmixModels: AIChatModelCard[] = [
{
abilities: {
functionCall: true,
imageOutput: true,
reasoning: true,
search: true,
vision: true,
},
contextWindowTokens: 400_000,
description:
'跨领域编码和代理任务的最佳模型。GPT-5 在准确性、速度、推理、上下文识别、结构化思维和问题解决方面实现了飞跃。',
displayName: 'GPT-5',
enabled: true,
id: 'gpt-5',
maxOutput: 128_000,
pricing: {
units: [
{ name: 'textInput', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.13, strategy: 'fixed', unit: 'millionTokens' },
],
},
releasedAt: '2025-08-07',
settings: {
extendParams: ['reasoningEffort'],
searchImpl: 'params',
},
type: 'chat',
},
{
abilities: {
functionCall: true,
reasoning: true,
search: true,
vision: true,
},
contextWindowTokens: 400_000,
description:
'更快、更经济高效的 GPT-5 版本,适用于明确定义的任务。在保持高质量输出的同时,提供更快的响应速度。',
displayName: 'GPT-5 mini',
enabled: true,
id: 'gpt-5-mini',
maxOutput: 128_000,
pricing: {
units: [
{ name: 'textInput', rate: 0.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.03, strategy: 'fixed', unit: 'millionTokens' },
],
},
releasedAt: '2025-08-07',
settings: {
extendParams: ['reasoningEffort'],
searchImpl: 'params',
},
type: 'chat',
},
{
abilities: {
functionCall: true,
reasoning: true,
vision: true,
},
contextWindowTokens: 400_000,
description: '最快、最经济高效的 GPT-5 版本。非常适合需要快速响应且成本敏感的应用场景。',
displayName: 'GPT-5 nano',
enabled: true,
id: 'gpt-5-nano',
maxOutput: 128_000,
pricing: {
units: [
{ name: 'textInput', rate: 0.05, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.01, strategy: 'fixed', unit: 'millionTokens' },
],
},
releasedAt: '2025-08-07',
type: 'chat',
},
{
abilities: {
vision: true,
},
contextWindowTokens: 400_000,
description:
'ChatGPT 中使用的 GPT-5 模型。结合了强大的语言理解与生成能力,适合对话式交互应用。',
displayName: 'GPT-5 Chat',
enabled: true,
id: 'gpt-5-chat-latest',
maxOutput: 128_000,
pricing: {
units: [
{ name: 'textInput', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.13, strategy: 'fixed', unit: 'millionTokens' },
],
},
releasedAt: '2025-08-07',
type: 'chat',
},
{
abilities: {
functionCall: true,
@@ -116,11 +16,9 @@ const aihubmixModels: AIChatModelCard[] = [
id: 'o4-mini',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.275, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.275,
input: 1.1,
output: 4.4,
},
releasedAt: '2025-04-17',
settings: {
@@ -143,11 +41,9 @@ const aihubmixModels: AIChatModelCard[] = [
id: 'o4-mini-deep-research',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.5,
input: 2,
output: 8,
},
releasedAt: '2025-06-26',
settings: {
@@ -170,10 +66,8 @@ const aihubmixModels: AIChatModelCard[] = [
id: 'o3-pro',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput', rate: 20, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 80, strategy: 'fixed', unit: 'millionTokens' },
],
input: 20,
output: 80,
},
releasedAt: '2025-06-10',
settings: {
@@ -197,11 +91,9 @@ const aihubmixModels: AIChatModelCard[] = [
id: 'o3',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.5,
input: 2,
output: 8,
},
releasedAt: '2025-04-16',
settings: {
@@ -224,11 +116,9 @@ const aihubmixModels: AIChatModelCard[] = [
id: 'o3-deep-research',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 40, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 2.5,
input: 10,
output: 40,
},
releasedAt: '2025-06-26',
settings: {
@@ -246,14 +136,13 @@ const aihubmixModels: AIChatModelCard[] = [
contextWindowTokens: 1_047_576,
description: 'GPT-4.1 是我们用于复杂任务的旗舰模型。它非常适合跨领域解决问题。',
displayName: 'GPT-4.1',
enabled: true,
id: 'gpt-4.1',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.5,
input: 2,
output: 8,
},
releasedAt: '2025-04-14',
settings: {
@@ -274,11 +163,9 @@ const aihubmixModels: AIChatModelCard[] = [
id: 'gpt-4.1-mini',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.6, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.1,
input: 0.4,
output: 1.6,
},
releasedAt: '2025-04-14',
settings: {
@@ -297,11 +184,9 @@ const aihubmixModels: AIChatModelCard[] = [
id: 'gpt-4.1-nano',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.025, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.025,
input: 0.1,
output: 0.4,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -314,12 +199,11 @@ const aihubmixModels: AIChatModelCard[] = [
description:
'ChatGPT-4o 是一款动态模型,实时更新以保持当前最新版本。它结合了强大的语言理解与生成能力,适合于大规模应用场景,包括客户服务、教育和技术支持。',
displayName: 'ChatGPT-4o',
enabled: true,
id: 'chatgpt-4o-latest',
pricing: {
units: [
{ name: 'textInput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
],
input: 5,
output: 15,
},
type: 'chat',
},
@@ -335,11 +219,9 @@ const aihubmixModels: AIChatModelCard[] = [
enabled: true,
id: 'grok-3',
pricing: {
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.75, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.75,
input: 3,
output: 15,
},
releasedAt: '2025-04-03',
settings: {
@@ -360,10 +242,8 @@ const aihubmixModels: AIChatModelCard[] = [
enabled: true,
id: 'grok-3-mini',
pricing: {
units: [
{ name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.3,
output: 0.5,
},
releasedAt: '2025-04-03',
settings: {
@@ -387,17 +267,10 @@ const aihubmixModels: AIChatModelCard[] = [
id: 'claude-opus-4-1-20250805',
maxOutput: 32_000,
pricing: {
units: [
{ name: 'textInput', rate: 16.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 82.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '5m': 20.625 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
cachedInput: 1.5,
input: 16.5,
output: 82.5,
writeCacheInput: 18.75,
},
releasedAt: '2025-08-05',
settings: {
@@ -420,17 +293,10 @@ const aihubmixModels: AIChatModelCard[] = [
id: 'claude-opus-4-20250514',
maxOutput: 32_000,
pricing: {
units: [
{ name: 'textInput', rate: 16.8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 84, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '5m': 20.625 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
cachedInput: 1.5,
input: 16.8,
output: 84,
writeCacheInput: 18.75,
},
releasedAt: '2025-05-23',
settings: {
@@ -454,17 +320,10 @@ const aihubmixModels: AIChatModelCard[] = [
id: 'claude-sonnet-4-20250514',
maxOutput: 64_000,
pricing: {
units: [
{ name: 'textInput', rate: 3.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '5m': 4.125 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
cachedInput: 0.3,
input: 3.3,
output: 16.5,
writeCacheInput: 3.75,
},
releasedAt: '2025-05-23',
settings: {
@@ -487,17 +346,10 @@ const aihubmixModels: AIChatModelCard[] = [
id: 'claude-3-7-sonnet-20250219',
maxOutput: 64_000,
pricing: {
units: [
{ name: 'textInput', rate: 3.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '5m': 4.125 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
cachedInput: 0.3,
input: 3.3,
output: 16.5,
writeCacheInput: 3.75,
},
releasedAt: '2025-02-24',
settings: {
@@ -518,17 +370,10 @@ const aihubmixModels: AIChatModelCard[] = [
id: 'claude-3-5-haiku-20241022',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 5.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '5m': 1.1 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
cachedInput: 0.1,
input: 1.1,
output: 5.5,
writeCacheInput: 1.25,
},
releasedAt: '2024-11-05',
settings: {
@@ -548,10 +393,8 @@ const aihubmixModels: AIChatModelCard[] = [
enabled: true,
id: 'DeepSeek-R1',
pricing: {
units: [
{ name: 'textInput', rate: 0.546, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2.184, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.546,
output: 2.184,
},
type: 'chat',
},
@@ -566,10 +409,8 @@ const aihubmixModels: AIChatModelCard[] = [
displayName: 'DeepSeek R1 0528 (Azure)',
id: 'azure-DeepSeek-R1-0528',
pricing: {
units: [
{ name: 'textInput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.4,
output: 1.6,
},
type: 'chat',
},
@@ -583,10 +424,8 @@ const aihubmixModels: AIChatModelCard[] = [
enabled: true,
id: 'DeepSeek-V3',
pricing: {
units: [
{ name: 'textInput', rate: 0.272, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.088, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.272,
output: 1.088,
},
type: 'chat',
},
@@ -600,10 +439,8 @@ const aihubmixModels: AIChatModelCard[] = [
displayName: 'DeepSeek V3 (Fast)',
id: 'DeepSeek-V3-Fast',
pricing: {
units: [
{ name: 'textInput', rate: 0.55, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2.2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.55,
output: 2.2,
},
type: 'chat',
},
@@ -622,10 +459,8 @@ const aihubmixModels: AIChatModelCard[] = [
id: 'gemini-2.5-pro',
maxOutput: 65_536,
pricing: {
units: [
{ name: 'textInput', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.25, // prompts <= 200k tokens
output: 10, // prompts <= 200k tokens
},
releasedAt: '2025-06-17',
settings: {
@@ -649,11 +484,9 @@ const aihubmixModels: AIChatModelCard[] = [
id: 'gemini-2.5-flash',
maxOutput: 65_536,
pricing: {
units: [
{ name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.075, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.075,
input: 0.3,
output: 2.5,
},
releasedAt: '2025-06-17',
settings: {
@@ -676,11 +509,9 @@ const aihubmixModels: AIChatModelCard[] = [
id: 'gemini-2.5-flash-lite',
maxOutput: 65_536,
pricing: {
units: [
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.025, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.025,
input: 0.1,
output: 0.4,
},
releasedAt: '2025-07-22',
settings: {
@@ -705,10 +536,8 @@ const aihubmixModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.28, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2.8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.28,
output: 2.8,
},
releasedAt: '2025-07-25',
type: 'chat',
@@ -727,10 +556,8 @@ const aihubmixModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.28, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.12, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.28,
output: 1.12,
},
releasedAt: '2025-07-22',
type: 'chat',
@@ -750,10 +577,8 @@ const aihubmixModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.12, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.12,
output: 1.2,
},
releasedAt: '2025-07-30',
type: 'chat',
@@ -771,11 +596,8 @@ const aihubmixModels: AIChatModelCard[] = [
maxOutput: 32_768,
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.12, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.48, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.12,
output: 0.48,
},
releasedAt: '2025-07-29',
type: 'chat',
+38 -97
View File
@@ -16,17 +16,10 @@ const anthropicChatModels: AIChatModelCard[] = [
id: 'claude-opus-4-1-20250805',
maxOutput: 32_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 75, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '1h': 30, '5m': 18.75 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
cachedInput: 1.5,
input: 15,
output: 75,
writeCacheInput: 18.75,
},
releasedAt: '2025-08-05',
settings: {
@@ -49,17 +42,10 @@ const anthropicChatModels: AIChatModelCard[] = [
id: 'claude-opus-4-20250514',
maxOutput: 32_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 75, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '1h': 30, '5m': 18.75 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
cachedInput: 1.5,
input: 15,
output: 75,
writeCacheInput: 18.75,
},
releasedAt: '2025-05-23',
settings: {
@@ -83,17 +69,10 @@ const anthropicChatModels: AIChatModelCard[] = [
id: 'claude-sonnet-4-20250514',
maxOutput: 64_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '1h': 6, '5m': 3.75 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
cachedInput: 0.3,
input: 3,
output: 15,
writeCacheInput: 3.75,
},
releasedAt: '2025-05-23',
settings: {
@@ -117,17 +96,10 @@ const anthropicChatModels: AIChatModelCard[] = [
id: 'claude-3-7-sonnet-20250219',
maxOutput: 64_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '1h': 6, '5m': 3.75 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
cachedInput: 0.3,
input: 3,
output: 15,
writeCacheInput: 3.75,
},
releasedAt: '2025-02-24',
settings: {
@@ -149,17 +121,10 @@ const anthropicChatModels: AIChatModelCard[] = [
id: 'claude-3-5-sonnet-20241022',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '1h': 6, '5m': 3.75 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
cachedInput: 0.3,
input: 3,
output: 15,
writeCacheInput: 3.75,
},
releasedAt: '2024-10-22',
settings: {
@@ -180,17 +145,10 @@ const anthropicChatModels: AIChatModelCard[] = [
id: 'claude-3-5-sonnet-20240620',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '1h': 6, '5m': 3.75 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
cachedInput: 0.3,
input: 3,
output: 15,
writeCacheInput: 3.75,
},
releasedAt: '2024-06-20',
settings: {
@@ -212,17 +170,10 @@ const anthropicChatModels: AIChatModelCard[] = [
id: 'claude-3-5-haiku-20241022',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '1h': 1.6, '5m': 1 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
cachedInput: 0.1,
input: 1,
output: 5,
writeCacheInput: 1.25,
},
releasedAt: '2024-11-05',
settings: {
@@ -242,10 +193,8 @@ const anthropicChatModels: AIChatModelCard[] = [
id: 'claude-3-haiku-20240307',
maxOutput: 4096,
pricing: {
units: [
{ name: 'textInput', rate: 0.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.25,
output: 1.25,
},
releasedAt: '2024-03-07',
settings: {
@@ -265,10 +214,8 @@ const anthropicChatModels: AIChatModelCard[] = [
id: 'claude-3-sonnet-20240229', // 弃用日期 2025年7月21日
maxOutput: 4096,
pricing: {
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3,
output: 15,
},
releasedAt: '2024-02-29',
type: 'chat',
@@ -285,10 +232,8 @@ const anthropicChatModels: AIChatModelCard[] = [
id: 'claude-3-opus-20240229',
maxOutput: 4096,
pricing: {
units: [
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 75, strategy: 'fixed', unit: 'millionTokens' },
],
input: 15,
output: 75,
},
releasedAt: '2024-02-29',
settings: {
@@ -304,10 +249,8 @@ const anthropicChatModels: AIChatModelCard[] = [
id: 'claude-2.1', // 弃用日期 2025年7月21日
maxOutput: 4096,
pricing: {
units: [
{ name: 'textInput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 24, strategy: 'fixed', unit: 'millionTokens' },
],
input: 8,
output: 24,
},
releasedAt: '2023-11-21',
type: 'chat',
@@ -320,10 +263,8 @@ const anthropicChatModels: AIChatModelCard[] = [
id: 'claude-2.0', // 弃用日期 2025年7月21日
maxOutput: 4096,
pricing: {
units: [
{ name: 'textInput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 24, strategy: 'fixed', unit: 'millionTokens' },
],
input: 8,
output: 24,
},
releasedAt: '2023-07-11',
type: 'chat',
+32 -54
View File
@@ -18,11 +18,9 @@ const azureChatModels: AIChatModelCard[] = [
id: 'o3',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 40, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 2.5,
input: 10,
output: 40,
},
releasedAt: '2025-04-17',
type: 'chat',
@@ -44,11 +42,9 @@ const azureChatModels: AIChatModelCard[] = [
id: 'o4-mini',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.275, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.275,
input: 1.1,
output: 4.4,
},
releasedAt: '2025-04-17',
type: 'chat',
@@ -68,11 +64,9 @@ const azureChatModels: AIChatModelCard[] = [
id: 'gpt-4.1',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.5,
input: 2,
output: 8,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -93,11 +87,9 @@ const azureChatModels: AIChatModelCard[] = [
id: 'gpt-4.1-mini',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.6, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.1,
input: 0.4,
output: 1.6,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -117,11 +109,9 @@ const azureChatModels: AIChatModelCard[] = [
id: 'gpt-4.1-nano',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.025, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.025,
input: 0.1,
output: 0.4,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -141,11 +131,9 @@ const azureChatModels: AIChatModelCard[] = [
id: 'o3-mini',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.55, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.55,
input: 1.1,
output: 4.4,
},
releasedAt: '2025-01-31',
type: 'chat',
@@ -164,11 +152,9 @@ const azureChatModels: AIChatModelCard[] = [
id: 'o1-mini',
maxOutput: 65_536,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.55, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.55,
input: 1.1,
output: 4.4,
},
releasedAt: '2024-09-12',
type: 'chat',
@@ -187,11 +173,9 @@ const azureChatModels: AIChatModelCard[] = [
id: 'o1',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 7.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 60, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 7.5,
input: 15,
output: 60,
},
releasedAt: '2024-12-17',
type: 'chat',
@@ -210,10 +194,8 @@ const azureChatModels: AIChatModelCard[] = [
id: 'o1-preview',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 60, strategy: 'fixed', unit: 'millionTokens' },
],
input: 15,
output: 60,
},
releasedAt: '2024-09-12',
type: 'chat',
@@ -234,11 +216,9 @@ const azureChatModels: AIChatModelCard[] = [
id: 'gpt-4o',
maxOutput: 4096,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 1.25,
input: 2.5,
output: 10,
},
releasedAt: '2024-05-13',
type: 'chat',
@@ -272,11 +252,9 @@ const azureChatModels: AIChatModelCard[] = [
id: 'gpt-4o-mini',
maxOutput: 4096,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.075, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.075,
input: 0.15,
output: 0.6,
},
type: 'chat',
},
+37 -63
View File
@@ -9,10 +9,8 @@ const azureChatModels: AIChatModelCard[] = [
displayName: 'DeepSeek R1',
id: 'DeepSeek-R1',
pricing: {
units: [
{ name: 'textInput', rate: 1.35, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 5.4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.35,
output: 5.4,
},
type: 'chat',
},
@@ -24,10 +22,8 @@ const azureChatModels: AIChatModelCard[] = [
displayName: 'DeepSeek V3',
id: 'DeepSeek-V3',
pricing: {
units: [
{ name: 'textInput', rate: 1.14, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.56, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.14,
output: 4.56,
},
type: 'chat',
},
@@ -44,11 +40,9 @@ const azureChatModels: AIChatModelCard[] = [
id: 'o3',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 40, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 2.5,
input: 10,
output: 40,
},
releasedAt: '2025-04-17',
type: 'chat',
@@ -66,11 +60,9 @@ const azureChatModels: AIChatModelCard[] = [
id: 'o4-mini',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.275, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.275,
input: 1.1,
output: 4.4,
},
releasedAt: '2025-04-17',
type: 'chat',
@@ -87,11 +79,9 @@ const azureChatModels: AIChatModelCard[] = [
id: 'gpt-4.1',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.5,
input: 2,
output: 8,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -109,11 +99,9 @@ const azureChatModels: AIChatModelCard[] = [
id: 'gpt-4.1-mini',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.6, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.1,
input: 0.4,
output: 1.6,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -130,11 +118,9 @@ const azureChatModels: AIChatModelCard[] = [
id: 'gpt-4.1-nano',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.025, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.025,
input: 0.1,
output: 0.4,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -149,11 +135,9 @@ const azureChatModels: AIChatModelCard[] = [
displayName: 'GPT 4.5 Preview',
id: 'gpt-4.5-preview',
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 37.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 75, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 150, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 37.5,
input: 75,
output: 150,
},
releasedAt: '2025-02-27',
type: 'chat',
@@ -169,11 +153,9 @@ const azureChatModels: AIChatModelCard[] = [
displayName: 'o3-mini',
id: 'o3-mini',
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.55, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.55,
input: 1.1,
output: 4.4,
},
releasedAt: '2025-01-31',
type: 'chat',
@@ -188,11 +170,9 @@ const azureChatModels: AIChatModelCard[] = [
displayName: 'o1-mini',
id: 'o1-mini',
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.55, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.55,
input: 1.1,
output: 4.4,
},
releasedAt: '2024-09-12',
type: 'chat',
@@ -207,11 +187,9 @@ const azureChatModels: AIChatModelCard[] = [
displayName: 'o1',
id: 'o1',
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 7.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 60, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 7.5,
input: 15,
output: 60,
},
releasedAt: '2024-12-17',
type: 'chat',
@@ -228,11 +206,9 @@ const azureChatModels: AIChatModelCard[] = [
id: 'gpt-4o',
maxOutput: 4096,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 1.25,
input: 2.5,
output: 10,
},
releasedAt: '2024-05-13',
type: 'chat',
@@ -248,11 +224,9 @@ const azureChatModels: AIChatModelCard[] = [
id: 'gpt-4o-mini',
maxOutput: 16_384,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.075, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.075,
input: 0.15,
output: 0.6,
},
type: 'chat',
},
+12 -24
View File
@@ -15,10 +15,8 @@ const baichuanChatModels: AIChatModelCard[] = [
maxOutput: 4096,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 100, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 100, strategy: 'fixed', unit: 'millionTokens' },
],
input: 100,
output: 100,
},
settings: {
searchImpl: 'params',
@@ -39,10 +37,8 @@ const baichuanChatModels: AIChatModelCard[] = [
maxOutput: 4096,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
],
input: 15,
output: 15,
},
settings: {
searchImpl: 'params',
@@ -63,10 +59,8 @@ const baichuanChatModels: AIChatModelCard[] = [
maxOutput: 4096,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.98, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.98, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.98,
output: 0.98,
},
settings: {
searchImpl: 'params',
@@ -86,10 +80,8 @@ const baichuanChatModels: AIChatModelCard[] = [
maxOutput: 8192,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
],
input: 12,
output: 12,
},
settings: {
searchImpl: 'params',
@@ -105,10 +97,8 @@ const baichuanChatModels: AIChatModelCard[] = [
maxOutput: 4096,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 24, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 24, strategy: 'fixed', unit: 'millionTokens' },
],
input: 24,
output: 24,
},
type: 'chat',
},
@@ -121,10 +111,8 @@ const baichuanChatModels: AIChatModelCard[] = [
maxOutput: 8192,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 8,
output: 8,
},
type: 'chat',
},
+30 -60
View File
@@ -36,10 +36,8 @@ const bedrockChatModels: AIChatModelCard[] = [
id: 'us.anthropic.claude-3-7-sonnet-20250219-v1:0',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3,
output: 15,
},
releasedAt: '2025-02-24',
type: 'chat',
@@ -57,10 +55,8 @@ const bedrockChatModels: AIChatModelCard[] = [
id: 'anthropic.claude-3-5-sonnet-20241022-v2:0',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3,
output: 15,
},
releasedAt: '2024-10-22',
type: 'chat',
@@ -78,10 +74,8 @@ const bedrockChatModels: AIChatModelCard[] = [
id: 'us.anthropic.claude-3-5-sonnet-20241022-v2:0',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3,
output: 15,
},
releasedAt: '2024-10-22',
type: 'chat',
@@ -99,10 +93,8 @@ const bedrockChatModels: AIChatModelCard[] = [
id: 'anthropic.claude-3-5-sonnet-20240620-v1:0',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3,
output: 15,
},
releasedAt: '2024-06-20',
type: 'chat',
@@ -120,10 +112,8 @@ const bedrockChatModels: AIChatModelCard[] = [
id: 'anthropic.claude-3-haiku-20240307-v1:0',
maxOutput: 4096,
pricing: {
units: [
{ name: 'textInput', rate: 0.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.25,
output: 1.25,
},
releasedAt: '2024-03-07',
type: 'chat',
@@ -140,10 +130,8 @@ const bedrockChatModels: AIChatModelCard[] = [
enabled: true,
id: 'anthropic.claude-3-sonnet-20240229-v1:0',
pricing: {
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3,
output: 15,
},
type: 'chat',
},
@@ -159,10 +147,8 @@ const bedrockChatModels: AIChatModelCard[] = [
id: 'anthropic.claude-3-opus-20240229-v1:0',
maxOutput: 4096,
pricing: {
units: [
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 75, strategy: 'fixed', unit: 'millionTokens' },
],
input: 15,
output: 75,
},
releasedAt: '2024-02-29',
type: 'chat',
@@ -174,10 +160,8 @@ const bedrockChatModels: AIChatModelCard[] = [
displayName: 'Claude 2.1',
id: 'anthropic.claude-v2:1',
pricing: {
units: [
{ name: 'textInput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 24, strategy: 'fixed', unit: 'millionTokens' },
],
input: 8,
output: 24,
},
type: 'chat',
},
@@ -188,10 +172,8 @@ const bedrockChatModels: AIChatModelCard[] = [
displayName: 'Claude 2.0',
id: 'anthropic.claude-v2',
pricing: {
units: [
{ name: 'textInput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 24, strategy: 'fixed', unit: 'millionTokens' },
],
input: 8,
output: 24,
},
type: 'chat',
},
@@ -202,10 +184,8 @@ const bedrockChatModels: AIChatModelCard[] = [
displayName: 'Claude Instant',
id: 'anthropic.claude-instant-v1',
pricing: {
units: [
{ name: 'textInput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2.4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.8,
output: 2.4,
},
type: 'chat',
},
@@ -220,10 +200,8 @@ const bedrockChatModels: AIChatModelCard[] = [
enabled: true,
id: 'meta.llama3-1-8b-instruct-v1:0',
pricing: {
units: [
{ name: 'textInput', rate: 0.22, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.22, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.22,
output: 0.22,
},
type: 'chat',
},
@@ -238,10 +216,8 @@ const bedrockChatModels: AIChatModelCard[] = [
enabled: true,
id: 'meta.llama3-1-70b-instruct-v1:0',
pricing: {
units: [
{ name: 'textInput', rate: 0.99, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.99, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.99,
output: 0.99,
},
type: 'chat',
},
@@ -256,10 +232,8 @@ const bedrockChatModels: AIChatModelCard[] = [
enabled: true,
id: 'meta.llama3-1-405b-instruct-v1:0',
pricing: {
units: [
{ name: 'textInput', rate: 5.32, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
],
input: 5.32,
output: 16,
},
type: 'chat',
},
@@ -270,10 +244,8 @@ const bedrockChatModels: AIChatModelCard[] = [
displayName: 'Llama 3 8B Instruct',
id: 'meta.llama3-8b-instruct-v1:0',
pricing: {
units: [
{ name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.3,
output: 0.6,
},
type: 'chat',
},
@@ -284,10 +256,8 @@ const bedrockChatModels: AIChatModelCard[] = [
displayName: 'Llama 3 70B Instruct',
id: 'meta.llama3-70b-instruct-v1:0',
pricing: {
units: [
{ name: 'textInput', rate: 2.65, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 3.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2.65,
output: 3.5,
},
type: 'chat',
},
+30 -60
View File
@@ -13,10 +13,8 @@ const cohereChatModels: AIChatModelCard[] = [
id: 'command-a-03-2025',
maxOutput: 8000,
pricing: {
units: [
{ name: 'textInput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2.5,
output: 10,
},
type: 'chat',
},
@@ -31,10 +29,8 @@ const cohereChatModels: AIChatModelCard[] = [
id: 'command-r-plus-04-2024',
maxOutput: 4000,
pricing: {
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3,
output: 15,
},
type: 'chat',
},
@@ -50,10 +46,8 @@ const cohereChatModels: AIChatModelCard[] = [
id: 'command-r-plus-08-2024',
maxOutput: 4000,
pricing: {
units: [
{ name: 'textInput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2.5,
output: 10,
},
type: 'chat',
},
@@ -68,10 +62,8 @@ const cohereChatModels: AIChatModelCard[] = [
id: 'command-r-03-2024',
maxOutput: 4000,
pricing: {
units: [
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.15,
output: 0.6,
},
type: 'chat',
},
@@ -86,10 +78,8 @@ const cohereChatModels: AIChatModelCard[] = [
id: 'command-r-08-2024',
maxOutput: 4000,
pricing: {
units: [
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.15,
output: 0.6,
},
type: 'chat',
},
@@ -104,10 +94,8 @@ const cohereChatModels: AIChatModelCard[] = [
id: 'command-r-03-2024',
maxOutput: 4000,
pricing: {
units: [
{ name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.5,
output: 1.5,
},
type: 'chat',
},
@@ -122,10 +110,8 @@ const cohereChatModels: AIChatModelCard[] = [
id: 'command-r7b-12-2024',
maxOutput: 4000,
pricing: {
units: [
{ name: 'textInput', rate: 0.0375, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.0375,
output: 0.15,
},
type: 'chat',
},
@@ -137,10 +123,8 @@ const cohereChatModels: AIChatModelCard[] = [
id: 'command',
maxOutput: 4000,
pricing: {
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 2,
},
type: 'chat',
},
@@ -155,10 +139,8 @@ const cohereChatModels: AIChatModelCard[] = [
id: 'command-nightly',
maxOutput: 4000,
pricing: {
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 2,
},
type: 'chat',
},
@@ -169,10 +151,8 @@ const cohereChatModels: AIChatModelCard[] = [
id: 'command-light',
maxOutput: 4000,
pricing: {
units: [
{ name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.3,
output: 0.6,
},
type: 'chat',
},
@@ -184,10 +164,8 @@ const cohereChatModels: AIChatModelCard[] = [
id: 'command-light-nightly',
maxOutput: 4000,
pricing: {
units: [
{ name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.3,
output: 0.6,
},
type: 'chat',
},
@@ -200,10 +178,8 @@ const cohereChatModels: AIChatModelCard[] = [
id: 'c4ai-aya-expanse-32b',
maxOutput: 4000,
pricing: {
units: [
{ name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.5,
output: 1.5,
},
type: 'chat',
},
@@ -216,10 +192,8 @@ const cohereChatModels: AIChatModelCard[] = [
id: 'c4ai-aya-expanse-8b',
maxOutput: 4000,
pricing: {
units: [
{ name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.5,
output: 1.5,
},
type: 'chat',
},
@@ -235,10 +209,8 @@ const cohereChatModels: AIChatModelCard[] = [
id: 'c4ai-aya-vision-32b',
maxOutput: 4000,
pricing: {
units: [
{ name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.5,
output: 1.5,
},
type: 'chat',
},
@@ -254,10 +226,8 @@ const cohereChatModels: AIChatModelCard[] = [
id: 'c4ai-aya-vision-8b',
maxOutput: 4000,
pricing: {
units: [
{ name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.5,
output: 1.5,
},
type: 'chat',
},
+6 -10
View File
@@ -14,12 +14,10 @@ const deepseekChatModels: AIChatModelCard[] = [
id: 'deepseek-chat',
maxOutput: 8192,
pricing: {
cachedInput: 0.5,
currency: 'CNY',
units: [
{ name: 'textInput_cacheRead', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 8,
},
releasedAt: '2025-03-24',
type: 'chat',
@@ -37,12 +35,10 @@ const deepseekChatModels: AIChatModelCard[] = [
id: 'deepseek-reasoner',
maxOutput: 8192,
pricing: {
cachedInput: 1,
currency: 'CNY',
units: [
{ name: 'textInput_cacheRead', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 16,
},
releasedAt: '2025-05-28',
type: 'chat',
+6 -43
View File
@@ -5,34 +5,14 @@ export const fluxSchnellParamsSchema: ModelParamsSchema = {
height: { default: 1024, max: 1536, min: 512, step: 1 },
prompt: { default: '' },
seed: { default: null },
steps: { default: 4, max: 12, min: 1, step: 1 },
steps: { default: 4, max: 12, min: 1 },
width: { default: 1024, max: 1536, min: 512, step: 1 },
};
export const fluxKreaParamsSchema: ModelParamsSchema = {
cfg: { default: 7.5, max: 20, min: 0, step: 0.1 },
height: { default: 1248, max: 2048, min: 512, step: 1 },
prompt: { default: '' },
seed: { default: null },
steps: { default: 28, max: 50, min: 1, step: 1 },
width: { default: 832, max: 2048, min: 512, step: 1 },
};
export const qwenImageParamsSchema: ModelParamsSchema = {
cfg: { default: 2.5, max: 20, min: 0, step: 0.1 },
height: { default: 1328, max: 1536, min: 512, step: 1 },
prompt: { default: '' },
seed: { default: null },
steps: { default: 30, max: 50, min: 2, step: 1 },
width: { default: 1328, max: 1536, min: 512, step: 1 },
};
const falImageModels: AIImageModelCard[] = [
{
description: '专注于图像编辑任务的FLUX.1模型,支持文本和图像输入。',
displayName: 'FLUX.1 Kontext [dev]',
description: 'Frontier image editing model.',
displayName: 'FLUX.1 Kontext Dev',
enabled: true,
id: 'flux-kontext/dev',
parameters: {
@@ -63,7 +43,8 @@ const falImageModels: AIImageModelCard[] = [
type: 'image',
},
{
description: 'FLUX.1 [schnell] 是一个具有120亿参数的图像生成模型,专注于快速生成高质量图像。',
description:
'FLUX.1 [schnell] 是一个拥有120亿参数的流式转换器模型,能够在1到4步内从文本生成高质量图像,适合个人和商业用途。',
displayName: 'FLUX.1 Schnell',
enabled: true,
id: 'flux/schnell',
@@ -72,16 +53,7 @@ const falImageModels: AIImageModelCard[] = [
type: 'image',
},
{
description: 'Flux Krea [dev] 是一个有美学偏好的图像生成模型,目标是生成更加真实、自然的图像。',
displayName: 'FLUX.1 Krea [dev]',
enabled: true,
id: 'flux/krea',
parameters: fluxKreaParamsSchema,
releasedAt: '2025-07-31',
type: 'image',
},
{
description: 'Google 提供的高质量的图像生成模型',
description: 'Google 最高质量的图像生成模型',
displayName: 'Imagen 4',
enabled: true,
id: 'imagen4/preview',
@@ -97,15 +69,6 @@ const falImageModels: AIImageModelCard[] = [
releasedAt: '2025-05-21',
type: 'image',
},
{
description: 'Qwen团队带来的强大生图模型,具有令人印象深刻的中文文字生成能力和多样图片视觉风格。',
displayName: 'Qwen Image',
enabled: true,
id: 'qwen-image',
parameters: qwenImageParamsSchema,
releasedAt: '2025-08-04',
type: 'image',
},
];
export const allModels = [...falImageModels];
+44 -88
View File
@@ -9,10 +9,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
enabled: true,
id: 'accounts/fireworks/models/llama-v3p3-70b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.9,
output: 0.9,
},
type: 'chat',
},
@@ -24,10 +22,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
enabled: true,
id: 'accounts/fireworks/models/llama-v3p2-3b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.1,
output: 0.1,
},
type: 'chat',
},
@@ -42,10 +38,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
enabled: true,
id: 'accounts/fireworks/models/llama-v3p2-11b-vision-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.2,
output: 0.2,
},
type: 'chat',
},
@@ -60,10 +54,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
enabled: true,
id: 'accounts/fireworks/models/llama-v3p2-90b-vision-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.9,
output: 0.9,
},
type: 'chat',
},
@@ -74,10 +66,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
displayName: 'Llama 3.1 8B Instruct',
id: 'accounts/fireworks/models/llama-v3p1-8b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.2,
output: 0.2,
},
type: 'chat',
},
@@ -91,10 +81,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
displayName: 'Llama 3.1 70B Instruct',
id: 'accounts/fireworks/models/llama-v3p1-70b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.9,
output: 0.9,
},
type: 'chat',
},
@@ -108,10 +96,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
displayName: 'Llama 3.1 405B Instruct',
id: 'accounts/fireworks/models/llama-v3p1-405b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3,
output: 3,
},
type: 'chat',
},
@@ -122,10 +108,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
displayName: 'Llama 3 8B Instruct',
id: 'accounts/fireworks/models/llama-v3-8b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.2,
output: 0.2,
},
type: 'chat',
},
@@ -136,10 +120,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
displayName: 'Llama 3 70B Instruct',
id: 'accounts/fireworks/models/llama-v3-70b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.9,
output: 0.9,
},
type: 'chat',
},
@@ -150,10 +132,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
displayName: 'Llama 3 8B Instruct (HF version)',
id: 'accounts/fireworks/models/llama-v3-8b-instruct-hf',
pricing: {
units: [
{ name: 'textInput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.2,
output: 0.2,
},
type: 'chat',
},
@@ -164,10 +144,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
enabled: true,
id: 'accounts/fireworks/models/mistral-small-24b-instruct-2501',
pricing: {
units: [
{ name: 'textInput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.9,
output: 0.9,
},
type: 'chat',
},
@@ -178,10 +156,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
displayName: 'Mixtral MoE 8x7B Instruct',
id: 'accounts/fireworks/models/mixtral-8x7b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.5,
output: 0.5,
},
type: 'chat',
},
@@ -195,10 +171,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
displayName: 'Mixtral MoE 8x22B Instruct',
id: 'accounts/fireworks/models/mixtral-8x22b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 1.2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.2,
output: 1.2,
},
type: 'chat',
},
@@ -213,10 +187,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
enabled: true,
id: 'accounts/fireworks/models/phi-3-vision-128k-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.2,
output: 0.2,
},
type: 'chat',
},
@@ -227,10 +199,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
displayName: 'MythoMax L2 13b',
id: 'accounts/fireworks/models/mythomax-l2-13b',
pricing: {
units: [
{ name: 'textInput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.2,
output: 0.2,
},
type: 'chat',
},
@@ -242,10 +212,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
enabled: true,
id: 'accounts/fireworks/models/deepseek-v3',
pricing: {
units: [
{ name: 'textInput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.9,
output: 0.9,
},
type: 'chat',
},
@@ -260,10 +228,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
enabled: true,
id: 'accounts/fireworks/models/deepseek-r1',
pricing: {
units: [
{ name: 'textInput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 8,
output: 8,
},
type: 'chat',
},
@@ -278,10 +244,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
enabled: true,
id: 'accounts/fireworks/models/qwen-qwq-32b-preview',
pricing: {
units: [
{ name: 'textInput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.9,
output: 0.9,
},
type: 'chat',
},
@@ -293,10 +257,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
enabled: true,
id: 'accounts/fireworks/models/qwen2p5-72b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.9,
output: 0.9,
},
type: 'chat',
},
@@ -310,10 +272,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
enabled: true,
id: 'accounts/fireworks/models/qwen2-vl-72b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.9,
output: 0.9,
},
type: 'chat',
},
@@ -325,10 +285,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
enabled: true,
id: 'accounts/fireworks/models/qwen2p5-coder-32b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.9,
output: 0.9,
},
type: 'chat',
},
@@ -340,10 +298,8 @@ const fireworksaiChatModels: AIChatModelCard[] = [
enabled: true,
id: 'accounts/yi-01-ai/models/yi-large',
pricing: {
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3,
output: 3,
},
type: 'chat',
},
+1 -1
View File
@@ -327,7 +327,7 @@ const giteeaiImageModels: AIImageModelCard[] = [
},
type: 'image',
},
{
{
description:
'Kolors 是由快手 Kolors 团队开发的文生图模型。由数十亿的参数训练,在视觉质量、中文语义理解和文本渲染方面有显著优势。',
displayName: 'Kolors',
+26 -44
View File
@@ -14,11 +14,9 @@ const githubChatModels: AIChatModelCard[] = [
id: 'openai/o3',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 40, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 2.5,
input: 10,
output: 40,
},
releasedAt: '2025-04-17',
type: 'chat',
@@ -37,11 +35,9 @@ const githubChatModels: AIChatModelCard[] = [
id: 'openai/o4-mini',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.275, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.275,
input: 1.1,
output: 4.4,
},
releasedAt: '2025-04-17',
type: 'chat',
@@ -58,11 +54,9 @@ const githubChatModels: AIChatModelCard[] = [
id: 'openai/gpt-4.1',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.5,
input: 2,
output: 8,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -80,11 +74,9 @@ const githubChatModels: AIChatModelCard[] = [
id: 'openai/gpt-4.1-mini',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.6, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.1,
input: 0.4,
output: 1.6,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -100,11 +92,9 @@ const githubChatModels: AIChatModelCard[] = [
id: 'openai/gpt-4.1-nano',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.025, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.025,
input: 0.1,
output: 0.4,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -121,11 +111,9 @@ const githubChatModels: AIChatModelCard[] = [
id: 'openai/o3-mini',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.55, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.55,
input: 1.1,
output: 4.4,
},
releasedAt: '2025-01-31',
type: 'chat',
@@ -141,11 +129,9 @@ const githubChatModels: AIChatModelCard[] = [
id: 'openai/o1-mini',
maxOutput: 65_536,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.55, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.55,
input: 1.1,
output: 4.4,
},
releasedAt: '2024-09-12',
type: 'chat',
@@ -162,11 +148,9 @@ const githubChatModels: AIChatModelCard[] = [
id: 'openai/o1',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 7.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 60, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 7.5,
input: 15,
output: 60,
},
releasedAt: '2024-12-17',
type: 'chat',
@@ -182,10 +166,8 @@ const githubChatModels: AIChatModelCard[] = [
id: 'openai/o1-preview',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 60, strategy: 'fixed', unit: 'millionTokens' },
],
input: 15,
output: 60,
},
releasedAt: '2024-09-12',
type: 'chat',
+68 -119
View File
@@ -17,11 +17,9 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemini-2.5-pro',
maxOutput: 65_536,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.31, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.31, // prompts <= 200k tokens
input: 1.25, // prompts <= 200k tokens
output: 10, // prompts <= 200k tokens
},
releasedAt: '2025-06-17',
settings: {
@@ -45,11 +43,9 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemini-2.5-pro-preview-06-05',
maxOutput: 65_536,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.31, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.31, // prompts <= 200k tokens
input: 1.25, // prompts <= 200k tokens
output: 10, // prompts <= 200k tokens
},
releasedAt: '2025-06-05',
settings: {
@@ -73,11 +69,9 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemini-2.5-pro-preview-05-06',
maxOutput: 65_536,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.31, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.31, // prompts <= 200k tokens
input: 1.25, // prompts <= 200k tokens
output: 10, // prompts <= 200k tokens
},
releasedAt: '2025-05-06',
settings: {
@@ -100,11 +94,9 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemini-2.5-flash',
maxOutput: 65_536,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.075, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.075,
input: 0.3,
output: 2.5,
},
releasedAt: '2025-06-17',
settings: {
@@ -127,11 +119,9 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemini-2.5-flash-preview-05-20',
maxOutput: 65_536,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.0375, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 3.5, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.0375,
input: 0.15,
output: 3.5, // Thinking
},
releasedAt: '2025-05-20',
settings: {
@@ -154,11 +144,9 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemini-2.5-flash-lite',
maxOutput: 65_536,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.025, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.025,
input: 0.1,
output: 0.4,
},
releasedAt: '2025-07-22',
settings: {
@@ -182,11 +170,9 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemini-2.5-flash-lite-preview-06-17',
maxOutput: 65_536,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.025, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.025,
input: 0.1,
output: 0.4,
},
releasedAt: '2025-06-11',
settings: {
@@ -209,11 +195,9 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemini-2.0-flash',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.025, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.025,
input: 0.1,
output: 0.4,
},
releasedAt: '2025-02-05',
settings: {
@@ -235,11 +219,9 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemini-2.0-flash-001',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.025, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.025,
input: 0.1,
output: 0.4,
},
releasedAt: '2025-02-05',
settings: {
@@ -260,11 +242,8 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemini-2.0-flash-preview-image-generation',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'imageGeneration', rate: 0.039, strategy: 'fixed', unit: 'image' },
],
input: 0.1,
output: 0.039, // per image
},
releasedAt: '2025-05-07',
type: 'chat',
@@ -280,10 +259,8 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemini-2.0-flash-exp-image-generation',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
releasedAt: '2025-03-14',
type: 'chat',
@@ -298,10 +275,8 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemini-2.0-flash-lite',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput', rate: 0.075, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.075,
output: 0.3,
},
releasedAt: '2025-02-05',
type: 'chat',
@@ -316,10 +291,8 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemini-2.0-flash-lite-001',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput', rate: 0.075, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.075,
output: 0.3,
},
releasedAt: '2025-02-05',
type: 'chat',
@@ -335,10 +308,8 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemini-2.0-flash-exp',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
releasedAt: '2025-02-05',
type: 'chat',
@@ -354,10 +325,8 @@ const googleChatModels: AIChatModelCard[] = [
id: 'learnlm-2.0-flash-experimental',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -372,10 +341,8 @@ const googleChatModels: AIChatModelCard[] = [
id: 'learnlm-1.5-pro-experimental',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
releasedAt: '2024-11-19',
type: 'chat',
@@ -391,11 +358,9 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemini-1.5-flash-002', // Deprecated on 2025-09-24
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.018, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.075, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.018_75,
input: 0.075,
output: 0.3,
},
releasedAt: '2024-09-25',
type: 'chat',
@@ -412,11 +377,9 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemini-1.5-pro-002', // Deprecated on 2025-09-24
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.3125, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.3125,
input: 1.25,
output: 5,
},
releasedAt: '2024-09-24',
type: 'chat',
@@ -432,11 +395,9 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemini-1.5-flash-8b-latest',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.01, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.0375, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.01,
input: 0.0375,
output: 0.15,
},
releasedAt: '2024-10-03',
type: 'chat',
@@ -447,11 +408,9 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemma-3-1b-it',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0,
input: 0,
output: 0,
},
type: 'chat',
},
@@ -461,11 +420,9 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemma-3-4b-it',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0,
input: 0,
output: 0,
},
type: 'chat',
},
@@ -475,11 +432,9 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemma-3-12b-it',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0,
input: 0,
output: 0,
},
type: 'chat',
},
@@ -489,11 +444,9 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemma-3-27b-it',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0,
input: 0,
output: 0,
},
type: 'chat',
},
@@ -503,11 +456,9 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemma-3n-e2b-it',
maxOutput: 2048,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0,
input: 0,
output: 0,
},
type: 'chat',
},
@@ -517,11 +468,9 @@ const googleChatModels: AIChatModelCard[] = [
id: 'gemma-3n-e4b-it',
maxOutput: 2048,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0,
input: 0,
output: 0,
},
type: 'chat',
},
+24 -48
View File
@@ -35,10 +35,8 @@ const groqChatModels: AIChatModelCard[] = [
id: 'openai/gpt-oss-120b',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.75, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.15,
output: 0.75,
},
releasedAt: '2025-08-06',
type: 'chat',
@@ -55,10 +53,8 @@ const groqChatModels: AIChatModelCard[] = [
id: 'openai/gpt-oss-20b',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.1,
output: 0.5,
},
releasedAt: '2025-08-06',
type: 'chat',
@@ -75,10 +71,8 @@ const groqChatModels: AIChatModelCard[] = [
id: 'moonshotai/kimi-k2-instruct',
maxOutput: 16_384,
pricing: {
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 3,
},
releasedAt: '2025-07-11',
type: 'chat',
@@ -90,10 +84,8 @@ const groqChatModels: AIChatModelCard[] = [
id: 'meta-llama/llama-4-scout-17b-16e-instruct',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput', rate: 0.11, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.34, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.11,
output: 0.34,
},
type: 'chat',
},
@@ -107,10 +99,8 @@ const groqChatModels: AIChatModelCard[] = [
id: 'meta-llama/llama-4-maverick-17b-128e-instruct',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.2,
output: 0.6,
},
type: 'chat',
},
@@ -123,10 +113,8 @@ const groqChatModels: AIChatModelCard[] = [
id: 'qwen/qwen3-32b',
maxOutput: 131_072,
pricing: {
units: [
{ name: 'textInput', rate: 0.29, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.59, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.29,
output: 0.59,
},
type: 'chat',
},
@@ -140,10 +128,8 @@ const groqChatModels: AIChatModelCard[] = [
id: 'deepseek-r1-distill-llama-70b',
maxOutput: 131_072,
pricing: {
units: [
{ name: 'textInput', rate: 0.75, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.99, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.75, // 0.75 - 5.00
output: 0.99, // 0.99 - 5.00
},
type: 'chat',
},
@@ -157,10 +143,8 @@ const groqChatModels: AIChatModelCard[] = [
id: 'gemma2-9b-it',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.2,
output: 0.2,
},
type: 'chat',
},
@@ -175,10 +159,8 @@ const groqChatModels: AIChatModelCard[] = [
id: 'llama-3.1-8b-instant',
maxOutput: 131_072,
pricing: {
units: [
{ name: 'textInput', rate: 0.05, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.08, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.05,
output: 0.08,
},
type: 'chat',
},
@@ -193,10 +175,8 @@ const groqChatModels: AIChatModelCard[] = [
id: 'llama-3.3-70b-versatile',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput', rate: 0.59, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.79, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.59,
output: 0.79,
},
type: 'chat',
},
@@ -206,10 +186,8 @@ const groqChatModels: AIChatModelCard[] = [
id: 'mistral-saba-24b',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput', rate: 0.79, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.79, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.79,
output: 0.79,
},
type: 'chat',
},
@@ -219,10 +197,8 @@ const groqChatModels: AIChatModelCard[] = [
id: 'meta-llama/llama-guard-4-12b',
maxOutput: 1024,
pricing: {
units: [
{ name: 'textInput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.2,
output: 0.2,
},
type: 'chat',
},
File diff suppressed because it is too large Load Diff
+54 -105
View File
@@ -35,10 +35,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 64_000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 4,
},
releasedAt: '2025-05-21',
settings: {
@@ -52,16 +50,15 @@ const hunyuanChatModels: AIChatModelCard[] = [
search: true,
},
contextWindowTokens: 92_000,
description: '大幅提升高难度数学、逻辑和代码能力,优化模型输出稳定性,提升模型长文能力。',
description:
'大幅提升高难度数学、逻辑和代码能力,优化模型输出稳定性,提升模型长文能力。',
displayName: 'Hunyuan T1 20250711',
id: 'hunyuan-t1-20250711',
maxOutput: 64_000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 4,
},
releasedAt: '2025-07-11',
settings: {
@@ -82,10 +79,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 64_000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 4,
},
releasedAt: '2025-05-29',
settings: {
@@ -106,10 +101,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 64_000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 4,
},
releasedAt: '2025-04-03',
settings: {
@@ -130,10 +123,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 64_000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 4,
},
releasedAt: '2025-03-21',
settings: {
@@ -151,10 +142,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 6000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
releasedAt: '2024-10-30',
type: 'chat',
@@ -171,10 +160,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 2000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.8,
output: 2,
},
releasedAt: '2025-02-10',
settings: {
@@ -194,10 +181,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 6000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.5,
output: 2,
},
releasedAt: '2025-02-10',
settings: {
@@ -218,10 +203,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 4000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 12,
},
releasedAt: '2025-02-10',
settings: {
@@ -241,10 +224,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 6000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 18, strategy: 'fixed', unit: 'millionTokens' },
],
input: 6,
output: 18,
},
releasedAt: '2024-12-18',
settings: {
@@ -265,10 +246,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 4000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 9.6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2.4,
output: 9.6,
},
releasedAt: '2025-01-10',
settings: {
@@ -289,10 +268,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 4000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 9.6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2.4,
output: 9.6,
},
releasedAt: '2025-01-10',
settings: {
@@ -313,10 +290,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 6000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.5,
output: 6,
},
releasedAt: '2025-03-25',
settings: {
@@ -337,10 +312,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 16_000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.8,
output: 2,
},
releasedAt: '2025-05-20',
settings: {
@@ -361,10 +334,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 16_000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.8,
output: 2,
},
releasedAt: '2025-06-04',
settings: {
@@ -385,10 +356,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 8000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.8,
output: 2,
},
releasedAt: '2025-04-16',
settings: {
@@ -409,10 +378,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 8000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.8,
output: 2,
},
releasedAt: '2025-03-13',
settings: {
@@ -457,10 +424,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 2000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 80, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 80, strategy: 'fixed', unit: 'millionTokens' },
],
input: 80,
output: 80,
},
releasedAt: '2024-11-26',
type: 'chat',
@@ -491,10 +456,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 24_000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 4,
},
releasedAt: '2025-06-19',
type: 'chat',
@@ -512,10 +475,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 24_000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 4,
},
releasedAt: '2025-05-16',
type: 'chat',
@@ -532,10 +493,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 16_000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 9, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3,
output: 9,
},
releasedAt: '2025-06-19',
type: 'chat',
@@ -552,10 +511,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 24_000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 9, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3,
output: 9,
},
releasedAt: '2025-05-23',
type: 'chat',
@@ -571,10 +528,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 16_000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 18, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 18, strategy: 'fixed', unit: 'millionTokens' },
],
input: 18,
output: 18,
},
releasedAt: '2025-01-03',
type: 'chat',
@@ -588,10 +543,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 4000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 3.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 7, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3.5,
output: 7,
},
releasedAt: '2024-11-12',
type: 'chat',
@@ -608,10 +561,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 4000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 8,
},
releasedAt: '2025-04-22',
type: 'chat',
@@ -625,10 +576,8 @@ const hunyuanChatModels: AIChatModelCard[] = [
maxOutput: 4000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 8,
},
releasedAt: '2024-07-04',
type: 'chat',
+52 -104
View File
@@ -17,10 +17,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'deepseek-r1',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -33,10 +31,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'deepseek-v3',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -53,10 +49,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'qwen3-235b-a22b',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -73,10 +67,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'qwen3-30b-a3b',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -93,10 +85,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'qwen3-32b',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -113,10 +103,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'qwen3-14b',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -133,10 +121,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'qwen3-8b',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -152,10 +138,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'qwen2.5-vl-72b-instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -171,10 +155,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'qwen2.5-vl-32b-instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -189,10 +171,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'qwen2.5-vl-7b-instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -208,10 +188,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'qwen2.5-72b-instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -227,10 +205,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'qwen2.5-32b-instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -242,10 +218,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'qwen2.5-coder-32b-instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -257,10 +231,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'qwen2.5-14b-instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -275,10 +247,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'qwen2.5-7b-instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -295,10 +265,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'qwq-32b',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -311,10 +279,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'deepseek-r1-distill-qwen-32b',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -327,10 +293,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'llama-3.3-70b-instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -342,10 +306,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'qwen2-72b-instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -357,10 +319,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'qwen2-7b-instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -372,10 +332,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'yi-1.5-34b-chat',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -386,10 +344,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'glm-4-9b-chat',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -401,10 +357,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'chatglm3',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -416,10 +370,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'chatglm3-6b-base',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -431,10 +383,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'llama-2-7b-chat',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -446,10 +396,8 @@ const infiniaiChatModels: AIChatModelCard[] = [
id: 'megrez-3b-instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
+8 -16
View File
@@ -14,10 +14,8 @@ const internlmChatModels: AIChatModelCard[] = [
enabled: true,
id: 'internlm3-latest',
pricing: {
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -31,10 +29,8 @@ const internlmChatModels: AIChatModelCard[] = [
displayName: 'InternLM2.5',
id: 'internlm2.5-latest',
pricing: {
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -49,10 +45,8 @@ const internlmChatModels: AIChatModelCard[] = [
enabled: true,
id: 'internvl3-latest',
pricing: {
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -66,10 +60,8 @@ const internlmChatModels: AIChatModelCard[] = [
displayName: 'InternVL2.5',
id: 'internvl2.5-latest',
pricing: {
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
+2 -4
View File
@@ -13,10 +13,8 @@ const jinaChatModels: AIChatModelCard[] = [
enabled: true,
id: 'jina-deepsearch-v1',
pricing: {
units: [
{ name: 'textInput', rate: 0.02, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.02, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.02,
output: 0.02,
},
settings: {
searchImpl: 'internal',
+10 -11
View File
@@ -8,17 +8,16 @@ const minimaxChatModels: AIChatModelCard[] = [
search: true,
},
contextWindowTokens: 1_000_192,
description: '全新自研推理模型。全球领先:80K思维链 x 1M输入,效果比肩海外顶尖模型。',
description:
'全新自研推理模型。全球领先:80K思维链 x 1M输入,效果比肩海外顶尖模型。',
displayName: 'MiniMax-M1',
enabled: true,
id: 'MiniMax-M1',
maxOutput: 40_000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1.2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.2, // 输入长度 32-128k
output: 16,
},
releasedAt: '2025-06-16',
settings: {
@@ -41,10 +40,8 @@ const minimaxChatModels: AIChatModelCard[] = [
maxOutput: 40_000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 8,
},
releasedAt: '2025-01-15',
settings: {
@@ -56,7 +53,8 @@ const minimaxChatModels: AIChatModelCard[] = [
const minimaxImageModels: AIImageModelCard[] = [
{
description: '全新图像生成模型,画面表现细腻,支持文生图、图生图',
description:
'全新图像生成模型,画面表现细腻,支持文生图、图生图',
displayName: 'Image 01',
enabled: true,
id: 'image-01',
@@ -74,7 +72,8 @@ const minimaxImageModels: AIImageModelCard[] = [
type: 'image',
},
{
description: '图像生成模型,画面表现细腻,支持文生图并进行画风设置',
description:
'图像生成模型,画面表现细腻,支持文生图并进行画风设置',
displayName: 'Image 01 Live',
enabled: true,
id: 'image-01-live',
+20 -40
View File
@@ -14,10 +14,8 @@ const mistralChatModels: AIChatModelCard[] = [
enabled: true,
id: 'mistral-medium-latest',
pricing: {
units: [
{ name: 'textInput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.4,
output: 2,
},
type: 'chat',
},
@@ -31,10 +29,8 @@ const mistralChatModels: AIChatModelCard[] = [
displayName: 'Mistral Nemo',
id: 'open-mistral-nemo',
pricing: {
units: [
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.15,
output: 0.15,
},
type: 'chat',
},
@@ -48,10 +44,8 @@ const mistralChatModels: AIChatModelCard[] = [
enabled: true,
id: 'mistral-small-latest',
pricing: {
units: [
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.1,
output: 0.3,
},
type: 'chat',
},
@@ -66,10 +60,8 @@ const mistralChatModels: AIChatModelCard[] = [
enabled: true,
id: 'mistral-large-latest',
pricing: {
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 6,
},
type: 'chat',
},
@@ -83,10 +75,8 @@ const mistralChatModels: AIChatModelCard[] = [
displayName: 'Codestral',
id: 'codestral-latest',
pricing: {
units: [
{ name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.3,
output: 0.9,
},
releasedAt: '2025-01-13',
type: 'chat',
@@ -103,10 +93,8 @@ const mistralChatModels: AIChatModelCard[] = [
enabled: true,
id: 'pixtral-large-latest',
pricing: {
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 6,
},
type: 'chat',
},
@@ -121,10 +109,8 @@ const mistralChatModels: AIChatModelCard[] = [
displayName: 'Pixtral 12B',
id: 'pixtral-12b-2409',
pricing: {
units: [
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.15,
output: 0.15,
},
type: 'chat',
},
@@ -137,10 +123,8 @@ const mistralChatModels: AIChatModelCard[] = [
displayName: 'Ministral 3B',
id: 'ministral-3b-latest',
pricing: {
units: [
{ name: 'textInput', rate: 0.04, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.04, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.04,
output: 0.04,
},
type: 'chat',
},
@@ -153,10 +137,8 @@ const mistralChatModels: AIChatModelCard[] = [
displayName: 'Ministral 8B',
id: 'ministral-8b-latest',
pricing: {
units: [
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.1,
output: 0.1,
},
type: 'chat',
},
@@ -167,10 +149,8 @@ const mistralChatModels: AIChatModelCard[] = [
displayName: 'Codestral Mamba',
id: 'open-codestral-mamba',
pricing: {
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
+22 -42
View File
@@ -13,12 +13,10 @@ const moonshotChatModels: AIChatModelCard[] = [
enabled: true,
id: 'kimi-k2-0711-preview',
pricing: {
cachedInput: 1,
currency: 'CNY',
units: [
{ name: 'textInput_cacheRead', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 16,
},
releasedAt: '2025-07-11',
type: 'chat',
@@ -35,12 +33,10 @@ const moonshotChatModels: AIChatModelCard[] = [
enabled: true,
id: 'kimi-latest',
pricing: {
cachedInput: 1,
currency: 'CNY',
units: [
{ name: 'textInput_cacheRead', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 30, strategy: 'fixed', unit: 'millionTokens' },
],
input: 10, // 128k 上下文时
output: 30,
},
releasedAt: '2025-02-17',
type: 'chat',
@@ -58,10 +54,8 @@ const moonshotChatModels: AIChatModelCard[] = [
id: 'kimi-thinking-preview',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 200, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 200, strategy: 'fixed', unit: 'millionTokens' },
],
input: 200,
output: 200,
},
releasedAt: '2025-05-06',
type: 'chat',
@@ -76,10 +70,8 @@ const moonshotChatModels: AIChatModelCard[] = [
id: 'moonshot-v1-auto',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 30, strategy: 'fixed', unit: 'millionTokens' },
],
input: 10, // 128k 上下文时
output: 30,
},
type: 'chat',
},
@@ -94,10 +86,8 @@ const moonshotChatModels: AIChatModelCard[] = [
id: 'moonshot-v1-8k',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 10,
},
type: 'chat',
},
@@ -112,10 +102,8 @@ const moonshotChatModels: AIChatModelCard[] = [
id: 'moonshot-v1-32k',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 20, strategy: 'fixed', unit: 'millionTokens' },
],
input: 5,
output: 20,
},
type: 'chat',
},
@@ -130,10 +118,8 @@ const moonshotChatModels: AIChatModelCard[] = [
id: 'moonshot-v1-128k',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 30, strategy: 'fixed', unit: 'millionTokens' },
],
input: 10,
output: 30,
},
type: 'chat',
},
@@ -149,10 +135,8 @@ const moonshotChatModels: AIChatModelCard[] = [
id: 'moonshot-v1-8k-vision-preview',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 10,
},
releasedAt: '2025-01-14',
type: 'chat',
@@ -169,10 +153,8 @@ const moonshotChatModels: AIChatModelCard[] = [
id: 'moonshot-v1-32k-vision-preview',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 20, strategy: 'fixed', unit: 'millionTokens' },
],
input: 5,
output: 20,
},
releasedAt: '2025-01-14',
type: 'chat',
@@ -189,10 +171,8 @@ const moonshotChatModels: AIChatModelCard[] = [
id: 'moonshot-v1-128k-vision-preview',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 30, strategy: 'fixed', unit: 'millionTokens' },
],
input: 10,
output: 30,
},
releasedAt: '2025-01-14',
type: 'chat',
+98 -196
View File
@@ -10,10 +10,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Kimi K2 Instruct',
id: 'moonshotai/kimi-k2-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.57, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2.3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.57,
output: 2.3,
},
type: 'chat',
},
@@ -26,10 +24,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'GLM 4.1V 9B Thinking',
id: 'thudm/glm-4.1v-9b-thinking',
pricing: {
units: [
{ name: 'textInput', rate: 0.035, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.138, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.035,
output: 0.138,
},
type: 'chat',
},
@@ -38,10 +34,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'ERNIE 4.5 0.3B',
id: 'baidu/ernie-4.5-0.3b',
pricing: {
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -50,10 +44,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'ERNIE 4.5 21B A3B',
id: 'baidu/ernie-4.5-21B-a3b',
pricing: {
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -65,10 +57,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'ERNIE 4.5 300B A47B Paddle',
id: 'baidu/ernie-4.5-300b-a47b-paddle',
pricing: {
units: [
{ name: 'textInput', rate: 0.28, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.28,
output: 1.1,
},
type: 'chat',
},
@@ -81,10 +71,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'ERNIE 4.5 VL 28B A3B',
id: 'baidu/ernie-4.5-vl-28b-a3b',
pricing: {
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -98,10 +86,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'ERNIE 4.5 VL 424B A47B',
id: 'baidu/ernie-4.5-vl-424b-a47b',
pricing: {
units: [
{ name: 'textInput', rate: 0.42, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.42,
output: 1.25,
},
type: 'chat',
},
@@ -114,10 +100,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'MiniMax M1 80K',
id: 'minimaxai/minimax-m1-80k',
pricing: {
units: [
{ name: 'textInput', rate: 0.55, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2.2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.55,
output: 2.2,
},
type: 'chat',
},
@@ -129,10 +113,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Qwen3 4B FP8',
id: 'qwen/qwen3-4b-fp8',
pricing: {
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -144,10 +126,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Qwen3 235B A22B FP8',
id: 'qwen/qwen3-235b-a22b-fp8',
pricing: {
units: [
{ name: 'textInput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.2,
output: 0.8,
},
type: 'chat',
},
@@ -159,10 +139,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Qwen3 30B A3B FP8',
id: 'qwen/qwen3-30b-a3b-fp8',
pricing: {
units: [
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.45, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.1,
output: 0.45,
},
type: 'chat',
},
@@ -174,10 +152,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Qwen3 32B FP8',
id: 'qwen/qwen3-32b-fp8',
pricing: {
units: [
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.45, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.1,
output: 0.45,
},
type: 'chat',
},
@@ -189,10 +165,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Llama 3.3 70B Instruct',
id: 'meta-llama/llama-3.3-70b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.13, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.39, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.13,
output: 0.39,
},
type: 'chat',
},
@@ -201,10 +175,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Qwen3 8B FP8',
id: 'qwen/qwen3-8b-fp8',
pricing: {
units: [
{ name: 'textInput', rate: 0.035, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.138, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.035,
output: 0.138,
},
type: 'chat',
},
@@ -217,10 +189,8 @@ const novitaChatModels: AIChatModelCard[] = [
enabled: true,
id: 'meta-llama/llama-4-scout-17b-16e-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.1,
output: 0.5,
},
type: 'chat',
},
@@ -233,10 +203,8 @@ const novitaChatModels: AIChatModelCard[] = [
enabled: true,
id: 'meta-llama/llama-4-maverick-17b-128e-instruct-fp8',
pricing: {
units: [
{ name: 'textInput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.85, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.2,
output: 0.85,
},
type: 'chat',
},
@@ -246,10 +214,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Llama 3.1 8B Instruct',
id: 'meta-llama/llama-3.1-8b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.02, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.05, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.02,
output: 0.05,
},
type: 'chat',
},
@@ -259,10 +225,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Llama 3 8B Instruct',
id: 'meta-llama/llama-3-8b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.04, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.04, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.04,
output: 0.04,
},
type: 'chat',
},
@@ -272,10 +236,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Llama 3 70B Instruct',
id: 'meta-llama/llama-3-70b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.51, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.74, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.51,
output: 0.74,
},
type: 'chat',
},
@@ -285,10 +247,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Gemma 3 27B',
id: 'google/gemma-3-27b-it',
pricing: {
units: [
{ name: 'textInput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.2,
output: 0.2,
},
type: 'chat',
},
@@ -298,10 +258,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Gemma 3 1B',
id: 'google/gemma-3-1b-it',
pricing: {
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -311,10 +269,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Mistral Nemo',
id: 'mistralai/mistral-nemo',
pricing: {
units: [
{ name: 'textInput', rate: 0.04, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.17, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.04,
output: 0.17,
},
type: 'chat',
},
@@ -324,10 +280,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Mistral 7B Instruct',
id: 'mistralai/mistral-7b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.029, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.059, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.029,
output: 0.059,
},
type: 'chat',
},
@@ -337,10 +291,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'WizardLM-2 8x22B',
id: 'microsoft/wizardlm-2-8x22b',
pricing: {
units: [
{ name: 'textInput', rate: 0.62, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.62, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.62,
output: 0.62,
},
type: 'chat',
},
@@ -350,10 +302,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Dolphin Mixtral 8x22B',
id: 'cognitivecomputations/dolphin-mixtral-8x22b',
pricing: {
units: [
{ name: 'textInput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.9, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.9,
output: 0.9,
},
type: 'chat',
},
@@ -363,10 +313,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Hermes 2 Pro Llama 3 8B',
id: 'nousresearch/hermes-2-pro-llama-3-8b',
pricing: {
units: [
{ name: 'textInput', rate: 0.14, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.14, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.14,
output: 0.14,
},
type: 'chat',
},
@@ -376,10 +324,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'MythoMax l2 13B',
id: 'gryphe/mythomax-l2-13b',
pricing: {
units: [
{ name: 'textInput', rate: 0.09, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.09, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.09,
output: 0.09,
},
type: 'chat',
},
@@ -388,10 +334,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Deepseek Prover V2 671B',
id: 'deepseek/deepseek-prover-v2-671b',
pricing: {
units: [
{ name: 'textInput', rate: 0.7, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.7,
output: 2.5,
},
type: 'chat',
},
@@ -403,10 +347,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Deepseek V3 Turbo',
id: 'deepseek/deepseek-v3-turbo',
pricing: {
units: [
{ name: 'textInput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.4,
output: 1.3,
},
type: 'chat',
},
@@ -419,10 +361,8 @@ const novitaChatModels: AIChatModelCard[] = [
enabled: true,
id: 'deepseek/deepseek-v3-0324',
pricing: {
units: [
{ name: 'textInput', rate: 0.28, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.14, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.28,
output: 1.14,
},
type: 'chat',
},
@@ -436,10 +376,8 @@ const novitaChatModels: AIChatModelCard[] = [
enabled: true,
id: 'deepseek/deepseek-r1-0528',
pricing: {
units: [
{ name: 'textInput', rate: 0.7, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.7,
output: 2.5,
},
type: 'chat',
},
@@ -451,10 +389,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'DeepSeek R1 0528 Qwen3 8B',
id: 'deepseek/deepseek-r1-0528-qwen3-8b',
pricing: {
units: [
{ name: 'textInput', rate: 0.06, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.09, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.06,
output: 0.09,
},
type: 'chat',
},
@@ -467,10 +403,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Deepseek R1 Turbo',
id: 'deepseek/deepseek-r1-turbo',
pricing: {
units: [
{ name: 'textInput', rate: 0.7, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.7,
output: 2.5,
},
type: 'chat',
},
@@ -482,10 +416,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Deepseek R1 Distill Llama 70B',
id: 'deepseek/deepseek-r1-distill-llama-70b',
pricing: {
units: [
{ name: 'textInput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.8,
output: 0.8,
},
type: 'chat',
},
@@ -497,10 +429,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Deepseek R1 Distill Qwen 14B',
id: 'deepseek/deepseek-r1-distill-qwen-14b',
pricing: {
units: [
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.15,
output: 0.15,
},
type: 'chat',
},
@@ -512,10 +442,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Deepseek R1 Distill Qwen 32B',
id: 'deepseek/deepseek-r1-distill-qwen-32b',
pricing: {
units: [
{ name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.3,
output: 0.3,
},
type: 'chat',
},
@@ -524,10 +452,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'L3 8B Stheno v3.2',
id: 'Sao10K/L3-8B-Stheno-v3.2',
pricing: {
units: [
{ name: 'textInput', rate: 0.05, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.05, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.05,
output: 0.05,
},
type: 'chat',
},
@@ -539,10 +465,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Deepseek R1 Distill Llama 8B',
id: 'deepseek/deepseek-r1-distill-llama-8b',
pricing: {
units: [
{ name: 'textInput', rate: 0.04, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.04, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.04,
output: 0.04,
},
type: 'chat',
},
@@ -554,10 +478,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Qwen2.5 72B Instruct',
id: 'qwen/qwen-2.5-72b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.38, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.38,
output: 0.4,
},
type: 'chat',
},
@@ -566,10 +488,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'L3 70B Euryale v2.1',
id: 'sao10k/l3-70b-euryale-v2.1',
pricing: {
units: [
{ name: 'textInput', rate: 1.48, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.48, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.48,
output: 1.48,
},
type: 'chat',
},
@@ -578,10 +498,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Midnight Rose 70B',
id: 'sophosympatheia/midnight-rose-70b',
pricing: {
units: [
{ name: 'textInput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.8,
output: 0.8,
},
type: 'chat',
},
@@ -590,10 +508,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'L3 8B Lunaris',
id: 'sao10k/l3-8b-lunaris',
pricing: {
units: [
{ name: 'textInput', rate: 0.05, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.05, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.05,
output: 0.05,
},
type: 'chat',
},
@@ -606,10 +522,8 @@ const novitaChatModels: AIChatModelCard[] = [
enabled: true,
id: 'qwen/qwen2.5-vl-72b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.8,
output: 0.8,
},
type: 'chat',
},
@@ -618,10 +532,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Llama 3.2 1B Instruct',
id: 'meta-llama/llama-3.2-1b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -633,10 +545,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Llama 3.2 3B Instruct',
id: 'meta-llama/llama-3.2-3b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.03, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.05, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.03,
output: 0.05,
},
type: 'chat',
},
@@ -645,10 +555,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Llama 3.1 8B Instruct BF16',
id: 'meta-llama/llama-3.1-8b-instruct-bf16',
pricing: {
units: [
{ name: 'textInput', rate: 0.06, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.06, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.06,
output: 0.06,
},
type: 'chat',
},
@@ -657,10 +565,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'L31 70B Euryale v2.2',
id: 'sao10k/l31-70b-euryale-v2.2',
pricing: {
units: [
{ name: 'textInput', rate: 1.48, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.48, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.48,
output: 1.48,
},
type: 'chat',
},
@@ -672,10 +578,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'Qwen2.5 7B Instruct',
id: 'qwen/qwen2.5-7b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -687,10 +591,8 @@ const novitaChatModels: AIChatModelCard[] = [
displayName: 'GLM 4 32B 0414',
id: 'thudm/glm-4-32b-0414',
pricing: {
units: [
{ name: 'textInput', rate: 0.24, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.24, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.24,
output: 0.24,
},
type: 'chat',
},
+128 -349
View File
@@ -18,105 +18,6 @@ export const gptImage1ParamsSchema: ModelParamsSchema = {
};
export const openaiChatModels: AIChatModelCard[] = [
{
abilities: {
functionCall: true,
imageOutput: true,
reasoning: true,
search: true,
vision: true,
},
contextWindowTokens: 400_000,
description:
'跨领域编码和代理任务的最佳模型。GPT-5 在准确性、速度、推理、上下文识别、结构化思维和问题解决方面实现了飞跃。',
displayName: 'GPT-5',
enabled: true,
id: 'gpt-5',
maxOutput: 128_000,
pricing: {
units: [
{ name: 'textInput', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.125, strategy: 'fixed', unit: 'millionTokens' },
],
},
releasedAt: '2025-08-07',
settings: {
extendParams: ['reasoningEffort'],
searchImpl: 'params',
},
type: 'chat',
},
{
abilities: {
functionCall: true,
reasoning: true,
search: true,
vision: true,
},
contextWindowTokens: 400_000,
description:
'更快、更经济高效的 GPT-5 版本,适用于明确定义的任务。在保持高质量输出的同时,提供更快的响应速度。',
displayName: 'GPT-5 mini',
enabled: true,
id: 'gpt-5-mini',
maxOutput: 128_000,
pricing: {
units: [
{ name: 'textInput', rate: 0.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.025, strategy: 'fixed', unit: 'millionTokens' },
],
},
releasedAt: '2025-08-07',
settings: {
extendParams: ['reasoningEffort'],
searchImpl: 'params',
},
type: 'chat',
},
{
abilities: {
functionCall: true,
reasoning: true,
vision: true,
},
contextWindowTokens: 400_000,
description: '最快、最经济高效的 GPT-5 版本。非常适合需要快速响应且成本敏感的应用场景。',
displayName: 'GPT-5 nano',
id: 'gpt-5-nano',
maxOutput: 128_000,
pricing: {
units: [
{ name: 'textInput', rate: 0.05, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.005, strategy: 'fixed', unit: 'millionTokens' },
],
},
releasedAt: '2025-08-07',
type: 'chat',
},
{
abilities: {
vision: true,
},
contextWindowTokens: 400_000,
description:
'ChatGPT 中使用的 GPT-5 模型。结合了强大的语言理解与生成能力,适合对话式交互应用。',
displayName: 'GPT-5 Chat',
enabled: true,
id: 'gpt-5-chat-latest',
maxOutput: 128_000,
pricing: {
units: [
{ name: 'textInput', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.125, strategy: 'fixed', unit: 'millionTokens' },
],
},
releasedAt: '2025-08-07',
type: 'chat',
},
{
abilities: {
functionCall: true,
@@ -132,11 +33,9 @@ export const openaiChatModels: AIChatModelCard[] = [
id: 'o4-mini',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.275, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.275,
input: 1.1,
output: 4.4,
},
releasedAt: '2025-04-17',
settings: {
@@ -159,11 +58,9 @@ export const openaiChatModels: AIChatModelCard[] = [
id: 'o4-mini-deep-research',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.5,
input: 2,
output: 8,
},
releasedAt: '2025-06-26',
settings: {
@@ -186,10 +83,8 @@ export const openaiChatModels: AIChatModelCard[] = [
id: 'o3-pro',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput', rate: 20, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 80, strategy: 'fixed', unit: 'millionTokens' },
],
input: 20,
output: 80,
},
releasedAt: '2025-06-10',
settings: {
@@ -213,11 +108,9 @@ export const openaiChatModels: AIChatModelCard[] = [
id: 'o3',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.5,
input: 2,
output: 8,
},
releasedAt: '2025-04-16',
settings: {
@@ -240,11 +133,9 @@ export const openaiChatModels: AIChatModelCard[] = [
id: 'o3-deep-research',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 40, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 2.5,
input: 10,
output: 40,
},
releasedAt: '2025-06-26',
settings: {
@@ -265,11 +156,9 @@ export const openaiChatModels: AIChatModelCard[] = [
id: 'o3-mini',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.55, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.55,
input: 1.1,
output: 4.4,
},
releasedAt: '2025-01-31',
settings: {
@@ -290,10 +179,8 @@ export const openaiChatModels: AIChatModelCard[] = [
id: 'o1-pro',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput', rate: 150, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 600, strategy: 'fixed', unit: 'millionTokens' },
],
input: 150,
output: 600,
},
releasedAt: '2025-03-19',
settings: {
@@ -312,11 +199,9 @@ export const openaiChatModels: AIChatModelCard[] = [
id: 'o1-mini', // deprecated on 2025-10-27
maxOutput: 65_536,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.55, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.55,
input: 1.1,
output: 4.4,
},
releasedAt: '2024-09-12',
settings: {
@@ -337,11 +222,9 @@ export const openaiChatModels: AIChatModelCard[] = [
id: 'o1',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 7.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 60, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 7.5,
input: 15,
output: 60,
},
releasedAt: '2024-12-17',
settings: {
@@ -360,10 +243,8 @@ export const openaiChatModels: AIChatModelCard[] = [
id: 'o1-preview',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 60, strategy: 'fixed', unit: 'millionTokens' },
],
input: 15,
output: 60,
},
releasedAt: '2024-09-12',
settings: {
@@ -380,14 +261,13 @@ export const openaiChatModels: AIChatModelCard[] = [
contextWindowTokens: 1_047_576,
description: 'GPT-4.1 是我们用于复杂任务的旗舰模型。它非常适合跨领域解决问题。',
displayName: 'GPT-4.1',
enabled: true,
id: 'gpt-4.1',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.5,
input: 2,
output: 8,
},
releasedAt: '2025-04-14',
settings: {
@@ -405,14 +285,13 @@ export const openaiChatModels: AIChatModelCard[] = [
description:
'GPT-4.1 mini 提供了智能、速度和成本之间的平衡,使其成为许多用例中有吸引力的模型。',
displayName: 'GPT-4.1 mini',
enabled: true,
id: 'gpt-4.1-mini',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.6, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.1,
input: 0.4,
output: 1.6,
},
releasedAt: '2025-04-14',
settings: {
@@ -431,11 +310,9 @@ export const openaiChatModels: AIChatModelCard[] = [
id: 'gpt-4.1-nano',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.025, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.025,
input: 0.1,
output: 0.4,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -452,11 +329,9 @@ export const openaiChatModels: AIChatModelCard[] = [
id: 'gpt-4.5-preview', // deprecated on 2025-07-14
maxOutput: 16_384,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 37.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 75, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 150, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 37.5,
input: 75,
output: 150,
},
releasedAt: '2025-02-27',
type: 'chat',
@@ -474,11 +349,9 @@ export const openaiChatModels: AIChatModelCard[] = [
id: 'gpt-4o-mini',
maxOutput: 16_384,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.075, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.075,
input: 0.15,
output: 0.6,
},
releasedAt: '2024-07-18',
settings: {
@@ -497,10 +370,8 @@ export const openaiChatModels: AIChatModelCard[] = [
id: 'gpt-4o-mini-search-preview',
maxOutput: 16_384,
pricing: {
units: [
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.15,
output: 0.6,
},
releasedAt: '2025-03-11',
settings: {
@@ -519,10 +390,8 @@ export const openaiChatModels: AIChatModelCard[] = [
id: 'gpt-4o-mini-audio-preview',
maxOutput: 16_384,
pricing: {
units: [
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.15,
output: 0.6,
},
releasedAt: '2024-12-17',
/*
@@ -544,11 +413,9 @@ export const openaiChatModels: AIChatModelCard[] = [
displayName: 'GPT-4o',
id: 'gpt-4o',
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 1.25,
input: 2.5,
output: 10,
},
releasedAt: '2024-05-13',
settings: {
@@ -567,10 +434,8 @@ export const openaiChatModels: AIChatModelCard[] = [
id: 'gpt-4o-search-preview',
maxOutput: 16_384,
pricing: {
units: [
{ name: 'textInput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2.5,
output: 10,
},
releasedAt: '2025-03-11',
settings: {
@@ -590,11 +455,9 @@ export const openaiChatModels: AIChatModelCard[] = [
displayName: 'GPT-4o 1120',
id: 'gpt-4o-2024-11-20',
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 1.25,
input: 2.5,
output: 10,
},
releasedAt: '2024-11-20',
settings: {
@@ -614,10 +477,8 @@ export const openaiChatModels: AIChatModelCard[] = [
displayName: 'GPT-4o 0513',
id: 'gpt-4o-2024-05-13',
pricing: {
units: [
{ name: 'textInput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
],
input: 5,
output: 15,
},
releasedAt: '2024-05-13',
settings: {
@@ -636,10 +497,8 @@ export const openaiChatModels: AIChatModelCard[] = [
id: 'gpt-4o-audio-preview',
maxOutput: 16_384,
pricing: {
units: [
{ name: 'textInput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2.5,
output: 10,
},
releasedAt: '2024-12-17',
/*
@@ -657,12 +516,11 @@ export const openaiChatModels: AIChatModelCard[] = [
description:
'ChatGPT-4o 是一款动态模型,实时更新以保持当前最新版本。它结合了强大的语言理解与生成能力,适合于大规模应用场景,包括客户服务、教育和技术支持。',
displayName: 'ChatGPT-4o',
enabled: true,
id: 'chatgpt-4o-latest',
pricing: {
units: [
{ name: 'textInput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
],
input: 5,
output: 15,
},
releasedAt: '2024-08-14',
type: 'chat',
@@ -678,10 +536,8 @@ export const openaiChatModels: AIChatModelCard[] = [
displayName: 'GPT-4 Turbo',
id: 'gpt-4-turbo',
pricing: {
units: [
{ name: 'textInput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 30, strategy: 'fixed', unit: 'millionTokens' },
],
input: 10,
output: 30,
},
type: 'chat',
},
@@ -696,10 +552,8 @@ export const openaiChatModels: AIChatModelCard[] = [
displayName: 'GPT-4 Turbo Vision 0409',
id: 'gpt-4-turbo-2024-04-09',
pricing: {
units: [
{ name: 'textInput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 30, strategy: 'fixed', unit: 'millionTokens' },
],
input: 10,
output: 30,
},
releasedAt: '2024-04-09',
type: 'chat',
@@ -714,10 +568,8 @@ export const openaiChatModels: AIChatModelCard[] = [
displayName: 'GPT-4 Turbo Preview',
id: 'gpt-4-turbo-preview',
pricing: {
units: [
{ name: 'textInput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 30, strategy: 'fixed', unit: 'millionTokens' },
],
input: 10,
output: 30,
},
type: 'chat',
},
@@ -731,10 +583,8 @@ export const openaiChatModels: AIChatModelCard[] = [
displayName: 'GPT-4 Turbo Preview 0125',
id: 'gpt-4-0125-preview',
pricing: {
units: [
{ name: 'textInput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 30, strategy: 'fixed', unit: 'millionTokens' },
],
input: 10,
output: 30,
},
releasedAt: '2024-01-25',
type: 'chat',
@@ -749,10 +599,8 @@ export const openaiChatModels: AIChatModelCard[] = [
displayName: 'GPT-4 Turbo Preview 1106',
id: 'gpt-4-1106-preview',
pricing: {
units: [
{ name: 'textInput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 30, strategy: 'fixed', unit: 'millionTokens' },
],
input: 10,
output: 30,
},
releasedAt: '2023-11-06',
type: 'chat',
@@ -767,10 +615,8 @@ export const openaiChatModels: AIChatModelCard[] = [
displayName: 'GPT-4',
id: 'gpt-4',
pricing: {
units: [
{ name: 'textInput', rate: 30, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 60, strategy: 'fixed', unit: 'millionTokens' },
],
input: 30,
output: 60,
},
type: 'chat',
},
@@ -784,10 +630,8 @@ export const openaiChatModels: AIChatModelCard[] = [
displayName: 'GPT-4 0613',
id: 'gpt-4-0613',
pricing: {
units: [
{ name: 'textInput', rate: 30, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 60, strategy: 'fixed', unit: 'millionTokens' },
],
input: 30,
output: 60,
},
releasedAt: '2023-06-13',
type: 'chat',
@@ -802,10 +646,8 @@ export const openaiChatModels: AIChatModelCard[] = [
displayName: 'GPT-3.5 Turbo',
id: 'gpt-3.5-turbo',
pricing: {
units: [
{ name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.5,
output: 1.5,
},
type: 'chat',
},
@@ -819,10 +661,8 @@ export const openaiChatModels: AIChatModelCard[] = [
displayName: 'GPT-3.5 Turbo 0125',
id: 'gpt-3.5-turbo-0125',
pricing: {
units: [
{ name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.5,
output: 1.5,
},
releasedAt: '2024-01-25',
type: 'chat',
@@ -837,10 +677,8 @@ export const openaiChatModels: AIChatModelCard[] = [
displayName: 'GPT-3.5 Turbo 1106',
id: 'gpt-3.5-turbo-1106',
pricing: {
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 2,
},
releasedAt: '2023-11-06',
type: 'chat',
@@ -851,10 +689,8 @@ export const openaiChatModels: AIChatModelCard[] = [
displayName: 'GPT-3.5 Turbo Instruct',
id: 'gpt-3.5-turbo-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.5,
output: 2,
},
type: 'chat',
},
@@ -871,11 +707,9 @@ export const openaiChatModels: AIChatModelCard[] = [
id: 'codex-mini-latest',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.375, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.375,
input: 1.5,
output: 6,
},
releasedAt: '2025-06-01',
settings: {
@@ -896,10 +730,8 @@ export const openaiChatModels: AIChatModelCard[] = [
id: 'computer-use-preview',
maxOutput: 1024,
pricing: {
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3,
output: 12,
},
releasedAt: '2025-03-11',
settings: {
@@ -918,7 +750,7 @@ export const openaiEmbeddingModels: AIEmbeddingModelCard[] = [
maxDimension: 3072,
pricing: {
currency: 'USD',
units: [{ name: 'textInput', rate: 0.13, strategy: 'fixed', unit: 'millionTokens' }],
input: 0.13,
},
releasedAt: '2024-01-25',
type: 'embedding',
@@ -931,7 +763,7 @@ export const openaiEmbeddingModels: AIEmbeddingModelCard[] = [
maxDimension: 1536,
pricing: {
currency: 'USD',
units: [{ name: 'textInput', rate: 0.02, strategy: 'fixed', unit: 'millionTokens' }],
input: 0.02,
},
releasedAt: '2024-01-25',
type: 'embedding',
@@ -945,7 +777,7 @@ export const openaiTTSModels: AITTSModelCard[] = [
displayName: 'TTS-1',
id: 'tts-1',
pricing: {
units: [{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionCharacters' }],
input: 15,
},
type: 'tts',
},
@@ -954,7 +786,7 @@ export const openaiTTSModels: AITTSModelCard[] = [
displayName: 'TTS-1 HD',
id: 'tts-1-hd',
pricing: {
units: [{ name: 'textInput', rate: 30, strategy: 'fixed', unit: 'millionCharacters' }],
input: 30,
},
type: 'tts',
},
@@ -964,10 +796,8 @@ export const openaiTTSModels: AITTSModelCard[] = [
displayName: 'GPT-4o Mini TTS',
id: 'gpt-4o-mini-tts',
pricing: {
units: [
{ name: 'textInput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'audioOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.6,
output: 12,
},
type: 'tts',
},
@@ -980,14 +810,7 @@ export const openaiSTTModels: AISTTModelCard[] = [
displayName: 'Whisper',
id: 'whisper-1',
pricing: {
units: [
{
name: 'audioInput',
rate: 0.0001, // $0.006 per minute => $0.0001 per second
strategy: 'fixed',
unit: 'second',
},
],
input: 0.006, // per minute
},
type: 'stt',
},
@@ -999,11 +822,8 @@ export const openaiSTTModels: AISTTModelCard[] = [
id: 'gpt-4o-transcribe',
maxOutput: 2000,
pricing: {
units: [
{ name: 'textInput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'audioInput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
input: 6, // Audio
output: 10,
},
type: 'stt',
},
@@ -1015,11 +835,8 @@ export const openaiSTTModels: AISTTModelCard[] = [
id: 'gpt-4o-mini-transcribe',
maxOutput: 2000,
pricing: {
units: [
{ name: 'textInput', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'audioInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3, // Audio
output: 5,
},
type: 'stt',
},
@@ -1049,24 +866,8 @@ export const openaiImageModels: AIImageModelCard[] = [
},
},
pricing: {
units: [
{
lookup: {
prices: {
hd_1024x1024: 0.08,
hd_1024x1792: 0.12,
hd_1792x1024: 0.12,
standard_1024x1024: 0.04,
standard_1024x1792: 0.08,
standard_1792x1024: 0.08,
},
pricingParams: ['quality', 'size'],
},
name: 'imageGeneration',
strategy: 'lookup',
unit: 'image',
},
],
hd: 0.08,
standard: 0.04,
},
resolutions: ['1024x1024', '1024x1792', '1792x1024'],
type: 'image',
@@ -1084,21 +885,7 @@ export const openaiImageModels: AIImageModelCard[] = [
},
},
pricing: {
units: [
{
lookup: {
prices: {
'1024x1024': 0.02,
'256x256': 0.016,
'512x512': 0.018,
},
pricingParams: ['size'],
},
name: 'imageGeneration',
strategy: 'lookup',
unit: 'image',
},
],
input: 0.02, // $0.020 per image (1024×1024)
},
resolutions: ['256x256', '512x512', '1024x1024'],
type: 'image',
@@ -1114,14 +901,12 @@ export const openaiRealtimeModels: AIRealtimeModelCard[] = [
id: 'gpt-4o-realtime-preview',
maxOutput: 4096,
pricing: {
units: [
{ name: 'audioInput', rate: 40, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'audioOutput', rate: 80, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'audioInput_cacheRead', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 20, strategy: 'fixed', unit: 'millionTokens' },
],
audioInput: 40,
audioOutput: 80,
cachedAudioInput: 2.5,
cachedInput: 2.5,
input: 5,
output: 20,
},
releasedAt: '2024-12-17',
type: 'realtime',
@@ -1133,14 +918,12 @@ export const openaiRealtimeModels: AIRealtimeModelCard[] = [
id: 'gpt-4o-realtime-preview-2025-06-03',
maxOutput: 4096,
pricing: {
units: [
{ name: 'audioInput', rate: 40, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'audioOutput', rate: 80, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'audioInput_cacheRead', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 20, strategy: 'fixed', unit: 'millionTokens' },
],
audioInput: 40,
audioOutput: 80,
cachedAudioInput: 2.5,
cachedInput: 2.5,
input: 5,
output: 20,
},
releasedAt: '2025-06-03',
type: 'realtime',
@@ -1152,14 +935,12 @@ export const openaiRealtimeModels: AIRealtimeModelCard[] = [
id: 'gpt-4o-realtime-preview-2024-10-01', // deprecated on 2025-09-10
maxOutput: 4096,
pricing: {
units: [
{ name: 'audioInput', rate: 100, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'audioOutput', rate: 200, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'audioInput_cacheRead', rate: 20, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 20, strategy: 'fixed', unit: 'millionTokens' },
],
audioInput: 100,
audioOutput: 200,
cachedAudioInput: 20,
cachedInput: 2.5,
input: 5,
output: 20,
},
releasedAt: '2024-10-01',
type: 'realtime',
@@ -1171,14 +952,12 @@ export const openaiRealtimeModels: AIRealtimeModelCard[] = [
id: 'gpt-4o-mini-realtime-preview',
maxOutput: 4096,
pricing: {
units: [
{ name: 'audioInput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'audioOutput', rate: 20, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'audioInput_cacheRead', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheRead', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2.4, strategy: 'fixed', unit: 'millionTokens' },
],
audioInput: 10,
audioOutput: 20,
cachedAudioInput: 0.3,
cachedInput: 0.3,
input: 0.6,
output: 2.4,
},
releasedAt: '2024-12-17',
type: 'realtime',
+100 -205
View File
@@ -33,10 +33,8 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'qwen/qwen3-30b-a3b',
maxOutput: 40_960,
pricing: {
units: [
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.1,
output: 0.3,
},
type: 'chat',
},
@@ -74,10 +72,8 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'qwen/qwen3-14b',
maxOutput: 40_960,
pricing: {
units: [
{ name: 'textInput', rate: 0.08, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.24, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.08,
output: 0.24,
},
type: 'chat',
},
@@ -102,10 +98,8 @@ const openrouterChatModels: AIChatModelCard[] = [
displayName: 'Qwen3 32B',
id: 'qwen/qwen3-32b',
pricing: {
units: [
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.1,
output: 0.3,
},
type: 'chat',
},
@@ -131,10 +125,8 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'qwen/qwen3-235b-a22b',
maxOutput: 40_960,
pricing: {
units: [
{ name: 'textInput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.2,
output: 0.6,
},
type: 'chat',
},
@@ -159,10 +151,8 @@ const openrouterChatModels: AIChatModelCard[] = [
displayName: 'GLM Z1 Rumination 32B',
id: 'thudm/glm-z1-rumination-32b',
pricing: {
units: [
{ name: 'textInput', rate: 0.24, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.24, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.24,
output: 0.24,
},
type: 'chat',
},
@@ -206,10 +196,8 @@ const openrouterChatModels: AIChatModelCard[] = [
displayName: 'GLM Z1 32B',
id: 'thudm/glm-z1-32b',
pricing: {
units: [
{ name: 'textInput', rate: 0.24, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.24, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.24,
output: 0.24,
},
type: 'chat',
},
@@ -234,10 +222,8 @@ const openrouterChatModels: AIChatModelCard[] = [
displayName: 'GLM 4 32B',
id: 'thudm/glm-4-32b',
pricing: {
units: [
{ name: 'textInput', rate: 0.24, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.24, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.24,
output: 0.24,
},
type: 'chat',
},
@@ -254,10 +240,8 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'google/gemini-2.5-pro',
maxOutput: 65_536,
pricing: {
units: [
{ name: 'textInput', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.25,
output: 10,
},
type: 'chat',
},
@@ -274,10 +258,8 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'google/gemini-2.5-pro-preview',
maxOutput: 65_536,
pricing: {
units: [
{ name: 'textInput', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.25,
output: 10,
},
type: 'chat',
},
@@ -294,10 +276,8 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'google/gemini-2.5-flash',
maxOutput: 65_535,
pricing: {
units: [
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.15,
output: 0.6,
},
type: 'chat',
},
@@ -314,10 +294,8 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'google/gemini-2.5-flash-preview',
maxOutput: 65_535,
pricing: {
units: [
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.15,
output: 0.6,
},
type: 'chat',
},
@@ -334,10 +312,8 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'google/gemini-2.5-flash-preview:thinking',
maxOutput: 65_535,
pricing: {
units: [
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 3.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.15,
output: 3.5,
},
type: 'chat',
},
@@ -354,11 +330,9 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'openai/o3',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 40, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 2.5,
input: 10,
output: 40,
},
releasedAt: '2025-04-17',
type: 'chat',
@@ -376,11 +350,9 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'openai/o4-mini-high',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.275, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.275,
input: 1.1,
output: 4.4,
},
releasedAt: '2025-04-17',
type: 'chat',
@@ -397,11 +369,9 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'openai/o4-mini',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.275, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.275,
input: 1.1,
output: 4.4,
},
releasedAt: '2025-04-17',
type: 'chat',
@@ -417,11 +387,9 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'openai/gpt-4.1',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.5,
input: 2,
output: 8,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -438,11 +406,9 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'openai/gpt-4.1-mini',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.6, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.1,
input: 0.4,
output: 1.6,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -458,11 +424,9 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'openai/gpt-4.1-nano',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.025, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.025,
input: 0.1,
output: 0.4,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -478,11 +442,9 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'openai/o3-mini-high',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.55, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.55,
input: 1.1,
output: 4.4,
},
releasedAt: '2025-01-31',
type: 'chat',
@@ -498,11 +460,9 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'openai/o3-mini',
maxOutput: 100_000,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.55, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.55,
input: 1.1,
output: 4.4,
},
releasedAt: '2025-01-31',
type: 'chat',
@@ -518,10 +478,8 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'openai/o1-mini',
maxOutput: 65_536,
pricing: {
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3,
output: 12,
},
releasedAt: '2024-09-12',
type: 'chat',
@@ -537,10 +495,8 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'openai/o1-preview',
maxOutput: 32_768,
pricing: {
units: [
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 60, strategy: 'fixed', unit: 'millionTokens' },
],
input: 15,
output: 60,
},
releasedAt: '2024-09-12',
type: 'chat',
@@ -557,10 +513,8 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'openai/gpt-4o-mini',
maxOutput: 16_385,
pricing: {
units: [
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.15,
output: 0.6,
},
type: 'chat',
},
@@ -575,10 +529,8 @@ const openrouterChatModels: AIChatModelCard[] = [
displayName: 'GPT-4o',
id: 'openai/gpt-4o',
pricing: {
units: [
{ name: 'textInput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2.5,
output: 10,
},
type: 'chat',
},
@@ -593,10 +545,8 @@ const openrouterChatModels: AIChatModelCard[] = [
displayName: 'DeepSeek R1 0528',
id: 'deepseek/deepseek-r1-0528',
pricing: {
units: [
{ name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2.18, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.5,
output: 2.18,
},
releasedAt: '2025-05-28',
type: 'chat',
@@ -623,10 +573,8 @@ const openrouterChatModels: AIChatModelCard[] = [
displayName: 'DeepSeek R1',
id: 'deepseek/deepseek-r1',
pricing: {
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3,
output: 8,
},
releasedAt: '2025-01-20',
type: 'chat',
@@ -650,11 +598,9 @@ const openrouterChatModels: AIChatModelCard[] = [
displayName: 'DeepSeek V3 0324',
id: 'deepseek/deepseek-chat-v3-0324',
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.07, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.27, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.07,
input: 0.27,
output: 1.1,
},
type: 'chat',
},
@@ -678,17 +624,10 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'anthropic/claude-3-haiku',
maxOutput: 4096,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.025, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '5m': 0.3125 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
cachedInput: 0.025,
input: 0.25,
output: 1.25,
writeCacheInput: 0.3125,
},
releasedAt: '2024-03-07',
type: 'chat',
@@ -704,17 +643,10 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'anthropic/claude-3.5-haiku',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '5m': 1.25 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
cachedInput: 0.1,
input: 1,
output: 5,
writeCacheInput: 1.25,
},
releasedAt: '2024-11-05',
type: 'chat',
@@ -731,17 +663,10 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'anthropic/claude-3.5-sonnet',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '5m': 3.75 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
cachedInput: 0.3,
input: 3,
output: 15,
writeCacheInput: 3.75,
},
releasedAt: '2024-06-20',
type: 'chat',
@@ -759,17 +684,10 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'anthropic/claude-3.7-sonnet',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '5m': 3.75 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
cachedInput: 0.3,
input: 3,
output: 15,
writeCacheInput: 3.75,
},
releasedAt: '2025-02-24',
settings: {
@@ -790,10 +708,8 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'anthropic/claude-sonnet-4',
maxOutput: 64_000,
pricing: {
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3,
output: 15,
},
releasedAt: '2025-05-23',
settings: {
@@ -814,10 +730,8 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'anthropic/claude-opus-4',
maxOutput: 32_000,
pricing: {
units: [
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 75, strategy: 'fixed', unit: 'millionTokens' },
],
input: 15,
output: 75,
},
releasedAt: '2025-05-23',
settings: {
@@ -837,17 +751,10 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'anthropic/claude-3-opus',
maxOutput: 4096,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 75, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '5m': 18.75 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
cachedInput: 1.5,
input: 15,
output: 75,
writeCacheInput: 18.75,
},
releasedAt: '2024-02-29',
type: 'chat',
@@ -863,10 +770,8 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'google/gemini-flash-1.5',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput', rate: 0.075, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.075,
output: 0.3,
},
type: 'chat',
},
@@ -882,11 +787,9 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'google/gemini-2.0-flash-001',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.025, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.025,
input: 0.1,
output: 0.4,
},
releasedAt: '2025-02-05',
type: 'chat',
@@ -902,10 +805,8 @@ const openrouterChatModels: AIChatModelCard[] = [
id: 'google/gemini-pro-1.5',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput', rate: 3.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3.5,
output: 10.5,
},
type: 'chat',
},
@@ -919,10 +820,8 @@ const openrouterChatModels: AIChatModelCard[] = [
displayName: 'Llama 3.2 11B Vision',
id: 'meta-llama/llama-3.2-11b-vision-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.162, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.162, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.162,
output: 0.162,
},
type: 'chat',
},
@@ -936,10 +835,8 @@ const openrouterChatModels: AIChatModelCard[] = [
displayName: 'Llama 3.2 90B Vision',
id: 'meta-llama/llama-3.2-90b-vision-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.4,
output: 0.4,
},
type: 'chat',
},
@@ -953,10 +850,8 @@ const openrouterChatModels: AIChatModelCard[] = [
displayName: 'Llama 3.3 70B Instruct',
id: 'meta-llama/llama-3.3-70b-instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.12, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.12,
output: 0.3,
},
type: 'chat',
},
+6 -36
View File
@@ -12,12 +12,7 @@ const perplexityChatModels: AIChatModelCard[] = [
enabled: true,
id: 'sonar-deep-research',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
},
pricing: { input: 2, output: 8 },
releasedAt: '2025-02-14',
settings: {
extendParams: ['reasoningEffort'],
@@ -37,12 +32,7 @@ const perplexityChatModels: AIChatModelCard[] = [
enabled: true,
id: 'sonar-reasoning-pro',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
},
pricing: { input: 2, output: 8 },
releasedAt: '2025-01-21',
settings: {
searchImpl: 'internal',
@@ -61,12 +51,7 @@ const perplexityChatModels: AIChatModelCard[] = [
enabled: true,
id: 'sonar-reasoning',
maxOutput: 8192,
pricing: {
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
],
},
pricing: { input: 1, output: 5 },
releasedAt: '2025-01-21',
settings: {
searchImpl: 'internal',
@@ -83,12 +68,7 @@ const perplexityChatModels: AIChatModelCard[] = [
displayName: 'Sonar Pro',
enabled: true,
id: 'sonar-pro',
pricing: {
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
],
},
pricing: { input: 3, output: 15 },
releasedAt: '2025-01-21',
settings: {
searchImpl: 'internal',
@@ -105,12 +85,7 @@ const perplexityChatModels: AIChatModelCard[] = [
displayName: 'Sonar',
enabled: true,
id: 'sonar',
pricing: {
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
],
},
pricing: { input: 1, output: 1 },
releasedAt: '2025-01-21',
settings: {
searchImpl: 'internal',
@@ -127,12 +102,7 @@ const perplexityChatModels: AIChatModelCard[] = [
'R1-1776 是 DeepSeek R1 模型的一个版本,经过后训练,可提供未经审查、无偏见的事实信息。',
displayName: 'R1 1776',
id: 'r1-1776',
pricing: {
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
},
pricing: { input: 2, output: 8 },
releasedAt: '2025-02-18',
type: 'chat',
},
+38 -76
View File
@@ -13,10 +13,8 @@ const ppioChatModels: AIChatModelCard[] = [
id: 'deepseek/deepseek-r1/community',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 16,
},
type: 'chat',
},
@@ -29,10 +27,8 @@ const ppioChatModels: AIChatModelCard[] = [
id: 'deepseek/deepseek-v3/community',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 2,
},
type: 'chat',
},
@@ -48,10 +44,8 @@ const ppioChatModels: AIChatModelCard[] = [
id: 'deepseek/deepseek-r1',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 16,
},
type: 'chat',
},
@@ -64,10 +58,8 @@ const ppioChatModels: AIChatModelCard[] = [
id: 'deepseek/deepseek-v3',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 2,
},
type: 'chat',
},
@@ -83,10 +75,8 @@ const ppioChatModels: AIChatModelCard[] = [
id: 'deepseek/deepseek-r1-distill-llama-70b',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 5.8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 5.8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 5.8,
output: 5.8,
},
type: 'chat',
},
@@ -102,10 +92,8 @@ const ppioChatModels: AIChatModelCard[] = [
id: 'deepseek/deepseek-r1-distill-qwen-32b',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2.18, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2.18, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2.18,
output: 2.18,
},
type: 'chat',
},
@@ -121,10 +109,8 @@ const ppioChatModels: AIChatModelCard[] = [
id: 'deepseek/deepseek-r1-distill-qwen-14b',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 1,
},
type: 'chat',
},
@@ -140,10 +126,8 @@ const ppioChatModels: AIChatModelCard[] = [
id: 'deepseek/deepseek-r1-distill-llama-8b',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.3,
output: 0.3,
},
type: 'chat',
},
@@ -156,10 +140,8 @@ const ppioChatModels: AIChatModelCard[] = [
id: 'qwen/qwen-2.5-72b-instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2.75, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2.88, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2.75,
output: 2.88,
},
type: 'chat',
},
@@ -175,10 +157,8 @@ const ppioChatModels: AIChatModelCard[] = [
id: 'qwen/qwen-2-vl-72b-instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4.5,
output: 4.5,
},
type: 'chat',
},
@@ -190,10 +170,8 @@ const ppioChatModels: AIChatModelCard[] = [
id: 'meta-llama/llama-3.2-3b-instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.216, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.36, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.216,
output: 0.36,
},
type: 'chat',
},
@@ -206,10 +184,8 @@ const ppioChatModels: AIChatModelCard[] = [
id: 'qwen/qwen2.5-32b-instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1.26, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.26, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.26,
output: 1.26,
},
type: 'chat',
},
@@ -222,10 +198,8 @@ const ppioChatModels: AIChatModelCard[] = [
id: 'baichuan/baichuan2-13b-chat',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1.75, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.75, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.75,
output: 1.75,
},
type: 'chat',
},
@@ -238,10 +212,8 @@ const ppioChatModels: AIChatModelCard[] = [
id: 'meta-llama/llama-3.1-70b-instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2.45, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2.82, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2.45,
output: 2.82,
},
type: 'chat',
},
@@ -254,10 +226,8 @@ const ppioChatModels: AIChatModelCard[] = [
id: 'meta-llama/llama-3.1-8b-instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.4,
output: 0.4,
},
type: 'chat',
},
@@ -270,10 +240,8 @@ const ppioChatModels: AIChatModelCard[] = [
id: '01-ai/yi-1.5-34b-chat',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.1,
output: 1.1,
},
type: 'chat',
},
@@ -286,10 +254,8 @@ const ppioChatModels: AIChatModelCard[] = [
id: '01-ai/yi-1.5-9b-chat',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.4,
output: 0.4,
},
type: 'chat',
},
@@ -301,10 +267,8 @@ const ppioChatModels: AIChatModelCard[] = [
id: 'thudm/glm-4-9b-chat',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.5,
output: 0.5,
},
type: 'chat',
},
@@ -317,10 +281,8 @@ const ppioChatModels: AIChatModelCard[] = [
id: 'qwen/qwen-2-7b-instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.32, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.32, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.32,
output: 0.32,
},
type: 'chat',
},
+133 -257
View File
@@ -17,10 +17,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 16,
},
releasedAt: '2025-07-17',
settings: {
@@ -36,19 +34,16 @@ const qwenChatModels: AIChatModelCard[] = [
deploymentName: 'qwen3-coder-plus',
},
contextWindowTokens: 1_048_576,
description:
'通义千问代码模型。最新的 Qwen3-Coder 系列模型是基于 Qwen3 的代码生成模型,具有强大的Coding Agent能力,擅长工具调用和环境交互,能够实现自主编程,代码能力卓越的同时兼具通用能力。',
description: '通义千问代码模型。最新的 Qwen3-Coder 系列模型是基于 Qwen3 的代码生成模型,具有强大的Coding Agent能力,擅长工具调用和环境交互,能够实现自主编程,代码能力卓越的同时兼具通用能力。',
displayName: 'Qwen3 Coder Plus',
id: 'qwen3-coder-plus',
maxOutput: 65_536,
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput_cacheRead', rate: 2.4, strategy: 'fixed', unit: 'millionTokens' }, // tokens 32K ~ 128K
{ name: 'textInput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 24, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 2.4, // tokens 32K ~ 128K
currency: 'CNY',
input: 6,
output: 24,
},
releasedAt: '2025-07-22',
type: 'chat',
@@ -61,19 +56,16 @@ const qwenChatModels: AIChatModelCard[] = [
deploymentName: 'qwen3-coder-flash',
},
contextWindowTokens: 1_048_576,
description:
'通义千问代码模型。最新的 Qwen3-Coder 系列模型是基于 Qwen3 的代码生成模型,具有强大的Coding Agent能力,擅长工具调用和环境交互,能够实现自主编程,代码能力卓越的同时兼具通用能力。',
description: '通义千问代码模型。最新的 Qwen3-Coder 系列模型是基于 Qwen3 的代码生成模型,具有强大的Coding Agent能力,擅长工具调用和环境交互,能够实现自主编程,代码能力卓越的同时兼具通用能力。',
displayName: 'Qwen3 Coder Flash',
id: 'qwen3-coder-flash',
maxOutput: 65_536,
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput_cacheRead', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' }, // tokens 32K ~ 128K
{ name: 'textInput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
],
cachedInput: 0.6, // tokens 32K ~ 128K
currency: 'CNY',
input: 1.5,
output: 6,
},
releasedAt: '2025-07-28',
type: 'chat',
@@ -83,18 +75,15 @@ const qwenChatModels: AIChatModelCard[] = [
functionCall: true,
},
contextWindowTokens: 262_144,
description:
'通义千问代码模型开源版。最新的 qwen3-coder-480b-a35b-instruct 是基于 Qwen3 的代码生成模型,具有强大的Coding Agent能力,擅长工具调用和环境交互,能够实现自主编程、代码能力卓越的同时兼具通用能力。',
description: '通义千问代码模型开源版。最新的 qwen3-coder-480b-a35b-instruct 是基于 Qwen3 的代码生成模型,具有强大的Coding Agent能力,擅长工具调用和环境交互,能够实现自主编程、代码能力卓越的同时兼具通用能力。',
displayName: 'Qwen3 Coder 480B A35B',
id: 'qwen3-coder-480b-a35b-instruct',
maxOutput: 65_536,
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 9, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 36, strategy: 'fixed', unit: 'millionTokens' },
],
input: 9, // tokens 32K ~ 128K
output: 36,
},
type: 'chat',
},
@@ -113,10 +102,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 20, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 20,
},
releasedAt: '2025-07-25',
settings: {
@@ -138,10 +125,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 8,
},
releasedAt: '2025-07-22',
type: 'chat',
@@ -161,10 +146,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.75, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 7.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.75,
output: 7.5,
},
releasedAt: '2025-07-30',
settings: {
@@ -186,10 +169,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.75, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.75,
output: 3,
},
releasedAt: '2025-07-29',
type: 'chat',
@@ -208,10 +189,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 20, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 20, // Thinking mode pricing
},
releasedAt: '2025-04-28',
settings: {
@@ -233,10 +212,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 20, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 20, // Thinking mode pricing
},
releasedAt: '2025-04-28',
settings: {
@@ -258,10 +235,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.75, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 7.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.75,
output: 7.5, // Thinking mode pricing
},
releasedAt: '2025-04-28',
settings: {
@@ -283,10 +258,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 10, // Thinking mode pricing
},
releasedAt: '2025-04-28',
settings: {
@@ -308,10 +281,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.5,
output: 5, // Thinking mode pricing
},
releasedAt: '2025-04-28',
settings: {
@@ -333,10 +304,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.3,
output: 3, // Thinking mode pricing
},
releasedAt: '2025-04-28',
settings: {
@@ -358,10 +327,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.3,
output: 3, // Thinking mode pricing
},
releasedAt: '2025-04-28',
settings: {
@@ -383,10 +350,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.3,
output: 3, // Thinking mode pricing
},
releasedAt: '2025-04-28',
settings: {
@@ -412,10 +377,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1.6, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.6,
output: 4,
},
releasedAt: '2025-03-06',
settings: {
@@ -440,12 +403,10 @@ const qwenChatModels: AIChatModelCard[] = [
maxOutput: 16_384,
organization: 'Qwen',
pricing: {
cachedInput: 0.12,
currency: 'CNY',
units: [
{ name: 'textInput_cacheRead', rate: 0.12, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.3,
output: 3, // Thinking mode pricing
},
releasedAt: '2025-07-15',
settings: {
@@ -471,12 +432,10 @@ const qwenChatModels: AIChatModelCard[] = [
maxOutput: 16_384,
organization: 'Qwen',
pricing: {
cachedInput: 0.32,
currency: 'CNY',
units: [
{ name: 'textInput_cacheRead', rate: 0.32, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.8,
output: 8, // Thinking mode pricing
},
releasedAt: '2025-07-14',
settings: {
@@ -502,12 +461,10 @@ const qwenChatModels: AIChatModelCard[] = [
maxOutput: 8192,
organization: 'Qwen',
pricing: {
cachedInput: 0.96,
currency: 'CNY',
units: [
{ name: 'textInput_cacheRead', rate: 0.96, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 2.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 9.6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2.4,
output: 9.6,
},
settings: {
searchImpl: 'params',
@@ -530,10 +487,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.5,
output: 2,
},
type: 'chat',
},
@@ -553,10 +508,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.5, // use image input price
output: 4.5,
},
type: 'chat',
},
@@ -573,10 +526,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2, // use image input price
output: 6,
},
type: 'chat',
},
@@ -595,12 +546,10 @@ const qwenChatModels: AIChatModelCard[] = [
maxOutput: 8192,
organization: 'Qwen',
pricing: {
cachedInput: 0.6,
currency: 'CNY',
units: [
{ name: 'textInput_cacheRead', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.5,
output: 4.5,
},
type: 'chat',
},
@@ -619,12 +568,10 @@ const qwenChatModels: AIChatModelCard[] = [
maxOutput: 8192,
organization: 'Qwen',
pricing: {
cachedInput: 1.2,
currency: 'CNY',
units: [
{ name: 'textInput_cacheRead', rate: 1.2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 9, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3,
output: 9,
},
type: 'chat',
},
@@ -644,10 +591,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 5,
output: 5,
},
type: 'chat',
},
@@ -663,10 +608,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 6,
},
type: 'chat',
},
@@ -682,10 +625,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 12,
},
type: 'chat',
},
@@ -701,10 +642,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 6,
},
type: 'chat',
},
@@ -720,10 +659,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 3.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 7, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3.5,
output: 7,
},
type: 'chat',
},
@@ -741,10 +678,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 6,
},
releasedAt: '2025-03-06',
settings: {
@@ -764,10 +699,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 6,
},
releasedAt: '2024-11-28',
type: 'chat',
@@ -789,10 +722,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 32, strategy: 'fixed', unit: 'millionTokens' },
],
input: 8,
output: 32,
},
releasedAt: '2025-05-15',
type: 'chat',
@@ -814,10 +745,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 5,
},
releasedAt: '2025-05-15',
type: 'chat',
@@ -836,10 +765,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 36, strategy: 'fixed', unit: 'millionTokens' },
],
input: 12,
output: 36,
},
releasedAt: '2024-12-25',
type: 'chat',
@@ -856,10 +783,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.5,
output: 1,
},
type: 'chat',
},
@@ -875,10 +800,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 3,
},
type: 'chat',
},
@@ -894,10 +817,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 6,
},
type: 'chat',
},
@@ -913,10 +834,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 12,
},
type: 'chat',
},
@@ -932,10 +851,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 3,
},
releasedAt: '2025-01-27',
type: 'chat',
@@ -949,10 +866,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 2,
},
type: 'chat',
},
@@ -965,10 +880,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 12,
},
releasedAt: '2025-07-23',
type: 'chat',
@@ -982,10 +895,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 2,
},
type: 'chat',
},
@@ -998,10 +909,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 6,
},
type: 'chat',
},
@@ -1014,10 +923,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 6,
},
type: 'chat',
},
@@ -1034,10 +941,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 48, strategy: 'fixed', unit: 'millionTokens' },
],
input: 16,
output: 48,
},
releasedAt: '2025-01-27',
type: 'chat',
@@ -1055,10 +960,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 24, strategy: 'fixed', unit: 'millionTokens' },
],
input: 8,
output: 24,
},
releasedAt: '2025-03-24',
type: 'chat',
@@ -1076,10 +979,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 5,
},
releasedAt: '2025-01-27',
type: 'chat',
@@ -1097,10 +998,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'DeepSeek',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 16,
},
releasedAt: '2025-05-28',
type: 'chat',
@@ -1115,10 +1014,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'DeepSeek',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 8,
},
releasedAt: '2025-01-27',
type: 'chat',
@@ -1136,10 +1033,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'DeepSeek',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -1156,10 +1051,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'DeepSeek',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.5,
output: 1,
},
type: 'chat',
},
@@ -1176,10 +1069,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'DeepSeek',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 3,
},
type: 'chat',
},
@@ -1196,10 +1087,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'DeepSeek',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 6,
},
type: 'chat',
},
@@ -1216,10 +1105,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'DeepSeek',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -1236,10 +1123,8 @@ const qwenChatModels: AIChatModelCard[] = [
organization: 'DeepSeek',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -1247,8 +1132,7 @@ const qwenChatModels: AIChatModelCard[] = [
const qwenImageModels: AIImageModelCard[] = [
{
description:
'万相2.2极速版,当前最新模型。在创意性、稳定性、写实质感上全面升级,生成速度快,性价比高。',
description: '万相2.2极速版,当前最新模型。在创意性、稳定性、写实质感上全面升级,生成速度快,性价比高。',
displayName: 'Wanxiang2.2 T2I Flash',
enabled: true,
id: 'wan2.2-t2i-flash',
@@ -1265,8 +1149,7 @@ const qwenImageModels: AIImageModelCard[] = [
type: 'image',
},
{
description:
'万相2.2专业版,当前最新模型。在创意性、稳定性、写实质感上全面升级,生成细节丰富。',
description: '万相2.2专业版,当前最新模型。在创意性、稳定性、写实质感上全面升级,生成细节丰富。',
displayName: 'Wanxiang2.2 T2I Plus',
enabled: true,
id: 'wan2.2-t2i-plus',
@@ -1347,8 +1230,7 @@ const qwenImageModels: AIImageModelCard[] = [
type: 'image',
},
{
description:
'FLUX.1 [schnell] 作为目前开源最先进的少步模型,不仅超越了同类竞争者,甚至还优于诸如 Midjourney v6.0 和 DALL·E 3 (HD) 等强大的非精馏模型。该模型经过专门微调,以保留预训练阶段的全部输出多样性,相较于当前市场上的最先进模型,FLUX.1 [schnell] 显著提升了在视觉质量、指令遵从、尺寸/比例变化、字体处理及输出多样性等方面的可能,为用户带来更为丰富多样的创意图像生成体验。',
description: 'FLUX.1 [schnell] 作为目前开源最先进的少步模型,不仅超越了同类竞争者,甚至还优于诸如 Midjourney v6.0 和 DALL·E 3 (HD) 等强大的非精馏模型。该模型经过专门微调,以保留预训练阶段的全部输出多样性,相较于当前市场上的最先进模型,FLUX.1 [schnell] 显著提升了在视觉质量、指令遵从、尺寸/比例变化、字体处理及输出多样性等方面的可能,为用户带来更为丰富多样的创意图像生成体验。',
displayName: 'FLUX.1 [schnell]',
enabled: true,
id: 'flux-schnell',
@@ -1368,8 +1250,7 @@ const qwenImageModels: AIImageModelCard[] = [
type: 'image',
},
{
description:
'FLUX.1 [dev] 是一款面向非商业应用的开源权重、精炼模型。FLUX.1 [dev] 在保持了与FLUX专业版相近的图像质量和指令遵循能力的同时,具备更高的运行效率。相较于同尺寸的标准模型,它在资源利用上更为高效。',
description: 'FLUX.1 [dev] 是一款面向非商业应用的开源权重、精炼模型。FLUX.1 [dev] 在保持了与FLUX专业版相近的图像质量和指令遵循能力的同时,具备更高的运行效率。相较于同尺寸的标准模型,它在资源利用上更为高效。',
displayName: 'FLUX.1 [dev]',
enabled: true,
id: 'flux-dev',
@@ -1389,8 +1270,7 @@ const qwenImageModels: AIImageModelCard[] = [
type: 'image',
},
{
description:
'FLUX.1-merged 模型结合了 "DEV" 在开发阶段探索的深度特性和 "Schnell" 所代表的高速执行优势。通过这一举措,FLUX.1-merged 不仅提升了模型的性能界限,还拓宽了其应用范围。',
description: 'FLUX.1-merged 模型结合了 "DEV" 在开发阶段探索的深度特性和 "Schnell" 所代表的高速执行优势。通过这一举措,FLUX.1-merged 不仅提升了模型的性能界限,还拓宽了其应用范围。',
displayName: 'FLUX.1-merged',
enabled: true,
id: 'flux-merged',
@@ -1410,8 +1290,7 @@ const qwenImageModels: AIImageModelCard[] = [
type: 'image',
},
{
description:
'stable-diffusion-3.5-large 是一个具有8亿参数的多模态扩散变压器(MMDiT)文本到图像生成模型,具备卓越的图像质量和提示词匹配度,支持生成 100 万像素的高分辨率图像,且能够在普通消费级硬件上高效运行。',
description: 'stable-diffusion-3.5-large 是一个具有8亿参数的多模态扩散变压器(MMDiT)文本到图像生成模型,具备卓越的图像质量和提示词匹配度,支持生成 100 万像素的高分辨率图像,且能够在普通消费级硬件上高效运行。',
displayName: 'StableDiffusion 3.5 Large',
id: 'stable-diffusion-3.5-large',
organization: 'Qwen',
@@ -1427,8 +1306,7 @@ const qwenImageModels: AIImageModelCard[] = [
type: 'image',
},
{
description:
'stable-diffusion-3.5-large-turbo 是在 stable-diffusion-3.5-large 的基础上采用对抗性扩散蒸馏(ADD)技术的模型,具备更快的速度。',
description: 'stable-diffusion-3.5-large-turbo 是在 stable-diffusion-3.5-large 的基础上采用对抗性扩散蒸馏(ADD)技术的模型,具备更快的速度。',
displayName: 'StableDiffusion 3.5 Large Turbo',
id: 'stable-diffusion-3.5-large-turbo',
organization: 'Qwen',
@@ -1444,8 +1322,7 @@ const qwenImageModels: AIImageModelCard[] = [
type: 'image',
},
{
description:
'stable-diffusion-xl 相比于 v1.5 做了重大的改进,并且与当前开源的文生图 SOTA 模型 midjourney 效果相当。具体改进之处包括: 更大的 unet backbone,是之前的 3 倍; 增加了 refinement 模块用于改善生成图片的质量;更高效的训练技巧等。',
description: 'stable-diffusion-xl 相比于 v1.5 做了重大的改进,并且与当前开源的文生图 SOTA 模型 midjourney 效果相当。具体改进之处包括: 更大的 unet backbone,是之前的 3 倍; 增加了 refinement 模块用于改善生成图片的质量;更高效的训练技巧等。',
displayName: 'StableDiffusion xl',
id: 'stable-diffusion-xl',
organization: 'Qwen',
@@ -1461,8 +1338,7 @@ const qwenImageModels: AIImageModelCard[] = [
type: 'image',
},
{
description:
'stable-diffusion-v1.5 是以 stable-diffusion-v1.2 检查点的权重进行初始化,并在 "laion-aesthetics v2 5+" 上以 512x512 的分辨率进行了595k步的微调,减少了 10% 的文本条件化,以提高无分类器的引导采样。',
description: 'stable-diffusion-v1.5 是以 stable-diffusion-v1.2 检查点的权重进行初始化,并在 "laion-aesthetics v2 5+" 上以 512x512 的分辨率进行了595k步的微调,减少了 10% 的文本条件化,以提高无分类器的引导采样。',
displayName: 'StableDiffusion v1.5',
id: 'stable-diffusion-v1.5',
organization: 'Qwen',
+28 -56
View File
@@ -12,10 +12,8 @@ const sambanovaChatModels: AIChatModelCard[] = [
enabled: true,
id: 'Meta-Llama-3.3-70B-Instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.6,
output: 1.2,
},
type: 'chat',
},
@@ -25,10 +23,8 @@ const sambanovaChatModels: AIChatModelCard[] = [
displayName: 'Meta Llama 3.2 1B Instruct',
id: 'Meta-Llama-3.2-1B-Instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.04, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.08, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.04,
output: 0.08,
},
type: 'chat',
},
@@ -38,10 +34,8 @@ const sambanovaChatModels: AIChatModelCard[] = [
displayName: 'Meta Llama 3.2 3B Instruct',
id: 'Meta-Llama-3.2-3B-Instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.08, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.16, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.08,
output: 0.16,
},
type: 'chat',
},
@@ -55,10 +49,8 @@ const sambanovaChatModels: AIChatModelCard[] = [
enabled: true,
id: 'Llama-3.2-11B-Vision-Instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.15,
output: 0.3,
},
type: 'chat',
},
@@ -72,10 +64,8 @@ const sambanovaChatModels: AIChatModelCard[] = [
enabled: true,
id: 'Llama-3.2-90B-Vision-Instruct ',
pricing: {
units: [
{ name: 'textInput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.8,
output: 1.6,
},
type: 'chat',
},
@@ -89,10 +79,8 @@ const sambanovaChatModels: AIChatModelCard[] = [
displayName: 'Meta Llama 3.1 8B Instruct',
id: 'Meta-Llama-3.1-8B-Instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.1,
output: 0.2,
},
type: 'chat',
},
@@ -106,10 +94,8 @@ const sambanovaChatModels: AIChatModelCard[] = [
displayName: 'Meta Llama 3.1 70B Instruct',
id: 'Meta-Llama-3.1-70B-Instruct',
pricing: {
units: [
{ name: 'textInput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.6,
output: 1.2,
},
type: 'chat',
},
@@ -123,10 +109,8 @@ const sambanovaChatModels: AIChatModelCard[] = [
displayName: 'Meta Llama 3.1 405B Instruct',
id: 'Meta-Llama-3.1-405B-Instruct',
pricing: {
units: [
{ name: 'textInput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
input: 5,
output: 10,
},
type: 'chat',
},
@@ -135,10 +119,8 @@ const sambanovaChatModels: AIChatModelCard[] = [
displayName: 'Llama 3.1 Tulu 3 405B',
id: 'Llama-3.1-Tulu-3-405B',
pricing: {
units: [
{ name: 'textInput', rate: 0.7, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.7,
output: 1.4,
},
type: 'chat',
},
@@ -151,10 +133,8 @@ const sambanovaChatModels: AIChatModelCard[] = [
displayName: 'DeepSeek R1',
id: 'DeepSeek-R1',
pricing: {
units: [
{ name: 'textInput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 7, strategy: 'fixed', unit: 'millionTokens' },
],
input: 5,
output: 7,
},
type: 'chat',
},
@@ -169,10 +149,8 @@ const sambanovaChatModels: AIChatModelCard[] = [
enabled: true,
id: 'DeepSeek-R1-Distill-Llama-70B',
pricing: {
units: [
{ name: 'textInput', rate: 0.7, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.7,
output: 1.4,
},
type: 'chat',
},
@@ -186,10 +164,8 @@ const sambanovaChatModels: AIChatModelCard[] = [
enabled: true,
id: 'QwQ-32B-Preview',
pricing: {
units: [
{ name: 'textInput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.5,
output: 3,
},
type: 'chat',
},
@@ -200,10 +176,8 @@ const sambanovaChatModels: AIChatModelCard[] = [
enabled: true,
id: 'Qwen2.5-72B-Instruct',
pricing: {
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 4,
},
type: 'chat',
},
@@ -214,10 +188,8 @@ const sambanovaChatModels: AIChatModelCard[] = [
enabled: true,
id: 'Qwen2.5-Coder-32B-Instruct',
pricing: {
units: [
{ name: 'textInput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.5,
output: 3,
},
type: 'chat',
},
+50 -100
View File
@@ -10,17 +10,14 @@ const sensenovaChatModels: AIChatModelCard[] = [
vision: true,
},
contextWindowTokens: 131_072,
description:
'通过对多模态、语言及推理数据的全面更新与训练策略的优化,新模型在多模态推理和泛化指令跟随能力上实现了显著提升,支持高达128k的上下文窗口,并在OCR与文旅IP识别等专项任务中表现卓越。',
description: '通过对多模态、语言及推理数据的全面更新与训练策略的优化,新模型在多模态推理和泛化指令跟随能力上实现了显著提升,支持高达128k的上下文窗口,并在OCR与文旅IP识别等专项任务中表现卓越。',
displayName: 'SenseNova V6.5 Pro',
enabled: true,
id: 'SenseNova-V6-5-Pro',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 9, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3,
output: 9,
},
releasedAt: '2025-07-23',
settings: {
@@ -34,17 +31,14 @@ const sensenovaChatModels: AIChatModelCard[] = [
vision: true,
},
contextWindowTokens: 131_072,
description:
'通过对多模态、语言及推理数据的全面更新与训练策略的优化,新模型在多模态推理和泛化指令跟随能力上实现了显著提升,支持高达128k的上下文窗口,并在OCR与文旅IP识别等专项任务中表现卓越。',
description: '通过对多模态、语言及推理数据的全面更新与训练策略的优化,新模型在多模态推理和泛化指令跟随能力上实现了显著提升,支持高达128k的上下文窗口,并在OCR与文旅IP识别等专项任务中表现卓越。',
displayName: 'SenseNova V6.5 Turbo',
enabled: true,
id: 'SenseNova-V6-5-Turbo',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.5,
output: 4.5,
},
releasedAt: '2025-07-23',
settings: {
@@ -57,17 +51,14 @@ const sensenovaChatModels: AIChatModelCard[] = [
reasoning: true,
},
contextWindowTokens: 32_768,
description:
'Qwen3-235B-A22BMoE(混合专家模型)模型,引入了“混合推理模式”,支持用户在“思考模式”和“非思考模式”之间无缝切换,支持119种语言和方言理解与推理,并具备强大的工具调用能力,在综合能力、代码与数学、多语言能力、知识与推理等多项基准测试中,都能与DeepSeek R1、OpenAI o1、o3-mini、Grok 3和谷歌Gemini 2.5 Pro等目前市场上的主流大模型竞争。',
description: 'Qwen3-235B-A22BMoE(混合专家模型)模型,引入了“混合推理模式”,支持用户在“思考模式”和“非思考模式”之间无缝切换,支持119种语言和方言理解与推理,并具备强大的工具调用能力,在综合能力、代码与数学、多语言能力、知识与推理等多项基准测试中,都能与DeepSeek R1、OpenAI o1、o3-mini、Grok 3和谷歌Gemini 2.5 Pro等目前市场上的主流大模型竞争。',
displayName: 'Qwen3 235B A22B',
id: 'Qwen3-235B',
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
releasedAt: '2025-05-27',
settings: {
@@ -80,17 +71,14 @@ const sensenovaChatModels: AIChatModelCard[] = [
reasoning: true,
},
contextWindowTokens: 32_768,
description:
'Qwen3-32B,稠密模型(Dense Model),引入了“混合推理模式”,支持用户在“思考模式”和“非思考模式”之间无缝切换,由于模型架构改进、训练数据增加以及更有效的训练方法,整体性能与Qwen2.5-72B表现相当。',
description: 'Qwen3-32B,稠密模型(Dense Model),引入了“混合推理模式”,支持用户在“思考模式”和“非思考模式”之间无缝切换,由于模型架构改进、训练数据增加以及更有效的训练方法,整体性能与Qwen2.5-72B表现相当。',
displayName: 'Qwen3 32B',
id: 'Qwen3-32B',
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
releasedAt: '2025-05-27',
settings: {
@@ -109,10 +97,8 @@ const sensenovaChatModels: AIChatModelCard[] = [
id: 'SenseNova-V6-Reasoner',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 16,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -128,10 +114,8 @@ const sensenovaChatModels: AIChatModelCard[] = [
id: 'SenseNova-V6-Turbo',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.5,
output: 4.5,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -147,10 +131,8 @@ const sensenovaChatModels: AIChatModelCard[] = [
id: 'SenseNova-V6-Pro',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 9, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3,
output: 9,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -162,10 +144,8 @@ const sensenovaChatModels: AIChatModelCard[] = [
id: 'SenseChat-5-beta',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 20, strategy: 'fixed', unit: 'millionTokens' },
],
input: 8,
output: 20,
},
type: 'chat',
},
@@ -180,10 +160,8 @@ const sensenovaChatModels: AIChatModelCard[] = [
id: 'SenseChat-5-1202',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 20, strategy: 'fixed', unit: 'millionTokens' },
],
input: 8,
output: 20,
},
releasedAt: '2024-12-30',
type: 'chat',
@@ -198,10 +176,8 @@ const sensenovaChatModels: AIChatModelCard[] = [
id: 'SenseChat-Turbo-1202',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.3,
output: 0.6,
},
releasedAt: '2024-12-30',
type: 'chat',
@@ -218,10 +194,8 @@ const sensenovaChatModels: AIChatModelCard[] = [
maxOutput: 131_072,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 20, strategy: 'fixed', unit: 'millionTokens' },
],
input: 8,
output: 20,
},
type: 'chat',
},
@@ -237,10 +211,8 @@ const sensenovaChatModels: AIChatModelCard[] = [
maxOutput: 16_384,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 60, strategy: 'fixed', unit: 'millionTokens' },
],
input: 10, // 限时优惠
output: 60,
},
releasedAt: '2024-09-12',
type: 'chat',
@@ -256,10 +228,8 @@ const sensenovaChatModels: AIChatModelCard[] = [
maxOutput: 32_768,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.3,
output: 0.6,
},
type: 'chat',
},
@@ -271,10 +241,8 @@ const sensenovaChatModels: AIChatModelCard[] = [
maxOutput: 131_072,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 60, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 60, strategy: 'fixed', unit: 'millionTokens' },
],
input: 60,
output: 60,
},
type: 'chat',
},
@@ -286,10 +254,8 @@ const sensenovaChatModels: AIChatModelCard[] = [
maxOutput: 32_768,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 36, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 36, strategy: 'fixed', unit: 'millionTokens' },
],
input: 36,
output: 36,
},
type: 'chat',
},
@@ -301,10 +267,8 @@ const sensenovaChatModels: AIChatModelCard[] = [
maxOutput: 4096,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
],
input: 12,
output: 12,
},
type: 'chat',
},
@@ -317,10 +281,8 @@ const sensenovaChatModels: AIChatModelCard[] = [
maxOutput: 32_768,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 27, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 27, strategy: 'fixed', unit: 'millionTokens' },
],
input: 27,
output: 27,
},
type: 'chat',
},
@@ -332,10 +294,8 @@ const sensenovaChatModels: AIChatModelCard[] = [
maxOutput: 1024,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
],
input: 12,
output: 12,
},
type: 'chat',
},
@@ -347,10 +307,8 @@ const sensenovaChatModels: AIChatModelCard[] = [
maxOutput: 4096,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
],
input: 15,
output: 15,
},
type: 'chat',
},
@@ -362,10 +320,8 @@ const sensenovaChatModels: AIChatModelCard[] = [
id: 'DeepSeek-V3',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 8,
},
type: 'chat',
},
@@ -380,10 +336,8 @@ const sensenovaChatModels: AIChatModelCard[] = [
id: 'DeepSeek-R1',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 16,
},
type: 'chat',
},
@@ -398,10 +352,8 @@ const sensenovaChatModels: AIChatModelCard[] = [
id: 'DeepSeek-R1-Distill-Qwen-14B',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -416,10 +368,8 @@ const sensenovaChatModels: AIChatModelCard[] = [
id: 'DeepSeek-R1-Distill-Qwen-32B',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
+112 -224
View File
@@ -14,10 +14,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'zai-org/GLM-4.5',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 3.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 14, strategy: 'fixed', unit: 'millionTokens' },
],
input: 3.5,
output: 14,
},
releasedAt: '2025-07-28',
type: 'chat',
@@ -34,10 +32,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'zai-org/GLM-4.5-Air',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 6,
},
releasedAt: '2025-07-28',
type: 'chat',
@@ -53,10 +49,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'ascend-tribe/pangu-pro-moe',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 4,
},
releasedAt: '2025-06-17',
type: 'chat',
@@ -69,10 +63,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'baidu/ERNIE-4.5-300B-A47B',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 8,
},
releasedAt: '2025-06-30',
type: 'chat',
@@ -85,10 +77,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'moonshotai/Kimi-K2-Instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 16,
},
releasedAt: '2025-07-11',
type: 'chat',
@@ -101,10 +91,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Pro/moonshotai/Kimi-K2-Instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 16,
},
releasedAt: '2025-07-11',
type: 'chat',
@@ -120,10 +108,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'moonshotai/Kimi-Dev-72B',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 8,
},
releasedAt: '2025-06-17',
type: 'chat',
@@ -139,10 +125,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'tencent/Hunyuan-A13B-Instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 4,
},
releasedAt: '2025-06-27',
type: 'chat',
@@ -158,10 +142,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'MiniMaxAI/MiniMax-M1-80k',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 16,
},
releasedAt: '2025-06-16',
type: 'chat',
@@ -177,10 +159,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Tongyi-Zhiwen/QwenLong-L1-32B',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 4,
},
releasedAt: '2025-05-26',
type: 'chat',
@@ -198,10 +178,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2.5,
output: 10,
},
releasedAt: '2025-07-25',
type: 'chat',
@@ -218,10 +196,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2.5,
output: 10,
},
releasedAt: '2025-07-21',
type: 'chat',
@@ -238,10 +214,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.7, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2.8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.7,
output: 2.8,
},
releasedAt: '2025-07-29',
type: 'chat',
@@ -259,10 +233,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2.5,
output: 10,
},
releasedAt: '2025-04-28',
settings: {
@@ -283,10 +255,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 4,
},
releasedAt: '2025-04-28',
settings: {
@@ -307,10 +277,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.7, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2.8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.7,
output: 2.8,
},
releasedAt: '2025-04-28',
settings: {
@@ -331,10 +299,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.5,
output: 2,
},
releasedAt: '2025-04-28',
settings: {
@@ -356,10 +322,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
organization: 'Qwen',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
releasedAt: '2025-04-28',
settings: {
@@ -380,10 +344,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'THUDM/GLM-4.1V-9B-Thinking',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
releasedAt: '2025-07-02',
type: 'chat',
@@ -400,10 +362,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Pro/THUDM/GLM-4.1V-9B-Thinking',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.25, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.25,
output: 1,
},
releasedAt: '2025-07-02',
type: 'chat',
@@ -419,10 +379,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'THUDM/GLM-Z1-Rumination-32B-0414',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 4,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -439,10 +397,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'THUDM/GLM-Z1-32B-0414',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 4,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -459,10 +415,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'THUDM/GLM-Z1-9B-0414',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -478,10 +432,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'THUDM/GLM-4-32B-0414',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1.89, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.89, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.89,
output: 1.89,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -497,10 +449,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'THUDM/GLM-4-9B-0414',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
releasedAt: '2025-04-14',
type: 'chat',
@@ -516,10 +466,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'THUDM/glm-4-9b-chat',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
releasedAt: '2024-06-04',
type: 'chat',
@@ -535,10 +483,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Pro/THUDM/glm-4-9b-chat',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.6,
output: 0.6,
},
releasedAt: '2024-06-04',
type: 'chat',
@@ -555,10 +501,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'deepseek-ai/DeepSeek-R1-0528-Qwen3-8B',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -574,10 +518,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'deepseek-ai/DeepSeek-R1',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 16,
},
type: 'chat',
},
@@ -592,10 +534,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'deepseek-ai/DeepSeek-V3',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 8,
},
type: 'chat',
},
@@ -611,10 +551,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Pro/deepseek-ai/DeepSeek-R1',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 16,
},
type: 'chat',
},
@@ -629,10 +567,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Pro/deepseek-ai/DeepSeek-V3',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 8,
},
type: 'chat',
},
@@ -648,10 +584,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'deepseek-ai/DeepSeek-R1-Distill-Qwen-32B',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1.26, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.26, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.26,
output: 1.26,
},
type: 'chat',
},
@@ -667,10 +601,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'deepseek-ai/DeepSeek-R1-Distill-Qwen-14B',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.7, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.7, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.7,
output: 0.7,
},
type: 'chat',
},
@@ -686,10 +618,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'deepseek-ai/DeepSeek-R1-Distill-Qwen-7B',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -705,10 +635,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.35, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.35, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.35,
output: 0.35,
},
type: 'chat',
},
@@ -723,10 +651,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'deepseek-ai/DeepSeek-V2.5',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1.33, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.33, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.33,
output: 1.33,
},
type: 'chat',
},
@@ -741,10 +667,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'deepseek-ai/deepseek-vl2',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.99, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.99, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.99,
output: 0.99,
},
type: 'chat',
},
@@ -760,10 +684,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Qwen/QVQ-72B-Preview',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 9.9, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 9.9, strategy: 'fixed', unit: 'millionTokens' },
],
input: 9.9,
output: 9.9,
},
type: 'chat',
},
@@ -779,10 +701,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Qwen/QwQ-32B',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 4,
},
type: 'chat',
},
@@ -797,10 +717,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Qwen/Qwen2.5-7B-Instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -815,10 +733,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Pro/Qwen/Qwen2.5-7B-Instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.35, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.35, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.35,
output: 0.35,
},
type: 'chat',
},
@@ -833,10 +749,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Qwen/Qwen2.5-14B-Instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.7, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.7, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.7,
output: 0.7,
},
type: 'chat',
},
@@ -851,10 +765,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Qwen/Qwen2.5-32B-Instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1.26, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.26, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.26,
output: 1.26,
},
type: 'chat',
},
@@ -869,10 +781,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Qwen/Qwen2.5-72B-Instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4.13, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.13, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4.13,
output: 4.13,
},
type: 'chat',
},
@@ -887,10 +797,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Qwen/Qwen2.5-72B-Instruct-128K',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4.13, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.13, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4.13,
output: 4.13,
},
type: 'chat',
},
@@ -902,10 +810,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Qwen/Qwen2.5-Coder-7B-Instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -917,10 +823,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Pro/Qwen/Qwen2.5-Coder-7B-Instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.35, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.35, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.35,
output: 0.35,
},
type: 'chat',
},
@@ -932,10 +836,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Qwen/Qwen2.5-Coder-32B-Instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1.26, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.26, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.26,
output: 1.26,
},
type: 'chat',
},
@@ -947,10 +849,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Qwen/Qwen2-7B-Instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
@@ -962,10 +862,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Pro/Qwen/Qwen2-7B-Instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.35, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.35, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.35,
output: 0.35,
},
type: 'chat',
},
@@ -980,10 +878,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Qwen/Qwen2-VL-72B-Instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4.13, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.13, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4.13,
output: 4.13,
},
type: 'chat',
},
@@ -998,10 +894,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Pro/Qwen/Qwen2.5-VL-7B-Instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0.35, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0.35, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0.35,
output: 0.35,
},
type: 'chat',
},
@@ -1016,10 +910,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Qwen/Qwen2.5-VL-32B-Instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1.89, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 1.89, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1.89,
output: 1.89,
},
type: 'chat',
},
@@ -1034,10 +926,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'Qwen/Qwen2.5-VL-72B-Instruct',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4.13, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 4.13, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4.13,
output: 4.13,
},
type: 'chat',
},
@@ -1052,10 +942,8 @@ const siliconcloudChatModels: AIChatModelCard[] = [
id: 'internlm/internlm2_5-7b-chat',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
],
input: 0,
output: 0,
},
type: 'chat',
},
+22 -44
View File
@@ -18,10 +18,8 @@ const stepfunChatModels: AIChatModelCard[] = [
id: 'step-r1-v-mini',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2.5,
output: 8,
},
// settings: {
// searchImpl: 'params',
@@ -39,10 +37,8 @@ const stepfunChatModels: AIChatModelCard[] = [
id: 'step-1-8k',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 20, strategy: 'fixed', unit: 'millionTokens' },
],
input: 5,
output: 20,
},
settings: {
searchImpl: 'params',
@@ -60,10 +56,8 @@ const stepfunChatModels: AIChatModelCard[] = [
id: 'step-1-32k',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 70, strategy: 'fixed', unit: 'millionTokens' },
],
input: 15,
output: 70,
},
settings: {
searchImpl: 'params',
@@ -81,10 +75,8 @@ const stepfunChatModels: AIChatModelCard[] = [
id: 'step-1-256k',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 95, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 300, strategy: 'fixed', unit: 'millionTokens' },
],
input: 95,
output: 300,
},
settings: {
searchImpl: 'params',
@@ -104,10 +96,8 @@ const stepfunChatModels: AIChatModelCard[] = [
id: 'step-2-mini',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 1,
output: 2,
},
releasedAt: '2025-01-14',
settings: {
@@ -126,10 +116,8 @@ const stepfunChatModels: AIChatModelCard[] = [
id: 'step-2-16k',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 38, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 120, strategy: 'fixed', unit: 'millionTokens' },
],
input: 38,
output: 120,
},
settings: {
searchImpl: 'params',
@@ -148,10 +136,8 @@ const stepfunChatModels: AIChatModelCard[] = [
id: 'step-2-16k-exp',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 38, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 120, strategy: 'fixed', unit: 'millionTokens' },
],
input: 38,
output: 120,
},
releasedAt: '2025-01-15',
settings: {
@@ -171,10 +157,8 @@ const stepfunChatModels: AIChatModelCard[] = [
id: 'step-1v-8k',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 20, strategy: 'fixed', unit: 'millionTokens' },
],
input: 5,
output: 20,
},
settings: {
searchImpl: 'params',
@@ -193,10 +177,8 @@ const stepfunChatModels: AIChatModelCard[] = [
id: 'step-1v-32k',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 70, strategy: 'fixed', unit: 'millionTokens' },
],
input: 15,
output: 70,
},
settings: {
searchImpl: 'params',
@@ -214,10 +196,8 @@ const stepfunChatModels: AIChatModelCard[] = [
id: 'step-1o-vision-32k',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 70, strategy: 'fixed', unit: 'millionTokens' },
],
input: 15,
output: 70,
},
releasedAt: '2025-01-22',
type: 'chat',
@@ -234,10 +214,8 @@ const stepfunChatModels: AIChatModelCard[] = [
id: 'step-1o-turbo-vision',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 35, strategy: 'fixed', unit: 'millionTokens' },
],
input: 8,
output: 35,
},
releasedAt: '2025-02-14',
type: 'chat',
+4 -8
View File
@@ -26,10 +26,8 @@ const taichuChatModels: AIChatModelCard[] = [
id: 'taichu_llm',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 2,
},
type: 'chat',
},
@@ -44,10 +42,8 @@ const taichuChatModels: AIChatModelCard[] = [
id: 'taichu_vl',
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
],
input: 5,
output: 5,
},
type: 'chat',
},
+6 -12
View File
@@ -15,10 +15,8 @@ const tencentCloudChatModels: AIChatModelCard[] = [
maxOutput: 16_000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
],
input: 4,
output: 16,
},
type: 'chat',
},
@@ -32,10 +30,8 @@ const tencentCloudChatModels: AIChatModelCard[] = [
maxOutput: 16_000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 8,
},
type: 'chat',
},
@@ -47,10 +43,8 @@ const tencentCloudChatModels: AIChatModelCard[] = [
maxOutput: 16_000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
],
input: 2,
output: 8,
},
type: 'chat',
},

Some files were not shown because too many files have changed in this diff Show More