@pydantic/genai-prices 0.0.53 → 0.0.54

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.
package/dist/index.d.cts CHANGED
@@ -40,6 +40,7 @@ export declare type MatchLogic = {
40
40
 
41
41
  export declare interface ModelInfo {
42
42
  context_window?: number;
43
+ deprecated?: boolean;
43
44
  description?: string;
44
45
  id: string;
45
46
  match: MatchLogic;
package/dist/index.d.ts CHANGED
@@ -40,6 +40,7 @@ export declare type MatchLogic = {
40
40
 
41
41
  export declare interface ModelInfo {
42
42
  context_window?: number;
43
+ deprecated?: boolean;
43
44
  description?: string;
44
45
  id: string;
45
46
  match: MatchLogic;
package/dist/index.js CHANGED
@@ -238,28 +238,6 @@ const I = [
238
238
  output_mtok: 5
239
239
  }
240
240
  },
241
- {
242
- id: "claude-instant-1",
243
- description: "Retired, here to match price sources",
244
- match: {
245
- equals: "claude-instant-1"
246
- },
247
- prices: {
248
- input_mtok: 1.63,
249
- output_mtok: 55.1
250
- }
251
- },
252
- {
253
- id: "claude-instant-1.2",
254
- description: "Retired, here to match price sources",
255
- match: {
256
- equals: "claude-instant-1.2"
257
- },
258
- prices: {
259
- input_mtok: 1.63,
260
- output_mtok: 5.51
261
- }
262
- },
263
241
  {
264
242
  id: "claude-opus-4-0",
265
243
  name: "Claude Opus 4",
@@ -341,7 +319,7 @@ const I = [
341
319
  {
342
320
  id: "claude-opus-4-6",
343
321
  name: "Claude Opus 4.6",
344
- description: "Most intelligent model with adaptive thinking and 1M context beta",
322
+ description: "Our most intelligent model for building agents and coding",
345
323
  match: {
346
324
  or: [
347
325
  {
@@ -432,7 +410,7 @@ const I = [
432
410
  {
433
411
  id: "claude-sonnet-4-5",
434
412
  name: "Claude Sonnet 4.5",
435
- description: "Most intelligent model for building agents and coding",
413
+ description: "Our best combination of speed and intelligence",
436
414
  match: {
437
415
  or: [
438
416
  {
@@ -483,6 +461,60 @@ const I = [
483
461
  }
484
462
  }
485
463
  },
464
+ {
465
+ id: "claude-sonnet-4-6",
466
+ name: "Claude Sonnet 4.6",
467
+ description: "Our best combination of speed and intelligence",
468
+ match: {
469
+ or: [
470
+ {
471
+ starts_with: "claude-sonnet-4-6"
472
+ },
473
+ {
474
+ starts_with: "claude-sonnet-4.6"
475
+ }
476
+ ]
477
+ },
478
+ context_window: 1e6,
479
+ prices: {
480
+ input_mtok: {
481
+ base: 3,
482
+ tiers: [
483
+ {
484
+ start: 2e5,
485
+ price: 6
486
+ }
487
+ ]
488
+ },
489
+ cache_write_mtok: {
490
+ base: 3.75,
491
+ tiers: [
492
+ {
493
+ start: 2e5,
494
+ price: 7.5
495
+ }
496
+ ]
497
+ },
498
+ cache_read_mtok: {
499
+ base: 0.3,
500
+ tiers: [
501
+ {
502
+ start: 2e5,
503
+ price: 0.6
504
+ }
505
+ ]
506
+ },
507
+ output_mtok: {
508
+ base: 15,
509
+ tiers: [
510
+ {
511
+ start: 2e5,
512
+ price: 22.5
513
+ }
514
+ ]
515
+ }
516
+ }
517
+ },
486
518
  {
487
519
  id: "claude-v1",
488
520
  description: "Retired, here to match price sources",
@@ -2954,7 +2986,8 @@ Compared to other leading proprietary and open-weights models Command A delivers
2954
2986
  prices: {
2955
2987
  input_mtok: 0.15,
2956
2988
  output_mtok: 0.6
2957
- }
2989
+ },
2990
+ deprecated: !0
2958
2991
  },
2959
2992
  {
2960
2993
  id: "gemini-2.5-pro",
@@ -3902,6 +3935,25 @@ Compared to other leading proprietary and open-weights models Command A delivers
3902
3935
  output_mtok: 0.6
3903
3936
  }
3904
3937
  },
3938
+ {
3939
+ id: "Qwen/Qwen3-Coder-480B-A35B-Instruct",
3940
+ name: "Qwen3-Coder-480B-A35B-Instruct",
3941
+ match: {
3942
+ or: [
3943
+ {
3944
+ equals: "qwen/qwen3-coder-480b-a35b-instruct"
3945
+ },
3946
+ {
3947
+ equals: "qwen/qwen3-coder-480b-a35b-instruct-fast"
3948
+ }
3949
+ ]
3950
+ },
3951
+ context_window: 262144,
3952
+ prices: {
3953
+ input_mtok: 0.45,
3954
+ output_mtok: 1.8
3955
+ }
3956
+ },
3905
3957
  {
3906
3958
  id: "deepseek-ai/DeepSeek-R1-0528",
3907
3959
  name: "DeepSeek-R1-0528",
@@ -3978,25 +4030,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
3978
4030
  output_mtok: 0.6
3979
4031
  }
3980
4032
  },
3981
- {
3982
- id: "openai/gpt-oss-20b",
3983
- name: "gpt-oss-20b",
3984
- match: {
3985
- or: [
3986
- {
3987
- equals: "openai/gpt-oss-20b"
3988
- },
3989
- {
3990
- equals: "openai/gpt-oss-20b-fast"
3991
- }
3992
- ]
3993
- },
3994
- context_window: 131072,
3995
- prices: {
3996
- input_mtok: 0.05,
3997
- output_mtok: 0.2
3998
- }
3999
- },
4000
4033
  {
4001
4034
  id: "zai-org/GLM-4.5",
4002
4035
  name: "GLM-4.5",
@@ -4124,25 +4157,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
4124
4157
  input_mtok: 0.15,
4125
4158
  output_mtok: 0.75
4126
4159
  }
4127
- },
4128
- {
4129
- id: "openai/gpt-oss-20b",
4130
- name: "gpt-oss-20b",
4131
- match: {
4132
- or: [
4133
- {
4134
- equals: "openai/gpt-oss-20b"
4135
- },
4136
- {
4137
- equals: "openai/gpt-oss-20b-fast"
4138
- }
4139
- ]
4140
- },
4141
- context_window: 131072,
4142
- prices: {
4143
- input_mtok: 0.1,
4144
- output_mtok: 0.5
4145
- }
4146
4160
  }
4147
4161
  ]
4148
4162
  },
@@ -4518,25 +4532,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
4518
4532
  input_mtok: 0.3,
4519
4533
  output_mtok: 0.3
4520
4534
  }
4521
- },
4522
- {
4523
- id: "openai/gpt-oss-20b",
4524
- name: "gpt-oss-20b",
4525
- match: {
4526
- or: [
4527
- {
4528
- equals: "openai/gpt-oss-20b"
4529
- },
4530
- {
4531
- equals: "openai/gpt-oss-20b-fast"
4532
- }
4533
- ]
4534
- },
4535
- context_window: 131072,
4536
- prices: {
4537
- input_mtok: 0.1,
4538
- output_mtok: 0.1
4539
- }
4540
4535
  }
4541
4536
  ]
4542
4537
  },
@@ -5046,25 +5041,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
5046
5041
  output_mtok: 0.6
5047
5042
  }
5048
5043
  },
