modelmix 4.5.8 → 4.5.12

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 (3) hide show
  1. package/README.md +4 -3
  2. package/index.js +36 -15
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -147,8 +147,8 @@ Here's a comprehensive list of available methods:
147
147
  | `gpt41mini()` | OpenAI | gpt-4.1-mini | [\$0.40 / \$1.60][1] |
148
148
  | `gpt41nano()` | OpenAI | gpt-4.1-nano | [\$0.10 / \$0.40][1] |
149
149
  | `gptOss()` | Together | gpt-oss-120B | [\$0.15 / \$0.60][7] |
150
+ | `opus47[think]()` | Anthropic | claude-opus-4-7 | [\$5.00 / \$25.00][2] |
150
151
  | `opus46[think]()` | Anthropic | claude-opus-4-6 | [\$5.00 / \$25.00][2] |
151
- | `opus45[think]()` | Anthropic | claude-opus-4-5-20251101 | [\$5.00 / \$25.00][2] |
152
152
  | `sonnet46[think]()` | Anthropic | claude-sonnet-4-6 | [\$3.00 / \$15.00][2] |
153
153
  | `sonnet45[think]()` | Anthropic | claude-sonnet-4-5-20250929 | [\$3.00 / \$15.00][2] |
154
154
  | `haiku45[think]()` | Anthropic | claude-haiku-4-5-20251001 | [\$1.00 / \$5.00][2] |
@@ -158,14 +158,15 @@ Here's a comprehensive list of available methods:
158
158
  | `gemini31flashLite()`| Google | gemini-3.1-flash-lite-preview | [\$0.25 / \$1.50][3] |
159
159
  | `grok4()` | Grok | grok-4-0709 | [\$3.00 / \$15.00][6] |
160
160
  | `grok41[think]()` | Grok | grok-4-1-fast | [\$0.20 / \$0.50][6] |
161
- | `deepseekV32()` | Fireworks | fireworks/models/deepseek-v3p2| [\$0.56 / \$1.68][10] |
162
- | `GLM47()` | Fireworks | fireworks/models/glm-4p7 | [\$0.55 / \$2.19][10] |
161
+ | `deepseekV4Pro()` | Fireworks | models/deepseek-v4-pro | [\$1.74 / \$3.48][10] |
162
+ | `GLM51()` | Fireworks | models/glm-5p1 | [\$1.05 / \$3.50][10] |
163
163
  | `minimaxM27()` | MiniMax | MiniMax-M2.7 | [\$0.30 / \$1.20][9] |
164
164
  | `sonar()` | Perplexity | sonar | [\$1.00 / \$1.00][4] |
165
165
  | `sonarPro()` | Perplexity | sonar-pro | [\$3.00 / \$15.00][4] |
166
166
  | `hermes3()` | Lambda | Hermes-3-Llama-3.1-405B-FP8 | [\$0.80 / \$0.80][8] |
167
167
  | `qwen3()` | Together | Qwen3-235B-A22B-fp8-tput | [\$0.20 / \$0.60][7] |
168
168
  | `kimiK25think()` | Together | Kimi-K2.5 | [\$0.50 / \$2.80][7] |
169
+ | `kimiK26think()` | Fireworks | models/kimi-k2p6 | [\$0.95 / \$4.00][10] |
169
170
 
170
171
  [1]: https://platform.openai.com/docs/pricing "Pricing | OpenAI"
171
172
  [2]: https://docs.anthropic.com/en/docs/about-claude/pricing "Pricing - Anthropic"
