@lobehub/chat 1.111.1 → 1.111.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/.cursor/rules/code-review.mdc +2 -19
  2. package/.cursor/rules/cursor-ux.mdc +0 -72
  3. package/.cursor/rules/project-introduce.mdc +5 -5
  4. package/.cursor/rules/react-component.mdc +92 -73
  5. package/.cursor/rules/rules-attach.mdc +28 -61
  6. package/.cursor/rules/system-role.mdc +8 -20
  7. package/.cursor/rules/typescript.mdc +55 -14
  8. package/CHANGELOG.md +52 -0
  9. package/changelog/v1.json +14 -0
  10. package/locales/ar/models.json +21 -3
  11. package/locales/bg-BG/models.json +21 -3
  12. package/locales/de-DE/models.json +21 -3
  13. package/locales/en-US/models.json +21 -3
  14. package/locales/es-ES/models.json +21 -3
  15. package/locales/fa-IR/models.json +21 -3
  16. package/locales/fr-FR/models.json +21 -3
  17. package/locales/it-IT/models.json +21 -3
  18. package/locales/ja-JP/models.json +21 -3
  19. package/locales/ko-KR/models.json +21 -3
  20. package/locales/nl-NL/models.json +21 -3
  21. package/locales/pl-PL/models.json +21 -3
  22. package/locales/pt-BR/models.json +21 -3
  23. package/locales/ru-RU/models.json +21 -3
  24. package/locales/tr-TR/models.json +21 -3
  25. package/locales/vi-VN/models.json +21 -3
  26. package/locales/zh-CN/models.json +21 -3
  27. package/locales/zh-TW/models.json +21 -3
  28. package/package.json +1 -1
  29. package/packages/types/src/aiModel.ts +67 -46
  30. package/packages/types/src/hotkey.ts +2 -0
  31. package/packages/types/src/llm.ts +3 -3
  32. package/src/app/[variants]/(main)/_layout/Desktop/SideBar/PinList/index.tsx +3 -3
  33. package/src/app/[variants]/(main)/_layout/Desktop/SideBar/TopActions.test.tsx +1 -0
  34. package/src/app/[variants]/(main)/_layout/Desktop/SideBar/TopActions.tsx +11 -2
  35. package/src/app/[variants]/(main)/_layout/Desktop/SideBar/index.tsx +2 -2
  36. package/src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/Main.tsx +2 -2
  37. package/src/app/[variants]/(main)/chat/_layout/Desktop/SessionPanel.tsx +2 -2
  38. package/src/app/[variants]/(main)/discover/(detail)/model/[...slugs]/features/Details/Overview/ProviderList/index.tsx +23 -12
  39. package/src/app/[variants]/(main)/discover/(detail)/provider/[...slugs]/features/Details/Overview/ModelList/index.tsx +23 -10
  40. package/src/app/[variants]/(main)/settings/provider/features/ModelList/ModelItem.tsx +21 -12
  41. package/src/components/Thinking/index.tsx +53 -13
  42. package/src/config/aiModels/ai21.ts +8 -4
  43. package/src/config/aiModels/ai360.ts +28 -14
  44. package/src/config/aiModels/aihubmix.ts +174 -86
  45. package/src/config/aiModels/anthropic.ts +97 -38
  46. package/src/config/aiModels/azure.ts +54 -32
  47. package/src/config/aiModels/azureai.ts +63 -37
  48. package/src/config/aiModels/baichuan.ts +24 -12
  49. package/src/config/aiModels/bedrock.ts +60 -30
  50. package/src/config/aiModels/cohere.ts +60 -30
  51. package/src/config/aiModels/deepseek.ts +10 -6
  52. package/src/config/aiModels/fireworksai.ts +88 -44
  53. package/src/config/aiModels/giteeai.ts +1 -1
  54. package/src/config/aiModels/github.ts +44 -26
  55. package/src/config/aiModels/google.ts +119 -68
  56. package/src/config/aiModels/groq.ts +48 -24
  57. package/src/config/aiModels/higress.ts +617 -310
  58. package/src/config/aiModels/hunyuan.ts +105 -54
  59. package/src/config/aiModels/infiniai.ts +104 -52
  60. package/src/config/aiModels/internlm.ts +16 -8
  61. package/src/config/aiModels/jina.ts +4 -2
  62. package/src/config/aiModels/minimax.ts +11 -10
  63. package/src/config/aiModels/mistral.ts +40 -20
  64. package/src/config/aiModels/moonshot.ts +42 -22
  65. package/src/config/aiModels/novita.ts +196 -98
  66. package/src/config/aiModels/openai.ts +270 -137
  67. package/src/config/aiModels/openrouter.ts +205 -100
  68. package/src/config/aiModels/perplexity.ts +36 -6
  69. package/src/config/aiModels/ppio.ts +76 -38
  70. package/src/config/aiModels/qwen.ts +257 -133
  71. package/src/config/aiModels/sambanova.ts +56 -28
  72. package/src/config/aiModels/sensenova.ts +100 -50
  73. package/src/config/aiModels/siliconcloud.ts +224 -112
  74. package/src/config/aiModels/stepfun.ts +44 -22
  75. package/src/config/aiModels/taichu.ts +8 -4
  76. package/src/config/aiModels/tencentcloud.ts +12 -6
  77. package/src/config/aiModels/upstage.ts +8 -4
  78. package/src/config/aiModels/v0.ts +15 -12
  79. package/src/config/aiModels/vertexai.ts +49 -27
  80. package/src/config/aiModels/volcengine.ts +110 -51
  81. package/src/config/aiModels/wenxin.ts +179 -73
  82. package/src/config/aiModels/xai.ts +33 -19
  83. package/src/config/aiModels/zeroone.ts +48 -24
  84. package/src/config/aiModels/zhipu.ts +118 -69
  85. package/src/config/modelProviders/ai21.ts +0 -8
  86. package/src/config/modelProviders/ai360.ts +0 -20
  87. package/src/config/modelProviders/anthropic.ts +0 -56
  88. package/src/config/modelProviders/baichuan.ts +0 -30
  89. package/src/config/modelProviders/bedrock.ts +0 -74
  90. package/src/config/modelProviders/deepseek.ts +0 -13
  91. package/src/config/modelProviders/fireworksai.ts +0 -88
  92. package/src/config/modelProviders/google.ts +0 -59
  93. package/src/config/modelProviders/groq.ts +0 -48
  94. package/src/config/modelProviders/higress.ts +0 -727
  95. package/src/config/modelProviders/hunyuan.ts +0 -45
  96. package/src/config/modelProviders/infiniai.ts +0 -60
  97. package/src/config/modelProviders/internlm.ts +0 -8
  98. package/src/config/modelProviders/mistral.ts +0 -48
  99. package/src/config/modelProviders/modelscope.ts +2 -1
  100. package/src/config/modelProviders/openai.ts +5 -100
  101. package/src/config/modelProviders/openrouter.ts +0 -77
  102. package/src/config/modelProviders/ppio.ts +0 -95
  103. package/src/config/modelProviders/qwen.ts +0 -165
  104. package/src/config/modelProviders/sensenova.ts +0 -45
  105. package/src/config/modelProviders/siliconcloud.ts +0 -266
  106. package/src/config/modelProviders/stepfun.ts +0 -60
  107. package/src/config/modelProviders/taichu.ts +0 -10
  108. package/src/config/modelProviders/wenxin.ts +0 -90
  109. package/src/config/modelProviders/xai.ts +0 -16
  110. package/src/config/modelProviders/zeroone.ts +0 -60
  111. package/src/config/modelProviders/zhipu.ts +0 -80
  112. package/src/const/hotkeys.ts +6 -0
  113. package/src/features/Conversation/Extras/Usage/UsageDetail/ModelCard.tsx +4 -3
  114. package/src/features/Conversation/Extras/Usage/UsageDetail/pricing.ts +25 -15
  115. package/src/features/Conversation/Extras/Usage/UsageDetail/tokens.test.ts +7 -5
  116. package/src/features/Conversation/Extras/Usage/UsageDetail/tokens.ts +6 -5
  117. package/src/hooks/useHotkeys/chatScope.ts +2 -2
  118. package/src/hooks/useHotkeys/globalScope.ts +16 -4
  119. package/src/hooks/usePinnedAgentState.ts +21 -0
  120. package/src/hooks/useSwitchSession.ts +1 -1
  121. package/src/libs/model-runtime/utils/openaiCompatibleFactory/index.test.ts +54 -8
  122. package/src/locales/default/hotkey.ts +4 -0
  123. package/src/server/routers/lambda/agent.ts +2 -2
  124. package/src/server/routers/lambda/config/__snapshots__/index.test.ts.snap +0 -28
  125. package/src/server/services/discover/index.ts +7 -6
  126. package/src/server/services/user/index.ts +1 -2
  127. package/src/utils/__snapshots__/parseModels.test.ts.snap +28 -4
  128. package/src/utils/_deprecated/__snapshots__/parseModels.test.ts.snap +0 -8
  129. package/src/utils/parseModels.test.ts +60 -9
  130. package/src/utils/pricing.test.ts +183 -0
  131. package/src/utils/pricing.ts +90 -0