5049
- {
5050
- id: "openai/gpt-oss-20b",
5051
- name: "gpt-oss-20b",
5052
- match: {
5053
- or: [
5054
- {
5055
- equals: "openai/gpt-oss-20b"
5056
- },
5057
- {
5058
- equals: "openai/gpt-oss-20b-fast"
5059
- }
5060
- ]
5061
- },
5062
- context_window: 131072,
5063
- prices: {
5064
- input_mtok: 0.05,
5065
- output_mtok: 0.2
5066
- }
5067
- },
5068
5044
  {
5069
5045
  id: "zai-org/GLM-4.5",
5070
5046
  name: "GLM-4.5",
@@ -5535,6 +5511,25 @@ Compared to other leading proprietary and open-weights models Command A delivers
5535
5511
  output_mtok: 0.05
5536
5512
  }
5537
5513
  },
5514
+ {
5515
+ id: "XiaomiMiMo/MiMo-V2-Flash",
5516
+ name: "MiMo-V2-Flash",
5517
+ match: {
5518
+ or: [
5519
+ {
5520
+ equals: "xiaomimimo/mimo-v2-flash"
5521
+ },
5522
+ {
5523
+ equals: "xiaomimimo/mimo-v2-flash-fast"
5524
+ }
5525
+ ]
5526
+ },
5527
+ context_window: 262144,
5528
+ prices: {
5529
+ input_mtok: 0.098,
5530
+ output_mtok: 0.293
5531
+ }
5532
+ },
5538
5533
  {
5539
5534
  id: "alpindale/WizardLM-2-8x22B",
5540
5535
  name: "WizardLM-2-8x22B",
@@ -5712,6 +5707,25 @@ Compared to other leading proprietary and open-weights models Command A delivers
5712
5707
  output_mtok: 0.072
5713
5708
  }
