@lobehub/chat 1.111.1 → 1.111.2

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 (99) 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 +25 -0
  9. package/changelog/v1.json +5 -0
  10. package/package.json +1 -1
  11. package/packages/types/src/aiModel.ts +67 -46
  12. package/packages/types/src/llm.ts +3 -3
  13. package/src/app/[variants]/(main)/discover/(detail)/model/[...slugs]/features/Details/Overview/ProviderList/index.tsx +23 -12
  14. package/src/app/[variants]/(main)/discover/(detail)/provider/[...slugs]/features/Details/Overview/ModelList/index.tsx +23 -10
  15. package/src/app/[variants]/(main)/settings/provider/features/ModelList/ModelItem.tsx +21 -12
  16. package/src/config/aiModels/ai21.ts +8 -4
  17. package/src/config/aiModels/ai360.ts +28 -14
  18. package/src/config/aiModels/aihubmix.ts +174 -86
  19. package/src/config/aiModels/anthropic.ts +97 -38
  20. package/src/config/aiModels/azure.ts +54 -32
  21. package/src/config/aiModels/azureai.ts +63 -37
  22. package/src/config/aiModels/baichuan.ts +24 -12
  23. package/src/config/aiModels/bedrock.ts +60 -30
  24. package/src/config/aiModels/cohere.ts +60 -30
  25. package/src/config/aiModels/deepseek.ts +10 -6
  26. package/src/config/aiModels/fireworksai.ts +88 -44
  27. package/src/config/aiModels/giteeai.ts +1 -1
  28. package/src/config/aiModels/github.ts +44 -26
  29. package/src/config/aiModels/google.ts +119 -68
  30. package/src/config/aiModels/groq.ts +48 -24
  31. package/src/config/aiModels/higress.ts +617 -310
  32. package/src/config/aiModels/hunyuan.ts +105 -54
  33. package/src/config/aiModels/infiniai.ts +104 -52
  34. package/src/config/aiModels/internlm.ts +16 -8
  35. package/src/config/aiModels/jina.ts +4 -2
  36. package/src/config/aiModels/minimax.ts +11 -10
  37. package/src/config/aiModels/mistral.ts +40 -20
  38. package/src/config/aiModels/moonshot.ts +42 -22
  39. package/src/config/aiModels/novita.ts +196 -98
  40. package/src/config/aiModels/openai.ts +270 -137
  41. package/src/config/aiModels/openrouter.ts +205 -100
  42. package/src/config/aiModels/perplexity.ts +36 -6
  43. package/src/config/aiModels/ppio.ts +76 -38
  44. package/src/config/aiModels/qwen.ts +257 -133
  45. package/src/config/aiModels/sambanova.ts +56 -28
  46. package/src/config/aiModels/sensenova.ts +100 -50
  47. package/src/config/aiModels/siliconcloud.ts +224 -112
  48. package/src/config/aiModels/stepfun.ts +44 -22
  49. package/src/config/aiModels/taichu.ts +8 -4
  50. package/src/config/aiModels/tencentcloud.ts +12 -6
  51. package/src/config/aiModels/upstage.ts +8 -4
  52. package/src/config/aiModels/v0.ts +15 -12
  53. package/src/config/aiModels/vertexai.ts +49 -27
  54. package/src/config/aiModels/volcengine.ts +110 -51
  55. package/src/config/aiModels/wenxin.ts +179 -73
  56. package/src/config/aiModels/xai.ts +33 -19
  57. package/src/config/aiModels/zeroone.ts +48 -24
  58. package/src/config/aiModels/zhipu.ts +118 -69
  59. package/src/config/modelProviders/ai21.ts +0 -8
  60. package/src/config/modelProviders/ai360.ts +0 -20
  61. package/src/config/modelProviders/anthropic.ts +0 -56
  62. package/src/config/modelProviders/baichuan.ts +0 -30
  63. package/src/config/modelProviders/bedrock.ts +0 -74
  64. package/src/config/modelProviders/deepseek.ts +0 -13
  65. package/src/config/modelProviders/fireworksai.ts +0 -88
  66. package/src/config/modelProviders/google.ts +0 -59
  67. package/src/config/modelProviders/groq.ts +0 -48
  68. package/src/config/modelProviders/higress.ts +0 -727
  69. package/src/config/modelProviders/hunyuan.ts +0 -45
  70. package/src/config/modelProviders/infiniai.ts +0 -60
  71. package/src/config/modelProviders/internlm.ts +0 -8
  72. package/src/config/modelProviders/mistral.ts +0 -48
  73. package/src/config/modelProviders/modelscope.ts +2 -1
  74. package/src/config/modelProviders/openai.ts +5 -100
  75. package/src/config/modelProviders/openrouter.ts +0 -77
  76. package/src/config/modelProviders/ppio.ts +0 -95
  77. package/src/config/modelProviders/qwen.ts +0 -165
  78. package/src/config/modelProviders/sensenova.ts +0 -45
  79. package/src/config/modelProviders/siliconcloud.ts +0 -266
  80. package/src/config/modelProviders/stepfun.ts +0 -60
  81. package/src/config/modelProviders/taichu.ts +0 -10
  82. package/src/config/modelProviders/wenxin.ts +0 -90
  83. package/src/config/modelProviders/xai.ts +0 -16
  84. package/src/config/modelProviders/zeroone.ts +0 -60
  85. package/src/config/modelProviders/zhipu.ts +0 -80
  86. package/src/features/Conversation/Extras/Usage/UsageDetail/ModelCard.tsx +4 -3
  87. package/src/features/Conversation/Extras/Usage/UsageDetail/pricing.ts +25 -15
  88. package/src/features/Conversation/Extras/Usage/UsageDetail/tokens.test.ts +7 -5
  89. package/src/features/Conversation/Extras/Usage/UsageDetail/tokens.ts +6 -5
  90. package/src/libs/model-runtime/utils/openaiCompatibleFactory/index.test.ts +54 -8
  91. package/src/server/routers/lambda/agent.ts +2 -2
  92. package/src/server/routers/lambda/config/__snapshots__/index.test.ts.snap +0 -28
  93. package/src/server/services/discover/index.ts +7 -6
  94. package/src/server/services/user/index.ts +1 -2
  95. package/src/utils/__snapshots__/parseModels.test.ts.snap +28 -4
  96. package/src/utils/_deprecated/__snapshots__/parseModels.test.ts.snap +0 -8
  97. package/src/utils/parseModels.test.ts +60 -9
  98. package/src/utils/pricing.test.ts +183 -0
  99. package/src/utils/pricing.ts +90 -0