@@ -17,8 +17,10 @@ const qwenChatModels: AIChatModelCard[] = [
17
17
  organization: 'Qwen',
18
18
  pricing: {
19
19
  currency: 'CNY',
20
- input: 4,
21
- output: 16,
20
+ units: [
21
+ { name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
22
+ { name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
23
+ ],
22
24
  },
23
25
  releasedAt: '2025-07-17',
24
26
  settings: {
@@ -34,16 +36,19 @@ const qwenChatModels: AIChatModelCard[] = [
34
36
  deploymentName: 'qwen3-coder-plus',
35
37
  },
36
38
  contextWindowTokens: 1_048_576,
37
- description: '通义千问代码模型。最新的 Qwen3-Coder 系列模型是基于 Qwen3 的代码生成模型,具有强大的Coding Agent能力,擅长工具调用和环境交互,能够实现自主编程,代码能力卓越的同时兼具通用能力。',
39
+ description:
40
+ '通义千问代码模型。最新的 Qwen3-Coder 系列模型是基于 Qwen3 的代码生成模型,具有强大的Coding Agent能力,擅长工具调用和环境交互,能够实现自主编程,代码能力卓越的同时兼具通用能力。',
38
41
  displayName: 'Qwen3 Coder Plus',
39
42
  id: 'qwen3-coder-plus',
40
43
  maxOutput: 65_536,
41
44
  organization: 'Qwen',
42
45
  pricing: {
43
- cachedInput: 2.4, // tokens 32K ~ 128K
44
- currency: 'CNY',
45
- input: 6,
46
- output: 24,
46
+ currency: 'CNY',
47
+ units: [
48
+ { name: 'textInput_cacheRead', rate: 2.4, strategy: 'fixed', unit: 'millionTokens' }, // tokens 32K ~ 128K
49
+ { name: 'textInput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
50
+ { name: 'textOutput', rate: 24, strategy: 'fixed', unit: 'millionTokens' },
51
+ ],
47
52
  },
48
53
  releasedAt: '2025-07-22',
49
54
  type: 'chat',
@@ -56,16 +61,19 @@ const qwenChatModels: AIChatModelCard[] = [
56
61
  deploymentName: 'qwen3-coder-flash',
57
62
  },
58
63
  contextWindowTokens: 1_048_576,
59
- description: '通义千问代码模型。最新的 Qwen3-Coder 系列模型是基于 Qwen3 的代码生成模型,具有强大的Coding Agent能力,擅长工具调用和环境交互,能够实现自主编程,代码能力卓越的同时兼具通用能力。',
64
+ description:
65
+ '通义千问代码模型。最新的 Qwen3-Coder 系列模型是基于 Qwen3 的代码生成模型,具有强大的Coding Agent能力,擅长工具调用和环境交互,能够实现自主编程,代码能力卓越的同时兼具通用能力。',
60
66
  displayName: 'Qwen3 Coder Flash',
61
67
  id: 'qwen3-coder-flash',
62
68
  maxOutput: 65_536,
63
69
  organization: 'Qwen',
64
70
  pricing: {
65
- cachedInput: 0.6, // tokens 32K ~ 128K
66
- currency: 'CNY',
67
- input: 1.5,
68
- output: 6,
71
+ currency: 'CNY',
72
+ units: [
73
+ { name: 'textInput_cacheRead', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' }, // tokens 32K ~ 128K
74
+ { name: 'textInput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
75
+ { name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
76
+ ],
69
77
  },
70
78
  releasedAt: '2025-07-28',
71
79
  type: 'chat',
@@ -75,15 +83,18 @@ const qwenChatModels: AIChatModelCard[] = [
75
83
  functionCall: true,
76
84
  },
77
85
  contextWindowTokens: 262_144,
78
- description: '通义千问代码模型开源版。最新的 qwen3-coder-480b-a35b-instruct 是基于 Qwen3 的代码生成模型,具有强大的Coding Agent能力,擅长工具调用和环境交互,能够实现自主编程、代码能力卓越的同时兼具通用能力。',
86
+ description:
87
+ '通义千问代码模型开源版。最新的 qwen3-coder-480b-a35b-instruct 是基于 Qwen3 的代码生成模型,具有强大的Coding Agent能力,擅长工具调用和环境交互,能够实现自主编程、代码能力卓越的同时兼具通用能力。',
79
88
  displayName: 'Qwen3 Coder 480B A35B',
80
89
  id: 'qwen3-coder-480b-a35b-instruct',
81
90
  maxOutput: 65_536,
82
91
  organization: 'Qwen',
83
92
  pricing: {
84
93
  currency: 'CNY',
85
- input: 9, // tokens 32K ~ 128K
86
- output: 36,
94
+ units: [
95
+ { name: 'textInput', rate: 9, strategy: 'fixed', unit: 'millionTokens' },
96
+ { name: 'textOutput', rate: 36, strategy: 'fixed', unit: 'millionTokens' },
97
+ ],
87
98
  },
88
99
  type: 'chat',
89
100
  },
@@ -102,8 +113,10 @@ const qwenChatModels: AIChatModelCard[] = [
102
113
  organization: 'Qwen',
103
114
  pricing: {
104
115
  currency: 'CNY',
105
- input: 2,
106
- output: 20,
116
+ units: [
117
+ { name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
118
+ { name: 'textOutput', rate: 20, strategy: 'fixed', unit: 'millionTokens' },
119
+ ],
107
120
  },
108
121
  releasedAt: '2025-07-25',
109
122
  settings: {
@@ -125,8 +138,10 @@ const qwenChatModels: AIChatModelCard[] = [
125
138
  organization: 'Qwen',
126
139
  pricing: {
127
140
  currency: 'CNY',
128
- input: 2,
129
- output: 8,
141
+ units: [
142
+ { name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
143
+ { name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
144
+ ],
130
145
  },
131
146
  releasedAt: '2025-07-22',
132
147
  type: 'chat',
@@ -146,8 +161,10 @@ const qwenChatModels: AIChatModelCard[] = [
146
161
  organization: 'Qwen',
147
162
  pricing: {
148
163
  currency: 'CNY',
149
- input: 0.75,
150
- output: 7.5,
164
+ units: [
165
+ { name: 'textInput', rate: 0.75, strategy: 'fixed', unit: 'millionTokens' },
166
+ { name: 'textOutput', rate: 7.5, strategy: 'fixed', unit: 'millionTokens' },
167
+ ],
151
168
  },
152
169
  releasedAt: '2025-07-30',
153
170
  settings: {
@@ -169,8 +186,10 @@ const qwenChatModels: AIChatModelCard[] = [
169
186
  organization: 'Qwen',
170
187
  pricing: {
171
188
  currency: 'CNY',
172
- input: 0.75,
173
- output: 3,
189
+ units: [
190
+ { name: 'textInput', rate: 0.75, strategy: 'fixed', unit: 'millionTokens' },
191
+ { name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
192
+ ],
174
193
  },
175
194
  releasedAt: '2025-07-29',
176
195
  type: 'chat',
@@ -189,8 +208,10 @@ const qwenChatModels: AIChatModelCard[] = [
189
208
  organization: 'Qwen',
190
209
  pricing: {
191
210
  currency: 'CNY',
192
- input: 2,
193
- output: 20, // Thinking mode pricing
211
+ units: [
212
+ { name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
213
+ { name: 'textOutput', rate: 20, strategy: 'fixed', unit: 'millionTokens' },
214
+ ],
194
215
  },
195
216
  releasedAt: '2025-04-28',
196
217
  settings: {
@@ -212,8 +233,10 @@ const qwenChatModels: AIChatModelCard[] = [
212
233
  organization: 'Qwen',
213
234
  pricing: {
214
235
  currency: 'CNY',
215
- input: 2,
216
- output: 20, // Thinking mode pricing
236
+ units: [
237
+ { name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
238
+ { name: 'textOutput', rate: 20, strategy: 'fixed', unit: 'millionTokens' },
239
+ ],
217
240
  },
218
241
  releasedAt: '2025-04-28',
219
242
  settings: {
@@ -235,8 +258,10 @@ const qwenChatModels: AIChatModelCard[] = [
235
258
  organization: 'Qwen',
236
259
  pricing: {
237
260
  currency: 'CNY',
238
- input: 0.75,
239
- output: 7.5, // Thinking mode pricing
261
+ units: [
262
+ { name: 'textInput', rate: 0.75, strategy: 'fixed', unit: 'millionTokens' },
263
+ { name: 'textOutput', rate: 7.5, strategy: 'fixed', unit: 'millionTokens' },
264
+ ],
240
265
  },
241
266
  releasedAt: '2025-04-28',
242
267
  settings: {
@@ -258,8 +283,10 @@ const qwenChatModels: AIChatModelCard[] = [
258
283
  organization: 'Qwen',
259
284
  pricing: {
260
285
  currency: 'CNY',
261
- input: 1,
262
- output: 10, // Thinking mode pricing
286
+ units: [
287
+ { name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
288
+ { name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
289
+ ],
263
290
  },
264
291
  releasedAt: '2025-04-28',
265
292
  settings: {
@@ -281,8 +308,10 @@ const qwenChatModels: AIChatModelCard[] = [
281
308
  organization: 'Qwen',
282
309
  pricing: {
283
310
  currency: 'CNY',
284
- input: 0.5,
285
- output: 5, // Thinking mode pricing
311
+ units: [
312
+ { name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
313
+ { name: 'textOutput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
314
+ ],
286
315
  },
287
316
  releasedAt: '2025-04-28',
288
317
  settings: {
@@ -304,8 +333,10 @@ const qwenChatModels: AIChatModelCard[] = [
304
333
  organization: 'Qwen',
305
334
  pricing: {
306
335
  currency: 'CNY',
307
- input: 0.3,
308
- output: 3, // Thinking mode pricing
336
+ units: [
337
+ { name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
338
+ { name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
339
+ ],
309
340
  },
310
341
  releasedAt: '2025-04-28',
311
342
  settings: {
@@ -327,8 +358,10 @@ const qwenChatModels: AIChatModelCard[] = [
327
358
  organization: 'Qwen',
328
359
  pricing: {
329
360
  currency: 'CNY',
330
- input: 0.3,
331
- output: 3, // Thinking mode pricing
361
+ units: [
362
+ { name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
363
+ { name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
364
+ ],
332
365
  },
333
366
  releasedAt: '2025-04-28',
334
367
  settings: {
@@ -350,8 +383,10 @@ const qwenChatModels: AIChatModelCard[] = [
350
383
  organization: 'Qwen',
351
384
  pricing: {
352
385
  currency: 'CNY',
353
- input: 0.3,
354
- output: 3, // Thinking mode pricing
386
+ units: [
387
+ { name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
388
+ { name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
389
+ ],
355
390
  },
356
391
  releasedAt: '2025-04-28',
357
392
  settings: {
@@ -377,8 +412,10 @@ const qwenChatModels: AIChatModelCard[] = [
377
412
  organization: 'Qwen',
378
413
  pricing: {
379
414
  currency: 'CNY',
380
- input: 1.6,
381
- output: 4,
415
+ units: [
416
+ { name: 'textInput', rate: 1.6, strategy: 'fixed', unit: 'millionTokens' },
417
+ { name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
418
+ ],
382
419
  },
383
420
  releasedAt: '2025-03-06',
384
421
  settings: {
@@ -403,10 +440,12 @@ const qwenChatModels: AIChatModelCard[] = [
403
440
  maxOutput: 16_384,
404
441
  organization: 'Qwen',
405
442
  pricing: {
406
- cachedInput: 0.12,
407
443
  currency: 'CNY',
408
- input: 0.3,
409
- output: 3, // Thinking mode pricing
444
+ units: [
445
+ { name: 'textInput_cacheRead', rate: 0.12, strategy: 'fixed', unit: 'millionTokens' },
446
+ { name: 'textInput', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
447
+ { name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
448
+ ],
410
449
  },
411
450
  releasedAt: '2025-07-15',
412
451
  settings: {
@@ -432,10 +471,12 @@ const qwenChatModels: AIChatModelCard[] = [
432
471
  maxOutput: 16_384,
433
472
  organization: 'Qwen',
434
473
  pricing: {
435
- cachedInput: 0.32,
436
474
  currency: 'CNY',
437
- input: 0.8,
438
- output: 8, // Thinking mode pricing
475
+ units: [
476
+ { name: 'textInput_cacheRead', rate: 0.32, strategy: 'fixed', unit: 'millionTokens' },
477
+ { name: 'textInput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
478
+ { name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
479
+ ],
439
480
  },
440
481
  releasedAt: '2025-07-14',
441
482
  settings: {
@@ -461,10 +502,12 @@ const qwenChatModels: AIChatModelCard[] = [
461
502
  maxOutput: 8192,
462
503
  organization: 'Qwen',
463
504
  pricing: {
464
- cachedInput: 0.96,
465
505
  currency: 'CNY',
466
- input: 2.4,
467
- output: 9.6,
506
+ units: [
507
+ { name: 'textInput_cacheRead', rate: 0.96, strategy: 'fixed', unit: 'millionTokens' },
508
+ { name: 'textInput', rate: 2.4, strategy: 'fixed', unit: 'millionTokens' },
509
+ { name: 'textOutput', rate: 9.6, strategy: 'fixed', unit: 'millionTokens' },
510
+ ],
468
511
  },
469
512
  settings: {
470
513
  searchImpl: 'params',
@@ -487,8 +530,10 @@ const qwenChatModels: AIChatModelCard[] = [
487
530
  organization: 'Qwen',
488
531
  pricing: {
489
532
  currency: 'CNY',
490
- input: 0.5,
491
- output: 2,
533
+ units: [
534
+ { name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
535
+ { name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
536
+ ],
492
537
  },
493
538
  type: 'chat',
494
539
  },
@@ -508,8 +553,10 @@ const qwenChatModels: AIChatModelCard[] = [
508
553
  organization: 'Qwen',
509
554
  pricing: {
510
555
  currency: 'CNY',
511
- input: 1.5, // use image input price
512
- output: 4.5,
556
+ units: [
557
+ { name: 'textInput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
558
+ { name: 'textOutput', rate: 4.5, strategy: 'fixed', unit: 'millionTokens' },
559
+ ],
513
560
  },
514
561
  type: 'chat',
515
562
  },
@@ -526,8 +573,10 @@ const qwenChatModels: AIChatModelCard[] = [
526
573
  organization: 'Qwen',
527
574
  pricing: {
528
575
  currency: 'CNY',
529
- input: 2, // use image input price
530
- output: 6,
576
+ units: [
577
+ { name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
578
+ { name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
579
+ ],
531
580
  },
532
581
  type: 'chat',
533
582
  },
@@ -546,10 +595,12 @@ const qwenChatModels: AIChatModelCard[] = [
546
595
  maxOutput: 8192,
547
596
  organization: 'Qwen',
548
597
  pricing: {
549
- cachedInput: 0.6,
550
598
  currency: 'CNY',
551
- input: 1.5,
552
- output: 4.5,
599
+ units: [
600
+ { name: 'textInput_cacheRead', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
601
+ { name: 'textInput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
602
+ { name: 'textOutput', rate: 4.5, strategy: 'fixed', unit: 'millionTokens' },
603
+ ],
553
604
  },
554
605
  type: 'chat',
555
606
  },
@@ -568,10 +619,12 @@ const qwenChatModels: AIChatModelCard[] = [
568
619
  maxOutput: 8192,
569
620
  organization: 'Qwen',
570
621
  pricing: {
571
- cachedInput: 1.2,
572
622
  currency: 'CNY',
573
- input: 3,
574
- output: 9,
623
+ units: [
624
+ { name: 'textInput_cacheRead', rate: 1.2, strategy: 'fixed', unit: 'millionTokens' },
625
+ { name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
626
+ { name: 'textOutput', rate: 9, strategy: 'fixed', unit: 'millionTokens' },
627
+ ],
575
628
  },
576
629
  type: 'chat',
577
630
  },
@@ -591,8 +644,10 @@ const qwenChatModels: AIChatModelCard[] = [
591
644
  organization: 'Qwen',
592
645
  pricing: {
593
646
  currency: 'CNY',
594
- input: 5,
595
- output: 5,
647
+ units: [
648
+ { name: 'textInput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
649
+ { name: 'textOutput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
650
+ ],
596
651
  },
597
652
  type: 'chat',
598
653
  },
@@ -608,8 +663,10 @@ const qwenChatModels: AIChatModelCard[] = [
608
663
  organization: 'Qwen',
609
664
  pricing: {
610
665
  currency: 'CNY',
611
- input: 2,
612
- output: 6,
666
+ units: [
667
+ { name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
668
+ { name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
669
+ ],
613
670
  },
614
671
  type: 'chat',
615
672
  },
@@ -625,8 +682,10 @@ const qwenChatModels: AIChatModelCard[] = [
625
682
  organization: 'Qwen',
626
683
  pricing: {
627
684
  currency: 'CNY',
628
- input: 4,
629
- output: 12,
685
+ units: [
686
+ { name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
687
+ { name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
688
+ ],
630
689
  },
631
690
  type: 'chat',
632
691
  },
@@ -642,8 +701,10 @@ const qwenChatModels: AIChatModelCard[] = [
642
701
  organization: 'Qwen',
643
702
  pricing: {
644
703
  currency: 'CNY',
645
- input: 2,
646
- output: 6,
704
+ units: [
705
+ { name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
706
+ { name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
707
+ ],
647
708
  },
648
709
  type: 'chat',
649
710
  },
@@ -659,8 +720,10 @@ const qwenChatModels: AIChatModelCard[] = [
659
720
  organization: 'Qwen',
660
721
  pricing: {
661
722
  currency: 'CNY',
662
- input: 3.5,
663
- output: 7,
723
+ units: [
724
+ { name: 'textInput', rate: 3.5, strategy: 'fixed', unit: 'millionTokens' },
725
+ { name: 'textOutput', rate: 7, strategy: 'fixed', unit: 'millionTokens' },
726
+ ],
664
727
  },
665
728
  type: 'chat',
666
729
  },
@@ -678,8 +741,10 @@ const qwenChatModels: AIChatModelCard[] = [
678
741
  organization: 'Qwen',
679
742
  pricing: {
680
743
  currency: 'CNY',
681
- input: 2,
682
- output: 6,
744
+ units: [
745
+ { name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
746
+ { name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
747
+ ],
683
748
  },
684
749
  releasedAt: '2025-03-06',
685
750
  settings: {
@@ -699,8 +764,10 @@ const qwenChatModels: AIChatModelCard[] = [
699
764
  organization: 'Qwen',
700
765
  pricing: {
701
766
  currency: 'CNY',
702
- input: 2,
703
- output: 6,
767
+ units: [
768
+ { name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
769
+ { name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
770
+ ],
704
771
  },
705
772
  releasedAt: '2024-11-28',
706
773
  type: 'chat',
@@ -722,8 +789,10 @@ const qwenChatModels: AIChatModelCard[] = [
722
789
  organization: 'Qwen',
723
790
  pricing: {
724
791
  currency: 'CNY',
725
- input: 8,
726
- output: 32,
792
+ units: [
793
+ { name: 'textInput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
794
+ { name: 'textOutput', rate: 32, strategy: 'fixed', unit: 'millionTokens' },
795
+ ],
727
796
  },
728
797
  releasedAt: '2025-05-15',
729
798
  type: 'chat',
@@ -745,8 +814,10 @@ const qwenChatModels: AIChatModelCard[] = [
745
814
  organization: 'Qwen',
746
815
  pricing: {
747
816
  currency: 'CNY',
748
- input: 2,
749
- output: 5,
817
+ units: [
818
+ { name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
819
+ { name: 'textOutput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
820
+ ],
750
821
  },
751
822
  releasedAt: '2025-05-15',
752
823
  type: 'chat',
@@ -765,8 +836,10 @@ const qwenChatModels: AIChatModelCard[] = [
765
836
  organization: 'Qwen',
766
837
  pricing: {
767
838
  currency: 'CNY',
768
- input: 12,
769
- output: 36,
839
+ units: [
840
+ { name: 'textInput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
841
+ { name: 'textOutput', rate: 36, strategy: 'fixed', unit: 'millionTokens' },
842
+ ],
770
843
  },
771
844
  releasedAt: '2024-12-25',
772
845
  type: 'chat',
@@ -783,8 +856,10 @@ const qwenChatModels: AIChatModelCard[] = [
783
856
  organization: 'Qwen',
784
857
  pricing: {
785
858
  currency: 'CNY',
786
- input: 0.5,
787
- output: 1,
859
+ units: [
860
+ { name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
861
+ { name: 'textOutput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
862
+ ],
788
863
  },
789
864
  type: 'chat',
790
865
  },
@@ -800,8 +875,10 @@ const qwenChatModels: AIChatModelCard[] = [
800
875
  organization: 'Qwen',
801
876
  pricing: {
802
877
  currency: 'CNY',
803
- input: 1,
804
- output: 3,
878
+ units: [
879
+ { name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
880
+ { name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
881
+ ],
805
882
  },
806
883
  type: 'chat',
807
884
  },
@@ -817,8 +894,10 @@ const qwenChatModels: AIChatModelCard[] = [
817
894
  organization: 'Qwen',
818
895
  pricing: {
819
896
  currency: 'CNY',
820
- input: 2,
821
- output: 6,
897
+ units: [
898
+ { name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
899
+ { name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
900
+ ],
822
901
  },
823
902
  type: 'chat',
824
903
  },
@@ -834,8 +913,10 @@ const qwenChatModels: AIChatModelCard[] = [
834
913
  organization: 'Qwen',
835
914
  pricing: {
836
915
  currency: 'CNY',
837
- input: 4,
838
- output: 12,
916
+ units: [
917
+ { name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
918
+ { name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
919
+ ],
839
920
  },
840
921
  type: 'chat',
841
922
  },
@@ -851,8 +932,10 @@ const qwenChatModels: AIChatModelCard[] = [
851
932
  organization: 'Qwen',
852
933
  pricing: {
853
934
  currency: 'CNY',
854
- input: 1,
855
- output: 3,
935
+ units: [
936
+ { name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
937
+ { name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
938
+ ],
856
939
  },
857
940
  releasedAt: '2025-01-27',
858
941
  type: 'chat',
@@ -866,8 +949,10 @@ const qwenChatModels: AIChatModelCard[] = [
866
949
  organization: 'Qwen',
867
950
  pricing: {
868
951
  currency: 'CNY',
869
- input: 1,
870
- output: 2,
952
+ units: [
953
+ { name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
954
+ { name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
955
+ ],
871
956
  },
872
957
  type: 'chat',
873
958
  },
@@ -880,8 +965,10 @@ const qwenChatModels: AIChatModelCard[] = [
880
965
  organization: 'Qwen',
881
966
  pricing: {
882
967
  currency: 'CNY',
883
- input: 4,
884
- output: 12,
968
+ units: [
969
+ { name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
970
+ { name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
971
+ ],
885
972
  },
886
973
  releasedAt: '2025-07-23',
887
974
  type: 'chat',
@@ -895,8 +982,10 @@ const qwenChatModels: AIChatModelCard[] = [
895
982
  organization: 'Qwen',
896
983
  pricing: {
897
984
  currency: 'CNY',
898
- input: 1,
899
- output: 2,
985
+ units: [
986
+ { name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
987
+ { name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
988
+ ],
900
989
  },
901
990
  type: 'chat',
902
991
  },
@@ -909,8 +998,10 @@ const qwenChatModels: AIChatModelCard[] = [
909
998
  organization: 'Qwen',
910
999
  pricing: {
911
1000
  currency: 'CNY',
912
- input: 2,
913
- output: 6,
1001
+ units: [
1002
+ { name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
1003
+ { name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
1004
+ ],
914
1005
  },
915
1006
  type: 'chat',
916
1007
  },
@@ -923,8 +1014,10 @@ const qwenChatModels: AIChatModelCard[] = [
923
1014
  organization: 'Qwen',
924
1015
  pricing: {
925
1016
  currency: 'CNY',
926
- input: 2,
927
- output: 6,
1017
+ units: [
1018
+ { name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
1019
+ { name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
1020
+ ],
928
1021
  },
929
1022
  type: 'chat',
930
1023
  },
@@ -941,8 +1034,10 @@ const qwenChatModels: AIChatModelCard[] = [
941
1034
  organization: 'Qwen',
942
1035
  pricing: {
943
1036
  currency: 'CNY',
944
- input: 16,
945
- output: 48,
1037
+ units: [
1038
+ { name: 'textInput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
1039
+ { name: 'textOutput', rate: 48, strategy: 'fixed', unit: 'millionTokens' },
1040
+ ],
946
1041
  },
947
1042
  releasedAt: '2025-01-27',
948
1043
  type: 'chat',
@@ -960,8 +1055,10 @@ const qwenChatModels: AIChatModelCard[] = [
960
1055
  organization: 'Qwen',
961
1056
  pricing: {
962
1057
  currency: 'CNY',
963
- input: 8,
964
- output: 24,
1058
+ units: [
1059
+ { name: 'textInput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
1060
+ { name: 'textOutput', rate: 24, strategy: 'fixed', unit: 'millionTokens' },
1061
+ ],
965
1062
  },
966
1063
  releasedAt: '2025-03-24',
967
1064
  type: 'chat',
@@ -979,8 +1076,10 @@ const qwenChatModels: AIChatModelCard[] = [
979
1076
  organization: 'Qwen',
980
1077
  pricing: {
981
1078
  currency: 'CNY',
982
- input: 2,
983
- output: 5,
1079
+ units: [
1080
+ { name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
1081
+ { name: 'textOutput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
1082
+ ],
984
1083
  },
985
1084
  releasedAt: '2025-01-27',
986
1085
  type: 'chat',
@@ -998,8 +1097,10 @@ const qwenChatModels: AIChatModelCard[] = [
998
1097
  organization: 'DeepSeek',
999
1098
  pricing: {
1000
1099
  currency: 'CNY',
1001
- input: 4,
1002
- output: 16,
1100
+ units: [
1101
+ { name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
1102
+ { name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
1103
+ ],
1003
1104
  },
1004
1105
  releasedAt: '2025-05-28',
1005
1106
  type: 'chat',
@@ -1014,8 +1115,10 @@ const qwenChatModels: AIChatModelCard[] = [
1014
1115
  organization: 'DeepSeek',
1015
1116
  pricing: {
1016
1117
  currency: 'CNY',
1017
- input: 2,
1018
- output: 8,
1118
+ units: [
1119
+ { name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
1120
+ { name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
1121
+ ],
1019
1122
  },
1020
1123
  releasedAt: '2025-01-27',
1021
1124
  type: 'chat',
@@ -1033,8 +1136,10 @@ const qwenChatModels: AIChatModelCard[] = [
1033
1136
  organization: 'DeepSeek',
1034
1137
  pricing: {
1035
1138
  currency: 'CNY',
1036
- input: 0,
1037
- output: 0,
1139
+ units: [
1140
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
1141
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
1142
+ ],
1038
1143
  },
1039
1144
  type: 'chat',
1040
1145
  },
@@ -1051,8 +1156,10 @@ const qwenChatModels: AIChatModelCard[] = [
1051
1156
  organization: 'DeepSeek',
1052
1157
  pricing: {
1053
1158
  currency: 'CNY',
1054
- input: 0.5,
1055
- output: 1,
1159
+ units: [
1160
+ { name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
1161
+ { name: 'textOutput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
1162
+ ],
1056
1163
  },
1057
1164
  type: 'chat',
1058
1165
  },
@@ -1069,8 +1176,10 @@ const qwenChatModels: AIChatModelCard[] = [
1069
1176
  organization: 'DeepSeek',
1070
1177
  pricing: {
1071
1178
  currency: 'CNY',
1072
- input: 1,
1073
- output: 3,
1179
+ units: [
1180
+ { name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
1181
+ { name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
1182
+ ],
1074
1183
  },
1075
1184
  type: 'chat',
1076
1185
  },
@@ -1087,8 +1196,10 @@ const qwenChatModels: AIChatModelCard[] = [
1087
1196
  organization: 'DeepSeek',
1088
1197
  pricing: {
1089
1198
  currency: 'CNY',
1090
- input: 2,
1091
- output: 6,
1199
+ units: [
1200
+ { name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
1201
+ { name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
1202
+ ],
1092
1203
  },
1093
1204
  type: 'chat',
1094
1205
  },
@@ -1105,8 +1216,10 @@ const qwenChatModels: AIChatModelCard[] = [
1105
1216
  organization: 'DeepSeek',
1106
1217
  pricing: {
1107
1218
  currency: 'CNY',
1108
- input: 0,
1109
- output: 0,
1219
+ units: [
1220
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
1221
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
1222
+ ],
1110
1223
  },
1111
1224
  type: 'chat',
1112
1225
  },
@@ -1123,8 +1236,10 @@ const qwenChatModels: AIChatModelCard[] = [
1123
1236
  organization: 'DeepSeek',
1124
1237
  pricing: {
1125
1238
  currency: 'CNY',
1126
- input: 0,
1127
- output: 0,
1239
+ units: [
1240
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
1241
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
1242
+ ],
1128
1243
  },
1129
1244
  type: 'chat',
1130
1245
  },
@@ -1132,7 +1247,8 @@ const qwenChatModels: AIChatModelCard[] = [
1132
1247
 
1133
1248
  const qwenImageModels: AIImageModelCard[] = [
1134
1249
  {
1135
- description: '万相2.2极速版,当前最新模型。在创意性、稳定性、写实质感上全面升级,生成速度快,性价比高。',
1250
+ description:
1251
+ '万相2.2极速版,当前最新模型。在创意性、稳定性、写实质感上全面升级,生成速度快,性价比高。',
1136
1252
  displayName: 'Wanxiang2.2 T2I Flash',
1137
1253
  enabled: true,
1138
1254
  id: 'wan2.2-t2i-flash',
@@ -1149,7 +1265,8 @@ const qwenImageModels: AIImageModelCard[] = [
1149
1265
  type: 'image',
1150
1266
  },
1151
1267
  {
1152
- description: '万相2.2专业版,当前最新模型。在创意性、稳定性、写实质感上全面升级,生成细节丰富。',
1268
+ description:
1269
+ '万相2.2专业版,当前最新模型。在创意性、稳定性、写实质感上全面升级,生成细节丰富。',
1153
1270
  displayName: 'Wanxiang2.2 T2I Plus',
1154
1271
  enabled: true,
1155
1272
  id: 'wan2.2-t2i-plus',
@@ -1230,7 +1347,8 @@ const qwenImageModels: AIImageModelCard[] = [
1230
1347
  type: 'image',
1231
1348
  },
1232
1349
  {
1233
- description: 'FLUX.1 [schnell] 作为目前开源最先进的少步模型,不仅超越了同类竞争者,甚至还优于诸如 Midjourney v6.0 和 DALL·E 3 (HD) 等强大的非精馏模型。该模型经过专门微调,以保留预训练阶段的全部输出多样性,相较于当前市场上的最先进模型,FLUX.1 [schnell] 显著提升了在视觉质量、指令遵从、尺寸/比例变化、字体处理及输出多样性等方面的可能,为用户带来更为丰富多样的创意图像生成体验。',
1350
+ description:
1351
+ 'FLUX.1 [schnell] 作为目前开源最先进的少步模型,不仅超越了同类竞争者,甚至还优于诸如 Midjourney v6.0 和 DALL·E 3 (HD) 等强大的非精馏模型。该模型经过专门微调,以保留预训练阶段的全部输出多样性,相较于当前市场上的最先进模型,FLUX.1 [schnell] 显著提升了在视觉质量、指令遵从、尺寸/比例变化、字体处理及输出多样性等方面的可能,为用户带来更为丰富多样的创意图像生成体验。',
1234
1352
  displayName: 'FLUX.1 [schnell]',
1235
1353
  enabled: true,
1236
1354
  id: 'flux-schnell',
@@ -1250,7 +1368,8 @@ const qwenImageModels: AIImageModelCard[] = [
1250
1368
  type: 'image',
1251
1369
  },
1252
1370
  {
1253
- description: 'FLUX.1 [dev] 是一款面向非商业应用的开源权重、精炼模型。FLUX.1 [dev] 在保持了与FLUX专业版相近的图像质量和指令遵循能力的同时,具备更高的运行效率。相较于同尺寸的标准模型,它在资源利用上更为高效。',
1371
+ description:
1372
+ 'FLUX.1 [dev] 是一款面向非商业应用的开源权重、精炼模型。FLUX.1 [dev] 在保持了与FLUX专业版相近的图像质量和指令遵循能力的同时,具备更高的运行效率。相较于同尺寸的标准模型,它在资源利用上更为高效。',
1254
1373
  displayName: 'FLUX.1 [dev]',
1255
1374
  enabled: true,
1256
1375
  id: 'flux-dev',
@@ -1270,7 +1389,8 @@ const qwenImageModels: AIImageModelCard[] = [
1270
1389
  type: 'image',
1271
1390
  },
1272
1391
  {
1273
- description: 'FLUX.1-merged 模型结合了 "DEV" 在开发阶段探索的深度特性和 "Schnell" 所代表的高速执行优势。通过这一举措,FLUX.1-merged 不仅提升了模型的性能界限,还拓宽了其应用范围。',
1392
+ description:
1393
+ 'FLUX.1-merged 模型结合了 "DEV" 在开发阶段探索的深度特性和 "Schnell" 所代表的高速执行优势。通过这一举措,FLUX.1-merged 不仅提升了模型的性能界限,还拓宽了其应用范围。',
1274
1394
  displayName: 'FLUX.1-merged',
1275
1395
  enabled: true,
1276
1396
  id: 'flux-merged',
@@ -1290,7 +1410,8 @@ const qwenImageModels: AIImageModelCard[] = [
1290
1410
  type: 'image',
1291
1411
  },
1292
1412
  {
1293
- description: 'stable-diffusion-3.5-large 是一个具有8亿参数的多模态扩散变压器(MMDiT)文本到图像生成模型,具备卓越的图像质量和提示词匹配度,支持生成 100 万像素的高分辨率图像,且能够在普通消费级硬件上高效运行。',
1413
+ description:
1414
+ 'stable-diffusion-3.5-large 是一个具有8亿参数的多模态扩散变压器(MMDiT)文本到图像生成模型,具备卓越的图像质量和提示词匹配度,支持生成 100 万像素的高分辨率图像,且能够在普通消费级硬件上高效运行。',
1294
1415
  displayName: 'StableDiffusion 3.5 Large',
1295
1416
  id: 'stable-diffusion-3.5-large',
1296
1417
  organization: 'Qwen',
@@ -1306,7 +1427,8 @@ const qwenImageModels: AIImageModelCard[] = [
1306
1427
  type: 'image',
1307
1428
  },
1308
1429
  {
1309
- description: 'stable-diffusion-3.5-large-turbo 是在 stable-diffusion-3.5-large 的基础上采用对抗性扩散蒸馏(ADD)技术的模型,具备更快的速度。',
1430
+ description:
1431
+ 'stable-diffusion-3.5-large-turbo 是在 stable-diffusion-3.5-large 的基础上采用对抗性扩散蒸馏(ADD)技术的模型,具备更快的速度。',
1310
1432
  displayName: 'StableDiffusion 3.5 Large Turbo',
1311
1433
  id: 'stable-diffusion-3.5-large-turbo',
1312
1434
  organization: 'Qwen',
@@ -1322,7 +1444,8 @@ const qwenImageModels: AIImageModelCard[] = [
1322
1444
  type: 'image',
1323
1445
  },
1324
1446
  {
1325
- description: 'stable-diffusion-xl 相比于 v1.5 做了重大的改进,并且与当前开源的文生图 SOTA 模型 midjourney 效果相当。具体改进之处包括: 更大的 unet backbone,是之前的 3 倍; 增加了 refinement 模块用于改善生成图片的质量;更高效的训练技巧等。',
1447
+ description:
1448
+ 'stable-diffusion-xl 相比于 v1.5 做了重大的改进,并且与当前开源的文生图 SOTA 模型 midjourney 效果相当。具体改进之处包括: 更大的 unet backbone,是之前的 3 倍; 增加了 refinement 模块用于改善生成图片的质量;更高效的训练技巧等。',
1326
1449
  displayName: 'StableDiffusion xl',
1327
1450
  id: 'stable-diffusion-xl',
1328
1451
  organization: 'Qwen',
@@ -1338,7 +1461,8 @@ const qwenImageModels: AIImageModelCard[] = [
1338
1461
  type: 'image',
1339
1462
  },
1340
1463
  {
1341
- description: 'stable-diffusion-v1.5 是以 stable-diffusion-v1.2 检查点的权重进行初始化,并在 "laion-aesthetics v2 5+" 上以 512x512 的分辨率进行了595k步的微调,减少了 10% 的文本条件化,以提高无分类器的引导采样。',
1464
+ description:
1465
+ 'stable-diffusion-v1.5 是以 stable-diffusion-v1.2 检查点的权重进行初始化,并在 "laion-aesthetics v2 5+" 上以 512x512 的分辨率进行了595k步的微调,减少了 10% 的文本条件化,以提高无分类器的引导采样。',
1342
1466
  displayName: 'StableDiffusion v1.5',
1343
1467
  id: 'stable-diffusion-v1.5',
1344
1468
  organization: 'Qwen',