5714
5709
  },
5710
+ {
5711
+ id: "deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
5712
+ name: "DeepSeek-R1-Distill-Llama-70B",
5713
+ match: {
5714
+ or: [
5715
+ {
5716
+ equals: "deepseek-ai/deepseek-r1-distill-llama-70b"
5717
+ },
5718
+ {
5719
+ equals: "deepseek-ai/deepseek-r1-distill-llama-70b-fast"
5720
+ }
5721
+ ]
5722
+ },
5723
+ context_window: 8192,
5724
+ prices: {
5725
+ input_mtok: 0.64,
5726
+ output_mtok: 0.64
5727
+ }
5728
+ },
5715
5729
  {
5716
5730
  id: "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B",
5717
5731
  name: "DeepSeek-R1-Distill-Qwen-14B",
@@ -5965,25 +5979,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
5965
5979
  output_mtok: 1.84
5966
5980
  }
5967
5981
  },
5968
- {
5969
- id: "moonshotai/Kimi-K2-Instruct-0905",
5970
- name: "Kimi-K2-Instruct-0905",
5971
- match: {
5972
- or: [
5973
- {
5974
- equals: "moonshotai/kimi-k2-instruct-0905"
5975
- },
5976
- {
5977
- equals: "moonshotai/kimi-k2-instruct-0905-fast"
5978
- }
5979
- ]
5980
- },
5981
- context_window: 262144,
5982
- prices: {
5983
- input_mtok: 0.48,
5984
- output_mtok: 2
5985
- }
5986
- },
5987
5982
  {
5988
5983
  id: "moonshotai/Kimi-K2-Thinking",
5989
5984
  name: "Kimi-K2-Thinking",
@@ -6022,25 +6017,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
6022
6017
  output_mtok: 0.2
6023
6018
  }
6024
6019
  },
6025
- {
6026
- id: "openai/gpt-oss-20b",
6027
- name: "gpt-oss-20b",
6028
- match: {
6029
- or: [
6030
- {
6031
- equals: "openai/gpt-oss-20b"
6032
- },
6033
- {
6034
- equals: "openai/gpt-oss-20b-fast"
6035
- }
6036
- ]
6037
- },
6038
- context_window: 131072,
6039
- prices: {
6040
- input_mtok: 0.032,
6041
- output_mtok: 0.12
6042
- }
6043
- },
6044
6020
  {
6045
6021
  id: "zai-org/AutoGLM-Phone-9B-Multilingual",
6046
6022
  name: "AutoGLM-Phone-9B-Multilingual",
@@ -6592,25 +6568,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
6592
6568
  input_mtok: 0.1,
6593
6569
  output_mtok: 0.4
6594
6570
  }
