metergraph-core 0.2.23__tar.gz → 0.2.26__tar.gz

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metergraph-core
3
- Version: 0.2.23
3
+ Version: 0.2.26
4
4
  Summary: Reusable MeterGraph catalog and deterministic billing engine
5
5
  License-Expression: Apache-2.0
6
6
  Requires-Python: >=3.10
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "metergraph-core"
3
- version = "0.2.23"
3
+ version = "0.2.26"
4
4
  description = "Reusable MeterGraph catalog and deterministic billing engine"
5
5
  readme = "README.md"
6
6
  license = "Apache-2.0"
@@ -6,6 +6,7 @@ from .catalog import (
6
6
  CostResult,
7
7
  Price,
8
8
  ResolvedPrice,
9
+ counts_cache_read_in_input,
9
10
  direct_channel_for_provider,
10
11
  )
11
12
  from .billing import (
@@ -40,6 +41,7 @@ __all__ = [
40
41
  "RetrievalCatalog",
41
42
  "RetrievalCostResult",
42
43
  "RetrievalPrice",
44
+ "counts_cache_read_in_input",
43
45
  "direct_channel_for_provider",
44
46
  "load_catalog",
45
47
  "normalize_gateway_evidence",
@@ -34,9 +34,64 @@ _DIRECT_CHANNEL_BY_PROVIDER = {
34
34
  "deepseek": "deepseek-api",
35
35
  "perplexity-ai": "perplexity-api",
36
36
  "x-ai": "xai-api",
37
+ "alibaba": "alibaba-api",
38
+ "amazon": "amazon-api",
39
+ "meta": "meta-api",
40
+ "minimax": "minimax-api",
41
+ "mistral": "mistral-api",
42
+ "moonshotai": "moonshot-api",
43
+ "zai": "zai-api",
37
44
  }
38
45
 
39
46
 
47
+ # How a call reports cached tokens is set by whoever serves the model, so the
48
+ # default is keyed on (publisher, channel) rather than the channel alone.
49
+ # OpenAI's `prompt_tokens`, Google's `promptTokenCount`, DeepSeek's and xAI's
50
+ # `prompt_tokens` all include the cached tokens they also report separately, so
51
+ # a row on these pairs must deduct them before applying the input rate. Without
52
+ # it a cached token is billed at the input rate and again at the cache-read
53
+ # rate -- several times the real cost on a cache-heavy workload, and enough to
54
+ # reorder a customer's spend ranking.
55
+ #
56
+ # A channel alone cannot decide this: google-vertex-ai serves Anthropic's
57
+ # models beside Google's, and Claude on Vertex keeps Anthropic's usage shape,
58
+ # where input_tokens already excludes cache reads. Deducting there overcharges
59
+ # in the opposite direction -- the same defect this default exists to remove.
60
+ # Anthropic and Bedrock are absent by design; a gateway channel depends on the
61
+ # provider behind it and states its own rules per row.
62
+ _INPUT_INCLUDES_CACHE_READ_PAIRS = frozenset({
63
+ ("openai", "openai-api"),
64
+ ("google", "google-api"),
65
+ ("google", "google-vertex-ai"),
66
+ ("deepseek", "deepseek-api"),
67
+ ("xai", "xai-api"),
68
+ })
69
+
70
+
71
+ def counts_cache_read_in_input(
72
+ publisher: Any, channel: Any, rules: Mapping[str, Any]
73
+ ) -> bool:
74
+ """Whether cache reads have to come out of billable input for this row.
75
+
76
+ A row states the answer when it differs from its publisher's behaviour on
77
+ that channel -- a gateway serving one of these providers, or a provider
78
+ that changes how it counts. Otherwise the (publisher, channel) pair
79
+ decides, because a catalog author has no way to know which providers report
80
+ cached tokens inside the input total.
81
+
82
+ An unknown publisher defaults to no deduction: over-billing a cached token
83
+ twice is the failure this exists to prevent, so a row we cannot place
84
+ keeps the arithmetic it had before.
85
+ """
86
+ stated = rules.get("input_includes_cache_read")
87
+ if stated is not None:
88
+ return bool(stated)
89
+ if not isinstance(publisher, str) or not isinstance(channel, str):
90
+ return False
91
+ pair = (publisher.strip().lower(), channel.strip().lower())
92
+ return pair in _INPUT_INCLUDES_CACHE_READ_PAIRS
93
+
94
+
40
95
  def _normalize_provider(provider: str) -> str:
41
96
  """Fold a provider spelling through metergraph-core's provider-alias map
42
97
  (e.g. ``aws``/``amazon-bedrock`` -> ``bedrock``, ``google-genai`` ->
@@ -94,6 +149,10 @@ class Price:
94
149
  effective_from: datetime
95
150
  effective_to: datetime | None
96
151
  source_url: str
152
+ # The catalog's publisher for the model this row prices. A channel does not
153
+ # imply one: google-vertex-ai serves Anthropic's models beside Google's,
154
+ # and the two report cache reads differently.
155
+ publisher: str | None = None
97
156
 
98
157
 
99
158
  @dataclass(frozen=True, slots=True)
@@ -167,7 +226,7 @@ def _price_tokens(
167
226
 
168
227
  billable_input = input_count
169
228
  deducted_input = 0
170
- if rules.get("input_includes_cache_read"):
229
+ if counts_cache_read_in_input(price.publisher, price.pricing_channel, rules):
171
230
  if cache_read_count > input_count:
172
231
  reasons.append("cache_read_exceeds_input")
173
232
  deducted_input = input_count
@@ -6,9 +6,9 @@
6
6
  #
7
7
  # Community updates welcome: add an alias or price entry with its provider
8
8
  # source_url and open a PR. CI validates structure and date overlaps.
9
- version: "2026-09-12"
9
+ version: "2026-09-18"
10
10
  currency: USD
11
- pricing_verified_at: "2026-09-12"
11
+ pricing_verified_at: "2026-09-18"
12
12
  models:
13
13
  - canonical_id: openai/gpt-5.6-sol
14
14
  publisher: openai
@@ -232,6 +232,7 @@ models:
232
232
  - {provider: openai, alias: gpt-5.4, channel: openai-api}
233
233
  - {provider: openai, alias: gpt-5.4-2026-03-05, channel: openai-api}
234
234
  - {provider: openai, alias: openai/gpt-5.4, channel: openai-api}
235
+ - {provider: vercel, alias: openai/gpt-5.4, channel: vercel-ai-gateway}
235
236
  prices:
236
237
  - channel: openai-api
237
238
  region: global
@@ -246,6 +247,13 @@ models:
246
247
  long_context: {threshold: 272000, input_multiplier: 2, output_multiplier: 1.5}
247
248
  source_url: https://developers.openai.com/api/docs/models/gpt-5.4
248
249
 
250
+ - channel: vercel-ai-gateway
251
+ region: global
252
+ effective_from: "2026-03-05"
253
+ input_per_mtok: 2.5
254
+ output_per_mtok: 15.0
255
+ cache_read_per_mtok: 0.25
256
+ source_url: https://ai-gateway.vercel.sh/v1/models
249
257
  - canonical_id: openai/gpt-5.4-nano
250
258
  publisher: openai
251
259
  aliases:
@@ -319,6 +327,7 @@ models:
319
327
  - {provider: openai, alias: gpt-4.1, channel: openai-api}
320
328
  - {provider: openai, alias: gpt-4.1-2025-04-14, channel: openai-api}
321
329
  - {provider: openai, alias: openai/gpt-4.1, channel: openai-api}
330
+ - {provider: vercel, alias: openai/gpt-4.1, channel: vercel-ai-gateway}
322
331
  prices:
323
332
  - channel: openai-api
324
333
  region: global
@@ -332,6 +341,13 @@ models:
332
341
  input_includes_cache_read: true
333
342
  source_url: https://developers.openai.com/api/docs/models/gpt-4.1
334
343
 
344
+ - channel: vercel-ai-gateway
345
+ region: global
346
+ effective_from: "2025-04-14"
347
+ input_per_mtok: 2.0
348
+ output_per_mtok: 8.0
349
+ cache_read_per_mtok: 0.5
350
+ source_url: https://ai-gateway.vercel.sh/v1/models
335
351
  - canonical_id: openai/gpt-4.1-mini
336
352
  publisher: openai
337
353
  aliases:
@@ -396,6 +412,7 @@ models:
396
412
  - {provider: anthropic, alias: anthropic/claude-fable-5, channel: anthropic-api}
397
413
  - {provider: bedrock, alias: us.anthropic.claude-fable-5, channel: aws-bedrock}
398
414
  - {provider: bedrock, alias: anthropic.claude-fable-5, channel: aws-bedrock}
415
+ - {provider: vercel, alias: anthropic/claude-fable-5, channel: vercel-ai-gateway}
399
416
  prices:
400
417
  - channel: anthropic-api
401
418
  region: global
@@ -420,6 +437,14 @@ models:
420
437
  batch_output_per_mtok: 25.00
421
438
  source_url: https://aws.amazon.com/bedrock/pricing/
422
439
 
440
+ - channel: vercel-ai-gateway
441
+ region: global
442
+ effective_from: "2026-06-09"
443
+ input_per_mtok: 10.0
444
+ output_per_mtok: 50.0
445
+ cache_read_per_mtok: 1.0
446
+ cache_write_5m_per_mtok: 12.5
447
+ source_url: https://ai-gateway.vercel.sh/v1/models
423
448
  - canonical_id: anthropic/claude-opus-5
424
449
  publisher: anthropic
425
450
  aliases:
@@ -428,6 +453,9 @@ models:
428
453
  alias: anthropic/claude-opus-5
429
454
  channel: vercel-ai-gateway
430
455
  rules: {input_includes_cache_read: true, input_includes_cache_write: true}
456
+ - {provider: bedrock, alias: anthropic.claude-opus-5, channel: aws-bedrock}
457
+ - {provider: bedrock, alias: global.anthropic.claude-opus-5, channel: aws-bedrock}
458
+ - {provider: bedrock, alias: us.anthropic.claude-opus-5, channel: aws-bedrock-geo}
431
459
  prices:
432
460
  - channel: anthropic-api
433
461
  region: global
@@ -449,6 +477,28 @@ models:
449
477
  cache_write_5m_per_mtok: 6.25
450
478
  source_url: https://ai-gateway.vercel.sh/v1/models
451
479
 
480
+ - channel: aws-bedrock
481
+ region: global
482
+ effective_from: "2026-07-24"
483
+ input_per_mtok: 5.0
484
+ output_per_mtok: 25.0
485
+ cache_read_per_mtok: 0.5
486
+ cache_write_5m_per_mtok: 6.25
487
+ cache_write_1h_per_mtok: 10.0
488
+ batch_input_per_mtok: 2.5
489
+ batch_output_per_mtok: 12.5
490
+ source_url: https://ai-gateway.vercel.sh/v1/models
491
+ - channel: aws-bedrock-geo
492
+ region: global
493
+ effective_from: "2026-07-24"
494
+ input_per_mtok: 5.5
495
+ output_per_mtok: 27.5
496
+ cache_read_per_mtok: 0.55
497
+ cache_write_5m_per_mtok: 6.875
498
+ cache_write_1h_per_mtok: 11.0
499
+ batch_input_per_mtok: 2.75
500
+ batch_output_per_mtok: 13.75
501
+ source_url: https://ai-gateway.vercel.sh/v1/models
452
502
  - canonical_id: anthropic/claude-opus-4.8
453
503
  publisher: anthropic
454
504
  aliases:
@@ -519,6 +569,7 @@ models:
519
569
  - {provider: anthropic, alias: claude-opus-4-6, channel: anthropic-api}
520
570
  - {provider: anthropic, alias: anthropic/claude-opus-4.6, channel: anthropic-api}
521
571
  - {provider: vertex-ai, alias: claude-opus-4-6, channel: google-vertex-ai}
572
+ - {provider: vercel, alias: anthropic/claude-opus-4.6, channel: vercel-ai-gateway}
522
573
  prices:
523
574
  - channel: anthropic-api
524
575
  region: global
@@ -543,6 +594,14 @@ models:
543
594
  batch_output_per_mtok: 13.75
544
595
  source_url: https://cloud.google.com/gemini-enterprise-agent-platform/generative-ai/pricing
545
596
 
597
+ - channel: vercel-ai-gateway
598
+ region: global
599
+ effective_from: "2026-02-05"
600
+ input_per_mtok: 5.0
601
+ output_per_mtok: 25.0
602
+ cache_read_per_mtok: 0.5
603
+ cache_write_5m_per_mtok: 6.25
604
+ source_url: https://ai-gateway.vercel.sh/v1/models
546
605
  - canonical_id: anthropic/claude-sonnet-5
547
606
  publisher: anthropic
548
607
  aliases:
@@ -624,6 +683,18 @@ models:
624
683
  alias: anthropic/claude-sonnet-4.6
625
684
  channel: vercel-ai-gateway
626
685
  rules: {input_includes_cache_read: true, input_includes_cache_write: true}
686
+ - {provider: bedrock, alias: anthropic.claude-sonnet-4-6, channel: aws-bedrock}
687
+ - {provider: bedrock, alias: bedrock/anthropic.claude-sonnet-4-6, channel: aws-bedrock}
688
+ - {provider: bedrock, alias: bedrock/global.anthropic.claude-sonnet-4-6, channel: aws-bedrock}
689
+ - {provider: bedrock, alias: global.anthropic.claude-sonnet-4-6, channel: aws-bedrock}
690
+ - {provider: bedrock, alias: au.anthropic.claude-sonnet-4-6, channel: aws-bedrock-geo}
691
+ - {provider: bedrock, alias: bedrock/au.anthropic.claude-sonnet-4-6, channel: aws-bedrock-geo}
692
+ - {provider: bedrock, alias: bedrock/eu.anthropic.claude-sonnet-4-6, channel: aws-bedrock-geo}
693
+ - {provider: bedrock, alias: bedrock/jp.anthropic.claude-sonnet-4-6, channel: aws-bedrock-geo}
694
+ - {provider: bedrock, alias: bedrock/us.anthropic.claude-sonnet-4-6, channel: aws-bedrock-geo}
695
+ - {provider: bedrock, alias: eu.anthropic.claude-sonnet-4-6, channel: aws-bedrock-geo}
696
+ - {provider: bedrock, alias: jp.anthropic.claude-sonnet-4-6, channel: aws-bedrock-geo}
697
+ - {provider: bedrock, alias: us.anthropic.claude-sonnet-4-6, channel: aws-bedrock-geo}
627
698
  prices:
628
699
  - channel: anthropic-api
629
700
  region: global
@@ -645,12 +716,35 @@ models:
645
716
  cache_write_5m_per_mtok: 3.75
646
717
  source_url: https://vercel.com/ai-gateway/models/claude-sonnet-4.6/providers
647
718
 
719
+ - channel: aws-bedrock
720
+ region: global
721
+ effective_from: "2026-02-17"
722
+ input_per_mtok: 3.0
723
+ output_per_mtok: 15.0
724
+ cache_read_per_mtok: 0.3
725
+ cache_write_5m_per_mtok: 3.75
726
+ cache_write_1h_per_mtok: 6.0
727
+ batch_input_per_mtok: 1.5
728
+ batch_output_per_mtok: 7.5
729
+ source_url: https://ai-gateway.vercel.sh/v1/models
730
+ - channel: aws-bedrock-geo
731
+ region: global
732
+ effective_from: "2026-02-17"
733
+ input_per_mtok: 3.3
734
+ output_per_mtok: 16.5
735
+ cache_read_per_mtok: 0.33
736
+ cache_write_5m_per_mtok: 4.125
737
+ cache_write_1h_per_mtok: 6.6
738
+ batch_input_per_mtok: 1.65
739
+ batch_output_per_mtok: 8.25
740
+ source_url: https://ai-gateway.vercel.sh/v1/models
648
741
  - canonical_id: anthropic/claude-sonnet-4.5
649
742
  publisher: anthropic
650
743
  aliases:
651
744
  - {provider: anthropic, alias: claude-sonnet-4-5, channel: anthropic-api}
652
745
  - {provider: anthropic, alias: claude-sonnet-4-5-20250929, channel: anthropic-api}
653
746
  - {provider: anthropic, alias: anthropic/claude-sonnet-4.5, channel: anthropic-api}
747
+ - {provider: vercel, alias: anthropic/claude-sonnet-4.5, channel: vercel-ai-gateway}
654
748
  prices:
655
749
  - channel: anthropic-api
656
750
  region: global
@@ -664,6 +758,14 @@ models:
664
758
  batch_output_per_mtok: 7.50
665
759
  source_url: https://platform.claude.com/docs/en/about-claude/pricing
666
760
 
761
+ - channel: vercel-ai-gateway
762
+ region: global
763
+ effective_from: "2025-09-29"
764
+ input_per_mtok: 3.0
765
+ output_per_mtok: 15.0
766
+ cache_read_per_mtok: 0.3
767
+ cache_write_5m_per_mtok: 3.75
768
+ source_url: https://ai-gateway.vercel.sh/v1/models
667
769
  - canonical_id: google/gemini-3-pro
668
770
  publisher: google
669
771
  aliases:
@@ -733,6 +835,7 @@ models:
733
835
  - {provider: vertex-ai, alias: gemini-3.5-flash, channel: google-vertex-ai}
734
836
  - {provider: google, alias: gemini-3.5-flash, channel: google-api}
735
837
  - {provider: google, alias: models/gemini-3.5-flash, channel: google-api}
838
+ - {provider: google, alias: google/gemini-3.5-flash, channel: vercel-ai-gateway, rules: {"input_includes_cache_read": true, "input_includes_cache_write": true}}
736
839
  prices:
737
840
  # Direct API and Vertex list the same rate for this model.
738
841
  - channel: google-api
@@ -755,6 +858,13 @@ models:
755
858
  source_url: https://cloud.google.com/gemini-enterprise-agent-platform/generative-ai/pricing
756
859
 
757
860
  # Direct API only: no Vertex rate is published for this model.
861
+ - channel: vercel-ai-gateway
862
+ region: global
863
+ effective_from: "2026-05-19"
864
+ input_per_mtok: 1.5
865
+ output_per_mtok: 9.0
866
+ cache_read_per_mtok: 0.15
867
+ source_url: https://ai-gateway.vercel.sh/v1/models
758
868
  - canonical_id: google/gemini-3.5-flash-lite
759
869
  publisher: google
760
870
  aliases:
@@ -774,19 +884,27 @@ models:
774
884
  aliases:
775
885
  - {provider: google, alias: gemini-2.5-pro, channel: google-api}
776
886
  - {provider: google, alias: models/gemini-2.5-pro, channel: google-api}
887
+ - {provider: google, alias: google/gemini-2.5-pro, channel: vercel-ai-gateway, rules: {"input_includes_cache_read": true, "input_includes_cache_write": true}}
777
888
  prices:
778
889
  - channel: google-api
779
890
  region: global
780
891
  effective_from: "2025-06-17"
781
892
  input_per_mtok: 1.25
782
893
  output_per_mtok: 10.00
783
- cache_read_per_mtok: 0.31
894
+ cache_read_per_mtok: 0.125
784
895
  batch_input_per_mtok: 0.625
785
896
  batch_output_per_mtok: 5.00
786
897
  rules:
787
898
  long_context: {threshold: 200000, input_multiplier: 2, output_multiplier: 1.5}
788
899
  source_url: https://ai.google.dev/gemini-api/docs/pricing
789
900
 
901
+ - channel: vercel-ai-gateway
902
+ region: global
903
+ effective_from: "2025-06-17"
904
+ input_per_mtok: 1.25
905
+ output_per_mtok: 10.0
906
+ cache_read_per_mtok: 0.125
907
+ source_url: https://ai-gateway.vercel.sh/v1/models
790
908
  - canonical_id: google/gemini-2.5-flash
791
909
  publisher: google
792
910
  aliases:
@@ -802,7 +920,7 @@ models:
802
920
  effective_from: "2025-06-17"
803
921
  input_per_mtok: 0.30
804
922
  output_per_mtok: 2.50
805
- cache_read_per_mtok: 0.075
923
+ cache_read_per_mtok: 0.03
806
924
  batch_input_per_mtok: 0.15
807
925
  batch_output_per_mtok: 1.25
808
926
  source_url: https://ai.google.dev/gemini-api/docs/pricing
@@ -845,17 +963,25 @@ models:
845
963
  - {provider: litellm, alias: models/gemini-flash-lite-latest, channel: google-api}
846
964
  - {provider: litellm, alias: google/gemini-flash-lite-latest, channel: google-api}
847
965
  - {provider: litellm, alias: google/models/gemini-flash-lite-latest, channel: google-api}
966
+ - {provider: google, alias: google/gemini-2.5-flash-lite, channel: vercel-ai-gateway, rules: {"input_includes_cache_read": true, "input_includes_cache_write": true}}
848
967
  prices:
849
968
  - channel: google-api
850
969
  region: global
851
970
  effective_from: "2025-07-22"
852
971
  input_per_mtok: 0.10
853
972
  output_per_mtok: 0.40
854
- cache_read_per_mtok: 0.025
973
+ cache_read_per_mtok: 0.01
855
974
  batch_input_per_mtok: 0.05
856
975
  batch_output_per_mtok: 0.20
857
976
  source_url: https://ai.google.dev/gemini-api/docs/pricing
858
977
 
978
+ - channel: vercel-ai-gateway
979
+ region: global
980
+ effective_from: "2025-07-22"
981
+ input_per_mtok: 0.1
982
+ output_per_mtok: 0.4
983
+ cache_read_per_mtok: 0.01
984
+ source_url: https://ai-gateway.vercel.sh/v1/models
859
985
  - canonical_id: google/gemma-4-26b-a4b-it
860
986
  publisher: google
861
987
  aliases:
@@ -917,6 +1043,7 @@ models:
917
1043
  alias: meta/muse-spark-1.1
918
1044
  channel: vercel-ai-gateway
919
1045
  rules: {input_includes_cache_read: true, input_includes_cache_write: true}
1046
+ - {provider: litellm, alias: muse-spark-1.1, channel: meta-api}
920
1047
  prices:
921
1048
  - channel: vercel-ai-gateway
922
1049
  region: global
@@ -926,10 +1053,20 @@ models:
926
1053
  cache_read_per_mtok: 0.15
927
1054
  source_url: https://ai-gateway.vercel.sh/v1/models
928
1055
 
1056
+ - channel: meta-api
1057
+ region: global
1058
+ effective_from: "2026-07-09"
1059
+ input_per_mtok: 1.25
1060
+ output_per_mtok: 4.25
1061
+ cache_read_per_mtok: 0.15
1062
+ source_url: https://dev.meta.ai/docs/pricing-rate-limits
929
1063
  - canonical_id: mistral/mistral-large-3
930
1064
  publisher: mistral
931
1065
  aliases:
932
1066
  - {provider: bedrock, alias: mistral.mistral-large-3-675b-instruct, channel: aws-bedrock}
1067
+ - {provider: litellm, alias: mistral-large-3, channel: mistral-api}
1068
+ - {provider: mistral, alias: mistral-large-latest, channel: mistral-api}
1069
+ - {provider: mistral, alias: mistral/mistral-large-3, channel: vercel-ai-gateway, rules: {"input_includes_cache_read": true, "input_includes_cache_write": true}}
933
1070
  prices:
934
1071
  - channel: aws-bedrock
935
1072
  region: us-west-2
@@ -938,10 +1075,24 @@ models:
938
1075
  output_per_mtok: 1.50
939
1076
  source_url: https://aws.amazon.com/bedrock/pricing/
940
1077
 
1078
+ - channel: mistral-api
1079
+ region: global
1080
+ effective_from: "2025-12-02"
1081
+ input_per_mtok: 0.5
1082
+ output_per_mtok: 1.5
1083
+ source_url: https://mistral.ai/pricing/api
1084
+ - channel: vercel-ai-gateway
1085
+ region: global
1086
+ effective_from: "2025-12-02"
1087
+ input_per_mtok: 0.5
1088
+ output_per_mtok: 1.5
1089
+ cache_read_per_mtok: 0.05
1090
+ source_url: https://ai-gateway.vercel.sh/v1/models
941
1091
  - canonical_id: deepseek/v3.2
942
1092
  publisher: deepseek
943
1093
  aliases:
944
1094
  - {provider: bedrock, alias: deepseek.v3.2, channel: aws-bedrock}
1095
+ - {provider: deepseek, alias: deepseek/deepseek-v3.2, channel: vercel-ai-gateway, rules: {"input_includes_cache_read": true, "input_includes_cache_write": true}}
945
1096
  prices:
946
1097
  - channel: aws-bedrock
947
1098
  region: us-west-2
@@ -950,6 +1101,12 @@ models:
950
1101
  output_per_mtok: 1.85
951
1102
  source_url: https://aws.amazon.com/bedrock/pricing/
952
1103
 
1104
+ - channel: vercel-ai-gateway
1105
+ region: global
1106
+ effective_from: "2025-12-01"
1107
+ input_per_mtok: 0.62
1108
+ output_per_mtok: 1.85
1109
+ source_url: https://ai-gateway.vercel.sh/v1/models
953
1110
  - canonical_id: deepseek/v3.1
954
1111
  publisher: deepseek
955
1112
  aliases:
@@ -1037,6 +1194,7 @@ models:
1037
1194
  - {provider: x-ai, alias: grok-4.3-latest, channel: xai-api}
1038
1195
  - {provider: x-ai, alias: grok-latest, channel: xai-api}
1039
1196
  - {provider: bedrock, alias: xai.grok-4.3, channel: aws-bedrock}
1197
+ - {provider: vercel, alias: spacexai/grok-4.3, channel: vercel-ai-gateway}
1040
1198
  prices:
1041
1199
  - channel: xai-api
1042
1200
  region: global
@@ -1062,6 +1220,15 @@ models:
1062
1220
  input_includes_cache_read: true
1063
1221
  source_url: https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-xai-grok-4-3.html
1064
1222
 
1223
+ - channel: vercel-ai-gateway
1224
+ region: global
1225
+ effective_from: "2026-04-30"
1226
+ input_per_mtok: 1.25
1227
+ output_per_mtok: 2.5
1228
+ cache_read_per_mtok: 0.2
1229
+ rules:
1230
+ long_context: {threshold: 200000, input_multiplier: 2.0, output_multiplier: 2.0}
1231
+ source_url: https://ai-gateway.vercel.sh/v1/models
1065
1232
  - canonical_id: perplexity/sonar
1066
1233
  publisher: perplexity
1067
1234
  aliases:
@@ -1184,6 +1351,9 @@ models:
1184
1351
  alias: google/gemini-3.7-flash
1185
1352
  channel: vercel-ai-gateway
1186
1353
  rules: {input_includes_cache_read: true}
1354
+ - {provider: google, alias: gemini-3.7-flash, channel: google-api}
1355
+ - {provider: google, alias: google/models/gemini-3.7-flash, channel: google-api}
1356
+ - {provider: google, alias: models/gemini-3.7-flash, channel: google-api}
1187
1357
  prices:
1188
1358
  - channel: vercel-ai-gateway
1189
1359
  region: global
@@ -1193,6 +1363,13 @@ models:
1193
1363
  cache_read_per_mtok: 0.075
1194
1364
  source_url: https://ai-gateway.vercel.sh/v1/models
1195
1365
 
1366
+ - channel: google-api
1367
+ region: global
1368
+ effective_from: "2026-08-18"
1369
+ input_per_mtok: 0.75
1370
+ output_per_mtok: 3.75
1371
+ cache_read_per_mtok: 0.075
1372
+ source_url: https://ai-gateway.vercel.sh/v1/models
1196
1373
  - canonical_id: google/gemini-3.8-flash
1197
1374
  publisher: google
1198
1375
  aliases:
@@ -1324,6 +1501,9 @@ models:
1324
1501
  alias: zai/glm-5.2
1325
1502
  channel: vercel-ai-gateway
1326
1503
  rules: {input_includes_cache_read: true}
1504
+ - {provider: litellm, alias: glm-5.2, channel: zai-api}
1505
+ - {provider: litellm, alias: glm-5p2, channel: zai-api}
1506
+ - {provider: zai, alias: zai/glm-5p2, channel: zai-api}
1327
1507
  prices:
1328
1508
  - channel: vercel-ai-gateway
1329
1509
  region: global
@@ -1333,6 +1513,13 @@ models:
1333
1513
  cache_read_per_mtok: 0.16
1334
1514
  source_url: https://ai-gateway.vercel.sh/v1/models
1335
1515
 
1516
+ - channel: zai-api
1517
+ region: global
1518
+ effective_from: "2026-08-01"
1519
+ input_per_mtok: 1.4
1520
+ output_per_mtok: 4.4
1521
+ cache_read_per_mtok: 0.26
1522
+ source_url: https://docs.z.ai/guides/overview/pricing
1336
1523
  - canonical_id: moonshotai/kimi-k3
1337
1524
  publisher: moonshotai
1338
1525
  aliases:
@@ -1340,6 +1527,7 @@ models:
1340
1527
  alias: moonshotai/kimi-k3
1341
1528
  channel: vercel-ai-gateway
1342
1529
  rules: {input_includes_cache_read: true}
1530
+ - {provider: litellm, alias: kimi-k3, channel: moonshot-api}
1343
1531
  prices:
1344
1532
  - channel: vercel-ai-gateway
1345
1533
  region: global
@@ -1357,6 +1545,13 @@ models:
1357
1545
  cache_read_per_mtok: 0.30
1358
1546
  source_url: https://vercel.com/ai-gateway/models/kimi-k3/providers
1359
1547
 
1548
+ - channel: moonshot-api
1549
+ region: global
1550
+ effective_from: "2026-07-16"
1551
+ input_per_mtok: 3.0
1552
+ output_per_mtok: 15.0
1553
+ cache_read_per_mtok: 0.3
1554
+ source_url: https://platform.kimi.ai/docs/pricing/chat
1360
1555
  - canonical_id: moonshotai/kimi-k2.5
1361
1556
  publisher: moonshotai
1362
1557
  aliases:
@@ -1389,6 +1584,7 @@ models:
1389
1584
  alias: minimax/minimax-m3
1390
1585
  channel: vercel-ai-gateway
1391
1586
  rules: {input_includes_cache_read: true}
1587
+ - {provider: litellm, alias: minimax-m3, channel: minimax-api}
1392
1588
  prices:
1393
1589
  - channel: vercel-ai-gateway
1394
1590
  region: global
@@ -1398,6 +1594,15 @@ models:
1398
1594
  cache_read_per_mtok: 0.06
1399
1595
  source_url: https://vercel.com/ai-gateway/models/minimax-m3/providers
1400
1596
 
1597
+ - channel: minimax-api
1598
+ region: global
1599
+ effective_from: "2026-08-01"
1600
+ input_per_mtok: 0.3
1601
+ output_per_mtok: 1.2
1602
+ cache_read_per_mtok: 0.06
1603
+ rules:
1604
+ long_context: {threshold: 512000, input_multiplier: 2.0, output_multiplier: 2.0}
1605
+ source_url: https://platform.minimax.io/docs/guides/pricing-paygo
1401
1606
  - canonical_id: fireworks/glm-5p2
1402
1607
  publisher: fireworks
1403
1608
  aliases:
@@ -1493,6 +1698,11 @@ models:
1493
1698
  alias: xai/grok-4.6
1494
1699
  channel: vercel-ai-gateway
1495
1700
  rules: {input_includes_cache_read: true}
1701
+ - {provider: bedrock, alias: us.xai.grok-4.6, channel: aws-bedrock-geo}
1702
+ - {provider: litellm, alias: grok-4.6, channel: xai-api}
1703
+ - {provider: litellm, alias: grok-4.6-latest, channel: xai-api}
1704
+ - {provider: x-ai, alias: xai/grok-4.6, channel: xai-api}
1705
+ - {provider: x-ai, alias: xai/grok-4.6-latest, channel: xai-api}
1496
1706
  prices:
1497
1707
  - channel: vercel-ai-gateway
1498
1708
  region: global
@@ -1502,6 +1712,22 @@ models:
1502
1712
  cache_read_per_mtok: 0.50
1503
1713
  source_url: https://vercel.com/ai-gateway/models/grok-4.6/providers
1504
1714
 
1715
+ - channel: aws-bedrock-geo
1716
+ region: global
1717
+ effective_from: "2026-08-01"
1718
+ input_per_mtok: 2.2
1719
+ output_per_mtok: 6.6
1720
+ cache_read_per_mtok: 0.55
1721
+ source_url: https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-xai-grok-4-6.html
1722
+ - channel: xai-api
1723
+ region: global
1724
+ effective_from: "2026-08-01"
1725
+ input_per_mtok: 2.0
1726
+ output_per_mtok: 6.0
1727
+ cache_read_per_mtok: 0.5
1728
+ rules:
1729
+ long_context: {threshold: 200000, input_multiplier: 2.0, output_multiplier: 2.0}
1730
+ source_url: https://ai-gateway.vercel.sh/v1/models
1505
1731
  - canonical_id: google/gemini-3-flash-preview
1506
1732
  publisher: google
1507
1733
  aliases:
@@ -1527,6 +1753,7 @@ models:
1527
1753
  - {provider: google, alias: gemini-3.1-flash-lite, channel: google-api}
1528
1754
  - {provider: google, alias: models/gemini-3.1-flash-lite, channel: google-api}
1529
1755
  - {provider: google, alias: gemini-3.1-flash-lite-preview, channel: google-api}
1756
+ - {provider: google, alias: google/gemini-3.1-flash-lite, channel: vercel-ai-gateway, rules: {"input_includes_cache_read": true, "input_includes_cache_write": true}}
1530
1757
  prices:
1531
1758
  - channel: google-api
1532
1759
  region: global
@@ -1543,6 +1770,13 @@ models:
1543
1770
  # channel keeps a cost query for the model whole. `fireworks/glm-5p2` above
1544
1771
  # predates that convention and splits GLM 5.2 across two canonical ids;
1545
1772
  # consolidating it is a separate change, since it moves existing rows.
1773
+ - channel: vercel-ai-gateway
1774
+ region: global
1775
+ effective_from: "2026-05-07"
1776
+ input_per_mtok: 0.25
1777
+ output_per_mtok: 1.5
1778
+ cache_read_per_mtok: 0.03
1779
+ source_url: https://ai-gateway.vercel.sh/v1/models
1546
1780
  - canonical_id: zai/glm-5.3
1547
1781
  publisher: zai
1548
1782
  aliases:
@@ -1691,6 +1925,623 @@ models:
1691
1925
  # per token. Effective-dated like model prices: keep superseded entries and close
1692
1926
  # them with `effective_to` rather than editing in place. A $0 fee is an explicit
1693
1927
  # priced zero, not the absence of a price.
1928
+ - canonical_id: alibaba/qwen3.7-max
1929
+ publisher: alibaba
1930
+ aliases:
1931
+ - {provider: alibaba, alias: alibaba/qwen3.7-max, channel: alibaba-api}
1932
+ - {provider: alibaba, alias: qwen3.7-max, channel: alibaba-api}
1933
+ prices:
1934
+ - channel: alibaba-api
1935
+ region: global
1936
+ effective_from: "2026-07-01"
1937
+ input_per_mtok: 2.5
1938
+ output_per_mtok: 7.5
1939
+ cache_read_per_mtok: 0.25
1940
+ cache_write_5m_per_mtok: 3.125
1941
+ source_url: https://www.alibabacloud.com/help/en/model-studio/qwen3-7-max
1942
+ - canonical_id: alibaba/qwen3.7-plus
1943
+ publisher: alibaba
1944
+ aliases:
1945
+ - {provider: alibaba, alias: qwen3.7-plus, channel: alibaba-api}
1946
+ - {provider: alibaba, alias: alibaba/qwen3.7-plus, channel: vercel-ai-gateway, rules: {"input_includes_cache_read": true, "input_includes_cache_write": true}}
1947
+ prices:
1948
+ - channel: alibaba-api
1949
+ region: global
1950
+ effective_from: "2026-06-02"
1951
+ input_per_mtok: 0.4
1952
+ output_per_mtok: 1.6
1953
+ cache_read_per_mtok: 0.04
1954
+ cache_write_5m_per_mtok: 0.5
1955
+ rules:
1956
+ long_context: {threshold: 256000, input_multiplier: 3.0, output_multiplier: 3.0}
1957
+ source_url: https://www.alibabacloud.com/help/en/model-studio/qwen3-7-plus
1958
+ - channel: vercel-ai-gateway
1959
+ region: global
1960
+ effective_from: "2026-06-02"
1961
+ input_per_mtok: 0.4
1962
+ output_per_mtok: 1.6
1963
+ cache_read_per_mtok: 0.08
1964
+ cache_write_5m_per_mtok: 0.5
1965
+ source_url: https://ai-gateway.vercel.sh/v1/models
1966
+ - canonical_id: alibaba/qwen3.8-max
1967
+ publisher: alibaba
1968
+ aliases:
1969
+ - {provider: alibaba, alias: alibaba/qwen3.8-max, channel: alibaba-api}
1970
+ - {provider: alibaba, alias: qwen3.8-max, channel: alibaba-api}
1971
+ - {provider: vercel, alias: alibaba/qwen3.8-max, channel: vercel-ai-gateway}
1972
+ prices:
1973
+ - channel: alibaba-api
1974
+ region: global
1975
+ effective_from: "2026-08-01"
1976
+ input_per_mtok: 2.0
1977
+ output_per_mtok: 6.0
1978
+ cache_read_per_mtok: 0.17
1979
+ cache_write_5m_per_mtok: 2.5
1980
+ source_url: https://www.alibabacloud.com/help/en/model-studio/qwen3-8-max
1981
+ - channel: vercel-ai-gateway
1982
+ region: global
1983
+ effective_from: "2026-08-01"
1984
+ input_per_mtok: 2.0
1985
+ output_per_mtok: 6.0
1986
+ cache_read_per_mtok: 0.25
1987
+ source_url: https://ai-gateway.vercel.sh/v1/models
1988
+ - canonical_id: amazon/nova-2-lite
1989
+ publisher: amazon
1990
+ aliases:
1991
+ # Bedrock's global inference profile bills at standard / 1.1 on every
1992
+ # dimension. Every other prefix, and the bare id, is the higher tier.
1993
+ - {provider: bedrock, alias: global.amazon.nova-2-lite-v1:0, channel: aws-bedrock}
1994
+ - {provider: bedrock, alias: amazon.nova-2-lite-v1:0, channel: aws-bedrock-geo}
1995
+ - {provider: bedrock, alias: us.amazon.nova-2-lite-v1:0, channel: aws-bedrock-geo}
1996
+ - {provider: bedrock, alias: eu.amazon.nova-2-lite-v1:0, channel: aws-bedrock-geo}
1997
+ - {provider: bedrock, alias: jp.amazon.nova-2-lite-v1:0, channel: aws-bedrock-geo}
1998
+ - {provider: vercel, alias: amazon/nova-2-lite, channel: vercel-ai-gateway}
1999
+ prices:
2000
+ - channel: aws-bedrock
2001
+ region: global
2002
+ effective_from: "2025-12-02"
2003
+ input_per_mtok: 0.30
2004
+ output_per_mtok: 2.50
2005
+ cache_read_per_mtok: 0.075
2006
+ source_url: https://aws.amazon.com/bedrock/pricing/
2007
+ - channel: aws-bedrock-geo
2008
+ region: global
2009
+ effective_from: "2025-12-02"
2010
+ input_per_mtok: 0.33
2011
+ output_per_mtok: 2.75
2012
+ cache_read_per_mtok: 0.0825
2013
+ source_url: https://aws.amazon.com/bedrock/pricing/
2014
+ - channel: vercel-ai-gateway
2015
+ region: global
2016
+ effective_from: "2025-12-02"
2017
+ input_per_mtok: 0.30
2018
+ output_per_mtok: 2.50
2019
+ cache_read_per_mtok: 0.075
2020
+ source_url: https://ai-gateway.vercel.sh/v1/models
2021
+ - canonical_id: amazon/nova-lite
2022
+ publisher: amazon
2023
+ aliases:
2024
+ # No global inference profile exists for this model, so every
2025
+ # prefix shares one rate.
2026
+ - {provider: bedrock, alias: amazon.nova-lite-v1:0, channel: aws-bedrock}
2027
+ - {provider: bedrock, alias: us.amazon.nova-lite-v1:0, channel: aws-bedrock}
2028
+ - {provider: bedrock, alias: eu.amazon.nova-lite-v1:0, channel: aws-bedrock}
2029
+ prices:
2030
+ - channel: aws-bedrock
2031
+ region: global
2032
+ effective_from: "2025-12-02"
2033
+ input_per_mtok: 0.06
2034
+ output_per_mtok: 0.24
2035
+ cache_read_per_mtok: 0.015
2036
+ source_url: https://aws.amazon.com/bedrock/pricing/
2037
+ - canonical_id: amazon/nova-micro
2038
+ publisher: amazon
2039
+ aliases:
2040
+ # No global inference profile exists for this model, so every
2041
+ # prefix shares one rate.
2042
+ - {provider: bedrock, alias: amazon.nova-micro-v1:0, channel: aws-bedrock}
2043
+ - {provider: bedrock, alias: us.amazon.nova-micro-v1:0, channel: aws-bedrock}
2044
+ - {provider: bedrock, alias: eu.amazon.nova-micro-v1:0, channel: aws-bedrock}
2045
+ prices:
2046
+ - channel: aws-bedrock
2047
+ region: global
2048
+ effective_from: "2025-12-02"
2049
+ input_per_mtok: 0.035
2050
+ output_per_mtok: 0.14
2051
+ cache_read_per_mtok: 0.00875
2052
+ source_url: https://aws.amazon.com/bedrock/pricing/
2053
+ - canonical_id: amazon/nova-pro
2054
+ publisher: amazon
2055
+ aliases:
2056
+ # No global inference profile exists for this model, so every
2057
+ # prefix shares one rate.
2058
+ - {provider: bedrock, alias: amazon.nova-pro-v1:0, channel: aws-bedrock}
2059
+ - {provider: bedrock, alias: us.amazon.nova-pro-v1:0, channel: aws-bedrock}
2060
+ - {provider: bedrock, alias: eu.amazon.nova-pro-v1:0, channel: aws-bedrock}
2061
+ - {provider: bedrock, alias: apac.amazon.nova-pro-v1:0, channel: aws-bedrock}
2062
+ prices:
2063
+ - channel: aws-bedrock
2064
+ region: global
2065
+ effective_from: "2025-12-02"
2066
+ input_per_mtok: 0.8
2067
+ output_per_mtok: 3.2
2068
+ cache_read_per_mtok: 0.2
2069
+ source_url: https://aws.amazon.com/bedrock/pricing/
2070
+ - canonical_id: anthropic/claude-haiku-3.5
2071
+ publisher: anthropic
2072
+ aliases:
2073
+ - {provider: anthropic, alias: anthropic/claude-haiku-3.5, channel: anthropic-api}
2074
+ - {provider: anthropic, alias: claude-3-5-haiku-20241022, channel: anthropic-api}
2075
+ - {provider: anthropic, alias: claude-3-5-haiku-latest, channel: anthropic-api}
2076
+ prices:
2077
+ - channel: anthropic-api
2078
+ region: global
2079
+ effective_from: "2024-10-22"
2080
+ input_per_mtok: 0.8
2081
+ output_per_mtok: 4
2082
+ cache_read_per_mtok: 0.08
2083
+ cache_write_5m_per_mtok: 1
2084
+ cache_write_1h_per_mtok: 1.6
2085
+ batch_input_per_mtok: 0.4
2086
+ batch_output_per_mtok: 2
2087
+ source_url: https://ai-gateway.vercel.sh/v1/models
2088
+ - canonical_id: anthropic/claude-mythos-5
2089
+ publisher: anthropic
2090
+ aliases:
2091
+ - {provider: anthropic, alias: anthropic/claude-mythos-5, channel: anthropic-api}
2092
+ - {provider: anthropic, alias: anthropic/claude-mythos-preview, channel: anthropic-api}
2093
+ - {provider: anthropic, alias: claude-mythos-5, channel: anthropic-api}
2094
+ - {provider: anthropic, alias: claude-mythos-preview, channel: anthropic-api}
2095
+ prices:
2096
+ - channel: anthropic-api
2097
+ region: global
2098
+ effective_from: "2026-06-09"
2099
+ input_per_mtok: 10
2100
+ output_per_mtok: 50
2101
+ cache_read_per_mtok: 1
2102
+ cache_write_5m_per_mtok: 12.5
2103
+ cache_write_1h_per_mtok: 20
2104
+ batch_input_per_mtok: 5
2105
+ batch_output_per_mtok: 25
2106
+ source_url: https://ai-gateway.vercel.sh/v1/models
2107
+ - canonical_id: anthropic/claude-opus-4
2108
+ publisher: anthropic
2109
+ aliases:
2110
+ - {provider: anthropic, alias: anthropic/claude-4-opus-20250514, channel: anthropic-api}
2111
+ - {provider: anthropic, alias: anthropic/claude-opus-4, channel: anthropic-api}
2112
+ - {provider: anthropic, alias: anthropic/claude-opus-4-20250514, channel: anthropic-api}
2113
+ - {provider: anthropic, alias: claude-4-opus-20250514, channel: anthropic-api}
2114
+ - {provider: anthropic, alias: claude-opus-4, channel: anthropic-api}
2115
+ - {provider: anthropic, alias: claude-opus-4-20250514, channel: anthropic-api}
2116
+ prices:
2117
+ - channel: anthropic-api
2118
+ region: global
2119
+ effective_from: "2025-05-14"
2120
+ input_per_mtok: 15
2121
+ output_per_mtok: 75
2122
+ cache_read_per_mtok: 1.5
2123
+ cache_write_5m_per_mtok: 18.75
2124
+ cache_write_1h_per_mtok: 30
2125
+ batch_input_per_mtok: 7.5
2126
+ batch_output_per_mtok: 37.5
2127
+ source_url: https://ai-gateway.vercel.sh/v1/models
2128
+ - canonical_id: anthropic/claude-opus-4.1
2129
+ publisher: anthropic
2130
+ aliases:
2131
+ - {provider: anthropic, alias: anthropic/claude-opus-4-1, channel: anthropic-api}
2132
+ - {provider: anthropic, alias: anthropic/claude-opus-4.1, channel: anthropic-api}
2133
+ - {provider: anthropic, alias: anthropic/claude-opus-4-1-20250805, channel: anthropic-api}
2134
+ - {provider: anthropic, alias: claude-opus-4-1, channel: anthropic-api}
2135
+ - {provider: anthropic, alias: claude-opus-4.1, channel: anthropic-api}
2136
+ - {provider: anthropic, alias: claude-opus-4-1-20250805, channel: anthropic-api}
2137
+ prices:
2138
+ - channel: anthropic-api
2139
+ region: global
2140
+ effective_from: "2025-08-05"
2141
+ input_per_mtok: 15
2142
+ output_per_mtok: 75
2143
+ cache_read_per_mtok: 1.5
2144
+ cache_write_5m_per_mtok: 18.75
2145
+ cache_write_1h_per_mtok: 30
2146
+ batch_input_per_mtok: 7.5
2147
+ batch_output_per_mtok: 37.5
2148
+ source_url: https://ai-gateway.vercel.sh/v1/models
2149
+ - canonical_id: anthropic/claude-opus-4.5
2150
+ publisher: anthropic
2151
+ aliases:
2152
+ - {provider: anthropic, alias: claude-opus-4-5, channel: anthropic-api}
2153
+ - {provider: anthropic, alias: claude-opus-4-5-20251101, channel: anthropic-api}
2154
+ - {provider: anthropic, alias: anthropic/claude-opus-4.5, channel: vercel-ai-gateway, rules: {"input_includes_cache_read": true, "input_includes_cache_write": true}}
2155
+ prices:
2156
+ - channel: anthropic-api
2157
+ region: global
2158
+ effective_from: "2025-11-01"
2159
+ input_per_mtok: 5
2160
+ output_per_mtok: 25
2161
+ cache_read_per_mtok: 0.5
2162
+ cache_write_5m_per_mtok: 6.25
2163
+ cache_write_1h_per_mtok: 10
2164
+ batch_input_per_mtok: 2.5
2165
+ batch_output_per_mtok: 12.5
2166
+ source_url: https://ai-gateway.vercel.sh/v1/models
2167
+ - channel: vercel-ai-gateway
2168
+ region: global
2169
+ effective_from: "2025-11-01"
2170
+ input_per_mtok: 5.0
2171
+ output_per_mtok: 25.0
2172
+ cache_read_per_mtok: 0.5
2173
+ cache_write_5m_per_mtok: 6.25
2174
+ source_url: https://ai-gateway.vercel.sh/v1/models
2175
+ - canonical_id: anthropic/claude-opus-5-fast
2176
+ publisher: anthropic
2177
+ aliases:
2178
+ - {provider: anthropic, alias: anthropic/claude-opus-5-fast, channel: anthropic-api}
2179
+ - {provider: anthropic, alias: claude-opus-5-fast, channel: anthropic-api}
2180
+ - {provider: vercel, alias: anthropic/claude-opus-5-fast, channel: vercel-ai-gateway}
2181
+ prices:
2182
+ - channel: anthropic-api
2183
+ region: global
2184
+ effective_from: "2026-07-24"
2185
+ input_per_mtok: 10
2186
+ output_per_mtok: 50
2187
+ source_url: https://ai-gateway.vercel.sh/v1/models
2188
+ - channel: vercel-ai-gateway
2189
+ region: global
2190
+ effective_from: "2026-07-24"
2191
+ input_per_mtok: 10.0
2192
+ output_per_mtok: 50.0
2193
+ cache_read_per_mtok: 1.0
2194
+ cache_write_5m_per_mtok: 12.5
2195
+ source_url: https://ai-gateway.vercel.sh/v1/models
2196
+ - canonical_id: anthropic/claude-sonnet-4
2197
+ publisher: anthropic
2198
+ aliases:
2199
+ - {provider: anthropic, alias: claude-sonnet-4, channel: anthropic-api}
2200
+ - {provider: anthropic, alias: claude-sonnet-4-20250514, channel: anthropic-api}
2201
+ - {provider: anthropic, alias: anthropic/claude-sonnet-4, channel: vercel-ai-gateway, rules: {"input_includes_cache_read": true, "input_includes_cache_write": true}}
2202
+ prices:
2203
+ - channel: anthropic-api
2204
+ region: global
2205
+ effective_from: "2025-05-14"
2206
+ input_per_mtok: 3
2207
+ output_per_mtok: 15
2208
+ cache_read_per_mtok: 0.3
2209
+ cache_write_5m_per_mtok: 3.75
2210
+ cache_write_1h_per_mtok: 6
2211
+ batch_input_per_mtok: 1.5
2212
+ batch_output_per_mtok: 7.5
2213
+ source_url: https://ai-gateway.vercel.sh/v1/models
2214
+ - channel: vercel-ai-gateway
2215
+ region: global
2216
+ effective_from: "2025-05-14"
2217
+ input_per_mtok: 3.0
2218
+ output_per_mtok: 15.0
2219
+ cache_read_per_mtok: 0.3
2220
+ cache_write_5m_per_mtok: 3.75
2221
+ source_url: https://ai-gateway.vercel.sh/v1/models
2222
+ - canonical_id: google/gemini-3-flash
2223
+ publisher: google
2224
+ aliases:
2225
+ - {provider: vercel, alias: google/gemini-3-flash, channel: vercel-ai-gateway}
2226
+ prices:
2227
+ - channel: vercel-ai-gateway
2228
+ region: global
2229
+ effective_from: "2025-12-17"
2230
+ input_per_mtok: 0.5
2231
+ output_per_mtok: 3.0
2232
+ cache_read_per_mtok: 0.05
2233
+ source_url: https://ai-gateway.vercel.sh/v1/models
2234
+ - canonical_id: meta/muse-spark-1.2
2235
+ publisher: meta
2236
+ aliases:
2237
+ - {provider: litellm, alias: muse-spark-1.2, channel: meta-api}
2238
+ - {provider: meta, alias: meta/muse-spark-1.2, channel: meta-api}
2239
+ - {provider: vercel, alias: meta/muse-spark-1.2, channel: vercel-ai-gateway}
2240
+ prices:
2241
+ - channel: meta-api
2242
+ region: global
2243
+ effective_from: "2026-08-01"
2244
+ input_per_mtok: 1.25
2245
+ output_per_mtok: 4.25
2246
+ cache_read_per_mtok: 0.15
2247
+ source_url: https://developer.meta.com/ai/models/muse-spark-1-2/
2248
+ - channel: vercel-ai-gateway
2249
+ region: global
2250
+ effective_from: "2026-08-01"
2251
+ input_per_mtok: 1.25
2252
+ output_per_mtok: 4.25
2253
+ cache_read_per_mtok: 0.15
2254
+ source_url: https://ai-gateway.vercel.sh/v1/models
2255
+ - canonical_id: minimax/m2.5
2256
+ publisher: minimax
2257
+ aliases:
2258
+ - {provider: bedrock, alias: minimax.minimax-m2.5, channel: aws-bedrock}
2259
+ prices:
2260
+ - channel: aws-bedrock
2261
+ region: global
2262
+ effective_from: "2026-02-12"
2263
+ input_per_mtok: 0.3
2264
+ output_per_mtok: 1.2
2265
+ source_url: https://aws.amazon.com/bedrock/pricing/
2266
+ - canonical_id: minimax/minimax-m2.7
2267
+ publisher: minimax
2268
+ aliases:
2269
+ - {provider: litellm, alias: minimax-m2.7, channel: minimax-api}
2270
+ - {provider: minimax, alias: minimax-m2p7, channel: minimax-api}
2271
+ - {provider: minimax, alias: minimax/minimax-m2.7, channel: vercel-ai-gateway, rules: {"input_includes_cache_read": true, "input_includes_cache_write": true}}
2272
+ prices:
2273
+ - channel: minimax-api
2274
+ region: global
2275
+ effective_from: "2026-03-18"
2276
+ input_per_mtok: 0.3
2277
+ output_per_mtok: 1.2
2278
+ cache_read_per_mtok: 0.06
2279
+ cache_write_5m_per_mtok: 0.375
2280
+ source_url: https://platform.minimax.io/docs/guides/pricing-paygo
2281
+ - channel: vercel-ai-gateway
2282
+ region: global
2283
+ effective_from: "2026-03-18"
2284
+ input_per_mtok: 0.3
2285
+ output_per_mtok: 1.2
2286
+ cache_read_per_mtok: 0.06
2287
+ cache_write_5m_per_mtok: 0.375
2288
+ source_url: https://ai-gateway.vercel.sh/v1/models
2289
+ - canonical_id: mistral/mistral-medium-3.5
2290
+ publisher: mistral
2291
+ aliases:
2292
+ - {provider: litellm, alias: mistral-medium-2604, channel: mistral-api}
2293
+ - {provider: litellm, alias: mistral-medium-3.5, channel: mistral-api}
2294
+ - {provider: litellm, alias: mistral-medium-latest, channel: mistral-api}
2295
+ - {provider: mistral, alias: mistral/mistral-medium-2604, channel: mistral-api}
2296
+ - {provider: mistral, alias: mistral/mistral-medium-3.5, channel: mistral-api}
2297
+ - {provider: mistral, alias: mistral/mistral-medium-latest, channel: mistral-api}
2298
+ prices:
2299
+ - channel: mistral-api
2300
+ region: global
2301
+ effective_from: "2026-04-01"
2302
+ input_per_mtok: 1.5
2303
+ output_per_mtok: 7.5
2304
+ source_url: https://mistral.ai/pricing/api
2305
+ - canonical_id: mistral/mistral-small-4
2306
+ publisher: mistral
2307
+ aliases:
2308
+ - {provider: litellm, alias: mistral-small-2603, channel: mistral-api}
2309
+ - {provider: litellm, alias: mistral-small-4, channel: mistral-api}
2310
+ - {provider: litellm, alias: mistral-small-latest, channel: mistral-api}
2311
+ - {provider: mistral, alias: mistral/mistral-small-2603, channel: mistral-api}
2312
+ - {provider: mistral, alias: mistral/mistral-small-4, channel: mistral-api}
2313
+ - {provider: mistral, alias: mistral/mistral-small-latest, channel: mistral-api}
2314
+ prices:
2315
+ - channel: mistral-api
2316
+ region: global
2317
+ effective_from: "2026-03-01"
2318
+ input_per_mtok: 0.15
2319
+ output_per_mtok: 0.6
2320
+ source_url: https://mistral.ai/pricing/api
2321
+ - canonical_id: openai/gpt-5
2322
+ publisher: openai
2323
+ aliases:
2324
+ - {provider: litellm, alias: gpt-5, channel: openai-api, rules: {"input_includes_cache_read": true}}
2325
+ - {provider: openai, alias: gpt-5-2025-08-07, channel: openai-api, rules: {"input_includes_cache_read": true}}
2326
+ - {provider: openai, alias: openai/gpt-5, channel: openai-api, rules: {"input_includes_cache_read": true}}
2327
+ prices:
2328
+ - channel: openai-api
2329
+ region: global
2330
+ effective_from: "2025-08-07"
2331
+ input_per_mtok: 1.25
2332
+ output_per_mtok: 10
2333
+ cache_read_per_mtok: 0.125
2334
+ batch_input_per_mtok: 0.625
2335
+ batch_output_per_mtok: 5
2336
+ source_url: https://ai-gateway.vercel.sh/v1/models
2337
+ - canonical_id: openai/gpt-5.3-codex
2338
+ publisher: openai
2339
+ aliases:
2340
+ - {provider: litellm, alias: gpt-5.3-codex, channel: openai-api}
2341
+ - {provider: openai, alias: openai/gpt-5.3-codex, channel: openai-api}
2342
+ prices:
2343
+ - channel: openai-api
2344
+ region: global
2345
+ effective_from: "2026-02-01"
2346
+ input_per_mtok: 1.75
2347
+ output_per_mtok: 14
2348
+ cache_read_per_mtok: 0.175
2349
+ source_url: https://ai-gateway.vercel.sh/v1/models
2350
+ - canonical_id: openai/gpt-5.4-pro
2351
+ publisher: openai
2352
+ aliases:
2353
+ - {provider: litellm, alias: gpt-5.4-pro, channel: openai-api}
2354
+ - {provider: litellm, alias: gpt-5.4-pro-2026-03-05, channel: openai-api}
2355
+ - {provider: openai, alias: openai/gpt-5.4-pro, channel: openai-api}
2356
+ - {provider: openai, alias: openai/gpt-5.4-pro-2026-03-05, channel: openai-api}
2357
+ prices:
2358
+ - channel: openai-api
2359
+ region: global
2360
+ effective_from: "2026-03-05"
2361
+ input_per_mtok: 30
2362
+ output_per_mtok: 180
2363
+ batch_input_per_mtok: 15
2364
+ batch_output_per_mtok: 90
2365
+ source_url: https://ai-gateway.vercel.sh/v1/models
2366
+ - canonical_id: openai/gpt-5.5
2367
+ publisher: openai
2368
+ aliases:
2369
+ - {provider: litellm, alias: gpt-5.5, channel: openai-api}
2370
+ - {provider: litellm, alias: gpt-5.5-2026-04-23, channel: openai-api}
2371
+ - {provider: openai, alias: openai/gpt-5.5, channel: openai-api}
2372
+ - {provider: openai, alias: openai/gpt-5.5-2026-04-23, channel: openai-api}
2373
+ - {provider: vercel, alias: openai/gpt-5.5, channel: vercel-ai-gateway}
2374
+ prices:
2375
+ - channel: openai-api
2376
+ region: global
2377
+ effective_from: "2026-04-24"
2378
+ input_per_mtok: 5
2379
+ output_per_mtok: 30
2380
+ cache_read_per_mtok: 0.5
2381
+ batch_input_per_mtok: 2.5
2382
+ batch_output_per_mtok: 15
2383
+ source_url: https://ai-gateway.vercel.sh/v1/models
2384
+ - channel: vercel-ai-gateway
2385
+ region: global
2386
+ effective_from: "2026-04-24"
2387
+ input_per_mtok: 5.0
2388
+ output_per_mtok: 30.0
2389
+ cache_read_per_mtok: 0.5
2390
+ source_url: https://ai-gateway.vercel.sh/v1/models
2391
+ - canonical_id: openai/gpt-5.5-pro
2392
+ publisher: openai
2393
+ aliases:
2394
+ - {provider: litellm, alias: gpt-5.5-pro, channel: openai-api}
2395
+ - {provider: litellm, alias: gpt-5.5-pro-2026-04-23, channel: openai-api}
2396
+ - {provider: openai, alias: openai/gpt-5.5-pro, channel: openai-api}
2397
+ - {provider: openai, alias: openai/gpt-5.5-pro-2026-04-23, channel: openai-api}
2398
+ - {provider: vercel, alias: openai/gpt-5.5-pro, channel: vercel-ai-gateway}
2399
+ prices:
2400
+ - channel: openai-api
2401
+ region: global
2402
+ effective_from: "2026-04-24"
2403
+ input_per_mtok: 30
2404
+ output_per_mtok: 180
2405
+ batch_input_per_mtok: 15
2406
+ batch_output_per_mtok: 90
2407
+ source_url: https://ai-gateway.vercel.sh/v1/models
2408
+ - channel: vercel-ai-gateway
2409
+ region: global
2410
+ effective_from: "2026-04-24"
2411
+ input_per_mtok: 30.0
2412
+ output_per_mtok: 180.0
2413
+ source_url: https://ai-gateway.vercel.sh/v1/models
2414
+ - canonical_id: openai/gpt-5.6-cyber
2415
+ publisher: openai
2416
+ aliases:
2417
+ - {provider: litellm, alias: gpt-5.6-cyber, channel: openai-api}
2418
+ - {provider: openai, alias: openai/gpt-5.6-cyber, channel: openai-api}
2419
+ prices:
2420
+ - channel: openai-api
2421
+ region: global
2422
+ effective_from: "2026-07-09"
2423
+ input_per_mtok: 12.5
2424
+ output_per_mtok: 75
2425
+ cache_read_per_mtok: 1.25
2426
+ cache_write_5m_per_mtok: 15.625
2427
+ source_url: https://ai-gateway.vercel.sh/v1/models
2428
+ - canonical_id: openai/o4-mini
2429
+ publisher: openai
2430
+ aliases:
2431
+ - {provider: litellm, alias: o4-mini, channel: openai-api}
2432
+ - {provider: openai, alias: o4-mini-2025-04-16, channel: openai-api}
2433
+ - {provider: openai, alias: openai/o4-mini, channel: vercel-ai-gateway, rules: {"input_includes_cache_read": true, "input_includes_cache_write": true}}
2434
+ prices:
2435
+ - channel: openai-api
2436
+ region: global
2437
+ effective_from: "2025-04-16"
2438
+ input_per_mtok: 1.1
2439
+ output_per_mtok: 4.4
2440
+ cache_read_per_mtok: 0.275
2441
+ batch_input_per_mtok: 0.55
2442
+ batch_output_per_mtok: 2.2
2443
+ source_url: https://ai-gateway.vercel.sh/v1/models
2444
+ - channel: vercel-ai-gateway
2445
+ region: global
2446
+ effective_from: "2025-04-16"
2447
+ input_per_mtok: 1.1
2448
+ output_per_mtok: 4.4
2449
+ cache_read_per_mtok: 0.275
2450
+ source_url: https://ai-gateway.vercel.sh/v1/models
2451
+ - canonical_id: xai/grok-4.20-non-reasoning
2452
+ publisher: xai
2453
+ aliases:
2454
+ - {provider: vercel, alias: spacexai/grok-4.20-non-reasoning, channel: vercel-ai-gateway}
2455
+ - {provider: litellm, alias: grok-4.20-0309-non-reasoning, channel: xai-api}
2456
+ - {provider: litellm, alias: grok-4.20-non-reasoning, channel: xai-api}
2457
+ - {provider: x-ai, alias: xai/grok-4.20-0309-non-reasoning, channel: xai-api}
2458
+ - {provider: x-ai, alias: xai/grok-4.20-non-reasoning, channel: xai-api}
2459
+ prices:
2460
+ - channel: vercel-ai-gateway
2461
+ region: global
2462
+ effective_from: "2026-03-10"
2463
+ input_per_mtok: 1.25
2464
+ output_per_mtok: 2.5
2465
+ cache_read_per_mtok: 0.2
2466
+ rules:
2467
+ long_context: {threshold: 200000, input_multiplier: 2.0, output_multiplier: 2.0}
2468
+ source_url: https://ai-gateway.vercel.sh/v1/models
2469
+ - channel: xai-api
2470
+ region: global
2471
+ effective_from: "2026-03-10"
2472
+ input_per_mtok: 1.25
2473
+ output_per_mtok: 2.5
2474
+ cache_read_per_mtok: 0.2
2475
+ rules:
2476
+ long_context: {threshold: 200000, input_multiplier: 2.0, output_multiplier: 2.0}
2477
+ source_url: https://ai-gateway.vercel.sh/v1/models
2478
+ - canonical_id: xai/grok-4.20-reasoning
2479
+ publisher: xai
2480
+ aliases:
2481
+ - {provider: vercel, alias: spacexai/grok-4.20-reasoning, channel: vercel-ai-gateway}
2482
+ - {provider: litellm, alias: grok-4.20-0309-reasoning, channel: xai-api}
2483
+ - {provider: litellm, alias: grok-4.20-reasoning, channel: xai-api}
2484
+ - {provider: x-ai, alias: xai/grok-4.20-0309-reasoning, channel: xai-api}
2485
+ - {provider: x-ai, alias: xai/grok-4.20-reasoning, channel: xai-api}
2486
+ prices:
2487
+ - channel: vercel-ai-gateway
2488
+ region: global
2489
+ effective_from: "2026-03-10"
2490
+ input_per_mtok: 1.25
2491
+ output_per_mtok: 2.5
2492
+ cache_read_per_mtok: 0.2
2493
+ rules:
2494
+ long_context: {threshold: 200000, input_multiplier: 2.0, output_multiplier: 2.0}
2495
+ source_url: https://ai-gateway.vercel.sh/v1/models
2496
+ - channel: xai-api
2497
+ region: global
2498
+ effective_from: "2026-03-10"
2499
+ input_per_mtok: 1.25
2500
+ output_per_mtok: 2.5
2501
+ cache_read_per_mtok: 0.2
2502
+ rules:
2503
+ long_context: {threshold: 200000, input_multiplier: 2.0, output_multiplier: 2.0}
2504
+ source_url: https://ai-gateway.vercel.sh/v1/models
2505
+ - canonical_id: xai/grok-4.5
2506
+ publisher: xai
2507
+ aliases:
2508
+ - {provider: litellm, alias: grok-4.5, channel: xai-api}
2509
+ - {provider: litellm, alias: grok-4.5-latest, channel: xai-api}
2510
+ - {provider: x-ai, alias: xai/grok-4.5, channel: xai-api}
2511
+ - {provider: x-ai, alias: xai/grok-4.5-latest, channel: xai-api}
2512
+ prices:
2513
+ - channel: xai-api
2514
+ region: global
2515
+ effective_from: "2026-07-01"
2516
+ input_per_mtok: 2.0
2517
+ output_per_mtok: 6.0
2518
+ cache_read_per_mtok: 0.3
2519
+ rules:
2520
+ long_context: {threshold: 200000, input_multiplier: 2.0, output_multiplier: 2.0}
2521
+ source_url: https://ai-gateway.vercel.sh/v1/models
2522
+ - canonical_id: zai/glm-5.1
2523
+ publisher: zai
2524
+ aliases:
2525
+ - {provider: vercel, alias: zai/glm-5.1, channel: vercel-ai-gateway}
2526
+ - {provider: litellm, alias: glm-5.1, channel: zai-api}
2527
+ - {provider: litellm, alias: glm-5p1, channel: zai-api}
2528
+ - {provider: zai, alias: zai/glm-5.1, channel: zai-api}
2529
+ - {provider: zai, alias: zai/glm-5p1, channel: zai-api}
2530
+ prices:
2531
+ - channel: vercel-ai-gateway
2532
+ region: global
2533
+ effective_from: "2026-04-07"
2534
+ input_per_mtok: 1.4
2535
+ output_per_mtok: 4.4
2536
+ cache_read_per_mtok: 0.26
2537
+ source_url: https://ai-gateway.vercel.sh/v1/models
2538
+ - channel: zai-api
2539
+ region: global
2540
+ effective_from: "2026-04-07"
2541
+ input_per_mtok: 1.4
2542
+ output_per_mtok: 4.4
2543
+ cache_read_per_mtok: 0.26
2544
+ source_url: https://docs.z.ai/guides/overview/pricing
1694
2545
  retrieval:
1695
2546
  - channel: anthropic-api
1696
2547
  operation: web_search
@@ -249,6 +249,7 @@ def parse_catalog(
249
249
  effective_from=effective_from,
250
250
  effective_to=effective_to,
251
251
  source_url=str(price["source_url"]).strip(),
252
+ publisher=publisher,
252
253
  )
253
254
  )
254
255
  return version, aliases, prices
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metergraph-core
3
- Version: 0.2.23
3
+ Version: 0.2.26
4
4
  Summary: Reusable MeterGraph catalog and deterministic billing engine
5
5
  License-Expression: Apache-2.0
6
6
  Requires-Python: >=3.10