@@ -35,8 +35,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
35
35
  maxOutput: 64_000,
36
36
  pricing: {
37
37
  currency: 'CNY',
38
- input: 1,
39
- output: 4,
38
+ units: [
39
+ { name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
40
+ { name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
41
+ ],
40
42
  },
41
43
  releasedAt: '2025-05-21',
42
44
  settings: {
@@ -50,15 +52,16 @@ const hunyuanChatModels: AIChatModelCard[] = [
50
52
  search: true,
51
53
  },
52
54
  contextWindowTokens: 92_000,
53
- description:
54
- '大幅提升高难度数学、逻辑和代码能力,优化模型输出稳定性,提升模型长文能力。',
55
+ description: '大幅提升高难度数学、逻辑和代码能力,优化模型输出稳定性,提升模型长文能力。',
55
56
  displayName: 'Hunyuan T1 20250711',
56
57
  id: 'hunyuan-t1-20250711',
57
58
  maxOutput: 64_000,
58
59
  pricing: {
59
60
  currency: 'CNY',
60
- input: 1,
61
- output: 4,
61
+ units: [
62
+ { name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
63
+ { name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
64
+ ],
62
65
  },
63
66
  releasedAt: '2025-07-11',
64
67
  settings: {
@@ -79,8 +82,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
79
82
  maxOutput: 64_000,
80
83
  pricing: {
81
84
  currency: 'CNY',
82
- input: 1,
83
- output: 4,
85
+ units: [
86
+ { name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
87
+ { name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
88
+ ],
84
89
  },
85
90
  releasedAt: '2025-05-29',
86
91
  settings: {
@@ -101,8 +106,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
101
106
  maxOutput: 64_000,
102
107
  pricing: {
103
108
  currency: 'CNY',
104
- input: 1,
105
- output: 4,
109
+ units: [
110
+ { name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
111
+ { name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
112
+ ],
106
113
  },
107
114
  releasedAt: '2025-04-03',
108
115
  settings: {
@@ -123,8 +130,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
123
130
  maxOutput: 64_000,
124
131
  pricing: {
125
132
  currency: 'CNY',
126
- input: 1,
127
- output: 4,
133
+ units: [
134
+ { name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
135
+ { name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
136
+ ],
128
137
  },
129
138
  releasedAt: '2025-03-21',
130
139
  settings: {
@@ -142,8 +151,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
142
151
  maxOutput: 6000,
143
152
  pricing: {
144
153
  currency: 'CNY',
145
- input: 0,
146
- output: 0,
154
+ units: [
155
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
156
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
157
+ ],
147
158
  },
148
159
  releasedAt: '2024-10-30',
149
160
  type: 'chat',
@@ -160,8 +171,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
160
171
  maxOutput: 2000,
161
172
  pricing: {
162
173
  currency: 'CNY',
163
- input: 0.8,
164
- output: 2,
174
+ units: [
175
+ { name: 'textInput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
176
+ { name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
177
+ ],
165
178
  },
166
179
  releasedAt: '2025-02-10',
167
180
  settings: {
@@ -181,8 +194,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
181
194
  maxOutput: 6000,
182
195
  pricing: {
183
196
  currency: 'CNY',
184
- input: 0.5,
185
- output: 2,
197
+ units: [
198
+ { name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
199
+ { name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
200
+ ],
186
201
  },
187
202
  releasedAt: '2025-02-10',
188
203
  settings: {
@@ -203,8 +218,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
203
218
  maxOutput: 4000,
204
219
  pricing: {
205
220
  currency: 'CNY',
206
- input: 4,
207
- output: 12,
221
+ units: [
222
+ { name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
223
+ { name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
224
+ ],
208
225
  },
209
226
  releasedAt: '2025-02-10',
210
227
  settings: {
@@ -224,8 +241,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
224
241
  maxOutput: 6000,
225
242
  pricing: {
226
243
  currency: 'CNY',
227
- input: 6,
228
- output: 18,
244
+ units: [
245
+ { name: 'textInput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
246
+ { name: 'textOutput', rate: 18, strategy: 'fixed', unit: 'millionTokens' },
247
+ ],
229
248
  },
230
249
  releasedAt: '2024-12-18',
231
250
  settings: {
@@ -246,8 +265,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
246
265
  maxOutput: 4000,
247
266
  pricing: {
248
267
  currency: 'CNY',
249
- input: 2.4,
250
- output: 9.6,
268
+ units: [
269
+ { name: 'textInput', rate: 2.4, strategy: 'fixed', unit: 'millionTokens' },
270
+ { name: 'textOutput', rate: 9.6, strategy: 'fixed', unit: 'millionTokens' },
271
+ ],
251
272
  },
252
273
  releasedAt: '2025-01-10',
253
274
  settings: {
@@ -268,8 +289,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
268
289
  maxOutput: 4000,
269
290
  pricing: {
270
291
  currency: 'CNY',
271
- input: 2.4,
272
- output: 9.6,
292
+ units: [
293
+ { name: 'textInput', rate: 2.4, strategy: 'fixed', unit: 'millionTokens' },
294
+ { name: 'textOutput', rate: 9.6, strategy: 'fixed', unit: 'millionTokens' },
295
+ ],
273
296
  },
274
297
  releasedAt: '2025-01-10',
275
298
  settings: {
@@ -290,8 +313,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
290
313
  maxOutput: 6000,
291
314
  pricing: {
292
315
  currency: 'CNY',
293
- input: 1.5,
294
- output: 6,
316
+ units: [
317
+ { name: 'textInput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
318
+ { name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
319
+ ],
295
320
  },
296
321
  releasedAt: '2025-03-25',
297
322
  settings: {
@@ -312,8 +337,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
312
337
  maxOutput: 16_000,
313
338
  pricing: {
314
339
  currency: 'CNY',
315
- input: 0.8,
316
- output: 2,
340
+ units: [
341
+ { name: 'textInput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
342
+ { name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
343
+ ],
317
344
  },
318
345
  releasedAt: '2025-05-20',
319
346
  settings: {
@@ -334,8 +361,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
334
361
  maxOutput: 16_000,
335
362
  pricing: {
336
363
  currency: 'CNY',
337
- input: 0.8,
338
- output: 2,
364
+ units: [
365
+ { name: 'textInput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
366
+ { name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
367
+ ],
339
368
  },
340
369
  releasedAt: '2025-06-04',
341
370
  settings: {
@@ -356,8 +385,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
356
385
  maxOutput: 8000,
357
386
  pricing: {
358
387
  currency: 'CNY',
359
- input: 0.8,
360
- output: 2,
388
+ units: [
389
+ { name: 'textInput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
390
+ { name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
391
+ ],
361
392
  },
362
393
  releasedAt: '2025-04-16',
363
394
  settings: {
@@ -378,8 +409,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
378
409
  maxOutput: 8000,
379
410
  pricing: {
380
411
  currency: 'CNY',
381
- input: 0.8,
382
- output: 2,
412
+ units: [
413
+ { name: 'textInput', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
414
+ { name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
415
+ ],
383
416
  },
384
417
  releasedAt: '2025-03-13',
385
418
  settings: {
@@ -424,8 +457,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
424
457
  maxOutput: 2000,
425
458
  pricing: {
426
459
  currency: 'CNY',
427
- input: 80,
428
- output: 80,
460
+ units: [
461
+ { name: 'textInput', rate: 80, strategy: 'fixed', unit: 'millionTokens' },
462
+ { name: 'textOutput', rate: 80, strategy: 'fixed', unit: 'millionTokens' },
463
+ ],
429
464
  },
430
465
  releasedAt: '2024-11-26',
431
466
  type: 'chat',
@@ -456,8 +491,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
456
491
  maxOutput: 24_000,
457
492
  pricing: {
458
493
  currency: 'CNY',
459
- input: 1,
460
- output: 4,
494
+ units: [
495
+ { name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
496
+ { name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
497
+ ],
461
498
  },
462
499
  releasedAt: '2025-06-19',
463
500
  type: 'chat',
@@ -475,8 +512,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
475
512
  maxOutput: 24_000,
476
513
  pricing: {
477
514
  currency: 'CNY',
478
- input: 1,
479
- output: 4,
515
+ units: [
516
+ { name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
517
+ { name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
518
+ ],
480
519
  },
481
520
  releasedAt: '2025-05-16',
482
521
  type: 'chat',
@@ -493,8 +532,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
493
532
  maxOutput: 16_000,
494
533
  pricing: {
495
534
  currency: 'CNY',
496
- input: 3,
497
- output: 9,
535
+ units: [
536
+ { name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
537
+ { name: 'textOutput', rate: 9, strategy: 'fixed', unit: 'millionTokens' },
538
+ ],
498
539
  },
499
540
  releasedAt: '2025-06-19',
500
541
  type: 'chat',
@@ -511,8 +552,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
511
552
  maxOutput: 24_000,
512
553
  pricing: {
513
554
  currency: 'CNY',
514
- input: 3,
515
- output: 9,
555
+ units: [
556
+ { name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
557
+ { name: 'textOutput', rate: 9, strategy: 'fixed', unit: 'millionTokens' },
558
+ ],
516
559
  },
517
560
  releasedAt: '2025-05-23',
518
561
  type: 'chat',
@@ -528,8 +571,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
528
571
  maxOutput: 16_000,
529
572
  pricing: {
530
573
  currency: 'CNY',
531
- input: 18,
532
- output: 18,
574
+ units: [
575
+ { name: 'textInput', rate: 18, strategy: 'fixed', unit: 'millionTokens' },
576
+ { name: 'textOutput', rate: 18, strategy: 'fixed', unit: 'millionTokens' },
577
+ ],
533
578
  },
534
579
  releasedAt: '2025-01-03',
535
580
  type: 'chat',
@@ -543,8 +588,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
543
588
  maxOutput: 4000,
544
589
  pricing: {
545
590
  currency: 'CNY',
546
- input: 3.5,
547
- output: 7,
591
+ units: [
592
+ { name: 'textInput', rate: 3.5, strategy: 'fixed', unit: 'millionTokens' },
593
+ { name: 'textOutput', rate: 7, strategy: 'fixed', unit: 'millionTokens' },
594
+ ],
548
595
  },
549
596
  releasedAt: '2024-11-12',
550
597
  type: 'chat',
@@ -561,8 +608,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
561
608
  maxOutput: 4000,
562
609
  pricing: {
563
610
  currency: 'CNY',
564
- input: 4,
565
- output: 8,
611
+ units: [
612
+ { name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
613
+ { name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
614
+ ],
566
615
  },
567
616
  releasedAt: '2025-04-22',
568
617
  type: 'chat',
@@ -576,8 +625,10 @@ const hunyuanChatModels: AIChatModelCard[] = [
576
625
  maxOutput: 4000,
577
626
  pricing: {
578
627
  currency: 'CNY',
579
- input: 4,
580
- output: 8,
628
+ units: [
629
+ { name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
630
+ { name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
631
+ ],
581
632
  },
582
633
  releasedAt: '2024-07-04',
583
634
  type: 'chat',
@@ -17,8 +17,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
17
17
  id: 'deepseek-r1',
18
18
  pricing: {
19
19
  currency: 'CNY',
20
- input: 0,
21
- output: 0,
20
+ units: [
21
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
22
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
23
+ ],
22
24
  },
23
25
  type: 'chat',
24
26
  },
@@ -31,8 +33,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
31
33
  id: 'deepseek-v3',
32
34
  pricing: {
33
35
  currency: 'CNY',
34
- input: 0,
35
- output: 0,
36
+ units: [
37
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
38
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
39
+ ],
36
40
  },
37
41
  type: 'chat',
38
42
  },
@@ -49,8 +53,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
49
53
  id: 'qwen3-235b-a22b',
50
54
  pricing: {
51
55
  currency: 'CNY',
52
- input: 0,
53
- output: 0,
56
+ units: [
57
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
58
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
59
+ ],
54
60
  },
55
61
  type: 'chat',
56
62
  },
@@ -67,8 +73,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
67
73
  id: 'qwen3-30b-a3b',
68
74
  pricing: {
69
75
  currency: 'CNY',
70
- input: 0,
71
- output: 0,
76
+ units: [
77
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
78
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
79
+ ],
72
80
  },
73
81
  type: 'chat',
74
82
  },
@@ -85,8 +93,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
85
93
  id: 'qwen3-32b',
86
94
  pricing: {
87
95
  currency: 'CNY',
88
- input: 0,
89
- output: 0,
96
+ units: [
97
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
98
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
99
+ ],
90
100
  },
91
101
  type: 'chat',
92
102
  },
@@ -103,8 +113,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
103
113
  id: 'qwen3-14b',
104
114
  pricing: {
105
115
  currency: 'CNY',
106
- input: 0,
107
- output: 0,
116
+ units: [
117
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
118
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
119
+ ],
108
120
  },
109
121
  type: 'chat',
110
122
  },
@@ -121,8 +133,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
121
133
  id: 'qwen3-8b',
122
134
  pricing: {
123
135
  currency: 'CNY',
124
- input: 0,
125
- output: 0,
136
+ units: [
137
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
138
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
139
+ ],
126
140
  },
127
141
  type: 'chat',
128
142
  },
@@ -138,8 +152,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
138
152
  id: 'qwen2.5-vl-72b-instruct',
139
153
  pricing: {
140
154
  currency: 'CNY',
141
- input: 0,
142
- output: 0,
155
+ units: [
156
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
157
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
158
+ ],
143
159
  },
144
160
  type: 'chat',
145
161
  },
@@ -155,8 +171,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
155
171
  id: 'qwen2.5-vl-32b-instruct',
156
172
  pricing: {
157
173
  currency: 'CNY',
158
- input: 0,
159
- output: 0,
174
+ units: [
175
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
176
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
177
+ ],
160
178
  },
161
179
  type: 'chat',
162
180
  },
@@ -171,8 +189,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
171
189
  id: 'qwen2.5-vl-7b-instruct',
172
190
  pricing: {
173
191
  currency: 'CNY',
174
- input: 0,
175
- output: 0,
192
+ units: [
193
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
194
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
195
+ ],
176
196
  },
177
197
  type: 'chat',
178
198
  },
@@ -188,8 +208,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
188
208
  id: 'qwen2.5-72b-instruct',
189
209
  pricing: {
190
210
  currency: 'CNY',
191
- input: 0,
192
- output: 0,
211
+ units: [
212
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
213
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
214
+ ],
193
215
  },
194
216
  type: 'chat',
195
217
  },
@@ -205,8 +227,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
205
227
  id: 'qwen2.5-32b-instruct',
206
228
  pricing: {
207
229
  currency: 'CNY',
208
- input: 0,
209
- output: 0,
230
+ units: [
231
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
232
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
233
+ ],
210
234
  },
211
235
  type: 'chat',
212
236
  },
@@ -218,8 +242,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
218
242
  id: 'qwen2.5-coder-32b-instruct',
219
243
  pricing: {
220
244
  currency: 'CNY',
221
- input: 0,
222
- output: 0,
245
+ units: [
246
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
247
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
248
+ ],
223
249
  },
224
250
  type: 'chat',
225
251
  },
@@ -231,8 +257,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
231
257
  id: 'qwen2.5-14b-instruct',
232
258
  pricing: {
233
259
  currency: 'CNY',
234
- input: 0,
235
- output: 0,
260
+ units: [
261
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
262
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
263
+ ],
236
264
  },
237
265
  type: 'chat',
238
266
  },
@@ -247,8 +275,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
247
275
  id: 'qwen2.5-7b-instruct',
248
276
  pricing: {
249
277
  currency: 'CNY',
250
- input: 0,
251
- output: 0,
278
+ units: [
279
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
280
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
281
+ ],
252
282
  },
253
283
  type: 'chat',
254
284
  },
@@ -265,8 +295,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
265
295
  id: 'qwq-32b',
266
296
  pricing: {
267
297
  currency: 'CNY',
268
- input: 0,
269
- output: 0,
298
+ units: [
299
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
300
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
301
+ ],
270
302
  },
271
303
  type: 'chat',
272
304
  },
@@ -279,8 +311,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
279
311
  id: 'deepseek-r1-distill-qwen-32b',
280
312
  pricing: {
281
313
  currency: 'CNY',
282
- input: 0,
283
- output: 0,
314
+ units: [
315
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
316
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
317
+ ],
284
318
  },
285
319
  type: 'chat',
286
320
  },
@@ -293,8 +327,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
293
327
  id: 'llama-3.3-70b-instruct',
294
328
  pricing: {
295
329
  currency: 'CNY',
296
- input: 0,
297
- output: 0,
330
+ units: [
331
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
332
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
333
+ ],
298
334
  },
299
335
  type: 'chat',
300
336
  },
@@ -306,8 +342,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
306
342
  id: 'qwen2-72b-instruct',
307
343
  pricing: {
308
344
  currency: 'CNY',
309
- input: 0,
310
- output: 0,
345
+ units: [
346
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
347
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
348
+ ],
311
349
  },
312
350
  type: 'chat',
313
351
  },
@@ -319,8 +357,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
319
357
  id: 'qwen2-7b-instruct',
320
358
  pricing: {
321
359
  currency: 'CNY',
322
- input: 0,
323
- output: 0,
360
+ units: [
361
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
362
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
363
+ ],
324
364
  },
325
365
  type: 'chat',
326
366
  },
@@ -332,8 +372,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
332
372
  id: 'yi-1.5-34b-chat',
333
373
  pricing: {
334
374
  currency: 'CNY',
335
- input: 0,
336
- output: 0,
375
+ units: [
376
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
377
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
378
+ ],
337
379
  },
338
380
  type: 'chat',
339
381
  },
@@ -344,8 +386,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
344
386
  id: 'glm-4-9b-chat',
345
387
  pricing: {
346
388
  currency: 'CNY',
347
- input: 0,
348
- output: 0,
389
+ units: [
390
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
391
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
392
+ ],
349
393
  },
350
394
  type: 'chat',
351
395
  },
@@ -357,8 +401,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
357
401
  id: 'chatglm3',
358
402
  pricing: {
359
403
  currency: 'CNY',
360
- input: 0,
361
- output: 0,
404
+ units: [
405
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
406
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
407
+ ],
362
408
  },
363
409
  type: 'chat',
364
410
  },
@@ -370,8 +416,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
370
416
  id: 'chatglm3-6b-base',
371
417
  pricing: {
372
418
  currency: 'CNY',
373
- input: 0,
374
- output: 0,
419
+ units: [
420
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
421
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
422
+ ],
375
423
  },
376
424
  type: 'chat',
377
425
  },
@@ -383,8 +431,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
383
431
  id: 'llama-2-7b-chat',
384
432
  pricing: {
385
433
  currency: 'CNY',
386
- input: 0,
387
- output: 0,
434
+ units: [
435
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
436
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
437
+ ],
388
438
  },
389
439
  type: 'chat',
390
440
  },
@@ -396,8 +446,10 @@ const infiniaiChatModels: AIChatModelCard[] = [
396
446
  id: 'megrez-3b-instruct',
397
447
  pricing: {
398
448
  currency: 'CNY',
399
- input: 0,
400
- output: 0,
449
+ units: [
450
+ { name: 'textInput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
451
+ { name: 'textOutput', rate: 0, strategy: 'fixed', unit: 'millionTokens' },
452
+ ],
401
453
  },
402
454
  type: 'chat',
403
455
  },