6595
- },
6596
- {
6597
- id: "openai/gpt-oss-20b",
6598
- name: "gpt-oss-20b",
6599
- match: {
6600
- or: [
6601
- {
6602
- equals: "openai/gpt-oss-20b"
6603
- },
6604
- {
6605
- equals: "openai/gpt-oss-20b-fast"
6606
- }
6607
- ]
6608
- },
6609
- context_window: 131072,
6610
- prices: {
6611
- input_mtok: 0.05,
6612
- output_mtok: 0.2
6613
- }
6614
6571
  }
6615
6572
  ]
6616
6573
  },
@@ -6683,6 +6640,25 @@ Compared to other leading proprietary and open-weights models Command A delivers
6683
6640
  output_mtok: 1.01
6684
6641
  }
6685
6642
  },
6643
+ {
6644
+ id: "Qwen/Qwen3-32B",
6645
+ name: "Qwen3-32B",
6646
+ match: {
6647
+ or: [
6648
+ {
6649
+ equals: "qwen/qwen3-32b"
6650
+ },
6651
+ {
6652
+ equals: "qwen/qwen3-32b-fast"
6653
+ }
6654
+ ]
6655
+ },
6656
+ context_window: 32768,
6657
+ prices: {
6658
+ input_mtok: 0.09,
6659
+ output_mtok: 0.25
6660
+ }
6661
+ },
6686
6662
  {
6687
6663
  id: "Qwen/Qwen3-Coder-30B-A3B-Instruct",
6688
6664
  name: "Qwen3-Coder-30B-A3B-Instruct",
@@ -6701,6 +6677,82 @@ Compared to other leading proprietary and open-weights models Command A delivers
6701
6677
  input_mtok: 0.07,
6702
6678
  output_mtok: 0.26
6703
6679
  }
6680
+ },
6681
+ {
6682
+ id: "deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
6683
+ name: "DeepSeek-R1-Distill-Llama-70B",
6684
+ match: {
6685
+ or: [
6686
+ {
6687
+ equals: "deepseek-ai/deepseek-r1-distill-llama-70b"
6688
+ },
6689
+ {
6690
+ equals: "deepseek-ai/deepseek-r1-distill-llama-70b-fast"
6691
+ }
6692
+ ]
6693
+ },
6694
+ context_window: 131072,
6695
+ prices: {
6696
+ input_mtok: 0.74,
6697
+ output_mtok: 0.74
6698
+ }
6699
+ },
6700
+ {
6701
+ id: "meta-llama/Llama-3.1-8B-Instruct",
6702
+ name: "Llama-3.1-8B-Instruct",
6703
+ match: {
6704
+ or: [
6705
+ {
6706
+ equals: "meta-llama/llama-3.1-8b-instruct"
6707
+ },
6708
+ {
6709
+ equals: "meta-llama/llama-3.1-8b-instruct-fast"
6710
+ }
6711
+ ]
6712
+ },
6713
+ context_window: 131072,
6714
+ prices: {
6715
+ input_mtok: 0.11,
6716
+ output_mtok: 0.11
6717
+ }
6718
+ },
6719
+ {
6720
+ id: "meta-llama/Llama-3.3-70B-Instruct",
6721
+ name: "Llama-3.3-70B-Instruct",
6722
+ match: {
6723
+ or: [
6724
+ {
6725
+ equals: "meta-llama/llama-3.3-70b-instruct"
6726
+ },
6727
+ {
6728
+ equals: "meta-llama/llama-3.3-70b-instruct-fast"
6729
+ }
6730
+ ]
6731
+ },
6732
+ context_window: 131072,
6733
+ prices: {
6734
+ input_mtok: 0.74,
6735
+ output_mtok: 0.74
6736
+ }
6737
+ },
6738
+ {
6739
+ id: "openai/gpt-oss-120b",
6740
+ name: "gpt-oss-120b",
6741
+ match: {
6742
+ or: [
6743
+ {
6744
+ equals: "openai/gpt-oss-120b"
6745
+ },
6746
+ {
6747
+ equals: "openai/gpt-oss-120b-fast"
6748
+ }
6749
+ ]
6750
+ },
6751
+ context_window: 131072,
6752
+ prices: {
6753
+ input_mtok: 0.09,
6754
+ output_mtok: 0.47
6755
+ }
6704
6756
  }
