@x12i/ai-profiles 4.0.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +8 -7
  2. package/dist/buildCatalogFromOpenRouterApi.d.ts.map +1 -1
  3. package/dist/buildCatalogFromOpenRouterApi.js +70 -1
  4. package/dist/buildCatalogFromOpenRouterApi.js.map +1 -1
  5. package/dist/buildResolvedProfile.d.ts.map +1 -1
  6. package/dist/buildResolvedProfile.js +9 -2
  7. package/dist/buildResolvedProfile.js.map +1 -1
  8. package/dist/constants.d.ts +5 -4
  9. package/dist/constants.d.ts.map +1 -1
  10. package/dist/constants.js +5 -4
  11. package/dist/constants.js.map +1 -1
  12. package/dist/data/models-catalog.json +106 -3
  13. package/dist/data/models-profiles.json +3080 -41347
  14. package/dist/data/models-profiles.schema.json +4 -3
  15. package/dist/data/models-registry.json +2846 -8994
  16. package/dist/index.d.ts +1 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/listAIProfileChoices.d.ts.map +1 -1
  21. package/dist/listAIProfileChoices.js +4 -2
  22. package/dist/listAIProfileChoices.js.map +1 -1
  23. package/dist/loader/loadBundledModelsProfiles.d.ts.map +1 -1
  24. package/dist/loader/loadBundledModelsProfiles.js +17 -4
  25. package/dist/loader/loadBundledModelsProfiles.js.map +1 -1
  26. package/dist/modelsCatalog.d.ts +1 -1
  27. package/dist/modelsCatalog.d.ts.map +1 -1
  28. package/dist/modelsCatalog.js +10 -0
  29. package/dist/modelsCatalog.js.map +1 -1
  30. package/dist/profileChoiceKey.d.ts.map +1 -1
  31. package/dist/profileChoiceKey.js +6 -0
  32. package/dist/profileChoiceKey.js.map +1 -1
  33. package/dist/profileDiscovery.js +2 -2
  34. package/dist/profileDiscovery.js.map +1 -1
  35. package/dist/profileRegistryV3.d.ts +3 -0
  36. package/dist/profileRegistryV3.d.ts.map +1 -1
  37. package/dist/profileRegistryV3.js +7 -0
  38. package/dist/profileRegistryV3.js.map +1 -1
  39. package/dist/types.d.ts +34 -3
  40. package/dist/types.d.ts.map +1 -1
  41. package/dist/validation/openRouterAlignment.d.ts +1 -1
  42. package/dist/validation/openRouterAlignment.d.ts.map +1 -1
  43. package/dist/validation/profileIntentPolicy.d.ts +7 -0
  44. package/dist/validation/profileIntentPolicy.d.ts.map +1 -1
  45. package/dist/validation/profileIntentPolicy.js +23 -0
  46. package/dist/validation/profileIntentPolicy.js.map +1 -1
  47. package/dist/validation/validateModelsProfilesJson.d.ts.map +1 -1
  48. package/dist/validation/validateModelsProfilesJson.js +11 -7
  49. package/dist/validation/validateModelsProfilesJson.js.map +1 -1
  50. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schema": "x12i.ai-profiles.models-catalog",
3
- "version": "1.0.0",
3
+ "version": "2.0.0",
4
4
  "generatedAt": "2026-07-07T13:05:26.293Z",
5
5
  "currency": "USD",
6
6
  "pricingUnit": "1M_tokens",
@@ -14,9 +14,9 @@
14
14
  },
15
15
  "notes": [
16
16
  "Generated from https://openrouter.ai/api/v1/models.",
17
- "Upload the normalized models-catalog.json to open-assets for remote refresh.",
17
+ "Upload the normalized models-catalog.v2.json to open-assets for remote refresh.",
18
18
  "Text-only catalog: excludes image, audio, and video input/output SKUs.",
19
- "Remote asset URL: https://open-assets.x12i.com/models-catalog.json"
19
+ "Remote asset URL: https://open-assets.x12i.com/models-catalog.v2.json"
20
20
  ],
