metergraph-core 0.2.26__tar.gz → 0.2.27__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.26
3
+ Version: 0.2.27
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.26"
3
+ version = "0.2.27"
4
4
  description = "Reusable MeterGraph catalog and deterministic billing engine"
5
5
  readme = "README.md"
6
6
  license = "Apache-2.0"
@@ -8,6 +8,7 @@ from .catalog import (
8
8
  ResolvedPrice,
9
9
  counts_cache_read_in_input,
10
10
  direct_channel_for_provider,
11
+ normalize_provider,
11
12
  )
12
13
  from .billing import (
13
14
  BillingDecision,
@@ -43,6 +44,7 @@ __all__ = [
43
44
  "RetrievalPrice",
44
45
  "counts_cache_read_in_input",
45
46
  "direct_channel_for_provider",
47
+ "normalize_provider",
46
48
  "load_catalog",
47
49
  "normalize_gateway_evidence",
48
50
  "parse_catalog",
@@ -14,6 +14,7 @@ _PROVIDER_ALIASES = {
14
14
  "aws-bedrock": "bedrock",
15
15
  "gemini": "google",
16
16
  "google-genai": "google",
17
+ "moonshot": "moonshotai",
17
18
  "perplexity": "perplexity-ai",
18
19
  "xai": "x-ai",
19
20
  }
@@ -35,7 +36,9 @@ _DIRECT_CHANNEL_BY_PROVIDER = {
35
36
  "perplexity-ai": "perplexity-api",
36
37
  "x-ai": "xai-api",
37
38
  "alibaba": "alibaba-api",
38
- "amazon": "amazon-api",
39
+ # Amazon publishes no first-party inference API: its own models are sold
40
+ # through Bedrock, so a trace naming "amazon" was billed on Bedrock.
41
+ "amazon": "aws-bedrock",
39
42
  "meta": "meta-api",
40
43
  "minimax": "minimax-api",
41
44
  "mistral": "mistral-api",
@@ -92,7 +95,7 @@ def counts_cache_read_in_input(
92
95
  return pair in _INPUT_INCLUDES_CACHE_READ_PAIRS
93
96
 
94
97
 
95
- def _normalize_provider(provider: str) -> str:
98
+ def normalize_provider(provider: str) -> str:
96
99
  """Fold a provider spelling through metergraph-core's provider-alias map
97
100
  (e.g. ``aws``/``amazon-bedrock`` -> ``bedrock``, ``google-genai`` ->
98
101
  ``google``) so identity and channel lookups accept every spelling the
@@ -108,7 +111,7 @@ def direct_channel_for_provider(provider: Any) -> str | None:
108
111
  channel."""
109
112
  if not isinstance(provider, str):
110
113
  return None
111
- return _DIRECT_CHANNEL_BY_PROVIDER.get(_normalize_provider(provider))
114
+ return _DIRECT_CHANNEL_BY_PROVIDER.get(normalize_provider(provider))
112
115
 
113
116
 
114
117
  def _coerce_datetime(at: Any) -> datetime:
@@ -16,6 +16,10 @@ models:
16
16
  - {provider: openai, alias: gpt-5.6, channel: openai-api}
17
17
  - {provider: openai, alias: gpt-5.6-sol, channel: openai-api}
18
18
  - {provider: openai, alias: openai/gpt-5.6, channel: openai-api}
19
+ - {provider: litellm, alias: gpt-5.6, channel: openai-api}
20
+ - {provider: litellm, alias: gpt-5.6-sol, channel: openai-api}
21
+ - {provider: unknown, alias: gpt-5.6, channel: openai-api}
22
+ - {provider: unknown, alias: gpt-5.6-sol, channel: openai-api}
19
23
  - provider: openai
20
24
  alias: openai/gpt-5.6-sol
21
25
  channel: vercel-ai-gateway
@@ -88,6 +92,8 @@ models:
88
92
  publisher: openai
89
93
  aliases:
90
94
  - {provider: openai, alias: gpt-5.6-terra, channel: openai-api}
95
+ - {provider: litellm, alias: gpt-5.6-terra, channel: openai-api}
96
+ - {provider: unknown, alias: gpt-5.6-terra, channel: openai-api}
91
97
  - provider: openai
92
98
  alias: openai/gpt-5.6-terra
93
99
  channel: vercel-ai-gateway
@@ -132,6 +138,8 @@ models:
132
138
  publisher: openai
133
139
  aliases:
134
140
  - {provider: openai, alias: gpt-5.6-luna, channel: openai-api}
141
+ - {provider: litellm, alias: gpt-5.6-luna, channel: openai-api}
142
+ - {provider: unknown, alias: gpt-5.6-luna, channel: openai-api}
135
143
  - provider: openai
136
144
  alias: openai/gpt-5.6-luna
137
145
  channel: vercel-ai-gateway
@@ -202,6 +210,11 @@ models:
202
210
  aliases:
203
211
  - {provider: openai, alias: gpt-5.4-mini, channel: openai-api}
204
212
  - {provider: openai, alias: gpt-5.4-mini-2026-03-17, channel: openai-api}
213
+ - {provider: litellm, alias: gpt-5.4-mini, channel: openai-api}
214
+ - {provider: litellm, alias: gpt-5.4-mini-2026-03-17, channel: openai-api}
215
+ - {provider: openai, alias: openai/gpt-5.4-mini-2026-03-17, channel: openai-api}
216
+ - {provider: unknown, alias: gpt-5.4-mini, channel: openai-api}
217
+ - {provider: unknown, alias: gpt-5.4-mini-2026-03-17, channel: openai-api}
205
218
  - provider: openai
206
219
  alias: openai/gpt-5.4-mini
207
220
  channel: vercel-ai-gateway
@@ -233,6 +246,8 @@ models:
233
246
  - {provider: openai, alias: gpt-5.4-2026-03-05, channel: openai-api}
234
247
  - {provider: openai, alias: openai/gpt-5.4, channel: openai-api}
235
248
  - {provider: vercel, alias: openai/gpt-5.4, channel: vercel-ai-gateway}
249
+ - {provider: litellm, alias: gpt-5.4, channel: openai-api}
250
+ - {provider: unknown, alias: gpt-5.4, channel: openai-api}
236
251
  prices:
237
252
  - channel: openai-api
238
253
  region: global
@@ -259,6 +274,11 @@ models:
259
274
  aliases:
260
275
  - {provider: openai, alias: gpt-5.4-nano, channel: openai-api}
261
276
  - {provider: openai, alias: gpt-5.4-nano-2026-03-17, channel: openai-api}
277
+ - {provider: litellm, alias: gpt-5.4-nano, channel: openai-api}
278
+ - {provider: litellm, alias: gpt-5.4-nano-2026-03-17, channel: openai-api}
279
+ - {provider: openai, alias: openai/gpt-5.4-nano-2026-03-17, channel: openai-api}
280
+ - {provider: unknown, alias: gpt-5.4-nano, channel: openai-api}
281
+ - {provider: unknown, alias: gpt-5.4-nano-2026-03-17, channel: openai-api}
262
282
  - provider: openai
263
283
  alias: openai/gpt-5.4-nano
264
284
  channel: vercel-ai-gateway
@@ -289,6 +309,8 @@ models:
289
309
  - {provider: openai, alias: gpt-4o-mini, channel: openai-api}
290
310
  - {provider: openai, alias: gpt-4o-mini-2024-07-18, channel: openai-api}
291
311
  - {provider: openai, alias: openai/gpt-4o-mini, channel: openai-api}
312
+ - {provider: litellm, alias: gpt-4o-mini, channel: openai-api}
313
+ - {provider: unknown, alias: gpt-4o-mini, channel: openai-api}
292
314
  prices:
293
315
  - channel: openai-api
294
316
  region: global
@@ -308,6 +330,9 @@ models:
308
330
  - {provider: openai, alias: gpt-4o, channel: openai-api}
309
331
  - {provider: openai, alias: gpt-4o-2024-08-06, channel: openai-api}
310
332
  - {provider: openai, alias: openai/gpt-4o, channel: openai-api}
333
+ - {provider: litellm, alias: gpt-4o, channel: openai-api}
334
+ - {provider: openai, alias: gpt-4o-2024-11-20, channel: openai-api}
335
+ - {provider: unknown, alias: gpt-4o, channel: openai-api}
311
336
  prices:
312
337
  - channel: openai-api
313
338
  region: global
@@ -328,6 +353,8 @@ models:
328
353
  - {provider: openai, alias: gpt-4.1-2025-04-14, channel: openai-api}
329
354
  - {provider: openai, alias: openai/gpt-4.1, channel: openai-api}
330
355
  - {provider: vercel, alias: openai/gpt-4.1, channel: vercel-ai-gateway}
356
+ - {provider: litellm, alias: gpt-4.1, channel: openai-api}
357
+ - {provider: unknown, alias: gpt-4.1, channel: openai-api}
331
358
  prices:
332
359
  - channel: openai-api
333
360
  region: global
@@ -413,6 +440,8 @@ models:
413
440
  - {provider: bedrock, alias: us.anthropic.claude-fable-5, channel: aws-bedrock}
414
441
  - {provider: bedrock, alias: anthropic.claude-fable-5, channel: aws-bedrock}
415
442
  - {provider: vercel, alias: anthropic/claude-fable-5, channel: vercel-ai-gateway}
443
+ - {provider: litellm, alias: claude-fable-5, channel: anthropic-api}
444
+ - {provider: unknown, alias: claude-fable-5, channel: anthropic-api}
416
445
  prices:
417
446
  - channel: anthropic-api
418
447
  region: global
@@ -449,6 +478,12 @@ models:
449
478
  publisher: anthropic
450
479
  aliases:
451
480
  - {provider: anthropic, alias: claude-opus-5, channel: anthropic-api}
481
+ - {provider: anthropic, alias: anthropic/claude-opus-5-20260724, channel: anthropic-api}
482
+ - {provider: anthropic, alias: claude-opus-5-20260724, channel: anthropic-api}
483
+ - {provider: litellm, alias: claude-opus-5, channel: anthropic-api}
484
+ - {provider: litellm, alias: claude-opus-5-20260724, channel: anthropic-api}
485
+ - {provider: unknown, alias: claude-opus-5, channel: anthropic-api}
486
+ - {provider: unknown, alias: claude-opus-5-20260724, channel: anthropic-api}
452
487
  - provider: anthropic
453
488
  alias: anthropic/claude-opus-5
454
489
  channel: vercel-ai-gateway
@@ -503,6 +538,10 @@ models:
503
538
  publisher: anthropic
504
539
  aliases:
505
540
  - {provider: anthropic, alias: claude-opus-4-8, channel: anthropic-api}
541
+ - {provider: litellm, alias: claude-opus-4-8, channel: anthropic-api}
542
+ - {provider: litellm, alias: claude-opus-4.8, channel: anthropic-api}
543
+ - {provider: unknown, alias: claude-opus-4-8, channel: anthropic-api}
544
+ - {provider: unknown, alias: claude-opus-4.8, channel: anthropic-api}
506
545
  - provider: anthropic
507
546
  alias: anthropic/claude-opus-4.8
508
547
  channel: vercel-ai-gateway
@@ -532,6 +571,15 @@ models:
532
571
  publisher: anthropic
533
572
  aliases:
534
573
  - {provider: anthropic, alias: claude-opus-4-7, channel: anthropic-api}
574
+ - {provider: anthropic, alias: anthropic/claude-opus-4-7-20260416, channel: anthropic-api}
575
+ - {provider: anthropic, alias: claude-opus-4-7-20260416, channel: anthropic-api}
576
+ - {provider: anthropic, alias: claude-opus-4.7, channel: anthropic-api}
577
+ - {provider: litellm, alias: claude-opus-4-7, channel: anthropic-api}
578
+ - {provider: litellm, alias: claude-opus-4-7-20260416, channel: anthropic-api}
579
+ - {provider: litellm, alias: claude-opus-4.7, channel: anthropic-api}
580
+ - {provider: unknown, alias: claude-opus-4-7, channel: anthropic-api}
581
+ - {provider: unknown, alias: claude-opus-4-7-20260416, channel: anthropic-api}
582
+ - {provider: unknown, alias: claude-opus-4.7, channel: anthropic-api}
535
583
  # The preflight reports the provider-qualified id it captured, and traffic
536
584
  # arrives under both spellings of the minor version.
537
585
  - {provider: anthropic, alias: anthropic/claude-opus-4-7, channel: anthropic-api}
@@ -570,6 +618,16 @@ models:
570
618
  - {provider: anthropic, alias: anthropic/claude-opus-4.6, channel: anthropic-api}
571
619
  - {provider: vertex-ai, alias: claude-opus-4-6, channel: google-vertex-ai}
572
620
  - {provider: vercel, alias: anthropic/claude-opus-4.6, channel: vercel-ai-gateway}
621
+ - {provider: anthropic, alias: anthropic/claude-opus-4-6, channel: anthropic-api}
622
+ - {provider: anthropic, alias: anthropic/claude-opus-4-6-20260205, channel: anthropic-api}
623
+ - {provider: anthropic, alias: claude-opus-4-6-20260205, channel: anthropic-api}
624
+ - {provider: anthropic, alias: claude-opus-4.6, channel: anthropic-api}
625
+ - {provider: litellm, alias: claude-opus-4-6, channel: anthropic-api}
626
+ - {provider: litellm, alias: claude-opus-4-6-20260205, channel: anthropic-api}
627
+ - {provider: litellm, alias: claude-opus-4.6, channel: anthropic-api}
628
+ - {provider: unknown, alias: claude-opus-4-6, channel: anthropic-api}
629
+ - {provider: unknown, alias: claude-opus-4-6-20260205, channel: anthropic-api}
630
+ - {provider: unknown, alias: claude-opus-4.6, channel: anthropic-api}
573
631
  prices:
574
632
  - channel: anthropic-api
575
633
  region: global
@@ -606,6 +664,8 @@ models:
606
664
  publisher: anthropic
607
665
  aliases:
608
666
  - {provider: anthropic, alias: claude-sonnet-5, channel: anthropic-api}
667
+ - {provider: litellm, alias: claude-sonnet-5, channel: anthropic-api}
668
+ - {provider: unknown, alias: claude-sonnet-5, channel: anthropic-api}
609
669
  - provider: anthropic
610
670
  alias: anthropic/claude-sonnet-5
611
671
  channel: vercel-ai-gateway
@@ -650,6 +710,10 @@ models:
650
710
  aliases:
651
711
  - {provider: anthropic, alias: claude-haiku-4-5, channel: anthropic-api}
652
712
  - {provider: anthropic, alias: claude-haiku-4-5-20251001, channel: anthropic-api}
713
+ - {provider: litellm, alias: claude-haiku-4-5, channel: anthropic-api}
714
+ - {provider: litellm, alias: claude-haiku-4.5, channel: anthropic-api}
715
+ - {provider: unknown, alias: claude-haiku-4-5, channel: anthropic-api}
716
+ - {provider: unknown, alias: claude-haiku-4.5, channel: anthropic-api}
653
717
  - provider: anthropic
654
718
  alias: anthropic/claude-haiku-4.5
655
719
  channel: vercel-ai-gateway
@@ -679,6 +743,10 @@ models:
679
743
  publisher: anthropic
680
744
  aliases:
681
745
  - {provider: anthropic, alias: claude-sonnet-4-6, channel: anthropic-api}
746
+ - {provider: litellm, alias: claude-sonnet-4-6, channel: anthropic-api}
747
+ - {provider: litellm, alias: claude-sonnet-4.6, channel: anthropic-api}
748
+ - {provider: unknown, alias: claude-sonnet-4-6, channel: anthropic-api}
749
+ - {provider: unknown, alias: claude-sonnet-4.6, channel: anthropic-api}
682
750
  - provider: anthropic
683
751
  alias: anthropic/claude-sonnet-4.6
684
752
  channel: vercel-ai-gateway
@@ -745,6 +813,10 @@ models:
745
813
  - {provider: anthropic, alias: claude-sonnet-4-5-20250929, channel: anthropic-api}
746
814
  - {provider: anthropic, alias: anthropic/claude-sonnet-4.5, channel: anthropic-api}
747
815
  - {provider: vercel, alias: anthropic/claude-sonnet-4.5, channel: vercel-ai-gateway}
816
+ - {provider: litellm, alias: claude-sonnet-4-5, channel: anthropic-api}
817
+ - {provider: litellm, alias: claude-sonnet-4.5, channel: anthropic-api}
818
+ - {provider: unknown, alias: claude-sonnet-4-5, channel: anthropic-api}
819
+ - {provider: unknown, alias: claude-sonnet-4.5, channel: anthropic-api}
748
820
  prices:
749
821
  - channel: anthropic-api
750
822
  region: global
@@ -792,6 +864,12 @@ models:
792
864
  - {provider: google, alias: gemini-3.1-pro-preview, channel: google-api}
793
865
  - {provider: google, alias: models/gemini-3.1-pro-preview, channel: google-api}
794
866
  - {provider: vertex-ai, alias: gemini-3.1-pro-preview, channel: google-vertex-ai}
867
+ - {provider: google, alias: google/gemini-3-pro-preview, channel: google-api}
868
+ - {provider: google, alias: google/models/gemini-3.1-pro-preview, channel: google-api}
869
+ - {provider: litellm, alias: gemini-3.1-pro-preview, channel: google-api}
870
+ - {provider: litellm, alias: models/gemini-3.1-pro-preview, channel: google-api}
871
+ - {provider: unknown, alias: gemini-3.1-pro-preview, channel: google-api}
872
+ - {provider: unknown, alias: models/gemini-3.1-pro-preview, channel: google-api}
795
873
  - provider: google
796
874
  alias: google/gemini-3.1-pro-preview
797
875
  channel: vercel-ai-gateway
@@ -836,6 +914,8 @@ models:
836
914
  - {provider: google, alias: gemini-3.5-flash, channel: google-api}
837
915
  - {provider: google, alias: models/gemini-3.5-flash, channel: google-api}
838
916
  - {provider: google, alias: google/gemini-3.5-flash, channel: vercel-ai-gateway, rules: {"input_includes_cache_read": true, "input_includes_cache_write": true}}
917
+ - {provider: litellm, alias: gemini-3.5-flash, channel: google-api}
918
+ - {provider: unknown, alias: gemini-3.5-flash, channel: google-api}
839
919
  prices:
840
920
  # Direct API and Vertex list the same rate for this model.
841
921
  - channel: google-api
@@ -870,6 +950,12 @@ models:
870
950
  aliases:
871
951
  - {provider: google, alias: gemini-3.5-flash-lite, channel: google-api}
872
952
  - {provider: google, alias: models/gemini-3.5-flash-lite, channel: google-api}
953
+ - {provider: google, alias: google/gemini-3.5-flash-lite, channel: google-api}
954
+ - {provider: google, alias: google/models/gemini-3.5-flash-lite, channel: google-api}
955
+ - {provider: litellm, alias: gemini-3.5-flash-lite, channel: google-api}
956
+ - {provider: litellm, alias: models/gemini-3.5-flash-lite, channel: google-api}
957
+ - {provider: unknown, alias: gemini-3.5-flash-lite, channel: google-api}
958
+ - {provider: unknown, alias: models/gemini-3.5-flash-lite, channel: google-api}
873
959
  prices:
874
960
  - channel: google-api
875
961
  region: global
@@ -885,6 +971,8 @@ models:
885
971
  - {provider: google, alias: gemini-2.5-pro, channel: google-api}
886
972
  - {provider: google, alias: models/gemini-2.5-pro, channel: google-api}
887
973
  - {provider: google, alias: google/gemini-2.5-pro, channel: vercel-ai-gateway, rules: {"input_includes_cache_read": true, "input_includes_cache_write": true}}
974
+ - {provider: litellm, alias: gemini-2.5-pro, channel: google-api}
975
+ - {provider: unknown, alias: gemini-2.5-pro, channel: google-api}
888
976
  prices:
889
977
  - channel: google-api
890
978
  region: global
@@ -910,6 +998,11 @@ models:
910
998
  aliases:
911
999
  - {provider: google, alias: gemini-2.5-flash, channel: google-api}
912
1000
  - {provider: google, alias: models/gemini-2.5-flash, channel: google-api}
1001
+ - {provider: google, alias: google/models/gemini-2.5-flash, channel: google-api}
1002
+ - {provider: litellm, alias: gemini-2.5-flash, channel: google-api}
1003
+ - {provider: litellm, alias: models/gemini-2.5-flash, channel: google-api}
1004
+ - {provider: unknown, alias: gemini-2.5-flash, channel: google-api}
1005
+ - {provider: unknown, alias: models/gemini-2.5-flash, channel: google-api}
913
1006
  - provider: google
914
1007
  alias: google/gemini-2.5-flash
915
1008
  channel: vercel-ai-gateway
@@ -964,6 +1057,8 @@ models:
964
1057
  - {provider: litellm, alias: google/gemini-flash-lite-latest, channel: google-api}
965
1058
  - {provider: litellm, alias: google/models/gemini-flash-lite-latest, channel: google-api}
966
1059
  - {provider: google, alias: google/gemini-2.5-flash-lite, channel: vercel-ai-gateway, rules: {"input_includes_cache_read": true, "input_includes_cache_write": true}}
1060
+ - {provider: litellm, alias: gemini-2.5-flash-lite, channel: google-api}
1061
+ - {provider: unknown, alias: gemini-2.5-flash-lite, channel: google-api}
967
1062
  prices:
968
1063
  - channel: google-api
969
1064
  region: global
@@ -1039,6 +1134,8 @@ models:
1039
1134
  - canonical_id: meta/muse-spark-1.1
1040
1135
  publisher: meta
1041
1136
  aliases:
1137
+ - {provider: meta, alias: muse-spark-1.1, channel: meta-api}
1138
+ - {provider: unknown, alias: muse-spark-1.1, channel: meta-api}
1042
1139
  - provider: meta
1043
1140
  alias: meta/muse-spark-1.1
1044
1141
  channel: vercel-ai-gateway
@@ -1067,6 +1164,8 @@ models:
1067
1164
  - {provider: litellm, alias: mistral-large-3, channel: mistral-api}
1068
1165
  - {provider: mistral, alias: mistral-large-latest, channel: mistral-api}
1069
1166
  - {provider: mistral, alias: mistral/mistral-large-3, channel: vercel-ai-gateway, rules: {"input_includes_cache_read": true, "input_includes_cache_write": true}}
1167
+ - {provider: mistral, alias: mistral-large-3, channel: mistral-api}
1168
+ - {provider: unknown, alias: mistral-large-3, channel: mistral-api}
1070
1169
  prices:
1071
1170
  - channel: aws-bedrock
1072
1171
  region: us-west-2
@@ -1123,6 +1222,11 @@ models:
1123
1222
  publisher: deepseek
1124
1223
  aliases:
1125
1224
  - {provider: deepseek, alias: deepseek-v4-flash, channel: deepseek-api}
1225
+ - {provider: deepseek, alias: deepseek/deepseek/deepseek-v4-flash, channel: deepseek-api}
1226
+ - {provider: litellm, alias: deepseek-v4-flash, channel: deepseek-api}
1227
+ - {provider: litellm, alias: deepseek/deepseek-v4-flash, channel: deepseek-api}
1228
+ - {provider: unknown, alias: deepseek-v4-flash, channel: deepseek-api}
1229
+ - {provider: unknown, alias: deepseek/deepseek-v4-flash, channel: deepseek-api}
1126
1230
  - provider: deepseek
1127
1231
  alias: deepseek/deepseek-v4-flash
1128
1232
  channel: vercel-ai-gateway
@@ -1157,6 +1261,11 @@ models:
1157
1261
  publisher: deepseek
1158
1262
  aliases:
1159
1263
  - {provider: deepseek, alias: deepseek-v4-pro, channel: deepseek-api}
1264
+ - {provider: deepseek, alias: deepseek/deepseek/deepseek-v4-pro, channel: deepseek-api}
1265
+ - {provider: litellm, alias: deepseek-v4-pro, channel: deepseek-api}
1266
+ - {provider: litellm, alias: deepseek/deepseek-v4-pro, channel: deepseek-api}
1267
+ - {provider: unknown, alias: deepseek-v4-pro, channel: deepseek-api}
1268
+ - {provider: unknown, alias: deepseek/deepseek-v4-pro, channel: deepseek-api}
1160
1269
  - provider: deepseek
1161
1270
  alias: deepseek/deepseek-v4-pro
1162
1271
  channel: vercel-ai-gateway
@@ -1195,6 +1304,12 @@ models:
1195
1304
  - {provider: x-ai, alias: grok-latest, channel: xai-api}
1196
1305
  - {provider: bedrock, alias: xai.grok-4.3, channel: aws-bedrock}
1197
1306
  - {provider: vercel, alias: spacexai/grok-4.3, channel: vercel-ai-gateway}
1307
+ - {provider: litellm, alias: grok-4.3, channel: xai-api}
1308
+ - {provider: litellm, alias: grok-4.3-latest, channel: xai-api}
1309
+ - {provider: unknown, alias: grok-4.3, channel: xai-api}
1310
+ - {provider: unknown, alias: grok-4.3-latest, channel: xai-api}
1311
+ - {provider: x-ai, alias: xai/grok-4.3, channel: xai-api}
1312
+ - {provider: x-ai, alias: xai/grok-4.3-latest, channel: xai-api}
1198
1313
  prices:
1199
1314
  - channel: xai-api
1200
1315
  region: global
@@ -1233,6 +1348,10 @@ models:
1233
1348
  publisher: perplexity
1234
1349
  aliases:
1235
1350
  - {provider: perplexity-ai, alias: sonar, channel: perplexity-api}
1351
+ - {provider: litellm, alias: perplexity/sonar, channel: perplexity-api}
1352
+ - {provider: litellm, alias: sonar, channel: perplexity-api}
1353
+ - {provider: perplexity-ai, alias: perplexity/sonar, channel: perplexity-api}
1354
+ - {provider: unknown, alias: sonar, channel: perplexity-api}
1236
1355
  prices:
1237
1356
  - channel: perplexity-api
1238
1357
  region: global
@@ -1247,6 +1366,9 @@ models:
1247
1366
  publisher: openai
1248
1367
  aliases:
1249
1368
  - {provider: openai, alias: gpt-5-mini, channel: openai-api}
1369
+ - {provider: litellm, alias: gpt-5-mini, channel: openai-api}
1370
+ - {provider: openai, alias: gpt-5-mini-2025-08-07, channel: openai-api}
1371
+ - {provider: unknown, alias: gpt-5-mini, channel: openai-api}
1250
1372
  - provider: openai
1251
1373
  alias: openai/gpt-5-mini
1252
1374
  channel: vercel-ai-gateway
@@ -1299,6 +1421,12 @@ models:
1299
1421
  publisher: google
1300
1422
  aliases:
1301
1423
  - {provider: google, alias: gemini-3.6-flash, channel: google-api}
1424
+ - {provider: google, alias: google/models/gemini-3.6-flash, channel: google-api}
1425
+ - {provider: google, alias: models/gemini-3.6-flash, channel: google-api}
1426
+ - {provider: litellm, alias: gemini-3.6-flash, channel: google-api}
1427
+ - {provider: litellm, alias: models/gemini-3.6-flash, channel: google-api}
1428
+ - {provider: unknown, alias: gemini-3.6-flash, channel: google-api}
1429
+ - {provider: unknown, alias: models/gemini-3.6-flash, channel: google-api}
1302
1430
  - provider: google
1303
1431
  alias: google/gemini-3.6-flash
1304
1432
  channel: vercel-ai-gateway
@@ -1347,6 +1475,10 @@ models:
1347
1475
  - canonical_id: google/gemini-3.7-flash
1348
1476
  publisher: google
1349
1477
  aliases:
1478
+ - {provider: litellm, alias: gemini-3.7-flash, channel: google-api}
1479
+ - {provider: litellm, alias: models/gemini-3.7-flash, channel: google-api}
1480
+ - {provider: unknown, alias: gemini-3.7-flash, channel: google-api}
1481
+ - {provider: unknown, alias: models/gemini-3.7-flash, channel: google-api}
1350
1482
  - provider: google
1351
1483
  alias: google/gemini-3.7-flash
1352
1484
  channel: vercel-ai-gateway
@@ -1497,6 +1629,10 @@ models:
1497
1629
  - canonical_id: zai/glm-5.2
1498
1630
  publisher: zai
1499
1631
  aliases:
1632
+ - {provider: unknown, alias: glm-5.2, channel: zai-api}
1633
+ - {provider: unknown, alias: glm-5p2, channel: zai-api}
1634
+ - {provider: zai, alias: glm-5.2, channel: zai-api}
1635
+ - {provider: zai, alias: glm-5p2, channel: zai-api}
1500
1636
  - provider: zai
1501
1637
  alias: zai/glm-5.2
1502
1638
  channel: vercel-ai-gateway
@@ -1523,6 +1659,8 @@ models:
1523
1659
  - canonical_id: moonshotai/kimi-k3
1524
1660
  publisher: moonshotai
1525
1661
  aliases:
1662
+ - {provider: moonshotai, alias: kimi-k3, channel: moonshot-api}
1663
+ - {provider: unknown, alias: kimi-k3, channel: moonshot-api}
1526
1664
  - provider: moonshotai
1527
1665
  alias: moonshotai/kimi-k3
1528
1666
  channel: vercel-ai-gateway
@@ -1580,6 +1718,8 @@ models:
1580
1718
  - canonical_id: minimax/minimax-m3
1581
1719
  publisher: minimax
1582
1720
  aliases:
1721
+ - {provider: minimax, alias: minimax-m3, channel: minimax-api}
1722
+ - {provider: unknown, alias: minimax-m3, channel: minimax-api}
1583
1723
  - provider: minimax
1584
1724
  alias: minimax/minimax-m3
1585
1725
  channel: vercel-ai-gateway
@@ -1690,6 +1830,10 @@ models:
1690
1830
  - canonical_id: xai/grok-4.6
1691
1831
  publisher: xai
1692
1832
  aliases:
1833
+ - {provider: unknown, alias: grok-4.6, channel: xai-api}
1834
+ - {provider: unknown, alias: grok-4.6-latest, channel: xai-api}
1835
+ - {provider: x-ai, alias: grok-4.6, channel: xai-api}
1836
+ - {provider: x-ai, alias: grok-4.6-latest, channel: xai-api}
1693
1837
  - provider: xai
1694
1838
  alias: spacexai/grok-4.6
1695
1839
  channel: vercel-ai-gateway
@@ -1733,6 +1877,7 @@ models:
1733
1877
  aliases:
1734
1878
  - {provider: google, alias: gemini-3-flash-preview, channel: google-api}
1735
1879
  - {provider: google, alias: models/gemini-3-flash-preview, channel: google-api}
1880
+ - {provider: google, alias: google/gemini-3-flash-preview, channel: google-api}
1736
1881
  prices:
1737
1882
  - channel: google-api
1738
1883
  region: global
@@ -1754,6 +1899,8 @@ models:
1754
1899
  - {provider: google, alias: models/gemini-3.1-flash-lite, channel: google-api}
1755
1900
  - {provider: google, alias: gemini-3.1-flash-lite-preview, channel: google-api}
1756
1901
  - {provider: google, alias: google/gemini-3.1-flash-lite, channel: vercel-ai-gateway, rules: {"input_includes_cache_read": true, "input_includes_cache_write": true}}
1902
+ - {provider: litellm, alias: gemini-3.1-flash-lite, channel: google-api}
1903
+ - {provider: unknown, alias: gemini-3.1-flash-lite, channel: google-api}
1757
1904
  prices:
1758
1905
  - channel: google-api
1759
1906
  region: global
@@ -1930,6 +2077,8 @@ models:
1930
2077
  aliases:
1931
2078
  - {provider: alibaba, alias: alibaba/qwen3.7-max, channel: alibaba-api}
1932
2079
  - {provider: alibaba, alias: qwen3.7-max, channel: alibaba-api}
2080
+ - {provider: litellm, alias: qwen3.7-max, channel: alibaba-api}
2081
+ - {provider: unknown, alias: qwen3.7-max, channel: alibaba-api}
1933
2082
  prices:
1934
2083
  - channel: alibaba-api
1935
2084
  region: global
@@ -1944,6 +2093,8 @@ models:
1944
2093
  aliases:
1945
2094
  - {provider: alibaba, alias: qwen3.7-plus, channel: alibaba-api}
1946
2095
  - {provider: alibaba, alias: alibaba/qwen3.7-plus, channel: vercel-ai-gateway, rules: {"input_includes_cache_read": true, "input_includes_cache_write": true}}
2096
+ - {provider: litellm, alias: qwen3.7-plus, channel: alibaba-api}
2097
+ - {provider: unknown, alias: qwen3.7-plus, channel: alibaba-api}
1947
2098
  prices:
1948
2099
  - channel: alibaba-api
1949
2100
  region: global
@@ -1969,6 +2120,8 @@ models:
1969
2120
  - {provider: alibaba, alias: alibaba/qwen3.8-max, channel: alibaba-api}
1970
2121
  - {provider: alibaba, alias: qwen3.8-max, channel: alibaba-api}
1971
2122
  - {provider: vercel, alias: alibaba/qwen3.8-max, channel: vercel-ai-gateway}
2123
+ - {provider: litellm, alias: qwen3.8-max, channel: alibaba-api}
2124
+ - {provider: unknown, alias: qwen3.8-max, channel: alibaba-api}
1972
2125
  prices:
1973
2126
  - channel: alibaba-api
1974
2127
  region: global
@@ -1988,6 +2141,14 @@ models:
1988
2141
  - canonical_id: amazon/nova-2-lite
1989
2142
  publisher: amazon
1990
2143
  aliases:
2144
+ - {provider: amazon, alias: amazon-nova/nova-2-lite, channel: aws-bedrock}
2145
+ - {provider: amazon, alias: amazon/amazon-nova/nova-2-lite, channel: aws-bedrock}
2146
+ - {provider: amazon, alias: amazon/nova-2-lite, channel: aws-bedrock}
2147
+ - {provider: amazon, alias: nova-2-lite, channel: aws-bedrock}
2148
+ - {provider: litellm, alias: amazon-nova/nova-2-lite, channel: aws-bedrock}
2149
+ - {provider: litellm, alias: nova-2-lite, channel: aws-bedrock}
2150
+ - {provider: unknown, alias: amazon-nova/nova-2-lite, channel: aws-bedrock}
2151
+ - {provider: unknown, alias: nova-2-lite, channel: aws-bedrock}
1991
2152
  # Bedrock's global inference profile bills at standard / 1.1 on every
1992
2153
  # dimension. Every other prefix, and the bare id, is the higher tier.
1993
2154
  - {provider: bedrock, alias: global.amazon.nova-2-lite-v1:0, channel: aws-bedrock}
@@ -2021,6 +2182,14 @@ models:
2021
2182
  - canonical_id: amazon/nova-lite
2022
2183
  publisher: amazon
2023
2184
  aliases:
2185
+ - {provider: amazon, alias: amazon/nova-lite, channel: aws-bedrock}
2186
+ - {provider: amazon, alias: amazon/nova-lite-v1, channel: aws-bedrock}
2187
+ - {provider: amazon, alias: nova-lite, channel: aws-bedrock}
2188
+ - {provider: amazon, alias: nova-lite-v1, channel: aws-bedrock}
2189
+ - {provider: litellm, alias: nova-lite, channel: aws-bedrock}
2190
+ - {provider: litellm, alias: nova-lite-v1, channel: aws-bedrock}
2191
+ - {provider: unknown, alias: nova-lite, channel: aws-bedrock}
2192
+ - {provider: unknown, alias: nova-lite-v1, channel: aws-bedrock}
2024
2193
  # No global inference profile exists for this model, so every
2025
2194
  # prefix shares one rate.
2026
2195
  - {provider: bedrock, alias: amazon.nova-lite-v1:0, channel: aws-bedrock}
@@ -2037,6 +2206,14 @@ models:
2037
2206
  - canonical_id: amazon/nova-micro
2038
2207
  publisher: amazon
2039
2208
  aliases:
2209
+ - {provider: amazon, alias: amazon/nova-micro, channel: aws-bedrock}
2210
+ - {provider: amazon, alias: amazon/nova-micro-v1, channel: aws-bedrock}
2211
+ - {provider: amazon, alias: nova-micro, channel: aws-bedrock}
2212
+ - {provider: amazon, alias: nova-micro-v1, channel: aws-bedrock}
2213
+ - {provider: litellm, alias: nova-micro, channel: aws-bedrock}
2214
+ - {provider: litellm, alias: nova-micro-v1, channel: aws-bedrock}
2215
+ - {provider: unknown, alias: nova-micro, channel: aws-bedrock}
2216
+ - {provider: unknown, alias: nova-micro-v1, channel: aws-bedrock}
2040
2217
  # No global inference profile exists for this model, so every
2041
2218
  # prefix shares one rate.
2042
2219
  - {provider: bedrock, alias: amazon.nova-micro-v1:0, channel: aws-bedrock}
@@ -2053,6 +2230,18 @@ models:
2053
2230
  - canonical_id: amazon/nova-pro
2054
2231
  publisher: amazon
2055
2232
  aliases:
2233
+ - {provider: amazon, alias: amazon-nova/nova-pro-v1, channel: aws-bedrock}
2234
+ - {provider: amazon, alias: amazon/amazon-nova/nova-pro-v1, channel: aws-bedrock}
2235
+ - {provider: amazon, alias: amazon/nova-pro, channel: aws-bedrock}
2236
+ - {provider: amazon, alias: amazon/nova-pro-v1, channel: aws-bedrock}
2237
+ - {provider: amazon, alias: nova-pro, channel: aws-bedrock}
2238
+ - {provider: amazon, alias: nova-pro-v1, channel: aws-bedrock}
2239
+ - {provider: litellm, alias: amazon-nova/nova-pro-v1, channel: aws-bedrock}
2240
+ - {provider: litellm, alias: nova-pro, channel: aws-bedrock}
2241
+ - {provider: litellm, alias: nova-pro-v1, channel: aws-bedrock}
2242
+ - {provider: unknown, alias: amazon-nova/nova-pro-v1, channel: aws-bedrock}
2243
+ - {provider: unknown, alias: nova-pro, channel: aws-bedrock}
2244
+ - {provider: unknown, alias: nova-pro-v1, channel: aws-bedrock}
2056
2245
  # No global inference profile exists for this model, so every
2057
2246
  # prefix shares one rate.
2058
2247
  - {provider: bedrock, alias: amazon.nova-pro-v1:0, channel: aws-bedrock}
@@ -2092,6 +2281,10 @@ models:
2092
2281
  - {provider: anthropic, alias: anthropic/claude-mythos-preview, channel: anthropic-api}
2093
2282
  - {provider: anthropic, alias: claude-mythos-5, channel: anthropic-api}
2094
2283
  - {provider: anthropic, alias: claude-mythos-preview, channel: anthropic-api}
2284
+ - {provider: litellm, alias: claude-mythos-5, channel: anthropic-api}
2285
+ - {provider: litellm, alias: claude-mythos-preview, channel: anthropic-api}
2286
+ - {provider: unknown, alias: claude-mythos-5, channel: anthropic-api}
2287
+ - {provider: unknown, alias: claude-mythos-preview, channel: anthropic-api}
2095
2288
  prices:
2096
2289
  - channel: anthropic-api
2097
2290
  region: global
@@ -2113,6 +2306,12 @@ models:
2113
2306
  - {provider: anthropic, alias: claude-4-opus-20250514, channel: anthropic-api}
2114
2307
  - {provider: anthropic, alias: claude-opus-4, channel: anthropic-api}
2115
2308
  - {provider: anthropic, alias: claude-opus-4-20250514, channel: anthropic-api}
2309
+ - {provider: litellm, alias: claude-4-opus-20250514, channel: anthropic-api}
2310
+ - {provider: litellm, alias: claude-opus-4, channel: anthropic-api}
2311
+ - {provider: litellm, alias: claude-opus-4-20250514, channel: anthropic-api}
2312
+ - {provider: unknown, alias: claude-4-opus-20250514, channel: anthropic-api}
2313
+ - {provider: unknown, alias: claude-opus-4, channel: anthropic-api}
2314
+ - {provider: unknown, alias: claude-opus-4-20250514, channel: anthropic-api}
2116
2315
  prices:
2117
2316
  - channel: anthropic-api
2118
2317
  region: global
@@ -2134,6 +2333,12 @@ models:
2134
2333
  - {provider: anthropic, alias: claude-opus-4-1, channel: anthropic-api}
2135
2334
  - {provider: anthropic, alias: claude-opus-4.1, channel: anthropic-api}
2136
2335
  - {provider: anthropic, alias: claude-opus-4-1-20250805, channel: anthropic-api}
2336
+ - {provider: litellm, alias: claude-opus-4-1, channel: anthropic-api}
2337
+ - {provider: litellm, alias: claude-opus-4-1-20250805, channel: anthropic-api}
2338
+ - {provider: litellm, alias: claude-opus-4.1, channel: anthropic-api}
2339
+ - {provider: unknown, alias: claude-opus-4-1, channel: anthropic-api}
2340
+ - {provider: unknown, alias: claude-opus-4-1-20250805, channel: anthropic-api}
2341
+ - {provider: unknown, alias: claude-opus-4.1, channel: anthropic-api}
2137
2342
  prices:
2138
2343
  - channel: anthropic-api
2139
2344
  region: global
@@ -2178,6 +2383,8 @@ models:
2178
2383
  - {provider: anthropic, alias: anthropic/claude-opus-5-fast, channel: anthropic-api}
2179
2384
  - {provider: anthropic, alias: claude-opus-5-fast, channel: anthropic-api}
2180
2385
  - {provider: vercel, alias: anthropic/claude-opus-5-fast, channel: vercel-ai-gateway}
2386
+ - {provider: litellm, alias: claude-opus-5-fast, channel: anthropic-api}
2387
+ - {provider: unknown, alias: claude-opus-5-fast, channel: anthropic-api}
2181
2388
  prices:
2182
2389
  - channel: anthropic-api
2183
2390
  region: global
@@ -2223,6 +2430,14 @@ models:
2223
2430
  publisher: google
2224
2431
  aliases:
2225
2432
  - {provider: vercel, alias: google/gemini-3-flash, channel: vercel-ai-gateway}
2433
+ - {provider: google, alias: gemini-3-flash, channel: vercel-ai-gateway}
2434
+ - {provider: google, alias: google/gemini-3-flash, channel: vercel-ai-gateway}
2435
+ - {provider: google, alias: google/models/gemini-3-flash, channel: vercel-ai-gateway}
2436
+ - {provider: google, alias: models/gemini-3-flash, channel: vercel-ai-gateway}
2437
+ - {provider: litellm, alias: gemini-3-flash, channel: vercel-ai-gateway}
2438
+ - {provider: litellm, alias: models/gemini-3-flash, channel: vercel-ai-gateway}
2439
+ - {provider: unknown, alias: gemini-3-flash, channel: vercel-ai-gateway}
2440
+ - {provider: unknown, alias: models/gemini-3-flash, channel: vercel-ai-gateway}
2226
2441
  prices:
2227
2442
  - channel: vercel-ai-gateway
2228
2443
  region: global
@@ -2237,6 +2452,8 @@ models:
2237
2452
  - {provider: litellm, alias: muse-spark-1.2, channel: meta-api}
2238
2453
  - {provider: meta, alias: meta/muse-spark-1.2, channel: meta-api}
2239
2454
  - {provider: vercel, alias: meta/muse-spark-1.2, channel: vercel-ai-gateway}
2455
+ - {provider: meta, alias: muse-spark-1.2, channel: meta-api}
2456
+ - {provider: unknown, alias: muse-spark-1.2, channel: meta-api}
2240
2457
  prices:
2241
2458
  - channel: meta-api
2242
2459
  region: global
@@ -2269,6 +2486,8 @@ models:
2269
2486
  - {provider: litellm, alias: minimax-m2.7, channel: minimax-api}
2270
2487
  - {provider: minimax, alias: minimax-m2p7, channel: minimax-api}
2271
2488
  - {provider: minimax, alias: minimax/minimax-m2.7, channel: vercel-ai-gateway, rules: {"input_includes_cache_read": true, "input_includes_cache_write": true}}
2489
+ - {provider: minimax, alias: minimax-m2.7, channel: minimax-api}
2490
+ - {provider: unknown, alias: minimax-m2.7, channel: minimax-api}
2272
2491
  prices:
2273
2492
  - channel: minimax-api
2274
2493
  region: global
@@ -2295,6 +2514,12 @@ models:
2295
2514
  - {provider: mistral, alias: mistral/mistral-medium-2604, channel: mistral-api}
2296
2515
  - {provider: mistral, alias: mistral/mistral-medium-3.5, channel: mistral-api}
2297
2516
  - {provider: mistral, alias: mistral/mistral-medium-latest, channel: mistral-api}
2517
+ - {provider: mistral, alias: mistral-medium-2604, channel: mistral-api}
2518
+ - {provider: mistral, alias: mistral-medium-3.5, channel: mistral-api}
2519
+ - {provider: mistral, alias: mistral-medium-latest, channel: mistral-api}
2520
+ - {provider: unknown, alias: mistral-medium-2604, channel: mistral-api}
2521
+ - {provider: unknown, alias: mistral-medium-3.5, channel: mistral-api}
2522
+ - {provider: unknown, alias: mistral-medium-latest, channel: mistral-api}
2298
2523
  prices:
2299
2524
  - channel: mistral-api
2300
2525
  region: global
@@ -2311,6 +2536,12 @@ models:
2311
2536
  - {provider: mistral, alias: mistral/mistral-small-2603, channel: mistral-api}
2312
2537
  - {provider: mistral, alias: mistral/mistral-small-4, channel: mistral-api}
2313
2538
  - {provider: mistral, alias: mistral/mistral-small-latest, channel: mistral-api}
2539
+ - {provider: mistral, alias: mistral-small-2603, channel: mistral-api}
2540
+ - {provider: mistral, alias: mistral-small-4, channel: mistral-api}
2541
+ - {provider: mistral, alias: mistral-small-latest, channel: mistral-api}
2542
+ - {provider: unknown, alias: mistral-small-2603, channel: mistral-api}
2543
+ - {provider: unknown, alias: mistral-small-4, channel: mistral-api}
2544
+ - {provider: unknown, alias: mistral-small-latest, channel: mistral-api}
2314
2545
  prices:
2315
2546
  - channel: mistral-api
2316
2547
  region: global
@@ -2324,6 +2555,8 @@ models:
2324
2555
  - {provider: litellm, alias: gpt-5, channel: openai-api, rules: {"input_includes_cache_read": true}}
2325
2556
  - {provider: openai, alias: gpt-5-2025-08-07, channel: openai-api, rules: {"input_includes_cache_read": true}}
2326
2557
  - {provider: openai, alias: openai/gpt-5, channel: openai-api, rules: {"input_includes_cache_read": true}}
2558
+ - {provider: openai, alias: gpt-5, channel: openai-api, rules: {"input_includes_cache_read": true}}
2559
+ - {provider: unknown, alias: gpt-5, channel: openai-api, rules: {"input_includes_cache_read": true}}
2327
2560
  prices:
2328
2561
  - channel: openai-api
2329
2562
  region: global
@@ -2339,6 +2572,8 @@ models:
2339
2572
  aliases:
2340
2573
  - {provider: litellm, alias: gpt-5.3-codex, channel: openai-api}
2341
2574
  - {provider: openai, alias: openai/gpt-5.3-codex, channel: openai-api}
2575
+ - {provider: openai, alias: gpt-5.3-codex, channel: openai-api}
2576
+ - {provider: unknown, alias: gpt-5.3-codex, channel: openai-api}
2342
2577
  prices:
2343
2578
  - channel: openai-api
2344
2579
  region: global
@@ -2354,6 +2589,10 @@ models:
2354
2589
  - {provider: litellm, alias: gpt-5.4-pro-2026-03-05, channel: openai-api}
2355
2590
  - {provider: openai, alias: openai/gpt-5.4-pro, channel: openai-api}
2356
2591
  - {provider: openai, alias: openai/gpt-5.4-pro-2026-03-05, channel: openai-api}
2592
+ - {provider: openai, alias: gpt-5.4-pro, channel: openai-api}
2593
+ - {provider: openai, alias: gpt-5.4-pro-2026-03-05, channel: openai-api}
2594
+ - {provider: unknown, alias: gpt-5.4-pro, channel: openai-api}
2595
+ - {provider: unknown, alias: gpt-5.4-pro-2026-03-05, channel: openai-api}
2357
2596
  prices:
2358
2597
  - channel: openai-api
2359
2598
  region: global
@@ -2371,6 +2610,10 @@ models:
2371
2610
  - {provider: openai, alias: openai/gpt-5.5, channel: openai-api}
2372
2611
  - {provider: openai, alias: openai/gpt-5.5-2026-04-23, channel: openai-api}
2373
2612
  - {provider: vercel, alias: openai/gpt-5.5, channel: vercel-ai-gateway}
2613
+ - {provider: openai, alias: gpt-5.5, channel: openai-api}
2614
+ - {provider: openai, alias: gpt-5.5-2026-04-23, channel: openai-api}
2615
+ - {provider: unknown, alias: gpt-5.5, channel: openai-api}
2616
+ - {provider: unknown, alias: gpt-5.5-2026-04-23, channel: openai-api}
2374
2617
  prices:
2375
2618
  - channel: openai-api
2376
2619
  region: global
@@ -2396,6 +2639,10 @@ models:
2396
2639
  - {provider: openai, alias: openai/gpt-5.5-pro, channel: openai-api}
2397
2640
  - {provider: openai, alias: openai/gpt-5.5-pro-2026-04-23, channel: openai-api}
2398
2641
  - {provider: vercel, alias: openai/gpt-5.5-pro, channel: vercel-ai-gateway}
2642
+ - {provider: openai, alias: gpt-5.5-pro, channel: openai-api}
2643
+ - {provider: openai, alias: gpt-5.5-pro-2026-04-23, channel: openai-api}
2644
+ - {provider: unknown, alias: gpt-5.5-pro, channel: openai-api}
2645
+ - {provider: unknown, alias: gpt-5.5-pro-2026-04-23, channel: openai-api}
2399
2646
  prices:
2400
2647
  - channel: openai-api
2401
2648
  region: global
@@ -2416,6 +2663,8 @@ models:
2416
2663
  aliases:
2417
2664
  - {provider: litellm, alias: gpt-5.6-cyber, channel: openai-api}
2418
2665
  - {provider: openai, alias: openai/gpt-5.6-cyber, channel: openai-api}
2666
+ - {provider: openai, alias: gpt-5.6-cyber, channel: openai-api}
2667
+ - {provider: unknown, alias: gpt-5.6-cyber, channel: openai-api}
2419
2668
  prices:
2420
2669
  - channel: openai-api
2421
2670
  region: global
@@ -2431,6 +2680,8 @@ models:
2431
2680
  - {provider: litellm, alias: o4-mini, channel: openai-api}
2432
2681
  - {provider: openai, alias: o4-mini-2025-04-16, channel: openai-api}
2433
2682
  - {provider: openai, alias: openai/o4-mini, channel: vercel-ai-gateway, rules: {"input_includes_cache_read": true, "input_includes_cache_write": true}}
2683
+ - {provider: openai, alias: o4-mini, channel: openai-api}
2684
+ - {provider: unknown, alias: o4-mini, channel: openai-api}
2434
2685
  prices:
2435
2686
  - channel: openai-api
2436
2687
  region: global
@@ -2456,6 +2707,10 @@ models:
2456
2707
  - {provider: litellm, alias: grok-4.20-non-reasoning, channel: xai-api}
2457
2708
  - {provider: x-ai, alias: xai/grok-4.20-0309-non-reasoning, channel: xai-api}
2458
2709
  - {provider: x-ai, alias: xai/grok-4.20-non-reasoning, channel: xai-api}
2710
+ - {provider: unknown, alias: grok-4.20-0309-non-reasoning, channel: xai-api}
2711
+ - {provider: unknown, alias: grok-4.20-non-reasoning, channel: xai-api}
2712
+ - {provider: x-ai, alias: grok-4.20-0309-non-reasoning, channel: xai-api}
2713
+ - {provider: x-ai, alias: grok-4.20-non-reasoning, channel: xai-api}
2459
2714
  prices:
2460
2715
  - channel: vercel-ai-gateway
2461
2716
  region: global
@@ -2483,6 +2738,10 @@ models:
2483
2738
  - {provider: litellm, alias: grok-4.20-reasoning, channel: xai-api}
2484
2739
  - {provider: x-ai, alias: xai/grok-4.20-0309-reasoning, channel: xai-api}
2485
2740
  - {provider: x-ai, alias: xai/grok-4.20-reasoning, channel: xai-api}
2741
+ - {provider: unknown, alias: grok-4.20-0309-reasoning, channel: xai-api}
2742
+ - {provider: unknown, alias: grok-4.20-reasoning, channel: xai-api}
2743
+ - {provider: x-ai, alias: grok-4.20-0309-reasoning, channel: xai-api}
2744
+ - {provider: x-ai, alias: grok-4.20-reasoning, channel: xai-api}
2486
2745
  prices:
2487
2746
  - channel: vercel-ai-gateway
2488
2747
  region: global
@@ -2509,6 +2768,10 @@ models:
2509
2768
  - {provider: litellm, alias: grok-4.5-latest, channel: xai-api}
2510
2769
  - {provider: x-ai, alias: xai/grok-4.5, channel: xai-api}
2511
2770
  - {provider: x-ai, alias: xai/grok-4.5-latest, channel: xai-api}
2771
+ - {provider: unknown, alias: grok-4.5, channel: xai-api}
2772
+ - {provider: unknown, alias: grok-4.5-latest, channel: xai-api}
2773
+ - {provider: x-ai, alias: grok-4.5, channel: xai-api}
2774
+ - {provider: x-ai, alias: grok-4.5-latest, channel: xai-api}
2512
2775
  prices:
2513
2776
  - channel: xai-api
2514
2777
  region: global
@@ -2527,6 +2790,10 @@ models:
2527
2790
  - {provider: litellm, alias: glm-5p1, channel: zai-api}
2528
2791
  - {provider: zai, alias: zai/glm-5.1, channel: zai-api}
2529
2792
  - {provider: zai, alias: zai/glm-5p1, channel: zai-api}
2793
+ - {provider: unknown, alias: glm-5.1, channel: zai-api}
2794
+ - {provider: unknown, alias: glm-5p1, channel: zai-api}
2795
+ - {provider: zai, alias: glm-5.1, channel: zai-api}
2796
+ - {provider: zai, alias: glm-5p1, channel: zai-api}
2530
2797
  prices:
2531
2798
  - channel: vercel-ai-gateway
2532
2799
  region: global
@@ -15,7 +15,7 @@ from .catalog import (
15
15
  CostResult,
16
16
  Price,
17
17
  _decimal,
18
- _normalize_provider,
18
+ normalize_provider,
19
19
  )
20
20
  from .retrieval import RetrievalCatalog, RetrievalCostResult, RetrievalPrice
21
21
 
@@ -83,7 +83,7 @@ class LoadedCatalog:
83
83
  if not isinstance(model_id, str) or not isinstance(provider, str):
84
84
  return model_id
85
85
  return self.canonical_ids.get(
86
- (_normalize_provider(provider), model_id), model_id
86
+ (normalize_provider(provider), model_id), model_id
87
87
  )
88
88
 
89
89
  def infer_direct_channel(self, model: Any) -> str | None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metergraph-core
3
- Version: 0.2.26
3
+ Version: 0.2.27
4
4
  Summary: Reusable MeterGraph catalog and deterministic billing engine
5
5
  License-Expression: Apache-2.0
6
6
  Requires-Python: >=3.10