6705
6757
  ]
6706
6758
  },
@@ -7617,25 +7669,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
7617
7669
  output_mtok: 0.6
7618
7670
  }
7619
7671
  },
7620
- {
7621
- id: "openai/gpt-oss-20b",
7622
- name: "gpt-oss-20b",
7623
- match: {
7624
- or: [
7625
- {
7626
- equals: "openai/gpt-oss-20b"
7627
- },
7628
- {
7629
- equals: "openai/gpt-oss-20b-fast"
7630
- }
7631
- ]
7632
- },
7633
- context_window: 131072,
7634
- prices: {
7635
- input_mtok: 0.05,
7636
- output_mtok: 0.2
7637
- }
7638
- },
7639
7672
  {
7640
7673
  id: "zai-org/GLM-4.5-Air-FP8",
7641
7674
  name: "GLM-4.5-Air-FP8",
@@ -7936,7 +7969,8 @@ Compared to other leading proprietary and open-weights models Command A delivers
7936
7969
  prices: {
7937
7970
  input_mtok: 0.25,
7938
7971
  output_mtok: 0.25
7939
- }
7972
+ },
7973
+ deprecated: !0
7940
7974
  },
7941
7975
  {
7942
7976
  id: "mixtral-8x22b-instruct",
@@ -16095,24 +16129,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
16095
16129
  }
16096
16130
  ],
16097
16131
  models: [
16098
- {
16099
- id: "BGE-M3",
16100
- name: "BGE-M3",
16101
- match: {
16102
- or: [
16103
- {
16104
- equals: "BGE-M3"
16105
- },
16106
- {
16107
- equals: "bge-m3"
16108
- }
16109
- ]
16110
- },
16111
- context_window: 8192,
16112
- prices: {
16113
- input_mtok: 0.01
16114
- }
16115
- },
16116
16132
  {
16117
16133
  id: "DeepSeek-R1-Distill-Llama-70B",
16118
16134
  name: "DeepSeek-R1-Distill-Llama-70B",
@@ -16352,6 +16368,17 @@ Compared to other leading proprietary and open-weights models Command A delivers
16352
16368
  input_mtok: 0.01
16353
16369
  }
16354
16370
  },
16371
+ {
16372
+ id: "bge-m3",
16373
+ name: "bge-m3",
16374
+ match: {
16375
+ equals: "bge-m3"
16376
+ },
16377
+ context_window: 8192,
16378
+ prices: {
16379
+ input_mtok: 0.01
16380
+ }
16381
+ },
16355
16382
  {
16356
16383
  id: "bge-multilingual-gemma2",
16357
16384
  name: "bge-multilingual-gemma2",
@@ -17369,7 +17396,8 @@ Compared to other leading proprietary and open-weights models Command A delivers
17369
17396
  prices: {
17370
17397
  input_mtok: 2,
17371
17398
  output_mtok: 10
17372
- }
17399
+ },
17400
+ deprecated: !0
17373
17401
  },
17374
17402
  {
17375
17403
  id: "grok-2-vision-1212",
@@ -17631,7 +17659,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
17631
17659
  ]
17632
17660
  }
17633
17661
  ];