21
21
  "models": [
22
22
  {
@@ -147,6 +147,7 @@
147
147
  },
148
148
  "displayName": "Anthropic: Claude Sonnet 5",
149
149
  "family": "anthropic",
150
+ "modelFamily": "sonnet",
150
151
  "status": "active",
151
152
  "modalities": {
152
153
  "input": [
@@ -428,6 +429,7 @@
428
429
  },
429
430
  "displayName": "Anthropic: Claude Fable Latest",
430
431
  "family": "anthropic",
432
+ "modelFamily": "fable",
431
433
  "status": "active",
432
434
  "modalities": {
433
435
  "input": [
@@ -479,6 +481,7 @@
479
481
  },
480
482
  "displayName": "Anthropic: Claude Fable 5",
481
483
  "family": "anthropic",
484
+ "modelFamily": "fable",
482
485
  "status": "active",
483
486
  "modalities": {
484
487
  "input": [
@@ -672,6 +675,7 @@
672
675
  },
673
676
  "displayName": "Anthropic: Claude Opus 4.8 (Fast)",
674
677
  "family": "anthropic",
678
+ "modelFamily": "opus",
675
679
  "status": "active",
676
680
  "modalities": {
677
681
  "input": [
@@ -723,6 +727,7 @@
723
727
  },
724
728
  "displayName": "Anthropic: Claude Opus 4.8",
725
729
  "family": "anthropic",
730
+ "modelFamily": "opus",
726
731
  "status": "active",
727
732
  "modalities": {
728
733
  "input": [
@@ -819,6 +824,7 @@
819
824
  },
820
825
  "displayName": "xAI: Grok Build 0.1",
821
826
  "family": "x-ai",
827
+ "modelFamily": "grok",
822
828
  "status": "active",
823
829
  "modalities": {
824
830
  "input": [
@@ -869,6 +875,7 @@
869
875
  },
870
876
  "displayName": "Anthropic: Claude Opus 4.7 (Fast)",
871
877
  "family": "anthropic",
878
+ "modelFamily": "opus",
872
879
  "status": "active",
873
880
  "modalities": {
874
881
  "input": [
@@ -963,6 +970,7 @@
963
970
  },
964
971
  "displayName": "OpenAI: GPT Chat Latest",
965
972
  "family": "openai",
973
+ "modelFamily": "gpt",
966
974
  "status": "active",
967
975
  "modalities": {
968
976
  "input": [
@@ -1013,6 +1021,7 @@
1013
1021
  },
1014
1022
  "displayName": "xAI: Grok 4.3",
1015
1023
  "family": "x-ai",
1024
+ "modelFamily": "grok",
1016
1025
  "status": "active",
1017
1026
  "modalities": {
1018
1027
  "input": [
@@ -1248,6 +1257,7 @@
1248
1257
  },
1249
1258
  "displayName": "Anthropic Claude Haiku Latest",
1250
1259
  "family": "anthropic",
1260
+ "modelFamily": "haiku",
1251
1261
  "status": "active",
1252
1262
  "modalities": {
1253
1263
  "input": [
@@ -1299,6 +1309,7 @@
1299
1309
  },
1300
1310
  "displayName": "OpenAI GPT Mini Latest",
1301
1311
  "family": "openai",
1312
+ "modelFamily": "mini",
1302
1313
  "status": "active",
1303
1314
  "modalities": {
1304
1315
  "input": [
@@ -1399,6 +1410,7 @@
1399
1410
  },
1400
1411
  "displayName": "Anthropic Claude Sonnet Latest",
1401
1412
  "family": "anthropic",
1413
+ "modelFamily": "sonnet",
1402
1414
  "status": "active",
1403
1415
  "modalities": {
1404
1416
  "input": [
@@ -1450,6 +1462,7 @@
1450
1462
  },
1451
1463
  "displayName": "OpenAI GPT Latest",
1452
1464
  "family": "openai",
1465
+ "modelFamily": "gpt",
1453
1466
  "status": "active",
1454
1467
  "modalities": {
1455
1468
  "input": [
@@ -1547,6 +1560,7 @@
1547
1560
  },
1548
1561
  "displayName": "OpenAI: GPT-5.5 Pro",
1549
1562
  "family": "openai",
1563
+ "modelFamily": "gpt",
1550
1564
  "status": "active",
1551
1565
  "modalities": {
1552
1566
  "input": [
@@ -1599,6 +1613,7 @@
1599
1613
  },
1600
1614
  "displayName": "OpenAI: GPT-5.5",
1601
1615
  "family": "openai",
1616
+ "modelFamily": "gpt",
1602
1617
  "status": "active",
1603
1618
  "modalities": {
1604
1619
  "input": [
@@ -1647,6 +1662,7 @@
1647
1662
  },
1648
1663
  "displayName": "DeepSeek: DeepSeek V4 Pro",
1649
1664
  "family": "deepseek",
1665
+ "modelFamily": "chat",
1650
1666
  "status": "active",
1651
1667
  "modalities": {
1652
1668
  "input": [
@@ -1692,6 +1708,7 @@
1692
1708
  },
1693
1709
  "displayName": "DeepSeek: DeepSeek V4 Flash",
1694
1710
  "family": "deepseek",
1711
+ "modelFamily": "chat",
1695
1712
  "status": "active",
1696
1713
  "modalities": {
1697
1714
  "input": [
@@ -1922,6 +1939,7 @@
1922
1939
  },
1923
1940
  "displayName": "Anthropic: Claude Opus Latest",
1924
1941
  "family": "anthropic",
1942
+ "modelFamily": "opus",
1925
1943
  "status": "active",
1926
1944
  "modalities": {
1927
1945
  "input": [
@@ -2060,6 +2078,7 @@
2060
2078
  },
2061
2079
  "displayName": "Anthropic: Claude Opus 4.7",
2062
2080
  "family": "anthropic",
2081
+ "modelFamily": "opus",
2063
2082
  "status": "active",
2064
2083
  "modalities": {
2065
2084
  "input": [
@@ -2201,6 +2220,7 @@
2201
2220
  },
2202
2221
  "displayName": "xAI: Grok 4.20 Multi-Agent",
2203
2222
  "family": "x-ai",
2223
+ "modelFamily": "grok",
2204
2224
  "status": "active",
2205
2225
  "modalities": {
2206
2226
  "input": [
@@ -2253,6 +2273,7 @@
2253
2273
  },
2254
2274
  "displayName": "xAI: Grok 4.20",
2255
2275
  "family": "x-ai",
2276
+ "modelFamily": "grok",
2256
2277
  "status": "active",
2257
2278
  "modalities": {
2258
2279
  "input": [
@@ -2345,6 +2366,7 @@
2345
2366
  },
2346
2367
  "displayName": "MiniMax: MiniMax M2.7",
2347
2368
  "family": "minimax",
2369
+ "modelFamily": "m",
2348
2370
  "status": "active",
2349
2371
  "modalities": {
2350
2372
  "input": [
@@ -2394,6 +2416,7 @@
2394
2416
  },
2395
2417
  "displayName": "OpenAI: GPT-5.4 Nano",
2396
2418
  "family": "openai",
2419
+ "modelFamily": "nano",
2397
2420
  "status": "active",
2398
2421
  "modalities": {
2399
2422
  "input": [
@@ -2446,6 +2469,7 @@
2446
2469
  },
2447
2470
  "displayName": "OpenAI: GPT-5.4 Mini",
2448
2471
  "family": "openai",
2472
+ "modelFamily": "mini",
2449
2473
  "status": "active",
2450
2474
  "modalities": {
2451
2475
  "input": [
@@ -2634,6 +2658,7 @@
2634
2658
  },
2635
2659
  "displayName": "OpenAI: GPT-5.4 Pro",
2636
2660
  "family": "openai",
2661
+ "modelFamily": "gpt",
2637
2662
  "status": "active",
2638
2663
  "modalities": {
2639
2664
  "input": [
@@ -2684,6 +2709,7 @@
2684
2709
  },
2685
2710
  "displayName": "OpenAI: GPT-5.4",
2686
2711
  "family": "openai",
2712
+ "modelFamily": "gpt",
2687
2713
  "status": "active",
2688
2714
  "modalities": {
2689
2715
  "input": [
@@ -2779,6 +2805,7 @@
2779
2805
  },
2780
2806
  "displayName": "OpenAI: GPT-5.3 Chat",
2781
2807
  "family": "openai",
2808
+ "modelFamily": "gpt",
2782
2809
  "status": "active",
2783
2810
  "modalities": {
2784
2811
  "input": [
@@ -2869,6 +2896,7 @@
2869
2896
  },
2870
2897
  "displayName": "OpenAI: GPT-5.3-Codex",
2871
2898
  "family": "openai",
2899
+ "modelFamily": "gpt",
2872
2900
  "status": "active",
2873
2901
  "modalities": {
2874
2902
  "input": [
@@ -2964,6 +2992,7 @@
2964
2992
  },
2965
2993
  "displayName": "Anthropic: Claude Sonnet 4.6",
2966
2994
  "family": "anthropic",
2995
+ "modelFamily": "sonnet",
2967
2996
  "status": "active",
2968
2997
  "modalities": {
2969
2998
  "input": [
@@ -3010,6 +3039,7 @@
3010
3039
  },
3011
3040
  "displayName": "MiniMax: MiniMax M2.5",
3012
3041
  "family": "minimax",
3042
+ "modelFamily": "m",
3013
3043
  "status": "active",
3014
3044
  "modalities": {
3015
3045
  "input": [
@@ -3150,6 +3180,7 @@
3150
3180
  },
3151
3181
  "displayName": "Anthropic: Claude Opus 4.6",
3152
3182
  "family": "anthropic",
3183
+ "modelFamily": "opus",
3153
3184
  "status": "active",
3154
3185
  "modalities": {
3155
3186
  "input": [
@@ -3421,6 +3452,7 @@
3421
3452
  },
3422
3453
  "displayName": "MiniMax: MiniMax M2-her",
3423
3454
  "family": "minimax",
3455
+ "modelFamily": "m",
3424
3456
  "status": "active",
3425
3457
  "modalities": {
3426
3458
  "input": [
@@ -3554,6 +3586,7 @@
3554
3586
  },
3555
3587
  "displayName": "OpenAI: GPT-5.2-Codex",
3556
3588
  "family": "openai",
3589
+ "modelFamily": "gpt",
3557
3590
  "status": "active",
3558
3591
  "modalities": {
3559
3592
  "input": [
@@ -3599,6 +3632,7 @@
3599
3632
  },
3600
3633
  "displayName": "MiniMax: MiniMax M2.1",
3601
3634
  "family": "minimax",
3635
+ "modelFamily": "m",
3602
3636
  "status": "active",
3603
3637
  "modalities": {
3604
3638
  "input": [
@@ -3737,6 +3771,7 @@
3737
3771
  },
3738
3772
  "displayName": "OpenAI: GPT-5.2 Chat",
3739
3773
  "family": "openai",
3774
+ "modelFamily": "gpt",
3740
3775
  "status": "deprecated",
3741
3776
  "modalities": {
3742
3777
  "input": [
@@ -3786,6 +3821,7 @@
3786
3821
  },
3787
3822
  "displayName": "OpenAI: GPT-5.2 Pro",
3788
3823
  "family": "openai",
3824
+ "modelFamily": "gpt",
3789
3825
  "status": "active",
3790
3826
  "modalities": {
3791
3827
  "input": [
@@ -3836,6 +3872,7 @@
3836
3872
  },
3837
3873
  "displayName": "OpenAI: GPT-5.2",
3838
3874
  "family": "openai",
3875
+ "modelFamily": "gpt",
3839
3876
  "status": "active",
3840
3877
  "modalities": {
3841
3878
  "input": [
@@ -4014,6 +4051,7 @@
4014
4051
  },
4015
4052
  "displayName": "OpenAI: GPT-5.1-Codex-Max",
4016
4053
  "family": "openai",
4054
+ "modelFamily": "gpt",
4017
4055
  "status": "active",
4018
4056
  "modalities": {
4019
4057
  "input": [
@@ -4295,6 +4333,7 @@
4295
4333
  },
4296
4334
  "displayName": "DeepSeek: DeepSeek V3.2",
4297
4335
  "family": "deepseek",
4336
+ "modelFamily": "chat",
4298
4337
  "status": "active",
4299
4338
  "modalities": {
4300
4339
  "input": [
@@ -4344,6 +4383,7 @@
4344
4383
  },
4345
4384
  "displayName": "Anthropic: Claude Opus 4.5",
4346
4385
  "family": "anthropic",
4386
+ "modelFamily": "opus",
4347
4387
  "status": "active",
4348
4388
  "modalities": {
4349
4389
  "input": [
@@ -4482,6 +4522,7 @@
4482
4522
  },
4483
4523
  "displayName": "OpenAI: GPT-5.1",
4484
4524
  "family": "openai",
4525
+ "modelFamily": "gpt",
4485
4526
  "status": "active",
4486
4527
  "modalities": {
4487
4528
  "input": [
@@ -4531,6 +4572,7 @@
4531
4572
  },
4532
4573
  "displayName": "OpenAI: GPT-5.1 Chat",
4533
4574
  "family": "openai",
4575
+ "modelFamily": "gpt",
4534
4576
  "status": "active",
4535
4577
  "modalities": {
4536
4578
  "input": [
@@ -4580,6 +4622,7 @@
4580
4622
  },
4581
4623
  "displayName": "OpenAI: GPT-5.1-Codex",
4582
4624
  "family": "openai",
4625
+ "modelFamily": "gpt",
4583
4626
  "status": "active",
4584
4627
  "modalities": {
4585
4628
  "input": [
@@ -4628,6 +4671,7 @@
4628
4671
  },
4629
4672
  "displayName": "OpenAI: GPT-5.1-Codex-Mini",
4630
4673
  "family": "openai",
4674
+ "modelFamily": "mini",
4631
4675
  "status": "active",
4632
4676
  "modalities": {
4633
4677
  "input": [
@@ -4813,6 +4857,7 @@
4813
4857
  },
4814
4858
  "displayName": "OpenAI: gpt-oss-safeguard-20b",
4815
4859
  "family": "openai",
4860
+ "modelFamily": "gpt",
4816
4861
  "status": "active",
4817
4862
  "modalities": {
4818
4863
  "input": [
@@ -4857,6 +4902,7 @@
4857
4902
  },
4858
4903
  "displayName": "MiniMax: MiniMax M2",
4859
4904
  "family": "minimax",
4905
+ "modelFamily": "m",
4860
4906
  "status": "active",
4861
4907
  "modalities": {
4862
4908
  "input": [
@@ -4992,6 +5038,7 @@
4992
5038
  },
4993
5039
  "displayName": "Anthropic: Claude Haiku 4.5",
4994
5040
  "family": "anthropic",
5041
+ "modelFamily": "haiku",
4995
5042
  "status": "active",
4996
5043
  "modalities": {
4997
5044
  "input": [
@@ -5135,6 +5182,7 @@
5135
5182
  },
5136
5183
  "displayName": "OpenAI: o3 Deep Research",
5137
5184
  "family": "openai",
5185
+ "modelFamily": "o",
5138
5186
  "status": "active",
5139
5187
  "modalities": {
5140
5188
  "input": [
@@ -5185,6 +5233,7 @@
5185
5233
  },
5186
5234
  "displayName": "OpenAI: o4 Mini Deep Research",
5187
5235
  "family": "openai",
5236
+ "modelFamily": "o",
5188
5237
  "status": "active",
5189
5238
  "modalities": {
5190
5239
  "input": [
@@ -5378,6 +5427,7 @@
5378
5427
  },
5379
5428
  "displayName": "OpenAI: GPT-5 Pro",
5380
5429
  "family": "openai",
5430
+ "modelFamily": "gpt",
5381
5431
  "status": "active",
5382
5432
  "modalities": {
5383
5433
  "input": [
@@ -5479,6 +5529,7 @@
5479
5529
  },
5480
5530
  "displayName": "Anthropic: Claude Sonnet 4.5",
5481
5531
  "family": "anthropic",
5532
+ "modelFamily": "sonnet",
5482
5533
  "status": "active",
5483
5534
  "modalities": {
5484
5535
  "input": [
@@ -5527,6 +5578,7 @@
5527
5578
  },
5528
5579
  "displayName": "DeepSeek: DeepSeek V3.2 Exp",
5529
5580
  "family": "deepseek",
5581
+ "modelFamily": "chat",
5530
5582
  "status": "active",
5531
5583
  "modalities": {
5532
5584
  "input": [
@@ -5856,6 +5908,7 @@
5856
5908
  },
5857
5909
  "displayName": "OpenAI: GPT-5 Codex",
5858
5910
  "family": "openai",
5911
+ "modelFamily": "gpt",
5859
5912
  "status": "active",
5860
5913
  "modalities": {
5861
5914
  "input": [
@@ -5904,6 +5957,7 @@
5904
5957
  },
5905
5958
  "displayName": "DeepSeek: DeepSeek V3.1 Terminus",
5906
5959
  "family": "deepseek",
5960
+ "modelFamily": "chat",
5907
5961
  "status": "active",
5908
5962
  "modalities": {
5909
5963
  "input": [
@@ -6367,6 +6421,7 @@
6367
6421
  },
6368
6422
  "displayName": "DeepSeek: DeepSeek V3.1",
6369
6423
  "family": "deepseek",
6424
+ "modelFamily": "chat",
6370
6425
  "status": "active",
6371
6426
  "modalities": {
6372
6427
  "input": [
@@ -6560,6 +6615,7 @@
6560
6615
  },
6561
6616
  "displayName": "OpenAI: GPT-5 Chat",
6562
6617
  "family": "openai",
6618
+ "modelFamily": "gpt",
6563
6619
  "status": "active",
6564
6620
  "modalities": {
6565
6621
  "input": [
@@ -6612,6 +6668,7 @@
6612
6668
  },
6613
6669
  "displayName": "OpenAI: GPT-5",
6614
6670
  "family": "openai",
6671
+ "modelFamily": "gpt",
6615
6672
  "status": "active",
6616
6673
  "modalities": {
6617
6674
  "input": [
@@ -6664,6 +6721,7 @@
6664
6721
  },
6665
6722
  "displayName": "OpenAI: GPT-5 Mini",
6666
6723
  "family": "openai",
6724
+ "modelFamily": "mini",
6667
6725
  "status": "active",
6668
6726
  "modalities": {
6669
6727
  "input": [
@@ -6716,6 +6774,7 @@
6716
6774
  },
6717
6775
  "displayName": "OpenAI: GPT-5 Nano",
6718
6776
  "family": "openai",
6777
+ "modelFamily": "nano",
6719
6778
  "status": "active",
6720
6779
  "modalities": {
6721
6780
  "input": [
@@ -6764,6 +6823,7 @@
6764
6823
  },
6765
6824
  "displayName": "OpenAI: gpt-oss-120b",
6766
6825
  "family": "openai",
6826
+ "modelFamily": "gpt",
6767
6827
  "status": "active",
6768
6828
  "modalities": {
6769
6829
  "input": [
@@ -6810,6 +6870,7 @@
6810
6870
  },
6811
6871
  "displayName": "OpenAI: gpt-oss-20b",
6812
6872
  "family": "openai",
6873
+ "modelFamily": "gpt",
6813
6874
  "status": "active",
6814
6875
  "modalities": {
6815
6876
  "input": [
@@ -6861,6 +6922,7 @@
6861
6922
  },
6862
6923
  "displayName": "Anthropic: Claude Opus 4.1",
6863
6924
  "family": "anthropic",
6925
+ "modelFamily": "opus",
6864
6926
  "status": "active",
6865
6927
  "modalities": {
6866
6928
  "input": [
@@ -7641,6 +7703,7 @@
7641
7703
  },
7642
7704
  "displayName": "MiniMax: MiniMax M1",
7643
7705
  "family": "minimax",
7706
+ "modelFamily": "m",
7644
7707
  "status": "active",
7645
7708
  "modalities": {
7646
7709
  "input": [
@@ -7690,6 +7753,7 @@
7690
7753
  },
7691
7754
  "displayName": "OpenAI: o3 Pro",
7692
7755
  "family": "openai",
7756
+ "modelFamily": "o",
7693
7757
  "status": "active",
7694
7758
  "modalities": {
7695
7759
  "input": [
@@ -7739,6 +7803,7 @@
7739
7803
  },
7740
7804
  "displayName": "DeepSeek: R1 0528",
7741
7805
  "family": "deepseek",
7806
+ "modelFamily": "reasoner",
7742
7807
  "status": "active",
7743
7808
  "modalities": {
7744
7809
  "input": [
@@ -7789,6 +7854,7 @@
7789
7854
  },
7790
7855
  "displayName": "Anthropic: Claude Opus 4",
7791
7856
  "family": "anthropic",
7857
+ "modelFamily": "opus",
7792
7858
  "status": "active",
7793
7859
  "modalities": {
7794
7860
  "input": [
@@ -7841,6 +7907,7 @@
7841
7907
  },
7842
7908
  "displayName": "Anthropic: Claude Sonnet 4",
7843
7909
  "family": "anthropic",
7910
+ "modelFamily": "sonnet",
7844
7911
  "status": "active",
7845
7912
  "modalities": {
7846
7913
  "input": [
@@ -7887,6 +7954,7 @@
7887
7954
  },
7888
7955
  "displayName": "Google: Gemma 3n 4B",
7889
7956
  "family": "google",
7957
+ "modelFamily": "gemma",
7890
7958
  "status": "active",
7891
7959
  "modalities": {
7892
7960
  "input": [
@@ -8352,6 +8420,7 @@
8352
8420
  },
8353
8421
  "displayName": "OpenAI: o4 Mini High",
8354
8422
  "family": "openai",
8423
+ "modelFamily": "o",
8355
8424
  "status": "active",
8356
8425
  "modalities": {
8357
8426
  "input": [
@@ -8404,6 +8473,7 @@
8404
8473
  },
8405
8474
  "displayName": "OpenAI: o3",
8406
8475
  "family": "openai",
8476
+ "modelFamily": "o",
8407
8477
  "status": "active",
8408
8478
  "modalities": {
8409
8479
  "input": [
@@ -8456,6 +8526,7 @@
8456
8526
  },
8457
8527
  "displayName": "OpenAI: o4 Mini",
8458
8528
  "family": "openai",
8529
+ "modelFamily": "o",
8459
8530
  "status": "active",
8460
8531
  "modalities": {
8461
8532
  "input": [
@@ -8507,6 +8578,7 @@
8507
8578
  },
8508
8579
  "displayName": "OpenAI: GPT-4.1",
8509
8580
  "family": "openai",
8581
+ "modelFamily": "gpt",
8510
8582
  "status": "active",
8511
8583
  "modalities": {
8512
8584
  "input": [
@@ -8558,6 +8630,7 @@
8558
8630
  },
8559
8631
  "displayName": "OpenAI: GPT-4.1 Mini",
8560
8632
  "family": "openai",
8633
+ "modelFamily": "mini",
8561
8634
  "status": "active",
8562
8635
  "modalities": {
8563
8636
  "input": [
@@ -8609,6 +8682,7 @@
8609
8682
  },
8610
8683
  "displayName": "OpenAI: GPT-4.1 Nano",
8611
8684
  "family": "openai",
8685
+ "modelFamily": "nano",
8612
8686
  "status": "active",
8613
8687
  "modalities": {
8614
8688
  "input": [
@@ -8753,6 +8827,7 @@
8753
8827
  },
8754
8828
  "displayName": "DeepSeek: DeepSeek V3 0324",
8755
8829
  "family": "deepseek",
8830
+ "modelFamily": "chat",
8756
8831
  "status": "active",
8757
8832
  "modalities": {
8758
8833
  "input": [
@@ -8801,6 +8876,7 @@
8801
8876
  },
8802
8877
  "displayName": "OpenAI: o1-pro",
8803
8878
  "family": "openai",
8879
+ "modelFamily": "o",
8804
8880
  "status": "active",
8805
8881
  "modalities": {
8806
8882
  "input": [
@@ -8892,6 +8968,7 @@
8892
8968
  },
8893
8969
  "displayName": "Google: Gemma 3 4B",
8894
8970
  "family": "google",
8971
+ "modelFamily": "gemma",
8895
8972
  "status": "active",
8896
8973
  "modalities": {
8897
8974
  "input": [
@@ -8939,6 +9016,7 @@
8939
9016
  },
8940
9017
  "displayName": "Google: Gemma 3 12B",
8941
9018
  "family": "google",
9019
+ "modelFamily": "gemma",
8942
9020
  "status": "active",
8943
9021
  "modalities": {
8944
9022
  "input": [
@@ -9030,6 +9108,7 @@
9030
9108
  },
9031
9109
  "displayName": "OpenAI: GPT-4o-mini Search Preview",
9032
9110
  "family": "openai",
9111
+ "modelFamily": "mini",
9033
9112
  "status": "active",
9034
9113
  "modalities": {
9035
9114
  "input": [
@@ -9075,6 +9154,7 @@
9075
9154
  },
9076
9155
  "displayName": "OpenAI: GPT-4o Search Preview",
9077
9156
  "family": "openai",
9157
+ "modelFamily": "gpt",
9078
9158
  "status": "active",
9079
9159
  "modalities": {
9080
9160
  "input": [
@@ -9167,6 +9247,7 @@
9167
9247
  },
9168
9248
  "displayName": "Google: Gemma 3 27B",
9169
9249
  "family": "google",
9250
+ "modelFamily": "gemma",
9170
9251
  "status": "active",
9171
9252
  "modalities": {
9172
9253
  "input": [
@@ -9446,6 +9527,7 @@
9446
9527
  },
9447
9528
  "displayName": "OpenAI: o3 Mini High",
9448
9529
  "family": "openai",
9530
+ "modelFamily": "o",
9449
9531
  "status": "active",
9450
9532
  "modalities": {
9451
9533
  "input": [
@@ -9720,6 +9802,7 @@
9720
9802
  },
9721
9803
  "displayName": "OpenAI: o3 Mini",
9722
9804
  "family": "openai",
9805
+ "modelFamily": "o",
9723
9806
  "status": "active",
9724
9807
  "modalities": {
9725
9808
  "input": [
@@ -9853,6 +9936,7 @@
9853
9936
  },
9854
9937
  "displayName": "DeepSeek: R1 Distill Llama 70B",
9855
9938
  "family": "deepseek",
9939
+ "modelFamily": "reasoner",
9856
9940
  "status": "active",
9857
9941
  "modalities": {
9858
9942
  "input": [
@@ -9899,6 +9983,7 @@
9899
9983
  },
9900
9984
  "displayName": "DeepSeek: R1",
9901
9985
  "family": "deepseek",
9986
+ "modelFamily": "reasoner",
9902
9987
  "status": "active",
9903
9988
  "modalities": {
9904
9989
  "input": [
@@ -9941,6 +10026,7 @@
9941
10026
  },
9942
10027
  "displayName": "MiniMax: MiniMax-01",
9943
10028
  "family": "minimax",
10029
+ "modelFamily": "legacy",
9944
10030
  "status": "active",
9945
10031
  "modalities": {
9946
10032
  "input": [
@@ -10077,6 +10163,7 @@
10077
10163
  },
10078
10164
  "displayName": "DeepSeek: DeepSeek V3",
10079
10165
  "family": "deepseek",
10166
+ "modelFamily": "chat",
10080
10167
  "status": "active",
10081
10168
  "modalities": {
10082
10169
  "input": [
@@ -10172,6 +10259,7 @@
10172
10259
  },
10173
10260
  "displayName": "OpenAI: o1",
10174
10261
  "family": "openai",
10262
+ "modelFamily": "o",
10175
10263
  "status": "active",
10176
10264
  "modalities": {
10177
10265
  "input": [
@@ -10452,6 +10540,7 @@
10452
10540
  },
10453
10541
  "displayName": "OpenAI: GPT-4o (2024-11-20)",
10454
10542
  "family": "openai",
10543
+ "modelFamily": "gpt",
10455
10544
  "status": "active",
10456
10545
  "modalities": {
10457
10546
  "input": [
@@ -11306,6 +11395,7 @@
11306
11395
  },
11307
11396
  "displayName": "OpenAI: GPT-4o (2024-08-06)",
11308
11397
  "family": "openai",
11398
+ "modelFamily": "gpt",
11309
11399
  "status": "active",
11310
11400
  "modalities": {
11311
11401
  "input": [
@@ -11494,6 +11584,7 @@
11494
11584
  },
11495
11585
  "displayName": "OpenAI: GPT-4o-mini (2024-07-18)",
11496
11586
  "family": "openai",
11587
+ "modelFamily": "mini",
11497
11588
  "status": "active",
11498
11589
  "modalities": {
11499
11590
  "input": [
@@ -11544,6 +11635,7 @@
11544
11635
  },
11545
11636
  "displayName": "OpenAI: GPT-4o-mini",
11546
11637
  "family": "openai",
11638
+ "modelFamily": "mini",
11547
11639
  "status": "active",
11548
11640
  "modalities": {
11549
11641
  "input": [
@@ -11590,6 +11682,7 @@
11590
11682
  },
11591
11683
  "displayName": "Google: Gemma 2 27B",
11592
11684
  "family": "google",
11685
+ "modelFamily": "gemma",
11593
11686
  "status": "active",
11594
11687
  "modalities": {
11595
11688
  "input": [
@@ -11637,6 +11730,7 @@
11637
11730
  },
11638
11731
  "displayName": "OpenAI: GPT-4o",
11639
11732
  "family": "openai",
11733
+ "modelFamily": "gpt",
11640
11734
  "status": "active",
11641
11735
  "modalities": {
11642
11736
  "input": [
@@ -11686,6 +11780,7 @@
11686
11780
  },
11687
11781
  "displayName": "OpenAI: GPT-4o (2024-05-13)",
11688
11782
  "family": "openai",
11783
+ "modelFamily": "gpt",
11689
11784
  "status": "active",
11690
11785
  "modalities": {
11691
11786
  "input": [
@@ -11870,6 +11965,7 @@
11870
11965
  },
11871
11966
  "displayName": "OpenAI: GPT-4 Turbo",
11872
11967
  "family": "openai",
11968
+ "modelFamily": "gpt",
11873
11969
  "status": "active",
11874
11970
  "modalities": {
11875
11971
  "input": [
@@ -11919,6 +12015,7 @@
11919
12015
  },
11920
12016
  "displayName": "Anthropic: Claude 3 Haiku",
11921
12017
  "family": "anthropic",
12018
+ "modelFamily": "haiku",
11922
12019
  "status": "active",
11923
12020
  "modalities": {
11924
12021
  "input": [
@@ -12014,6 +12111,7 @@
12014
12111
  },
12015
12112
  "displayName": "OpenAI: GPT-4 Turbo Preview",
12016
12113
  "family": "openai",
12114
+ "modelFamily": "gpt",
12017
12115
  "status": "active",
12018
12116
  "modalities": {
12019
12117
  "input": [
@@ -12059,6 +12157,7 @@
12059
12157
  },
12060
12158
  "displayName": "OpenAI: GPT-3.5 Turbo (older v0613)",
12061
12159
  "family": "openai",
12160
+ "modelFamily": "gpt",
12062
12161
  "status": "active",
12063
12162
  "modalities": {
12064
12163
  "input": [
@@ -12103,6 +12202,7 @@
12103
12202
  },
12104
12203
  "displayName": "OpenAI: GPT-3.5 Turbo Instruct",
12105
12204
  "family": "openai",
12205
+ "modelFamily": "gpt",
12106
12206
  "status": "active",
12107
12207
  "modalities": {
12108
12208
  "input": [
@@ -12148,6 +12248,7 @@
12148
12248
  },
12149
12249
  "displayName": "OpenAI: GPT-3.5 Turbo 16k",
12150
12250
  "family": "openai",
12251
+ "modelFamily": "gpt",
12151
12252
  "status": "active",
12152
12253
  "modalities": {
12153
12254
  "input": [
@@ -12328,6 +12429,7 @@
12328
12429
  },
12329
12430
  "displayName": "OpenAI: GPT-4",
12330
12431
  "family": "openai",
12432
+ "modelFamily": "gpt",
12331
12433
  "status": "active",
12332
12434
  "modalities": {
12333
12435
  "input": [
@@ -12373,6 +12475,7 @@
12373
12475
  },
12374
12476
  "displayName": "OpenAI: GPT-3.5 Turbo",
12375
12477
  "family": "openai",
12478
+ "modelFamily": "gpt",
12376
12479
  "status": "active",
12377
12480
  "modalities": {
12378
12481
  "input": [