package/index.js CHANGED
@@ -56,6 +56,7 @@ const MODEL_PRICING = {
56
56
  'gpt-oss-120b': [0.15, 0.60],
57
57
  'openai/gpt-oss-120b:free': [0, 0],
58
58
  // Anthropic
59
+ 'claude-opus-4-7': [5.00, 25.00],
59
60
  'claude-opus-4-6': [5.00, 25.00],
60
61
  'claude-opus-4-5-20251101': [5.00, 25.00],
61
62
  'claude-opus-4-1-20250805': [15.00, 75.00],
@@ -77,8 +78,11 @@ const MODEL_PRICING = {
77
78
  'grok-4-1-fast-non-reasoning': [0.20, 0.50],
78
79
  // Fireworks
79
80
  'accounts/fireworks/models/deepseek-v3p2': [0.56, 1.68],
81
+ 'accounts/fireworks/models/deepseek-v4-pro': [1.74, 3.48],
80
82
  'accounts/fireworks/models/glm-4p7': [0.55, 2.19],
83
+ 'accounts/fireworks/models/glm-5p1': [1.05, 3.50],
81
84
  'accounts/fireworks/models/kimi-k2p5': [0.50, 2.80],
85
+ 'accounts/fireworks/models/qwen3p6-plus': [0.50, 3.00],
82
86
  'fireworks/glm-5': [1.00, 3.20],
83
87
  // MiniMax
84
88
  'MiniMax-M2.1': [0.30, 1.20],
@@ -332,6 +336,10 @@ class ModelMix {
332
336
  if (mix.openrouter) this.attach('openai/gpt-oss-120b:free', new MixOpenRouter({ options, config }));
333
337
  return this;
334
338
  }
339
+ opus47think({ options = {}, config = {} } = {}) {
340
+ options = { ...MixAnthropic.thinkingOptions, ...options };
341
+ return this.attach('claude-opus-4-7', new MixAnthropic({ options, config }));
342
+ }
335
343
  opus46think({ options = {}, config = {} } = {}) {
336
344
  options = { ...MixAnthropic.thinkingOptions, ...options };
337
345
  return this.attach('claude-opus-4-6', new MixAnthropic({ options, config }));
@@ -340,6 +348,9 @@ class ModelMix {
340
348
  options = { ...MixAnthropic.thinkingOptions, ...options };
341
349
  return this.attach('claude-opus-4-5-20251101', new MixAnthropic({ options, config }));
342
350
  }
351
+ opus47({ options = {}, config = {} } = {}) {
352
+ return this.attach('claude-opus-4-7', new MixAnthropic({ options, config }));
353
+ }
343
354
  opus46({ options = {}, config = {} } = {}) {
344
355
  return this.attach('claude-opus-4-6', new MixAnthropic({ options, config }));
345
356
  }
@@ -432,6 +443,10 @@ class ModelMix {
432
443
  return this;
433
444
  }
434
445
 
446
+ qwen36plus({ options = {}, config = {}, mix = { } } = {}) {
447
+ return this.attach('accounts/fireworks/models/qwen3p6-plus', new MixFireworks({ options, config }));
448
+ }
449
+
435
450
  scout({ options = {}, config = {}, mix = {} } = {}) {
436
451
  mix = { ...this.mix, ...mix };
437
452
  if (mix.groq) this.attach('meta-llama/llama-4-scout-17b-16e-instruct', new MixGroq({ options, config }));
@@ -462,6 +477,14 @@ class ModelMix {
462
477
  return this;
463
478
  }
464
479
 
480
+ kimiK26think({ options = {}, config = {}, mix = { fireworks: true } } = {}) {
481
+ mix = { ...this.mix, ...mix };
482
+ if (mix.fireworks) this.attach('accounts/fireworks/models/kimi-k2p6', new MixFireworks({ options, config }));
483
+ if (mix.openrouter) this.attach('moonshotai/kimi-k2.6', new MixOpenRouter({ options, config }));
484
+ if (mix.together) this.attach('moonshotai/Kimi-K2.6', new MixTogether({ options, config }));
485
+ return this;
486
+ }
487
+
465
488
  kimiK25think({ options = {}, config = {}, mix = { together: true } } = {}) {
466
489
  mix = { ...this.mix, ...mix };
467
490
  if (mix.together) this.attach('moonshotai/Kimi-K2.5', new MixTogether({ options, config }));
@@ -499,13 +522,23 @@ class ModelMix {
499
522
  minimaxM27({ options = {}, config = {}, mix = { openrouter: true, minimax: true } } = {}) {
500
523
  if (mix.openrouter) return this.attach('minimax/minimax-m2.7', new MixOpenRouter({ options, config }));
501
524
  if (mix.minimax) return this.attach('MiniMax-M2.7', new MixMiniMax({ options, config }));
525
+ if (mix.together) return this.attach('MiniMaxAI/MiniMax-M2.7', new MixTogether({ options, config }));
502
526
  return this;
503
527
  }
504
528
 
505
- deepseekV32({ options = {}, config = {}, mix = {} } = {}) {
529
+ deepseekV4Pro({ options = {}, config = {}, mix = { fireworks: true } } = {}) {
530
+ mix = { ...this.mix, ...mix };
531
+ if (mix.fireworks) this.attach('accounts/fireworks/models/deepseek-v4-pro', new MixFireworks({ options, config }));
532
+ if (mix.openrouter) this.attach('deepseek/deepseek-v4-pro', new MixOpenRouter({ options, config }));
533
+ if (mix.together) this.attach('deepseek-ai/DeepSeek-V4-Pro', new MixTogether({ options, config }));
534
+ return this;
535
+ }
536
+
537
+ GLM51({ options = {}, config = {}, mix = { fireworks: true } } = {}) {
506
538
  mix = { ...this.mix, ...mix };
507
- if (mix.fireworks) this.attach('accounts/fireworks/models/deepseek-v3p2', new MixFireworks({ options, config }));
508
- if (mix.openrouter) this.attach('deepseek/deepseek-v3.2', new MixOpenRouter({ options, config }));
539
+ if (mix.fireworks) this.attach('accounts/fireworks/models/glm-5p1', new MixFireworks({ options, config }));
540
+ if (mix.openrouter) this.attach('z-ai/glm-5.1', new MixOpenRouter({ options, config }));
541
+ if (mix.together) this.attach('zai-org/GLM-5.1', new MixTogether({ options, config }));
509
542
  return this;
510
543
  }
511
544
 
@@ -523,18 +556,6 @@ class ModelMix {
523
556
  return this;
524
557
  }
525
558
 
526
- GLM46({ options = {}, config = {}, mix = { cerebras: true } } = {}) {
527
- mix = { ...this.mix, ...mix };
528
- if (mix.cerebras) this.attach('zai-glm-4.6', new MixCerebras({ options, config }));
529
- return this;
530
- }
531
-
532
- GLM45({ options = {}, config = {}, mix = { openrouter: true } } = {}) {
533
- mix = { ...this.mix, ...mix };
534
- if (mix.openrouter) this.attach('z-ai/glm-4.5-air:free', new MixOpenRouter({ options, config }));
535
- return this;
536
- }
537
-
538
559
  addText(text, { role = "user" } = {}) {
539
560
  const content = [{
540
561
  type: "text",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "modelmix",
3
- "version": "4.5.8",
3
+ "version": "4.5.12",
4
4
  "description": "🧬 Reliable interface with automatic fallback for AI LLMs.",
5
5
  "main": "index.js",
6
6
  "repository": {