17634
- function L(e, t, i) {
17662
+ function y(e, t, i) {
17635
17663
  if (t <= 0) return 0;
17636
17664
  let a = e.base;
17637
17665
  for (const o of e.tiers)
@@ -17639,7 +17667,7 @@ function L(e, t, i) {
17639
17667
  return a * t / 1e6;
17640
17668
  }
17641
17669
  function l(e, t, i, a) {
17642
- return e === void 0 || t === void 0 ? 0 : typeof e == "number" ? e * t / 1e6 : L(e, t, a);
17670
+ return e === void 0 || t === void 0 ? 0 : typeof e == "number" ? e * t / 1e6 : y(e, t, a);
17643
17671
  }
17644
17672
  function Q(e, t) {
17645
17673
  let i = 0, a = 0;
@@ -17736,10 +17764,10 @@ function N(e) {
17736
17764
  setProviderData: G
17737
17765
  });
17738
17766
  }
17739
- function E() {
17767
+ function V() {
17740
17768
  return f;
17741
17769
  }
17742
- function V(e, t, i) {
17770
+ function E(e, t, i) {
17743
17771
  v?.();
17744
17772
  let a = t.toLowerCase().trim(), o = i?.providerId;
17745
17773
  if (o && o.toLowerCase() === "litellm" && a.includes("/")) {
@@ -17772,9 +17800,9 @@ function F(e, t, i) {
17772
17800
  }
17773
17801
  if (!q.guard(t))
17774
17802
  throw new Error(`Expected response data to be a mapping object, got ${d(t)}`);
17775
- const o = w(a.model_path, t, z, !1, []), s = y(a.root), m = w(s, t, q, !0, []), n = {};
17803
+ const o = w(a.model_path, t, C, !1, []), s = L(a.root), m = w(s, t, q, !0, []), n = {};
17776
17804
  for (const r of a.mappings) {
17777
- const u = w(r.path, m, C, r.required, s);
17805
+ const u = w(r.path, m, z, r.required, s);
17778
17806
  if (u !== null) {
17779
17807
  const p = n[r.dest] ?? 0;
17780
17808
  n[r.dest] = p + u;
@@ -17785,7 +17813,7 @@ function F(e, t, i) {
17785
17813
  return { model: o, usage: n };
17786
17814
  }
17787
17815
  function w(e, t, i, a, o) {
17788
- const [s, ...m] = y(e).reverse();
17816
+ const [s, ...m] = L(e).reverse();
17789
17817
  if (typeof s != "string")
17790
17818
  throw new Error(`Expected last step of path to be a string, got ${d(s)}`);
17791
17819
  m.reverse();
@@ -17839,7 +17867,7 @@ function D(e, t) {
17839
17867
  return i;
17840
17868
  }
17841
17869
  }
17842
- function y(e) {
17870
+ function L(e) {
17843
17871
  return Array.isArray(e) ? [...e] : [e];
17844
17872
  }
17845
17873
  function d(e) {
@@ -17848,10 +17876,10 @@ function d(e) {
17848
17876
  const q = {
17849
17877
  guard: (e) => d(e) === "mapping",
17850
17878
  name: "mapping"
17851
- }, z = {
17879
+ }, C = {
17852
17880
  guard: (e) => typeof e == "string",
17853
17881
  name: "string"
17854
- }, C = {
17882
+ }, z = {
17855
17883
  guard: (e) => typeof e == "number",
17856
17884
  name: "number"
17857
17885
  }, k = (e, t) => [...e.map(B), ...t.map(B)].join("."), B = (e) => typeof e == "string" ? e : JSON.stringify(e);
@@ -17865,9 +17893,9 @@ class j {
17865
17893
  export {
17866
17894
  A as REMOTE_DATA_JSON_URL,
17867
17895
  j as TieredPrices,
17868
- V as calcPrice,
17896
+ E as calcPrice,
17869
17897
  F as extractUsage,
17870
17898
  O as findProvider,
17871
17899
  N as updatePrices,
17872
- E as waitForUpdate
17900
+ V as waitForUpdate
17873
17901
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pydantic/genai-prices",
3
- "version": "0.0.53",
3
+ "version": "0.0.54",
4
4
  "description": "Calculate prices for calling LLM inference APIs",
5
5
  "author": "Pydantic Team",
6
6
  "type": "module",