@agentproto/model-catalog 0.5.0 → 0.7.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 (38) hide show
  1. package/dist/access/index.d.ts +5 -5
  2. package/dist/audio/index.d.ts +1 -1
  3. package/dist/{audio-BbeLA_4x.d.ts → audio-DR0g_ZH_.d.ts} +1 -0
  4. package/dist/{base-C4kz9Dxc.d.ts → base-B8IIoaqg.d.ts} +2 -0
  5. package/dist/{catalog-BPDMuxzf.d.ts → catalog-BbfjJxKT.d.ts} +31 -2
  6. package/dist/{chunk-VIVKDMAT.mjs → chunk-6AXCZGQY.mjs} +3 -3
  7. package/dist/{chunk-VIVKDMAT.mjs.map → chunk-6AXCZGQY.mjs.map} +1 -1
  8. package/dist/{chunk-FCPS2VGK.mjs → chunk-6VDWPE62.mjs} +735 -525
  9. package/dist/chunk-6VDWPE62.mjs.map +1 -0
  10. package/dist/chunk-DW45X6XT.mjs +70 -0
  11. package/dist/chunk-DW45X6XT.mjs.map +1 -0
  12. package/dist/{chunk-TQSSXYY5.mjs → chunk-HL2G36MT.mjs} +4 -62
  13. package/dist/chunk-HL2G36MT.mjs.map +1 -0
  14. package/dist/{chunk-S74S3Q7Z.mjs → chunk-OWNEHUFQ.mjs} +3 -3
  15. package/dist/{chunk-S74S3Q7Z.mjs.map → chunk-OWNEHUFQ.mjs.map} +1 -1
  16. package/dist/{chunk-GCDMRPDR.mjs → chunk-QLFNCLH2.mjs} +4 -4
  17. package/dist/{chunk-GCDMRPDR.mjs.map → chunk-QLFNCLH2.mjs.map} +1 -1
  18. package/dist/cost/index.mjs +3 -3
  19. package/dist/curation/index.d.ts +4 -4
  20. package/dist/curation/index.mjs +3 -3
  21. package/dist/{evaluate-CVzfLCd0.d.ts → evaluate-BKCR5Huz.d.ts} +2 -2
  22. package/dist/{index-CgOxudo5.d.ts → index-DpeiyVjg.d.ts} +3 -3
  23. package/dist/{index-DSgqNd3Z.d.ts → index-avZZsCtQ.d.ts} +1 -1
  24. package/dist/index.d.ts +7 -7
  25. package/dist/index.mjs +7 -6
  26. package/dist/index.mjs.map +1 -1
  27. package/dist/llm/index.d.ts +2 -2
  28. package/dist/llm/index.mjs +1 -1
  29. package/dist/overlay/index.d.ts +3 -3
  30. package/dist/picker/index.d.ts +6 -6
  31. package/dist/route-identity/index.d.ts +153 -14
  32. package/dist/route-identity/index.mjs +3078 -28
  33. package/dist/route-identity/index.mjs.map +1 -1
  34. package/dist/schema/index.d.ts +9 -2
  35. package/dist/schema/index.mjs +2 -1
  36. package/package.json +1 -1
  37. package/dist/chunk-FCPS2VGK.mjs.map +0 -1
  38. package/dist/chunk-TQSSXYY5.mjs.map +0 -1
@@ -1,4 +1,5 @@
1
- import { resolvePricing, resolveAlias, OPENROUTER_ROUTES, DEFAULT_PRICING } from '../chunk-FCPS2VGK.mjs';
1
+ import { CatalogProviderSchema } from '../chunk-DW45X6XT.mjs';
2
+ import { resolvePricing, resolveAlias, OPENROUTER_ROUTES, DEFAULT_PRICING } from '../chunk-6VDWPE62.mjs';
2
3
  import '../chunk-QHELXPSL.mjs';
3
4
 
4
5
  /**
@@ -123,6 +124,13 @@ var REQUESTY_ROUTES = {
123
124
  vendor: "anthropic",
124
125
  provider: "requesty"
125
126
  },
127
+ "anthropic/claude-opus-5": {
128
+ inputPer1M: 5,
129
+ outputPer1M: 25,
130
+ cacheReadMultiplier: 0.1,
131
+ vendor: "anthropic",
132
+ provider: "requesty"
133
+ },
126
134
  "anthropic/claude-sonnet-4-5": {
127
135
  inputPer1M: 3,
128
136
  outputPer1M: 15,
@@ -928,6 +936,48 @@ var REQUESTY_ROUTES = {
928
936
  vendor: "bedrock",
929
937
  provider: "requesty"
930
938
  },
939
+ "bedrock/claude-opus-5": {
940
+ inputPer1M: 5,
941
+ outputPer1M: 25,
942
+ cacheReadMultiplier: 0.1,
943
+ vendor: "bedrock",
944
+ provider: "requesty"
945
+ },
946
+ "bedrock/claude-opus-5@ap-northeast-1": {
947
+ inputPer1M: 5.5,
948
+ outputPer1M: 27.5,
949
+ cacheReadMultiplier: 0.1,
950
+ vendor: "bedrock",
951
+ provider: "requesty"
952
+ },
953
+ "bedrock/claude-opus-5@eu-central-1": {
954
+ inputPer1M: 5.5,
955
+ outputPer1M: 27.5,
956
+ cacheReadMultiplier: 0.1,
957
+ vendor: "bedrock",
958
+ provider: "requesty"
959
+ },
960
+ "bedrock/claude-opus-5@eu-north-1": {
961
+ inputPer1M: 5.5,
962
+ outputPer1M: 27.5,
963
+ cacheReadMultiplier: 0.1,
964
+ vendor: "bedrock",
965
+ provider: "requesty"
966
+ },
967
+ "bedrock/claude-opus-5@eu-west-1": {
968
+ inputPer1M: 5.5,
969
+ outputPer1M: 27.5,
970
+ cacheReadMultiplier: 0.1,
971
+ vendor: "bedrock",
972
+ provider: "requesty"
973
+ },
974
+ "bedrock/claude-opus-5@eu-west-3": {
975
+ inputPer1M: 5.5,
976
+ outputPer1M: 27.5,
977
+ cacheReadMultiplier: 0.1,
978
+ vendor: "bedrock",
979
+ provider: "requesty"
980
+ },
931
981
  "bedrock/claude-sonnet-4": {
932
982
  inputPer1M: 3,
933
983
  outputPer1M: 15,
@@ -1110,6 +1160,62 @@ var REQUESTY_ROUTES = {
1110
1160
  vendor: "bedrock",
1111
1161
  provider: "requesty"
1112
1162
  },
1163
+ "bedrock/claude-sonnet-5@ap-southeast-2": {
1164
+ inputPer1M: 2.2,
1165
+ outputPer1M: 11,
1166
+ cacheReadMultiplier: 0.1,
1167
+ vendor: "bedrock",
1168
+ provider: "requesty"
1169
+ },
1170
+ "bedrock/claude-sonnet-5@eu-central-1": {
1171
+ inputPer1M: 2.2,
1172
+ outputPer1M: 11,
1173
+ cacheReadMultiplier: 0.1,
1174
+ vendor: "bedrock",
1175
+ provider: "requesty"
1176
+ },
1177
+ "bedrock/claude-sonnet-5@eu-north-1": {
1178
+ inputPer1M: 2.2,
1179
+ outputPer1M: 11,
1180
+ cacheReadMultiplier: 0.1,
1181
+ vendor: "bedrock",
1182
+ provider: "requesty"
1183
+ },
1184
+ "bedrock/claude-sonnet-5@eu-west-1": {
1185
+ inputPer1M: 2.2,
1186
+ outputPer1M: 11,
1187
+ cacheReadMultiplier: 0.1,
1188
+ vendor: "bedrock",
1189
+ provider: "requesty"
1190
+ },
1191
+ "bedrock/claude-sonnet-5@eu-west-2": {
1192
+ inputPer1M: 2.2,
1193
+ outputPer1M: 11,
1194
+ cacheReadMultiplier: 0.1,
1195
+ vendor: "bedrock",
1196
+ provider: "requesty"
1197
+ },
1198
+ "bedrock/claude-sonnet-5@us-east-1": {
1199
+ inputPer1M: 2.2,
1200
+ outputPer1M: 11,
1201
+ cacheReadMultiplier: 0.1,
1202
+ vendor: "bedrock",
1203
+ provider: "requesty"
1204
+ },
1205
+ "bedrock/claude-sonnet-5@us-east-2": {
1206
+ inputPer1M: 2.2,
1207
+ outputPer1M: 11,
1208
+ cacheReadMultiplier: 0.1,
1209
+ vendor: "bedrock",
1210
+ provider: "requesty"
1211
+ },
1212
+ "bedrock/claude-sonnet-5@us-west-2": {
1213
+ inputPer1M: 2.2,
1214
+ outputPer1M: 11,
1215
+ cacheReadMultiplier: 0.1,
1216
+ vendor: "bedrock",
1217
+ provider: "requesty"
1218
+ },
1113
1219
  "bedrock/gpt-5.4@us-east-1": {
1114
1220
  inputPer1M: 2.75,
1115
1221
  outputPer1M: 16.5,
@@ -1837,7 +1943,7 @@ var REQUESTY_ROUTES = {
1837
1943
  vendor: "google",
1838
1944
  provider: "requesty"
1839
1945
  },
1840
- "google/gemini-3.1-flash-image-preview": {
1946
+ "google/gemini-3.1-flash-image": {
1841
1947
  inputPer1M: 0.5,
1842
1948
  outputPer1M: 2,
1843
1949
  cacheReadMultiplier: 0,
@@ -2318,6 +2424,20 @@ var REQUESTY_ROUTES = {
2318
2424
  vendor: "novita",
2319
2425
  provider: "requesty"
2320
2426
  },
2427
+ "novita/stepfun/step-3.7-flash": {
2428
+ inputPer1M: 0.2,
2429
+ outputPer1M: 1.15,
2430
+ cacheReadMultiplier: 0.2,
2431
+ vendor: "novita",
2432
+ provider: "requesty"
2433
+ },
2434
+ "novita/tencent/hy3": {
2435
+ inputPer1M: 0.14,
2436
+ outputPer1M: 0.58,
2437
+ cacheReadMultiplier: 0.25,
2438
+ vendor: "novita",
2439
+ provider: "requesty"
2440
+ },
2321
2441
  "novita/zai-org/glm-4.6": {
2322
2442
  inputPer1M: 0.6,
2323
2443
  outputPer1M: 2.2,
@@ -2572,13 +2692,6 @@ var REQUESTY_ROUTES = {
2572
2692
  vendor: "openai",
2573
2693
  provider: "requesty"
2574
2694
  },
2575
- "openai/gpt-5-chat": {
2576
- inputPer1M: 1.25,
2577
- outputPer1M: 10,
2578
- cacheReadMultiplier: 0.1,
2579
- vendor: "openai",
2580
- provider: "requesty"
2581
- },
2582
2695
  "openai/gpt-5-mini": {
2583
2696
  inputPer1M: 0.25,
2584
2697
  outputPer1M: 2,
@@ -2881,6 +2994,13 @@ var REQUESTY_ROUTES = {
2881
2994
  vendor: "sakana",
2882
2995
  provider: "requesty"
2883
2996
  },
2997
+ "sference/deepseek-v4-flash": {
2998
+ inputPer1M: 0.14,
2999
+ outputPer1M: 0.28,
3000
+ cacheReadMultiplier: 0.5,
3001
+ vendor: "sference",
3002
+ provider: "requesty"
3003
+ },
2884
3004
  "sference/glm-5.2": {
2885
3005
  inputPer1M: 1.2,
2886
3006
  outputPer1M: 4.2,
@@ -3090,6 +3210,27 @@ var REQUESTY_ROUTES = {
3090
3210
  vendor: "vertex",
3091
3211
  provider: "requesty"
3092
3212
  },
3213
+ "vertex/claude-opus-5": {
3214
+ inputPer1M: 5,
3215
+ outputPer1M: 25,
3216
+ cacheReadMultiplier: 0.1,
3217
+ vendor: "vertex",
3218
+ provider: "requesty"
3219
+ },
3220
+ "vertex/claude-opus-5@eu": {
3221
+ inputPer1M: 5.5,
3222
+ outputPer1M: 27.5,
3223
+ cacheReadMultiplier: 0.1,
3224
+ vendor: "vertex",
3225
+ provider: "requesty"
3226
+ },
3227
+ "vertex/claude-opus-5@us": {
3228
+ inputPer1M: 5.5,
3229
+ outputPer1M: 27.5,
3230
+ cacheReadMultiplier: 0.1,
3231
+ vendor: "vertex",
3232
+ provider: "requesty"
3233
+ },
3093
3234
  "vertex/claude-sonnet-4": {
3094
3235
  inputPer1M: 3,
3095
3236
  outputPer1M: 15,
@@ -3524,7 +3665,7 @@ var REQUESTY_ROUTES = {
3524
3665
  vendor: "vertex",
3525
3666
  provider: "requesty"
3526
3667
  },
3527
- "vertex/gemini-3-pro-image-preview": {
3668
+ "vertex/gemini-3-pro-image": {
3528
3669
  inputPer1M: 2,
3529
3670
  outputPer1M: 12,
3530
3671
  cacheReadMultiplier: 0.1,
@@ -3538,7 +3679,7 @@ var REQUESTY_ROUTES = {
3538
3679
  vendor: "vertex",
3539
3680
  provider: "requesty"
3540
3681
  },
3541
- "vertex/gemini-3.1-flash-image-preview": {
3682
+ "vertex/gemini-3.1-flash-image": {
3542
3683
  inputPer1M: 0.5,
3543
3684
  outputPer1M: 2,
3544
3685
  cacheReadMultiplier: 0,
@@ -3587,6 +3728,20 @@ var REQUESTY_ROUTES = {
3587
3728
  vendor: "vertex",
3588
3729
  provider: "requesty"
3589
3730
  },
3731
+ "vertex/gemini-3.5-flash-lite": {
3732
+ inputPer1M: 0.3,
3733
+ outputPer1M: 2.5,
3734
+ cacheReadMultiplier: 0.1,
3735
+ vendor: "vertex",
3736
+ provider: "requesty"
3737
+ },
3738
+ "vertex/gemini-3.5-flash-lite@eu": {
3739
+ inputPer1M: 0.3,
3740
+ outputPer1M: 2.5,
3741
+ cacheReadMultiplier: 0.1,
3742
+ vendor: "vertex",
3743
+ provider: "requesty"
3744
+ },
3590
3745
  "vertex/gemini-3.5-flash@eu": {
3591
3746
  inputPer1M: 1.5,
3592
3747
  outputPer1M: 9,
@@ -3601,6 +3756,13 @@ var REQUESTY_ROUTES = {
3601
3756
  vendor: "vertex",
3602
3757
  provider: "requesty"
3603
3758
  },
3759
+ "vertex/gemini-3.6-flash": {
3760
+ inputPer1M: 1.5,
3761
+ outputPer1M: 7,
3762
+ cacheReadMultiplier: 0.1,
3763
+ vendor: "vertex",
3764
+ provider: "requesty"
3765
+ },
3604
3766
  "vertex/kimi-k2": {
3605
3767
  inputPer1M: 0.6,
3606
3768
  outputPer1M: 2.5,
@@ -3757,9 +3919,2790 @@ var REQUESTY_ROUTES = {
3757
3919
  }
3758
3920
  };
3759
3921
 
3922
+ // src/llm/huggingface-routes.generated.ts
3923
+ var HUGGINGFACE_ROUTES = {
3924
+ "CohereLabs/aya-expanse-32b": {
3925
+ wireId: "CohereLabs/aya-expanse-32b",
3926
+ providers: [
3927
+ {
3928
+ provider: "cohere",
3929
+ status: "live",
3930
+ supportsTools: false,
3931
+ supportsStructuredOutput: false
3932
+ }
3933
+ ]
3934
+ },
3935
+ "CohereLabs/aya-vision-32b": {
3936
+ wireId: "CohereLabs/aya-vision-32b",
3937
+ providers: [
3938
+ {
3939
+ provider: "cohere",
3940
+ status: "live",
3941
+ supportsTools: false,
3942
+ supportsStructuredOutput: false
3943
+ }
3944
+ ]
3945
+ },
3946
+ "CohereLabs/c4ai-command-a-03-2025": {
3947
+ wireId: "CohereLabs/c4ai-command-a-03-2025",
3948
+ providers: [
3949
+ {
3950
+ provider: "cohere",
3951
+ status: "live",
3952
+ supportsTools: true,
3953
+ supportsStructuredOutput: false
3954
+ }
3955
+ ]
3956
+ },
3957
+ "CohereLabs/c4ai-command-r-08-2024": {
3958
+ wireId: "CohereLabs/c4ai-command-r-08-2024",
3959
+ providers: [
3960
+ {
3961
+ provider: "cohere",
3962
+ status: "live",
3963
+ supportsTools: true,
3964
+ supportsStructuredOutput: false
3965
+ }
3966
+ ]
3967
+ },
3968
+ "CohereLabs/c4ai-command-r7b-12-2024": {
3969
+ wireId: "CohereLabs/c4ai-command-r7b-12-2024",
3970
+ providers: [
3971
+ {
3972
+ provider: "cohere",
3973
+ status: "live",
3974
+ supportsTools: true,
3975
+ supportsStructuredOutput: false
3976
+ }
3977
+ ]
3978
+ },
3979
+ "CohereLabs/c4ai-command-r7b-arabic-02-2025": {
3980
+ wireId: "CohereLabs/c4ai-command-r7b-arabic-02-2025",
3981
+ providers: [
3982
+ {
3983
+ provider: "cohere",
3984
+ status: "live",
3985
+ supportsTools: true,
3986
+ supportsStructuredOutput: false
3987
+ }
3988
+ ]
3989
+ },
3990
+ "CohereLabs/command-a-reasoning-08-2025": {
3991
+ wireId: "CohereLabs/command-a-reasoning-08-2025",
3992
+ providers: [
3993
+ {
3994
+ provider: "cohere",
3995
+ status: "live",
3996
+ supportsTools: true,
3997
+ supportsStructuredOutput: false
3998
+ }
3999
+ ]
4000
+ },
4001
+ "CohereLabs/command-a-translate-08-2025": {
4002
+ wireId: "CohereLabs/command-a-translate-08-2025",
4003
+ providers: [
4004
+ {
4005
+ provider: "cohere",
4006
+ status: "live",
4007
+ supportsTools: false,
4008
+ supportsStructuredOutput: false
4009
+ }
4010
+ ]
4011
+ },
4012
+ "CohereLabs/command-a-vision-07-2025": {
4013
+ wireId: "CohereLabs/command-a-vision-07-2025",
4014
+ providers: [
4015
+ {
4016
+ provider: "cohere",
4017
+ status: "live",
4018
+ supportsTools: false,
4019
+ supportsStructuredOutput: false
4020
+ }
4021
+ ]
4022
+ },
4023
+ "CohereLabs/tiny-aya-earth": {
4024
+ wireId: "CohereLabs/tiny-aya-earth",
4025
+ providers: [
4026
+ {
4027
+ provider: "cohere",
4028
+ status: "live",
4029
+ supportsTools: false,
4030
+ supportsStructuredOutput: false
4031
+ }
4032
+ ]
4033
+ },
4034
+ "CohereLabs/tiny-aya-fire": {
4035
+ wireId: "CohereLabs/tiny-aya-fire",
4036
+ providers: [
4037
+ {
4038
+ provider: "cohere",
4039
+ status: "live",
4040
+ supportsTools: false,
4041
+ supportsStructuredOutput: false
4042
+ }
4043
+ ]
4044
+ },
4045
+ "CohereLabs/tiny-aya-global": {
4046
+ wireId: "CohereLabs/tiny-aya-global",
4047
+ providers: [
4048
+ {
4049
+ provider: "cohere",
4050
+ status: "live",
4051
+ supportsTools: false,
4052
+ supportsStructuredOutput: false
4053
+ }
4054
+ ]
4055
+ },
4056
+ "CohereLabs/tiny-aya-water": {
4057
+ wireId: "CohereLabs/tiny-aya-water",
4058
+ providers: [
4059
+ {
4060
+ provider: "cohere",
4061
+ status: "live",
4062
+ supportsTools: false,
4063
+ supportsStructuredOutput: false
4064
+ }
4065
+ ]
4066
+ },
4067
+ "MiniMaxAI/MiniMax-M1-80k": {
4068
+ wireId: "MiniMaxAI/MiniMax-M1-80k",
4069
+ providers: [
4070
+ {
4071
+ provider: "novita",
4072
+ status: "live",
4073
+ contextLength: 1e6,
4074
+ inputPer1M: 0.55,
4075
+ outputPer1M: 2.2,
4076
+ supportsTools: true,
4077
+ supportsStructuredOutput: false
4078
+ }
4079
+ ]
4080
+ },
4081
+ "MiniMaxAI/MiniMax-M2": {
4082
+ wireId: "MiniMaxAI/MiniMax-M2",
4083
+ providers: [
4084
+ {
4085
+ provider: "featherless-ai",
4086
+ status: "live"
4087
+ },
4088
+ {
4089
+ provider: "novita",
4090
+ status: "live",
4091
+ contextLength: 204800,
4092
+ inputPer1M: 0.3,
4093
+ outputPer1M: 1.2,
4094
+ supportsTools: true,
4095
+ supportsStructuredOutput: false
4096
+ }
4097
+ ]
4098
+ },
4099
+ "MiniMaxAI/MiniMax-M2.1": {
4100
+ wireId: "MiniMaxAI/MiniMax-M2.1",
4101
+ providers: [
4102
+ {
4103
+ provider: "featherless-ai",
4104
+ status: "live"
4105
+ },
4106
+ {
4107
+ provider: "novita",
4108
+ status: "live",
4109
+ contextLength: 204800,
4110
+ inputPer1M: 0.3,
4111
+ outputPer1M: 1.2,
4112
+ supportsTools: true,
4113
+ supportsStructuredOutput: false
4114
+ }
4115
+ ]
4116
+ },
4117
+ "MiniMaxAI/MiniMax-M2.5": {
4118
+ wireId: "MiniMaxAI/MiniMax-M2.5",
4119
+ providers: [
4120
+ {
4121
+ provider: "deepinfra",
4122
+ status: "live",
4123
+ contextLength: 196608,
4124
+ inputPer1M: 0.15,
4125
+ outputPer1M: 1.15,
4126
+ supportsTools: true,
4127
+ supportsStructuredOutput: false
4128
+ },
4129
+ {
4130
+ provider: "featherless-ai",
4131
+ status: "live"
4132
+ },
4133
+ {
4134
+ provider: "novita",
4135
+ status: "live",
4136
+ contextLength: 204800,
4137
+ inputPer1M: 0.3,
4138
+ outputPer1M: 1.2,
4139
+ supportsTools: true,
4140
+ supportsStructuredOutput: false
4141
+ }
4142
+ ]
4143
+ },
4144
+ "MiniMaxAI/MiniMax-M2.7": {
4145
+ wireId: "MiniMaxAI/MiniMax-M2.7",
4146
+ providers: [
4147
+ {
4148
+ provider: "deepinfra",
4149
+ status: "live",
4150
+ contextLength: 196608,
4151
+ inputPer1M: 0.25,
4152
+ outputPer1M: 1,
4153
+ supportsTools: true,
4154
+ supportsStructuredOutput: false
4155
+ },
4156
+ {
4157
+ provider: "featherless-ai",
4158
+ status: "live"
4159
+ },
4160
+ {
4161
+ provider: "fireworks-ai",
4162
+ status: "live",
4163
+ contextLength: 196608,
4164
+ inputPer1M: 0.3,
4165
+ outputPer1M: 1.2,
4166
+ supportsTools: true,
4167
+ supportsStructuredOutput: false
4168
+ },
4169
+ {
4170
+ provider: "novita",
4171
+ status: "live",
4172
+ contextLength: 204800,
4173
+ inputPer1M: 0.3,
4174
+ outputPer1M: 1.2,
4175
+ supportsTools: true,
4176
+ supportsStructuredOutput: false
4177
+ },
4178
+ {
4179
+ provider: "together",
4180
+ status: "live",
4181
+ contextLength: 196608,
4182
+ inputPer1M: 0.3,
4183
+ outputPer1M: 1.2,
4184
+ supportsTools: true,
4185
+ supportsStructuredOutput: true
4186
+ }
4187
+ ]
4188
+ },
4189
+ "MiniMaxAI/MiniMax-M3": {
4190
+ wireId: "MiniMaxAI/MiniMax-M3",
4191
+ providers: [
4192
+ {
4193
+ provider: "deepinfra",
4194
+ status: "live",
4195
+ contextLength: 524288,
4196
+ inputPer1M: 0.3,
4197
+ outputPer1M: 1.2,
4198
+ supportsTools: true,
4199
+ supportsStructuredOutput: false
4200
+ },
4201
+ {
4202
+ provider: "featherless-ai",
4203
+ status: "live"
4204
+ },
4205
+ {
4206
+ provider: "fireworks-ai",
4207
+ status: "live",
4208
+ contextLength: 512e3,
4209
+ inputPer1M: 0.3,
4210
+ outputPer1M: 1.2,
4211
+ supportsTools: true,
4212
+ supportsStructuredOutput: false
4213
+ },
4214
+ {
4215
+ provider: "novita",
4216
+ status: "live",
4217
+ contextLength: 1e6,
4218
+ inputPer1M: 0.3,
4219
+ outputPer1M: 1.2,
4220
+ supportsTools: true,
4221
+ supportsStructuredOutput: false
4222
+ },
4223
+ {
4224
+ provider: "together",
4225
+ status: "live",
4226
+ contextLength: 524288,
4227
+ inputPer1M: 0.3,
4228
+ outputPer1M: 1.2,
4229
+ supportsTools: true,
4230
+ supportsStructuredOutput: true
4231
+ }
4232
+ ]
4233
+ },
4234
+ "Qwen/Qwen2.5-72B-Instruct": {
4235
+ wireId: "Qwen/Qwen2.5-72B-Instruct",
4236
+ providers: [
4237
+ {
4238
+ provider: "deepinfra",
4239
+ status: "live",
4240
+ contextLength: 32768,
4241
+ inputPer1M: 0.36,
4242
+ outputPer1M: 0.4,
4243
+ supportsTools: true,
4244
+ supportsStructuredOutput: true
4245
+ },
4246
+ {
4247
+ provider: "featherless-ai",
4248
+ status: "live"
4249
+ },
4250
+ {
4251
+ provider: "novita",
4252
+ status: "live",
4253
+ contextLength: 32e3,
4254
+ inputPer1M: 0.38,
4255
+ outputPer1M: 0.4,
4256
+ supportsTools: true,
4257
+ supportsStructuredOutput: false
4258
+ }
4259
+ ]
4260
+ },
4261
+ "Qwen/Qwen2.5-7B-Instruct": {
4262
+ wireId: "Qwen/Qwen2.5-7B-Instruct",
4263
+ providers: [
4264
+ {
4265
+ provider: "featherless-ai",
4266
+ status: "live"
4267
+ },
4268
+ {
4269
+ provider: "together",
4270
+ status: "live",
4271
+ contextLength: 32768,
4272
+ inputPer1M: 0.3,
4273
+ outputPer1M: 0.3,
4274
+ supportsTools: true,
4275
+ supportsStructuredOutput: true
4276
+ }
4277
+ ]
4278
+ },
4279
+ "Qwen/Qwen2.5-Coder-32B-Instruct": {
4280
+ wireId: "Qwen/Qwen2.5-Coder-32B-Instruct",
4281
+ providers: [
4282
+ {
4283
+ provider: "featherless-ai",
4284
+ status: "live"
4285
+ },
4286
+ {
4287
+ provider: "nscale",
4288
+ status: "live",
4289
+ contextLength: 131072,
4290
+ inputPer1M: 0.06,
4291
+ outputPer1M: 0.2,
4292
+ supportsTools: false,
4293
+ supportsStructuredOutput: false
4294
+ }
4295
+ ]
4296
+ },
4297
+ "Qwen/Qwen2.5-Coder-3B-Instruct": {
4298
+ wireId: "Qwen/Qwen2.5-Coder-3B-Instruct",
4299
+ providers: [
4300
+ {
4301
+ provider: "featherless-ai",
4302
+ status: "live"
4303
+ },
4304
+ {
4305
+ provider: "nscale",
4306
+ status: "live",
4307
+ contextLength: 32768,
4308
+ inputPer1M: 0.01,
4309
+ outputPer1M: 0.03,
4310
+ supportsTools: false,
4311
+ supportsStructuredOutput: true
4312
+ }
4313
+ ]
4314
+ },
4315
+ "Qwen/Qwen2.5-Coder-7B-Instruct": {
4316
+ wireId: "Qwen/Qwen2.5-Coder-7B-Instruct",
4317
+ providers: [
4318
+ {
4319
+ provider: "featherless-ai",
4320
+ status: "live"
4321
+ },
4322
+ {
4323
+ provider: "nscale",
4324
+ status: "live",
4325
+ contextLength: 131072,
4326
+ inputPer1M: 0.01,
4327
+ outputPer1M: 0.03,
4328
+ supportsTools: false,
4329
+ supportsStructuredOutput: true
4330
+ }
4331
+ ]
4332
+ },
4333
+ "Qwen/Qwen2.5-VL-72B-Instruct": {
4334
+ wireId: "Qwen/Qwen2.5-VL-72B-Instruct",
4335
+ providers: [
4336
+ {
4337
+ provider: "featherless-ai",
4338
+ status: "live"
4339
+ },
4340
+ {
4341
+ provider: "ovhcloud",
4342
+ status: "live",
4343
+ contextLength: 32768,
4344
+ inputPer1M: 1.01,
4345
+ outputPer1M: 1.01,
4346
+ supportsTools: false,
4347
+ supportsStructuredOutput: true
4348
+ }
4349
+ ]
4350
+ },
4351
+ "Qwen/Qwen3-14B": {
4352
+ wireId: "Qwen/Qwen3-14B",
4353
+ providers: [
4354
+ {
4355
+ provider: "deepinfra",
4356
+ status: "live",
4357
+ contextLength: 40960,
4358
+ inputPer1M: 0.12,
4359
+ outputPer1M: 0.24,
4360
+ supportsTools: true,
4361
+ supportsStructuredOutput: false
4362
+ },
4363
+ {
4364
+ provider: "featherless-ai",
4365
+ status: "live"
4366
+ },
4367
+ {
4368
+ provider: "nscale",
4369
+ status: "live",
4370
+ contextLength: 40960,
4371
+ inputPer1M: 0.07,
4372
+ outputPer1M: 0.2,
4373
+ supportsTools: true,
4374
+ supportsStructuredOutput: false
4375
+ }
4376
+ ]
4377
+ },
4378
+ "Qwen/Qwen3-235B-A22B": {
4379
+ wireId: "Qwen/Qwen3-235B-A22B",
4380
+ providers: [
4381
+ {
4382
+ provider: "featherless-ai",
4383
+ status: "live"
4384
+ },
4385
+ {
4386
+ provider: "novita",
4387
+ status: "live",
4388
+ contextLength: 40960,
4389
+ inputPer1M: 0.2,
4390
+ outputPer1M: 0.8,
4391
+ supportsTools: false,
4392
+ supportsStructuredOutput: false
4393
+ },
4394
+ {
4395
+ provider: "nscale",
4396
+ status: "live",
4397
+ contextLength: 32e3,
4398
+ inputPer1M: 0.2,
4399
+ outputPer1M: 0.6,
4400
+ supportsTools: true,
4401
+ supportsStructuredOutput: true
4402
+ }
4403
+ ]
4404
+ },
4405
+ "Qwen/Qwen3-235B-A22B-Instruct-2507": {
4406
+ wireId: "Qwen/Qwen3-235B-A22B-Instruct-2507",
4407
+ providers: [
4408
+ {
4409
+ provider: "deepinfra",
4410
+ status: "live",
4411
+ contextLength: 262144,
4412
+ inputPer1M: 0.09,
4413
+ outputPer1M: 0.55,
4414
+ supportsTools: true,
4415
+ supportsStructuredOutput: true
4416
+ },
4417
+ {
4418
+ provider: "novita",
4419
+ status: "live",
4420
+ contextLength: 131072,
4421
+ inputPer1M: 0.09,
4422
+ outputPer1M: 0.58,
4423
+ supportsTools: true,
4424
+ supportsStructuredOutput: true
4425
+ },
4426
+ {
4427
+ provider: "nscale",
4428
+ status: "live",
4429
+ contextLength: 32768,
4430
+ inputPer1M: 0.2,
4431
+ outputPer1M: 0.6,
4432
+ supportsTools: true,
4433
+ supportsStructuredOutput: true
4434
+ },
4435
+ {
4436
+ provider: "scaleway",
4437
+ status: "live",
4438
+ inputPer1M: 0.855,
4439
+ outputPer1M: 2.565,
4440
+ supportsTools: true,
4441
+ supportsStructuredOutput: true
4442
+ }
4443
+ ]
4444
+ },
4445
+ "Qwen/Qwen3-235B-A22B-Thinking-2507": {
4446
+ wireId: "Qwen/Qwen3-235B-A22B-Thinking-2507",
4447
+ providers: [
4448
+ {
4449
+ provider: "deepinfra",
4450
+ status: "live",
4451
+ contextLength: 262144,
4452
+ inputPer1M: 0.23,
4453
+ outputPer1M: 2.3,
4454
+ supportsTools: true,
4455
+ supportsStructuredOutput: false
4456
+ },
4457
+ {
4458
+ provider: "featherless-ai",
4459
+ status: "live"
4460
+ },
4461
+ {
4462
+ provider: "novita",
4463
+ status: "live",
4464
+ contextLength: 131072,
4465
+ inputPer1M: 0.3,
4466
+ outputPer1M: 3,
4467
+ supportsTools: true,
4468
+ supportsStructuredOutput: false
4469
+ }
4470
+ ]
4471
+ },
4472
+ "Qwen/Qwen3-32B": {
4473
+ wireId: "Qwen/Qwen3-32B",
4474
+ providers: [
4475
+ {
4476
+ provider: "deepinfra",
4477
+ status: "live",
4478
+ contextLength: 40960,
4479
+ inputPer1M: 0.08,
4480
+ outputPer1M: 0.28,
4481
+ supportsTools: true,
4482
+ supportsStructuredOutput: false
4483
+ },
4484
+ {
4485
+ provider: "featherless-ai",
4486
+ status: "live"
4487
+ },
4488
+ {
4489
+ provider: "nscale",
4490
+ status: "live",
4491
+ contextLength: 40960,
4492
+ inputPer1M: 0.08,
4493
+ outputPer1M: 0.25,
4494
+ supportsTools: true,
4495
+ supportsStructuredOutput: true
4496
+ }
4497
+ ]
4498
+ },
4499
+ "Qwen/Qwen3-4B-Instruct-2507": {
4500
+ wireId: "Qwen/Qwen3-4B-Instruct-2507",
4501
+ providers: [
4502
+ {
4503
+ provider: "featherless-ai",
4504
+ status: "live"
4505
+ },
4506
+ {
4507
+ provider: "nscale",
4508
+ status: "live",
4509
+ contextLength: 262144,
4510
+ inputPer1M: 0.01,
4511
+ outputPer1M: 0.03,
4512
+ supportsTools: true,
4513
+ supportsStructuredOutput: true
4514
+ }
4515
+ ]
4516
+ },
4517
+ "Qwen/Qwen3-4B-Thinking-2507": {
4518
+ wireId: "Qwen/Qwen3-4B-Thinking-2507",
4519
+ providers: [
4520
+ {
4521
+ provider: "featherless-ai",
4522
+ status: "live"
4523
+ },
4524
+ {
4525
+ provider: "nscale",
4526
+ status: "live",
4527
+ contextLength: 262144,
4528
+ inputPer1M: 0.01,
4529
+ outputPer1M: 0.03,
4530
+ supportsTools: true,
4531
+ supportsStructuredOutput: true
4532
+ }
4533
+ ]
4534
+ },
4535
+ "Qwen/Qwen3-8B": {
4536
+ wireId: "Qwen/Qwen3-8B",
4537
+ providers: [
4538
+ {
4539
+ provider: "featherless-ai",
4540
+ status: "live"
4541
+ },
4542
+ {
4543
+ provider: "nscale",
4544
+ status: "live",
4545
+ contextLength: 40960,
4546
+ inputPer1M: 0.07,
4547
+ outputPer1M: 0.18,
4548
+ supportsTools: true,
4549
+ supportsStructuredOutput: false
4550
+ }
4551
+ ]
4552
+ },
4553
+ "Qwen/Qwen3-Coder-30B-A3B-Instruct": {
4554
+ wireId: "Qwen/Qwen3-Coder-30B-A3B-Instruct",
4555
+ providers: [
4556
+ {
4557
+ provider: "featherless-ai",
4558
+ status: "live"
4559
+ },
4560
+ {
4561
+ provider: "scaleway",
4562
+ status: "live",
4563
+ inputPer1M: 0.228,
4564
+ outputPer1M: 0.912,
4565
+ supportsTools: true,
4566
+ supportsStructuredOutput: true
4567
+ }
4568
+ ]
4569
+ },
4570
+ "Qwen/Qwen3-Coder-480B-A35B-Instruct": {
4571
+ wireId: "Qwen/Qwen3-Coder-480B-A35B-Instruct",
4572
+ providers: [
4573
+ {
4574
+ provider: "featherless-ai",
4575
+ status: "live"
4576
+ },
4577
+ {
4578
+ provider: "novita",
4579
+ status: "live",
4580
+ contextLength: 262144,
4581
+ inputPer1M: 0.38,
4582
+ outputPer1M: 1.55,
4583
+ supportsTools: true,
4584
+ supportsStructuredOutput: true
4585
+ }
4586
+ ]
4587
+ },
4588
+ "Qwen/Qwen3-Coder-Next": {
4589
+ wireId: "Qwen/Qwen3-Coder-Next",
4590
+ providers: [
4591
+ {
4592
+ provider: "featherless-ai",
4593
+ status: "live"
4594
+ },
4595
+ {
4596
+ provider: "novita",
4597
+ status: "live",
4598
+ contextLength: 262144,
4599
+ inputPer1M: 0.2,
4600
+ outputPer1M: 1.5,
4601
+ supportsTools: true,
4602
+ supportsStructuredOutput: false
4603
+ }
4604
+ ]
4605
+ },
4606
+ "Qwen/Qwen3-Next-80B-A3B-Instruct": {
4607
+ wireId: "Qwen/Qwen3-Next-80B-A3B-Instruct",
4608
+ providers: [
4609
+ {
4610
+ provider: "featherless-ai",
4611
+ status: "live"
4612
+ },
4613
+ {
4614
+ provider: "novita",
4615
+ status: "live",
4616
+ contextLength: 131072,
4617
+ inputPer1M: 0.15,
4618
+ outputPer1M: 1.5,
4619
+ supportsTools: true,
4620
+ supportsStructuredOutput: false
4621
+ }
4622
+ ]
4623
+ },
4624
+ "Qwen/Qwen3-VL-235B-A22B-Instruct": {
4625
+ wireId: "Qwen/Qwen3-VL-235B-A22B-Instruct",
4626
+ providers: [
4627
+ {
4628
+ provider: "novita",
4629
+ status: "live",
4630
+ contextLength: 131072,
4631
+ inputPer1M: 0.3,
4632
+ outputPer1M: 1.5,
4633
+ supportsTools: true,
4634
+ supportsStructuredOutput: true
4635
+ }
4636
+ ]
4637
+ },
4638
+ "Qwen/Qwen3-VL-235B-A22B-Thinking": {
4639
+ wireId: "Qwen/Qwen3-VL-235B-A22B-Thinking",
4640
+ providers: [
4641
+ {
4642
+ provider: "featherless-ai",
4643
+ status: "live"
4644
+ },
4645
+ {
4646
+ provider: "novita",
4647
+ status: "live",
4648
+ contextLength: 131072,
4649
+ inputPer1M: 0.98,
4650
+ outputPer1M: 3.95,
4651
+ supportsTools: true,
4652
+ supportsStructuredOutput: false
4653
+ }
4654
+ ]
4655
+ },
4656
+ "Qwen/Qwen3-VL-30B-A3B-Instruct": {
4657
+ wireId: "Qwen/Qwen3-VL-30B-A3B-Instruct",
4658
+ providers: [
4659
+ {
4660
+ provider: "featherless-ai",
4661
+ status: "live"
4662
+ },
4663
+ {
4664
+ provider: "novita",
4665
+ status: "live",
4666
+ contextLength: 131072,
4667
+ inputPer1M: 0.2,
4668
+ outputPer1M: 0.7,
4669
+ supportsTools: true,
4670
+ supportsStructuredOutput: true
4671
+ }
4672
+ ]
4673
+ },
4674
+ "Qwen/Qwen3.5-122B-A10B": {
4675
+ wireId: "Qwen/Qwen3.5-122B-A10B",
4676
+ providers: [
4677
+ {
4678
+ provider: "deepinfra",
4679
+ status: "live",
4680
+ contextLength: 262144,
4681
+ inputPer1M: 0.29,
4682
+ outputPer1M: 2.4,
4683
+ supportsTools: true,
4684
+ supportsStructuredOutput: false
4685
+ },
4686
+ {
4687
+ provider: "novita",
4688
+ status: "live",
4689
+ contextLength: 262144,
4690
+ inputPer1M: 0.4,
4691
+ outputPer1M: 3.2,
4692
+ supportsTools: true,
4693
+ supportsStructuredOutput: false
4694
+ }
4695
+ ]
4696
+ },
4697
+ "Qwen/Qwen3.5-27B": {
4698
+ wireId: "Qwen/Qwen3.5-27B",
4699
+ providers: [
4700
+ {
4701
+ provider: "deepinfra",
4702
+ status: "live",
4703
+ contextLength: 262144,
4704
+ inputPer1M: 0.26,
4705
+ outputPer1M: 2.6,
4706
+ supportsTools: true,
4707
+ supportsStructuredOutput: true
4708
+ },
4709
+ {
4710
+ provider: "featherless-ai",
4711
+ status: "live"
4712
+ },
4713
+ {
4714
+ provider: "novita",
4715
+ status: "live",
4716
+ contextLength: 262144,
4717
+ inputPer1M: 0.3,
4718
+ outputPer1M: 2.4,
4719
+ supportsTools: true,
4720
+ supportsStructuredOutput: false
4721
+ }
4722
+ ]
4723
+ },
4724
+ "Qwen/Qwen3.5-35B-A3B": {
4725
+ wireId: "Qwen/Qwen3.5-35B-A3B",
4726
+ providers: [
4727
+ {
4728
+ provider: "deepinfra",
4729
+ status: "live",
4730
+ contextLength: 262144,
4731
+ inputPer1M: 0.14,
4732
+ outputPer1M: 1,
4733
+ supportsTools: true,
4734
+ supportsStructuredOutput: true
4735
+ },
4736
+ {
4737
+ provider: "novita",
4738
+ status: "live",
4739
+ contextLength: 262144,
4740
+ inputPer1M: 0.25,
4741
+ outputPer1M: 2,
4742
+ supportsTools: true,
4743
+ supportsStructuredOutput: false
4744
+ }
4745
+ ]
4746
+ },
4747
+ "Qwen/Qwen3.5-397B-A17B": {
4748
+ wireId: "Qwen/Qwen3.5-397B-A17B",
4749
+ providers: [
4750
+ {
4751
+ provider: "deepinfra",
4752
+ status: "live",
4753
+ contextLength: 262144,
4754
+ inputPer1M: 0.45,
4755
+ outputPer1M: 3,
4756
+ supportsTools: true,
4757
+ supportsStructuredOutput: true
4758
+ },
4759
+ {
4760
+ provider: "featherless-ai",
4761
+ status: "live"
4762
+ },
4763
+ {
4764
+ provider: "novita",
4765
+ status: "live",
4766
+ contextLength: 262144,
4767
+ inputPer1M: 0.6,
4768
+ outputPer1M: 3.6,
4769
+ supportsTools: true,
4770
+ supportsStructuredOutput: false
4771
+ },
4772
+ {
4773
+ provider: "ovhcloud",
4774
+ status: "live",
4775
+ contextLength: 262144,
4776
+ inputPer1M: 0.71,
4777
+ outputPer1M: 4.25,
4778
+ supportsTools: true,
4779
+ supportsStructuredOutput: true
4780
+ },
4781
+ {
4782
+ provider: "scaleway",
4783
+ status: "live",
4784
+ inputPer1M: 0.684,
4785
+ outputPer1M: 4.104,
4786
+ supportsTools: true,
4787
+ supportsStructuredOutput: true
4788
+ }
4789
+ ]
4790
+ },
4791
+ "Qwen/Qwen3.5-9B": {
4792
+ wireId: "Qwen/Qwen3.5-9B",
4793
+ providers: [
4794
+ {
4795
+ provider: "deepinfra",
4796
+ status: "live",
4797
+ contextLength: 262144,
4798
+ inputPer1M: 0.1,
4799
+ outputPer1M: 0.15,
4800
+ supportsTools: true,
4801
+ supportsStructuredOutput: true
4802
+ },
4803
+ {
4804
+ provider: "featherless-ai",
4805
+ status: "live"
4806
+ },
4807
+ {
4808
+ provider: "ovhcloud",
4809
+ status: "live",
4810
+ contextLength: 262144,
4811
+ inputPer1M: 0.12,
4812
+ outputPer1M: 0.18,
4813
+ supportsTools: true,
4814
+ supportsStructuredOutput: true
4815
+ },
4816
+ {
4817
+ provider: "together",
4818
+ status: "live",
4819
+ contextLength: 262144,
4820
+ inputPer1M: 0.17,
4821
+ outputPer1M: 0.25,
4822
+ supportsTools: true,
4823
+ supportsStructuredOutput: false
4824
+ }
4825
+ ]
4826
+ },
4827
+ "Qwen/Qwen3.6-27B": {
4828
+ wireId: "Qwen/Qwen3.6-27B",
4829
+ providers: [
4830
+ {
4831
+ provider: "deepinfra",
4832
+ status: "live",
4833
+ contextLength: 262144,
4834
+ inputPer1M: 0.32,
4835
+ outputPer1M: 3.2,
4836
+ supportsTools: true,
4837
+ supportsStructuredOutput: true
4838
+ },
4839
+ {
4840
+ provider: "featherless-ai",
4841
+ status: "live"
4842
+ },
4843
+ {
4844
+ provider: "ovhcloud",
4845
+ status: "live",
4846
+ contextLength: 262144,
4847
+ inputPer1M: 0.47,
4848
+ outputPer1M: 3.19,
4849
+ supportsTools: true,
4850
+ supportsStructuredOutput: true
4851
+ }
4852
+ ]
4853
+ },
4854
+ "Qwen/Qwen3.6-35B-A3B": {
4855
+ wireId: "Qwen/Qwen3.6-35B-A3B",
4856
+ providers: [
4857
+ {
4858
+ provider: "deepinfra",
4859
+ status: "live",
4860
+ contextLength: 262144,
4861
+ inputPer1M: 0.15,
4862
+ outputPer1M: 0.95,
4863
+ supportsTools: true,
4864
+ supportsStructuredOutput: true
4865
+ },
4866
+ {
4867
+ provider: "featherless-ai",
4868
+ status: "live"
4869
+ },
4870
+ {
4871
+ provider: "scaleway",
4872
+ status: "live",
4873
+ inputPer1M: 0.285,
4874
+ outputPer1M: 1.71,
4875
+ supportsTools: true,
4876
+ supportsStructuredOutput: true
4877
+ }
4878
+ ]
4879
+ },
4880
+ "Sao10K/L3-8B-Lunaris-v1": {
4881
+ wireId: "Sao10K/L3-8B-Lunaris-v1",
4882
+ providers: [
4883
+ {
4884
+ provider: "featherless-ai",
4885
+ status: "live"
4886
+ },
4887
+ {
4888
+ provider: "novita",
4889
+ status: "live",
4890
+ contextLength: 8192,
4891
+ inputPer1M: 0.05,
4892
+ outputPer1M: 0.05,
4893
+ supportsTools: false,
4894
+ supportsStructuredOutput: false
4895
+ }
4896
+ ]
4897
+ },
4898
+ "Sao10K/L3-8B-Stheno-v3.2": {
4899
+ wireId: "Sao10K/L3-8B-Stheno-v3.2",
4900
+ providers: [
4901
+ {
4902
+ provider: "featherless-ai",
4903
+ status: "live"
4904
+ },
4905
+ {
4906
+ provider: "novita",
4907
+ status: "live",
4908
+ contextLength: 8192,
4909
+ inputPer1M: 0.05,
4910
+ outputPer1M: 0.05,
4911
+ supportsTools: false,
4912
+ supportsStructuredOutput: false
4913
+ }
4914
+ ]
4915
+ },
4916
+ "XiaomiMiMo/MiMo-V2.5": {
4917
+ wireId: "XiaomiMiMo/MiMo-V2.5",
4918
+ providers: [
4919
+ {
4920
+ provider: "deepinfra",
4921
+ status: "live",
4922
+ contextLength: 262144,
4923
+ inputPer1M: 0.4,
4924
+ outputPer1M: 2,
4925
+ supportsTools: true,
4926
+ supportsStructuredOutput: true
4927
+ }
4928
+ ]
4929
+ },
4930
+ "XiaomiMiMo/MiMo-V2.5-Pro": {
4931
+ wireId: "XiaomiMiMo/MiMo-V2.5-Pro",
4932
+ providers: [
4933
+ {
4934
+ provider: "deepinfra",
4935
+ status: "live",
4936
+ contextLength: 1048576,
4937
+ inputPer1M: 1,
4938
+ outputPer1M: 3,
4939
+ supportsTools: true,
4940
+ supportsStructuredOutput: true
4941
+ }
4942
+ ]
4943
+ },
4944
+ "aisingapore/Gemma-SEA-LION-v4-27B-IT": {
4945
+ wireId: "aisingapore/Gemma-SEA-LION-v4-27B-IT",
4946
+ providers: [
4947
+ {
4948
+ provider: "featherless-ai",
4949
+ status: "live"
4950
+ },
4951
+ {
4952
+ provider: "publicai",
4953
+ status: "live",
4954
+ inputPer1M: 0.2,
4955
+ outputPer1M: 0.4,
4956
+ supportsTools: false,
4957
+ supportsStructuredOutput: false
4958
+ }
4959
+ ]
4960
+ },
4961
+ "aisingapore/Qwen-SEA-LION-v4-32B-IT": {
4962
+ wireId: "aisingapore/Qwen-SEA-LION-v4-32B-IT",
4963
+ providers: [
4964
+ {
4965
+ provider: "featherless-ai",
4966
+ status: "live"
4967
+ },
4968
+ {
4969
+ provider: "publicai",
4970
+ status: "live",
4971
+ inputPer1M: 0.25,
4972
+ outputPer1M: 0.5,
4973
+ supportsTools: true,
4974
+ supportsStructuredOutput: true
4975
+ }
4976
+ ]
4977
+ },
4978
+ "allenai/Olmo-3-7B-Instruct": {
4979
+ wireId: "allenai/Olmo-3-7B-Instruct",
4980
+ providers: [
4981
+ {
4982
+ provider: "publicai",
4983
+ status: "live",
4984
+ inputPer1M: 0.1,
4985
+ outputPer1M: 0.2,
4986
+ supportsTools: true,
4987
+ supportsStructuredOutput: false
4988
+ }
4989
+ ]
4990
+ },
4991
+ "alpindale/WizardLM-2-8x22B": {
4992
+ wireId: "alpindale/WizardLM-2-8x22B",
4993
+ providers: [
4994
+ {
4995
+ provider: "novita",
4996
+ status: "live",
4997
+ contextLength: 65535,
4998
+ inputPer1M: 0.62,
4999
+ outputPer1M: 0.62,
5000
+ supportsTools: false,
5001
+ supportsStructuredOutput: false
5002
+ }
5003
+ ]
5004
+ },
5005
+ "baidu/ERNIE-4.5-VL-424B-A47B-Base-PT": {
5006
+ wireId: "baidu/ERNIE-4.5-VL-424B-A47B-Base-PT",
5007
+ providers: [
5008
+ {
5009
+ provider: "novita",
5010
+ status: "live",
5011
+ contextLength: 123e3,
5012
+ inputPer1M: 0.42,
5013
+ outputPer1M: 1.25,
5014
+ supportsTools: false,
5015
+ supportsStructuredOutput: false
5016
+ }
5017
+ ]
5018
+ },
5019
+ "deepreinforce-ai/Ornith-1.0-35B": {
5020
+ wireId: "deepreinforce-ai/Ornith-1.0-35B",
5021
+ providers: [
5022
+ {
5023
+ provider: "deepinfra",
5024
+ status: "live",
5025
+ contextLength: 262144,
5026
+ inputPer1M: 0.1,
5027
+ outputPer1M: 0.75,
5028
+ supportsTools: true,
5029
+ supportsStructuredOutput: true
5030
+ }
5031
+ ]
5032
+ },
5033
+ "deepreinforce-ai/Ornith-1.0-35B-FP8": {
5034
+ wireId: "deepreinforce-ai/Ornith-1.0-35B-FP8",
5035
+ providers: [
5036
+ {
5037
+ provider: "deepinfra",
5038
+ status: "live",
5039
+ contextLength: 262144,
5040
+ inputPer1M: 0.1,
5041
+ outputPer1M: 0.75,
5042
+ supportsTools: true,
5043
+ supportsStructuredOutput: true
5044
+ }
5045
+ ]
5046
+ },
5047
+ "deepseek-ai/DeepSeek-R1": {
5048
+ wireId: "deepseek-ai/DeepSeek-R1",
5049
+ providers: [
5050
+ {
5051
+ provider: "novita",
5052
+ status: "live",
5053
+ contextLength: 64e3,
5054
+ inputPer1M: 0.7,
5055
+ outputPer1M: 2.5,
5056
+ supportsTools: false,
5057
+ supportsStructuredOutput: true
5058
+ }
5059
+ ]
5060
+ },
5061
+ "deepseek-ai/DeepSeek-R1-0528": {
5062
+ wireId: "deepseek-ai/DeepSeek-R1-0528",
5063
+ providers: [
5064
+ {
5065
+ provider: "deepinfra",
5066
+ status: "live",
5067
+ contextLength: 163840,
5068
+ inputPer1M: 0.5,
5069
+ outputPer1M: 2.15,
5070
+ supportsTools: false,
5071
+ supportsStructuredOutput: false
5072
+ },
5073
+ {
5074
+ provider: "featherless-ai",
5075
+ status: "live"
5076
+ },
5077
+ {
5078
+ provider: "novita",
5079
+ status: "live",
5080
+ contextLength: 163840,
5081
+ inputPer1M: 0.7,
5082
+ outputPer1M: 2.5,
5083
+ supportsTools: true,
5084
+ supportsStructuredOutput: true
5085
+ }
5086
+ ]
5087
+ },
5088
+ "deepseek-ai/DeepSeek-R1-Distill-Llama-70B": {
5089
+ wireId: "deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
5090
+ providers: [
5091
+ {
5092
+ provider: "featherless-ai",
5093
+ status: "live"
5094
+ },
5095
+ {
5096
+ provider: "novita",
5097
+ status: "live",
5098
+ contextLength: 8192,
5099
+ inputPer1M: 0.8,
5100
+ outputPer1M: 0.8,
5101
+ supportsTools: false,
5102
+ supportsStructuredOutput: false
5103
+ }
5104
+ ]
5105
+ },
5106
+ "deepseek-ai/DeepSeek-R1-Distill-Llama-8B": {
5107
+ wireId: "deepseek-ai/DeepSeek-R1-Distill-Llama-8B",
5108
+ providers: [
5109
+ {
5110
+ provider: "featherless-ai",
5111
+ status: "live"
5112
+ },
5113
+ {
5114
+ provider: "nscale",
5115
+ status: "live",
5116
+ contextLength: 131072,
5117
+ inputPer1M: 0.05,
5118
+ outputPer1M: 0.05,
5119
+ supportsTools: false,
5120
+ supportsStructuredOutput: true
5121
+ }
5122
+ ]
5123
+ },
5124
+ "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B": {
5125
+ wireId: "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B",
5126
+ providers: [
5127
+ {
5128
+ provider: "featherless-ai",
5129
+ status: "live"
5130
+ },
5131
+ {
5132
+ provider: "nscale",
5133
+ status: "live",
5134
+ contextLength: 131072,
5135
+ inputPer1M: 0.2,
5136
+ outputPer1M: 0.2,
5137
+ supportsTools: false,
5138
+ supportsStructuredOutput: true
5139
+ }
5140
+ ]
5141
+ },
5142
+ "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B": {
5143
+ wireId: "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B",
5144
+ providers: [
5145
+ {
5146
+ provider: "featherless-ai",
5147
+ status: "live"
5148
+ },
5149
+ {
5150
+ provider: "nscale",
5151
+ status: "live",
5152
+ contextLength: 131072,
5153
+ inputPer1M: 0.15,
5154
+ outputPer1M: 0.15,
5155
+ supportsTools: false,
5156
+ supportsStructuredOutput: false
5157
+ }
5158
+ ]
5159
+ },
5160
+ "deepseek-ai/DeepSeek-V3": {
5161
+ wireId: "deepseek-ai/DeepSeek-V3",
5162
+ providers: [
5163
+ {
5164
+ provider: "deepinfra",
5165
+ status: "live",
5166
+ contextLength: 163840,
5167
+ inputPer1M: 0.32,
5168
+ outputPer1M: 0.89,
5169
+ supportsTools: true,
5170
+ supportsStructuredOutput: true
5171
+ },
5172
+ {
5173
+ provider: "novita",
5174
+ status: "live",
5175
+ contextLength: 64e3,
5176
+ inputPer1M: 0.4,
5177
+ outputPer1M: 1.3,
5178
+ supportsTools: true,
5179
+ supportsStructuredOutput: false
5180
+ }
5181
+ ]
5182
+ },
5183
+ "deepseek-ai/DeepSeek-V3-0324": {
5184
+ wireId: "deepseek-ai/DeepSeek-V3-0324",
5185
+ providers: [
5186
+ {
5187
+ provider: "deepinfra",
5188
+ status: "live",
5189
+ contextLength: 163840,
5190
+ inputPer1M: 0.24,
5191
+ outputPer1M: 0.9,
5192
+ supportsTools: true,
5193
+ supportsStructuredOutput: true
5194
+ },
5195
+ {
5196
+ provider: "featherless-ai",
5197
+ status: "live"
5198
+ },
5199
+ {
5200
+ provider: "novita",
5201
+ status: "live",
5202
+ contextLength: 163840,
5203
+ inputPer1M: 0.27,
5204
+ outputPer1M: 1.12,
5205
+ supportsTools: true,
5206
+ supportsStructuredOutput: false
5207
+ }
5208
+ ]
5209
+ },
5210
+ "deepseek-ai/DeepSeek-V3.1": {
5211
+ wireId: "deepseek-ai/DeepSeek-V3.1",
5212
+ providers: [
5213
+ {
5214
+ provider: "deepinfra",
5215
+ status: "live",
5216
+ contextLength: 163840,
5217
+ inputPer1M: 0.25,
5218
+ outputPer1M: 0.95,
5219
+ supportsTools: true,
5220
+ supportsStructuredOutput: true
5221
+ },
5222
+ {
5223
+ provider: "featherless-ai",
5224
+ status: "live"
5225
+ },
5226
+ {
5227
+ provider: "novita",
5228
+ status: "live",
5229
+ contextLength: 131072,
5230
+ inputPer1M: 0.27,
5231
+ outputPer1M: 1,
5232
+ supportsTools: true,
5233
+ supportsStructuredOutput: true
5234
+ }
5235
+ ]
5236
+ },
5237
+ "deepseek-ai/DeepSeek-V3.1-Terminus": {
5238
+ wireId: "deepseek-ai/DeepSeek-V3.1-Terminus",
5239
+ providers: [
5240
+ {
5241
+ provider: "deepinfra",
5242
+ status: "live",
5243
+ contextLength: 163840,
5244
+ inputPer1M: 0.27,
5245
+ outputPer1M: 0.95,
5246
+ supportsTools: false,
5247
+ supportsStructuredOutput: true
5248
+ },
5249
+ {
5250
+ provider: "featherless-ai",
5251
+ status: "live"
5252
+ },
5253
+ {
5254
+ provider: "novita",
5255
+ status: "live",
5256
+ contextLength: 131072,
5257
+ inputPer1M: 0.27,
5258
+ outputPer1M: 1,
5259
+ supportsTools: true,
5260
+ supportsStructuredOutput: true
5261
+ }
5262
+ ]
5263
+ },
5264
+ "deepseek-ai/DeepSeek-V3.2": {
5265
+ wireId: "deepseek-ai/DeepSeek-V3.2",
5266
+ providers: [
5267
+ {
5268
+ provider: "deepinfra",
5269
+ status: "live",
5270
+ contextLength: 163840,
5271
+ inputPer1M: 0.26,
5272
+ outputPer1M: 0.38,
5273
+ supportsTools: true,
5274
+ supportsStructuredOutput: false
5275
+ },
5276
+ {
5277
+ provider: "featherless-ai",
5278
+ status: "live"
5279
+ },
5280
+ {
5281
+ provider: "novita",
5282
+ status: "live",
5283
+ contextLength: 163840,
5284
+ inputPer1M: 0.269,
5285
+ outputPer1M: 0.4,
5286
+ supportsTools: true,
5287
+ supportsStructuredOutput: true
5288
+ }
5289
+ ]
5290
+ },
5291
+ "deepseek-ai/DeepSeek-V3.2-Exp": {
5292
+ wireId: "deepseek-ai/DeepSeek-V3.2-Exp",
5293
+ providers: [
5294
+ {
5295
+ provider: "novita",
5296
+ status: "live",
5297
+ contextLength: 163840,
5298
+ inputPer1M: 0.27,
5299
+ outputPer1M: 0.41,
5300
+ supportsTools: true,
5301
+ supportsStructuredOutput: true
5302
+ }
5303
+ ]
5304
+ },
5305
+ "deepseek-ai/DeepSeek-V4-Flash": {
5306
+ wireId: "deepseek-ai/DeepSeek-V4-Flash",
5307
+ providers: [
5308
+ {
5309
+ provider: "deepinfra",
5310
+ status: "live",
5311
+ contextLength: 1048576,
5312
+ inputPer1M: 0.09,
5313
+ outputPer1M: 0.18,
5314
+ supportsTools: true,
5315
+ supportsStructuredOutput: true
5316
+ },
5317
+ {
5318
+ provider: "featherless-ai",
5319
+ status: "live"
5320
+ },
5321
+ {
5322
+ provider: "fireworks-ai",
5323
+ status: "live",
5324
+ contextLength: 1048576,
5325
+ inputPer1M: 0.14,
5326
+ outputPer1M: 0.28,
5327
+ supportsTools: true,
5328
+ supportsStructuredOutput: false
5329
+ },
5330
+ {
5331
+ provider: "novita",
5332
+ status: "live",
5333
+ contextLength: 1048576,
5334
+ inputPer1M: 0.14,
5335
+ outputPer1M: 0.28,
5336
+ supportsTools: true,
5337
+ supportsStructuredOutput: false
5338
+ }
5339
+ ]
5340
+ },
5341
+ "deepseek-ai/DeepSeek-V4-Pro": {
5342
+ wireId: "deepseek-ai/DeepSeek-V4-Pro",
5343
+ providers: [
5344
+ {
5345
+ provider: "deepinfra",
5346
+ status: "live",
5347
+ contextLength: 1048576,
5348
+ inputPer1M: 1.3,
5349
+ outputPer1M: 2.6,
5350
+ supportsTools: true,
5351
+ supportsStructuredOutput: true
5352
+ },
5353
+ {
5354
+ provider: "fireworks-ai",
5355
+ status: "live",
5356
+ contextLength: 1048576,
5357
+ inputPer1M: 1.74,
5358
+ outputPer1M: 3.48,
5359
+ supportsTools: true,
5360
+ supportsStructuredOutput: false
5361
+ },
5362
+ {
5363
+ provider: "novita",
5364
+ status: "live",
5365
+ contextLength: 1048576,
5366
+ inputPer1M: 1.6,
5367
+ outputPer1M: 3.2,
5368
+ supportsTools: true,
5369
+ supportsStructuredOutput: false
5370
+ },
5371
+ {
5372
+ provider: "together",
5373
+ status: "live",
5374
+ contextLength: 512e3,
5375
+ inputPer1M: 1.74,
5376
+ outputPer1M: 3.48,
5377
+ supportsTools: true,
5378
+ supportsStructuredOutput: false
5379
+ }
5380
+ ]
5381
+ },
5382
+ "google/gemma-3-12b-it": {
5383
+ wireId: "google/gemma-3-12b-it",
5384
+ providers: [
5385
+ {
5386
+ provider: "deepinfra",
5387
+ status: "live",
5388
+ contextLength: 131072,
5389
+ inputPer1M: 0.05,
5390
+ outputPer1M: 0.15,
5391
+ supportsTools: true,
5392
+ supportsStructuredOutput: true
5393
+ },
5394
+ {
5395
+ provider: "featherless-ai",
5396
+ status: "live"
5397
+ }
5398
+ ]
5399
+ },
5400
+ "google/gemma-3-27b-it": {
5401
+ wireId: "google/gemma-3-27b-it",
5402
+ providers: [
5403
+ {
5404
+ provider: "deepinfra",
5405
+ status: "live",
5406
+ contextLength: 131072,
5407
+ inputPer1M: 0.08,
5408
+ outputPer1M: 0.16,
5409
+ supportsTools: true,
5410
+ supportsStructuredOutput: false
5411
+ },
5412
+ {
5413
+ provider: "featherless-ai",
5414
+ status: "live"
5415
+ },
5416
+ {
5417
+ provider: "scaleway",
5418
+ status: "live",
5419
+ inputPer1M: 0.285,
5420
+ outputPer1M: 0.57,
5421
+ supportsTools: true,
5422
+ supportsStructuredOutput: true
5423
+ }
5424
+ ]
5425
+ },
5426
+ "google/gemma-3-4b-it": {
5427
+ wireId: "google/gemma-3-4b-it",
5428
+ providers: [
5429
+ {
5430
+ provider: "deepinfra",
5431
+ status: "live",
5432
+ contextLength: 131072,
5433
+ inputPer1M: 0.05,
5434
+ outputPer1M: 0.1,
5435
+ supportsTools: true,
5436
+ supportsStructuredOutput: true
5437
+ },
5438
+ {
5439
+ provider: "featherless-ai",
5440
+ status: "live"
5441
+ }
5442
+ ]
5443
+ },
5444
+ "google/gemma-3n-E4B-it": {
5445
+ wireId: "google/gemma-3n-E4B-it",
5446
+ providers: [
5447
+ {
5448
+ provider: "together",
5449
+ status: "live",
5450
+ contextLength: 32768,
5451
+ inputPer1M: 0.06,
5452
+ outputPer1M: 0.12,
5453
+ supportsTools: false,
5454
+ supportsStructuredOutput: true
5455
+ }
5456
+ ]
5457
+ },
5458
+ "google/gemma-4-26B-A4B-it": {
5459
+ wireId: "google/gemma-4-26B-A4B-it",
5460
+ providers: [
5461
+ {
5462
+ provider: "deepinfra",
5463
+ status: "live",
5464
+ contextLength: 262144,
5465
+ inputPer1M: 0.07,
5466
+ outputPer1M: 0.34,
5467
+ supportsTools: true,
5468
+ supportsStructuredOutput: true
5469
+ },
5470
+ {
5471
+ provider: "featherless-ai",
5472
+ status: "live"
5473
+ },
5474
+ {
5475
+ provider: "novita",
5476
+ status: "live",
5477
+ contextLength: 262144,
5478
+ inputPer1M: 0.13,
5479
+ outputPer1M: 0.4,
5480
+ supportsTools: true,
5481
+ supportsStructuredOutput: true
5482
+ },
5483
+ {
5484
+ provider: "scaleway",
5485
+ status: "live",
5486
+ inputPer1M: 0.285,
5487
+ outputPer1M: 0.57,
5488
+ supportsTools: true,
5489
+ supportsStructuredOutput: false
5490
+ }
5491
+ ]
5492
+ },
5493
+ "google/gemma-4-31B-it": {
5494
+ wireId: "google/gemma-4-31B-it",
5495
+ providers: [
5496
+ {
5497
+ provider: "cerebras",
5498
+ status: "live",
5499
+ supportsTools: true,
5500
+ supportsStructuredOutput: false
5501
+ },
5502
+ {
5503
+ provider: "deepinfra",
5504
+ status: "live",
5505
+ contextLength: 262144,
5506
+ inputPer1M: 0.13,
5507
+ outputPer1M: 0.38,
5508
+ supportsTools: false,
5509
+ supportsStructuredOutput: false
5510
+ },
5511
+ {
5512
+ provider: "featherless-ai",
5513
+ status: "live"
5514
+ },
5515
+ {
5516
+ provider: "novita",
5517
+ status: "live",
5518
+ contextLength: 262144,
5519
+ inputPer1M: 0.14,
5520
+ outputPer1M: 0.4,
5521
+ supportsTools: true,
5522
+ supportsStructuredOutput: true
5523
+ },
5524
+ {
5525
+ provider: "together",
5526
+ status: "live",
5527
+ contextLength: 262144,
5528
+ inputPer1M: 0.39,
5529
+ outputPer1M: 0.97,
5530
+ supportsTools: true,
5531
+ supportsStructuredOutput: true
5532
+ }
5533
+ ]
5534
+ },
5535
+ "inclusionAI/Ling-2.6-1T": {
5536
+ wireId: "inclusionAI/Ling-2.6-1T",
5537
+ providers: [
5538
+ {
5539
+ provider: "novita",
5540
+ status: "live",
5541
+ contextLength: 262144,
5542
+ inputPer1M: 0.3,
5543
+ outputPer1M: 2.5,
5544
+ supportsTools: true,
5545
+ supportsStructuredOutput: false
5546
+ }
5547
+ ]
5548
+ },
5549
+ "meta-llama/Llama-3.1-8B-Instruct": {
5550
+ wireId: "meta-llama/Llama-3.1-8B-Instruct",
5551
+ providers: [
5552
+ {
5553
+ provider: "deepinfra",
5554
+ status: "live",
5555
+ contextLength: 131072,
5556
+ inputPer1M: 0.02,
5557
+ outputPer1M: 0.05,
5558
+ supportsTools: false,
5559
+ supportsStructuredOutput: false
5560
+ },
5561
+ {
5562
+ provider: "novita",
5563
+ status: "live",
5564
+ contextLength: 16384,
5565
+ inputPer1M: 0.02,
5566
+ outputPer1M: 0.05,
5567
+ supportsTools: false,
5568
+ supportsStructuredOutput: false
5569
+ },
5570
+ {
5571
+ provider: "nscale",
5572
+ status: "live",
5573
+ contextLength: 131072,
5574
+ inputPer1M: 0.06,
5575
+ outputPer1M: 0.06,
5576
+ supportsTools: false,
5577
+ supportsStructuredOutput: true
5578
+ }
5579
+ ]
5580
+ },
5581
+ "meta-llama/Llama-3.3-70B-Instruct": {
5582
+ wireId: "meta-llama/Llama-3.3-70B-Instruct",
5583
+ providers: [
5584
+ {
5585
+ provider: "featherless-ai",
5586
+ status: "live"
5587
+ },
5588
+ {
5589
+ provider: "groq",
5590
+ status: "live",
5591
+ contextLength: 131072,
5592
+ inputPer1M: 0.59,
5593
+ outputPer1M: 0.79,
5594
+ supportsTools: true,
5595
+ supportsStructuredOutput: false
5596
+ },
5597
+ {
5598
+ provider: "novita",
5599
+ status: "live",
5600
+ contextLength: 6e3,
5601
+ inputPer1M: 0.135,
5602
+ outputPer1M: 0.4,
5603
+ supportsTools: true,
5604
+ supportsStructuredOutput: false
5605
+ },
5606
+ {
5607
+ provider: "ovhcloud",
5608
+ status: "live",
5609
+ contextLength: 131072,
5610
+ inputPer1M: 0.74,
5611
+ outputPer1M: 0.74,
5612
+ supportsTools: true,
5613
+ supportsStructuredOutput: true
5614
+ },
5615
+ {
5616
+ provider: "scaleway",
5617
+ status: "live",
5618
+ inputPer1M: 1.026,
5619
+ outputPer1M: 1.026,
5620
+ supportsTools: true,
5621
+ supportsStructuredOutput: true
5622
+ },
5623
+ {
5624
+ provider: "together",
5625
+ status: "live",
5626
+ contextLength: 131072,
5627
+ inputPer1M: 1.04,
5628
+ outputPer1M: 1.04,
5629
+ supportsTools: true,
5630
+ supportsStructuredOutput: true
5631
+ }
5632
+ ]
5633
+ },
5634
+ "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8": {
5635
+ wireId: "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
5636
+ providers: [
5637
+ {
5638
+ provider: "novita",
5639
+ status: "live",
5640
+ contextLength: 1048576,
5641
+ inputPer1M: 0.27,
5642
+ outputPer1M: 0.85,
5643
+ supportsTools: false,
5644
+ supportsStructuredOutput: true
5645
+ }
5646
+ ]
5647
+ },
5648
+ "meta-llama/Llama-4-Scout-17B-16E-Instruct": {
5649
+ wireId: "meta-llama/Llama-4-Scout-17B-16E-Instruct",
5650
+ providers: [
5651
+ {
5652
+ provider: "deepinfra",
5653
+ status: "live",
5654
+ contextLength: 327680,
5655
+ inputPer1M: 0.1,
5656
+ outputPer1M: 0.3,
5657
+ supportsTools: true,
5658
+ supportsStructuredOutput: true
5659
+ },
5660
+ {
5661
+ provider: "novita",
5662
+ status: "live",
5663
+ contextLength: 131072,
5664
+ inputPer1M: 0.18,
5665
+ outputPer1M: 0.59,
5666
+ supportsTools: false,
5667
+ supportsStructuredOutput: false
5668
+ },
5669
+ {
5670
+ provider: "nscale",
5671
+ status: "live",
5672
+ contextLength: 89e4,
5673
+ inputPer1M: 0.09,
5674
+ outputPer1M: 0.29,
5675
+ supportsTools: true,
5676
+ supportsStructuredOutput: true
5677
+ }
5678
+ ]
5679
+ },
5680
+ "meta-llama/Llama-Guard-4-12B": {
5681
+ wireId: "meta-llama/Llama-Guard-4-12B",
5682
+ providers: [
5683
+ {
5684
+ provider: "deepinfra",
5685
+ status: "live",
5686
+ contextLength: 163840,
5687
+ inputPer1M: 0.18,
5688
+ outputPer1M: 0.18,
5689
+ supportsTools: false,
5690
+ supportsStructuredOutput: false
5691
+ },
5692
+ {
5693
+ provider: "together",
5694
+ status: "live",
5695
+ contextLength: 1048576,
5696
+ inputPer1M: 0.2,
5697
+ outputPer1M: 0.2,
5698
+ supportsTools: false,
5699
+ supportsStructuredOutput: false
5700
+ }
5701
+ ]
5702
+ },
5703
+ "microsoft/phi-4": {
5704
+ wireId: "microsoft/phi-4",
5705
+ providers: [
5706
+ {
5707
+ provider: "deepinfra",
5708
+ status: "live",
5709
+ contextLength: 16384,
5710
+ inputPer1M: 0.07,
5711
+ outputPer1M: 0.14,
5712
+ supportsTools: false,
5713
+ supportsStructuredOutput: true
5714
+ },
5715
+ {
5716
+ provider: "featherless-ai",
5717
+ status: "live"
5718
+ }
5719
+ ]
5720
+ },
5721
+ "moonshotai/Kimi-K2-Instruct": {
5722
+ wireId: "moonshotai/Kimi-K2-Instruct",
5723
+ providers: [
5724
+ {
5725
+ provider: "novita",
5726
+ status: "live",
5727
+ contextLength: 131072,
5728
+ inputPer1M: 0.57,
5729
+ outputPer1M: 2.3,
5730
+ supportsTools: true,
5731
+ supportsStructuredOutput: false
5732
+ }
5733
+ ]
5734
+ },
5735
+ "moonshotai/Kimi-K2-Instruct-0905": {
5736
+ wireId: "moonshotai/Kimi-K2-Instruct-0905",
5737
+ providers: [
5738
+ {
5739
+ provider: "novita",
5740
+ status: "live",
5741
+ contextLength: 262144,
5742
+ inputPer1M: 0.6,
5743
+ outputPer1M: 2.5,
5744
+ supportsTools: true,
5745
+ supportsStructuredOutput: true
5746
+ }
5747
+ ]
5748
+ },
5749
+ "moonshotai/Kimi-K2.5": {
5750
+ wireId: "moonshotai/Kimi-K2.5",
5751
+ providers: [
5752
+ {
5753
+ provider: "deepinfra",
5754
+ status: "live",
5755
+ contextLength: 262144,
5756
+ inputPer1M: 0.45,
5757
+ outputPer1M: 2.25,
5758
+ supportsTools: true,
5759
+ supportsStructuredOutput: true
5760
+ },
5761
+ {
5762
+ provider: "featherless-ai",
5763
+ status: "live"
5764
+ },
5765
+ {
5766
+ provider: "novita",
5767
+ status: "live",
5768
+ contextLength: 262144,
5769
+ inputPer1M: 0.6,
5770
+ outputPer1M: 3,
5771
+ supportsTools: true,
5772
+ supportsStructuredOutput: true
5773
+ }
5774
+ ]
5775
+ },
5776
+ "moonshotai/Kimi-K2.6": {
5777
+ wireId: "moonshotai/Kimi-K2.6",
5778
+ providers: [
5779
+ {
5780
+ provider: "deepinfra",
5781
+ status: "live",
5782
+ contextLength: 262144,
5783
+ inputPer1M: 0.75,
5784
+ outputPer1M: 3.5,
5785
+ supportsTools: true,
5786
+ supportsStructuredOutput: true
5787
+ },
5788
+ {
5789
+ provider: "featherless-ai",
5790
+ status: "live"
5791
+ },
5792
+ {
5793
+ provider: "fireworks-ai",
5794
+ status: "live",
5795
+ contextLength: 262144,
5796
+ inputPer1M: 0.95,
5797
+ outputPer1M: 4,
5798
+ supportsTools: true,
5799
+ supportsStructuredOutput: false
5800
+ },
5801
+ {
5802
+ provider: "novita",
5803
+ status: "live",
5804
+ contextLength: 262144,
5805
+ inputPer1M: 0.8,
5806
+ outputPer1M: 3.4,
5807
+ supportsTools: true,
5808
+ supportsStructuredOutput: false
5809
+ },
5810
+ {
5811
+ provider: "together",
5812
+ status: "live",
5813
+ contextLength: 262144,
5814
+ inputPer1M: 1.2,
5815
+ outputPer1M: 4.5,
5816
+ supportsTools: true,
5817
+ supportsStructuredOutput: true
5818
+ }
5819
+ ]
5820
+ },
5821
+ "moonshotai/Kimi-K2.7-Code": {
5822
+ wireId: "moonshotai/Kimi-K2.7-Code",
5823
+ providers: [
5824
+ {
5825
+ provider: "deepinfra",
5826
+ status: "live",
5827
+ contextLength: 262144,
5828
+ inputPer1M: 0.74,
5829
+ outputPer1M: 3.5,
5830
+ supportsTools: false,
5831
+ supportsStructuredOutput: false
5832
+ },
5833
+ {
5834
+ provider: "featherless-ai",
5835
+ status: "live"
5836
+ },
5837
+ {
5838
+ provider: "fireworks-ai",
5839
+ status: "live",
5840
+ contextLength: 262144,
5841
+ inputPer1M: 0.95,
5842
+ outputPer1M: 4,
5843
+ supportsTools: true,
5844
+ supportsStructuredOutput: false
5845
+ },
5846
+ {
5847
+ provider: "novita",
5848
+ status: "live",
5849
+ contextLength: 262144,
5850
+ inputPer1M: 0.95,
5851
+ outputPer1M: 4,
5852
+ supportsTools: true,
5853
+ supportsStructuredOutput: true
5854
+ },
5855
+ {
5856
+ provider: "together",
5857
+ status: "live",
5858
+ contextLength: 262144,
5859
+ inputPer1M: 0.95,
5860
+ outputPer1M: 4,
5861
+ supportsTools: true,
5862
+ supportsStructuredOutput: true
5863
+ }
5864
+ ]
5865
+ },
5866
+ "nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B-BF16": {
5867
+ wireId: "nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B-BF16",
5868
+ providers: [
5869
+ {
5870
+ provider: "deepinfra",
5871
+ status: "live",
5872
+ contextLength: 262144,
5873
+ inputPer1M: 1,
5874
+ outputPer1M: 5,
5875
+ supportsTools: true,
5876
+ supportsStructuredOutput: true
5877
+ }
5878
+ ]
5879
+ },
5880
+ "nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B-NVFP4": {
5881
+ wireId: "nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B-NVFP4",
5882
+ providers: [
5883
+ {
5884
+ provider: "fireworks-ai",
5885
+ status: "live",
5886
+ contextLength: 262144,
5887
+ inputPer1M: 0.6,
5888
+ outputPer1M: 2.4,
5889
+ supportsTools: false,
5890
+ supportsStructuredOutput: false
5891
+ },
5892
+ {
5893
+ provider: "together",
5894
+ status: "live",
5895
+ contextLength: 512288,
5896
+ inputPer1M: 0.6,
5897
+ outputPer1M: 3.6,
5898
+ supportsTools: true,
5899
+ supportsStructuredOutput: true
5900
+ }
5901
+ ]
5902
+ },
5903
+ "openai/gpt-oss-120b": {
5904
+ wireId: "openai/gpt-oss-120b",
5905
+ providers: [
5906
+ {
5907
+ provider: "cerebras",
5908
+ status: "live",
5909
+ inputPer1M: 0.25,
5910
+ outputPer1M: 0.69,
5911
+ supportsTools: true,
5912
+ supportsStructuredOutput: false
5913
+ },
5914
+ {
5915
+ provider: "deepinfra",
5916
+ status: "live",
5917
+ contextLength: 131072,
5918
+ inputPer1M: 0.037,
5919
+ outputPer1M: 0.17,
5920
+ supportsTools: true,
5921
+ supportsStructuredOutput: true
5922
+ },
5923
+ {
5924
+ provider: "featherless-ai",
5925
+ status: "live"
5926
+ },
5927
+ {
5928
+ provider: "fireworks-ai",
5929
+ status: "live",
5930
+ contextLength: 131072,
5931
+ inputPer1M: 0.15,
5932
+ outputPer1M: 0.6,
5933
+ supportsTools: true,
5934
+ supportsStructuredOutput: false
5935
+ },
5936
+ {
5937
+ provider: "groq",
5938
+ status: "live",
5939
+ contextLength: 131072,
5940
+ inputPer1M: 0.15,
5941
+ outputPer1M: 0.75,
5942
+ supportsTools: true,
5943
+ supportsStructuredOutput: false
5944
+ },
5945
+ {
5946
+ provider: "novita",
5947
+ status: "live",
5948
+ contextLength: 131072,
5949
+ inputPer1M: 0.05,
5950
+ outputPer1M: 0.25,
5951
+ supportsTools: true,
5952
+ supportsStructuredOutput: true
5953
+ },
5954
+ {
5955
+ provider: "nscale",
5956
+ status: "live",
5957
+ contextLength: 131072,
5958
+ inputPer1M: 0.1,
5959
+ outputPer1M: 0.4,
5960
+ supportsTools: true,
5961
+ supportsStructuredOutput: true
5962
+ },
5963
+ {
5964
+ provider: "ovhcloud",
5965
+ status: "live",
5966
+ contextLength: 131072,
5967
+ inputPer1M: 0.09,
5968
+ outputPer1M: 0.47,
5969
+ supportsTools: true,
5970
+ supportsStructuredOutput: true
5971
+ },
5972
+ {
5973
+ provider: "scaleway",
5974
+ status: "live",
5975
+ inputPer1M: 0.171,
5976
+ outputPer1M: 0.684,
5977
+ supportsTools: true,
5978
+ supportsStructuredOutput: true
5979
+ },
5980
+ {
5981
+ provider: "together",
5982
+ status: "live",
5983
+ contextLength: 131072,
5984
+ inputPer1M: 0.15,
5985
+ outputPer1M: 0.6,
5986
+ supportsTools: true,
5987
+ supportsStructuredOutput: true
5988
+ }
5989
+ ]
5990
+ },
5991
+ "openai/gpt-oss-20b": {
5992
+ wireId: "openai/gpt-oss-20b",
5993
+ providers: [
5994
+ {
5995
+ provider: "deepinfra",
5996
+ status: "live",
5997
+ contextLength: 131072,
5998
+ inputPer1M: 0.03,
5999
+ outputPer1M: 0.14,
6000
+ supportsTools: true,
6001
+ supportsStructuredOutput: true
6002
+ },
6003
+ {
6004
+ provider: "featherless-ai",
6005
+ status: "live"
6006
+ },
6007
+ {
6008
+ provider: "fireworks-ai",
6009
+ status: "live",
6010
+ contextLength: 131072,
6011
+ inputPer1M: 0.07,
6012
+ outputPer1M: 0.3,
6013
+ supportsTools: true,
6014
+ supportsStructuredOutput: false
6015
+ },
6016
+ {
6017
+ provider: "groq",
6018
+ status: "live",
6019
+ contextLength: 131072,
6020
+ inputPer1M: 0.1,
6021
+ outputPer1M: 0.5,
6022
+ supportsTools: true,
6023
+ supportsStructuredOutput: false
6024
+ },
6025
+ {
6026
+ provider: "novita",
6027
+ status: "live",
6028
+ contextLength: 131072,
6029
+ inputPer1M: 0.04,
6030
+ outputPer1M: 0.15,
6031
+ supportsTools: false,
6032
+ supportsStructuredOutput: true
6033
+ },
6034
+ {
6035
+ provider: "nscale",
6036
+ status: "live",
6037
+ contextLength: 131072,
6038
+ inputPer1M: 0.05,
6039
+ outputPer1M: 0.2,
6040
+ supportsTools: true,
6041
+ supportsStructuredOutput: true
6042
+ },
6043
+ {
6044
+ provider: "ovhcloud",
6045
+ status: "live",
6046
+ contextLength: 131072,
6047
+ inputPer1M: 0.05,
6048
+ outputPer1M: 0.18,
6049
+ supportsTools: true,
6050
+ supportsStructuredOutput: true
6051
+ },
6052
+ {
6053
+ provider: "together",
6054
+ status: "live",
6055
+ contextLength: 131072,
6056
+ inputPer1M: 0.05,
6057
+ outputPer1M: 0.2,
6058
+ supportsTools: false,
6059
+ supportsStructuredOutput: false
6060
+ }
6061
+ ]
6062
+ },
6063
+ "openai/gpt-oss-safeguard-20b": {
6064
+ wireId: "openai/gpt-oss-safeguard-20b",
6065
+ providers: [
6066
+ {
6067
+ provider: "featherless-ai",
6068
+ status: "live"
6069
+ },
6070
+ {
6071
+ provider: "groq",
6072
+ status: "live",
6073
+ contextLength: 131072,
6074
+ supportsTools: true,
6075
+ supportsStructuredOutput: false
6076
+ }
6077
+ ]
6078
+ },
6079
+ "pearl-ai/Gemma-4-31B-it-pearl": {
6080
+ wireId: "pearl-ai/Gemma-4-31B-it-pearl",
6081
+ providers: [
6082
+ {
6083
+ provider: "together",
6084
+ status: "live",
6085
+ contextLength: 262144,
6086
+ inputPer1M: 0.28,
6087
+ outputPer1M: 0.86,
6088
+ supportsTools: true,
6089
+ supportsStructuredOutput: false
6090
+ }
6091
+ ]
6092
+ },
6093
+ "prism-ml/Ternary-Bonsai-27B-AWQ-4bit": {
6094
+ wireId: "prism-ml/Ternary-Bonsai-27B-AWQ-4bit",
6095
+ providers: [
6096
+ {
6097
+ provider: "together",
6098
+ status: "live",
6099
+ contextLength: 262144,
6100
+ inputPer1M: 0,
6101
+ outputPer1M: 0,
6102
+ supportsTools: true,
6103
+ supportsStructuredOutput: false
6104
+ }
6105
+ ]
6106
+ },
6107
+ "prism-ml/Ternary-Bonsai-27B-gguf": {
6108
+ wireId: "prism-ml/Ternary-Bonsai-27B-gguf",
6109
+ providers: [
6110
+ {
6111
+ provider: "together",
6112
+ status: "live",
6113
+ contextLength: 262144,
6114
+ inputPer1M: 0,
6115
+ outputPer1M: 0,
6116
+ supportsTools: true,
6117
+ supportsStructuredOutput: false
6118
+ }
6119
+ ]
6120
+ },
6121
+ "speakleash/Bielik-11B-v3.0-Instruct": {
6122
+ wireId: "speakleash/Bielik-11B-v3.0-Instruct",
6123
+ providers: [
6124
+ {
6125
+ provider: "publicai",
6126
+ status: "live",
6127
+ inputPer1M: 0.4,
6128
+ outputPer1M: 0.4,
6129
+ supportsTools: true,
6130
+ supportsStructuredOutput: true
6131
+ }
6132
+ ]
6133
+ },
6134
+ "stepfun-ai/Step-3.5-Flash": {
6135
+ wireId: "stepfun-ai/Step-3.5-Flash",
6136
+ providers: [
6137
+ {
6138
+ provider: "deepinfra",
6139
+ status: "live",
6140
+ contextLength: 262144,
6141
+ inputPer1M: 0.1,
6142
+ outputPer1M: 0.3,
6143
+ supportsTools: true,
6144
+ supportsStructuredOutput: false
6145
+ },
6146
+ {
6147
+ provider: "featherless-ai",
6148
+ status: "live"
6149
+ }
6150
+ ]
6151
+ },
6152
+ "stepfun-ai/Step-3.7-Flash": {
6153
+ wireId: "stepfun-ai/Step-3.7-Flash",
6154
+ providers: [
6155
+ {
6156
+ provider: "deepinfra",
6157
+ status: "live",
6158
+ contextLength: 262144,
6159
+ inputPer1M: 0.2,
6160
+ outputPer1M: 1.15,
6161
+ supportsTools: true,
6162
+ supportsStructuredOutput: false
6163
+ },
6164
+ {
6165
+ provider: "featherless-ai",
6166
+ status: "live"
6167
+ }
6168
+ ]
6169
+ },
6170
+ "swiss-ai/Apertus-70B-Instruct-2509": {
6171
+ wireId: "swiss-ai/Apertus-70B-Instruct-2509",
6172
+ providers: [
6173
+ {
6174
+ provider: "publicai",
6175
+ status: "live",
6176
+ inputPer1M: 0.82,
6177
+ outputPer1M: 2.92,
6178
+ supportsTools: false,
6179
+ supportsStructuredOutput: true
6180
+ }
6181
+ ]
6182
+ },
6183
+ "swiss-ai/Apertus-8B-Instruct-2509": {
6184
+ wireId: "swiss-ai/Apertus-8B-Instruct-2509",
6185
+ providers: [
6186
+ {
6187
+ provider: "publicai",
6188
+ status: "live",
6189
+ inputPer1M: 0.1,
6190
+ outputPer1M: 0.2,
6191
+ supportsTools: false,
6192
+ supportsStructuredOutput: true
6193
+ }
6194
+ ]
6195
+ },
6196
+ "swiss-ai/Apertus-v1.5-70B": {
6197
+ wireId: "swiss-ai/Apertus-v1.5-70B",
6198
+ providers: [
6199
+ {
6200
+ provider: "publicai",
6201
+ status: "live",
6202
+ inputPer1M: 0.82,
6203
+ outputPer1M: 2.92,
6204
+ supportsTools: true,
6205
+ supportsStructuredOutput: false
6206
+ }
6207
+ ]
6208
+ },
6209
+ "swiss-ai/Apertus-v1.5-8B": {
6210
+ wireId: "swiss-ai/Apertus-v1.5-8B",
6211
+ providers: [
6212
+ {
6213
+ provider: "publicai",
6214
+ status: "live",
6215
+ inputPer1M: 0.1,
6216
+ outputPer1M: 0.2,
6217
+ supportsTools: true,
6218
+ supportsStructuredOutput: true
6219
+ }
6220
+ ]
6221
+ },
6222
+ "tencent/Hy3": {
6223
+ wireId: "tencent/Hy3",
6224
+ providers: [
6225
+ {
6226
+ provider: "deepinfra",
6227
+ status: "live",
6228
+ contextLength: 262144,
6229
+ inputPer1M: 0.14,
6230
+ outputPer1M: 0.58,
6231
+ supportsTools: true,
6232
+ supportsStructuredOutput: true
6233
+ }
6234
+ ]
6235
+ },
6236
+ "thinkingmachines/Inkling": {
6237
+ wireId: "thinkingmachines/Inkling",
6238
+ providers: [
6239
+ {
6240
+ provider: "deepinfra",
6241
+ status: "live",
6242
+ contextLength: 524288,
6243
+ inputPer1M: 1,
6244
+ outputPer1M: 4.05,
6245
+ supportsTools: true,
6246
+ supportsStructuredOutput: false
6247
+ },
6248
+ {
6249
+ provider: "together",
6250
+ status: "live",
6251
+ contextLength: 524288,
6252
+ inputPer1M: 1,
6253
+ outputPer1M: 4.05,
6254
+ supportsTools: true,
6255
+ supportsStructuredOutput: true
6256
+ }
6257
+ ]
6258
+ },
6259
+ "utter-project/EuroLLM-22B-Instruct-2512": {
6260
+ wireId: "utter-project/EuroLLM-22B-Instruct-2512",
6261
+ providers: [
6262
+ {
6263
+ provider: "publicai",
6264
+ status: "live",
6265
+ inputPer1M: 0.1,
6266
+ outputPer1M: 0.2,
6267
+ supportsTools: false,
6268
+ supportsStructuredOutput: false
6269
+ }
6270
+ ]
6271
+ },
6272
+ "zai-org/AutoGLM-Phone-9B-Multilingual": {
6273
+ wireId: "zai-org/AutoGLM-Phone-9B-Multilingual",
6274
+ providers: [
6275
+ {
6276
+ provider: "novita",
6277
+ status: "live",
6278
+ contextLength: 65536,
6279
+ inputPer1M: 0.035,
6280
+ outputPer1M: 0.138,
6281
+ supportsTools: false,
6282
+ supportsStructuredOutput: false
6283
+ }
6284
+ ]
6285
+ },
6286
+ "zai-org/GLM-4-32B-0414": {
6287
+ wireId: "zai-org/GLM-4-32B-0414",
6288
+ providers: [
6289
+ {
6290
+ provider: "featherless-ai",
6291
+ status: "live"
6292
+ },
6293
+ {
6294
+ provider: "novita",
6295
+ status: "live",
6296
+ contextLength: 32e3,
6297
+ inputPer1M: 0.55,
6298
+ outputPer1M: 1.66,
6299
+ supportsTools: false,
6300
+ supportsStructuredOutput: false
6301
+ }
6302
+ ]
6303
+ },
6304
+ "zai-org/GLM-4.5": {
6305
+ wireId: "zai-org/GLM-4.5",
6306
+ providers: [
6307
+ {
6308
+ provider: "zai-org",
6309
+ status: "live",
6310
+ supportsTools: true,
6311
+ supportsStructuredOutput: false
6312
+ }
6313
+ ]
6314
+ },
6315
+ "zai-org/GLM-4.5-Air": {
6316
+ wireId: "zai-org/GLM-4.5-Air",
6317
+ providers: [
6318
+ {
6319
+ provider: "novita",
6320
+ status: "live",
6321
+ contextLength: 131072,
6322
+ inputPer1M: 0.13,
6323
+ outputPer1M: 0.85,
6324
+ supportsTools: false,
6325
+ supportsStructuredOutput: false
6326
+ },
6327
+ {
6328
+ provider: "zai-org",
6329
+ status: "live",
6330
+ supportsTools: true,
6331
+ supportsStructuredOutput: false
6332
+ }
6333
+ ]
6334
+ },
6335
+ "zai-org/GLM-4.5V": {
6336
+ wireId: "zai-org/GLM-4.5V",
6337
+ providers: [
6338
+ {
6339
+ provider: "novita",
6340
+ status: "live",
6341
+ contextLength: 65536,
6342
+ inputPer1M: 0.6,
6343
+ outputPer1M: 1.8,
6344
+ supportsTools: true,
6345
+ supportsStructuredOutput: false
6346
+ },
6347
+ {
6348
+ provider: "zai-org",
6349
+ status: "live",
6350
+ supportsTools: true,
6351
+ supportsStructuredOutput: false
6352
+ }
6353
+ ]
6354
+ },
6355
+ "zai-org/GLM-4.5V-FP8": {
6356
+ wireId: "zai-org/GLM-4.5V-FP8",
6357
+ providers: [
6358
+ {
6359
+ provider: "zai-org",
6360
+ status: "live",
6361
+ supportsTools: true,
6362
+ supportsStructuredOutput: false
6363
+ }
6364
+ ]
6365
+ },
6366
+ "zai-org/GLM-4.6": {
6367
+ wireId: "zai-org/GLM-4.6",
6368
+ providers: [
6369
+ {
6370
+ provider: "deepinfra",
6371
+ status: "live",
6372
+ contextLength: 202752,
6373
+ inputPer1M: 0.5,
6374
+ outputPer1M: 2,
6375
+ supportsTools: true,
6376
+ supportsStructuredOutput: true
6377
+ },
6378
+ {
6379
+ provider: "featherless-ai",
6380
+ status: "live"
6381
+ },
6382
+ {
6383
+ provider: "novita",
6384
+ status: "live",
6385
+ contextLength: 204800,
6386
+ inputPer1M: 0.55,
6387
+ outputPer1M: 2.2,
6388
+ supportsTools: true,
6389
+ supportsStructuredOutput: false
6390
+ },
6391
+ {
6392
+ provider: "zai-org",
6393
+ status: "live",
6394
+ supportsTools: true,
6395
+ supportsStructuredOutput: false
6396
+ }
6397
+ ]
6398
+ },
6399
+ "zai-org/GLM-4.6-FP8": {
6400
+ wireId: "zai-org/GLM-4.6-FP8",
6401
+ providers: [
6402
+ {
6403
+ provider: "zai-org",
6404
+ status: "live",
6405
+ supportsTools: true,
6406
+ supportsStructuredOutput: false
6407
+ }
6408
+ ]
6409
+ },
6410
+ "zai-org/GLM-4.6V": {
6411
+ wireId: "zai-org/GLM-4.6V",
6412
+ providers: [
6413
+ {
6414
+ provider: "zai-org",
6415
+ status: "live",
6416
+ supportsTools: true,
6417
+ supportsStructuredOutput: false
6418
+ }
6419
+ ]
6420
+ },
6421
+ "zai-org/GLM-4.6V-FP8": {
6422
+ wireId: "zai-org/GLM-4.6V-FP8",
6423
+ providers: [
6424
+ {
6425
+ provider: "zai-org",
6426
+ status: "live",
6427
+ supportsTools: true,
6428
+ supportsStructuredOutput: false
6429
+ }
6430
+ ]
6431
+ },
6432
+ "zai-org/GLM-4.6V-Flash": {
6433
+ wireId: "zai-org/GLM-4.6V-Flash",
6434
+ providers: [
6435
+ {
6436
+ provider: "novita",
6437
+ status: "live",
6438
+ contextLength: 131072,
6439
+ inputPer1M: 0.3,
6440
+ outputPer1M: 0.9,
6441
+ supportsTools: true,
6442
+ supportsStructuredOutput: false
6443
+ },
6444
+ {
6445
+ provider: "zai-org",
6446
+ status: "live",
6447
+ supportsTools: false,
6448
+ supportsStructuredOutput: false
6449
+ }
6450
+ ]
6451
+ },
6452
+ "zai-org/GLM-4.7": {
6453
+ wireId: "zai-org/GLM-4.7",
6454
+ providers: [
6455
+ {
6456
+ provider: "cerebras",
6457
+ status: "live",
6458
+ supportsTools: true,
6459
+ supportsStructuredOutput: false
6460
+ },
6461
+ {
6462
+ provider: "deepinfra",
6463
+ status: "live",
6464
+ contextLength: 202752,
6465
+ inputPer1M: 0.4,
6466
+ outputPer1M: 1.75,
6467
+ supportsTools: true,
6468
+ supportsStructuredOutput: false
6469
+ },
6470
+ {
6471
+ provider: "featherless-ai",
6472
+ status: "live"
6473
+ },
6474
+ {
6475
+ provider: "novita",
6476
+ status: "live",
6477
+ contextLength: 204800,
6478
+ inputPer1M: 0.6,
6479
+ outputPer1M: 2.2,
6480
+ supportsTools: true,
6481
+ supportsStructuredOutput: false
6482
+ },
6483
+ {
6484
+ provider: "zai-org",
6485
+ status: "live",
6486
+ supportsTools: true,
6487
+ supportsStructuredOutput: false
6488
+ }
6489
+ ]
6490
+ },
6491
+ "zai-org/GLM-4.7-FP8": {
6492
+ wireId: "zai-org/GLM-4.7-FP8",
6493
+ providers: [
6494
+ {
6495
+ provider: "zai-org",
6496
+ status: "live",
6497
+ supportsTools: true,
6498
+ supportsStructuredOutput: false
6499
+ }
6500
+ ]
6501
+ },
6502
+ "zai-org/GLM-4.7-Flash": {
6503
+ wireId: "zai-org/GLM-4.7-Flash",
6504
+ providers: [
6505
+ {
6506
+ provider: "deepinfra",
6507
+ status: "live",
6508
+ contextLength: 202752,
6509
+ inputPer1M: 0.06,
6510
+ outputPer1M: 0.4,
6511
+ supportsTools: true,
6512
+ supportsStructuredOutput: false
6513
+ },
6514
+ {
6515
+ provider: "featherless-ai",
6516
+ status: "live"
6517
+ },
6518
+ {
6519
+ provider: "novita",
6520
+ status: "live",
6521
+ contextLength: 2e5,
6522
+ inputPer1M: 0.07,
6523
+ outputPer1M: 0.4,
6524
+ supportsTools: true,
6525
+ supportsStructuredOutput: false
6526
+ },
6527
+ {
6528
+ provider: "zai-org",
6529
+ status: "live",
6530
+ supportsTools: false,
6531
+ supportsStructuredOutput: false
6532
+ }
6533
+ ]
6534
+ },
6535
+ "zai-org/GLM-5": {
6536
+ wireId: "zai-org/GLM-5",
6537
+ providers: [
6538
+ {
6539
+ provider: "deepinfra",
6540
+ status: "live",
6541
+ contextLength: 202752,
6542
+ inputPer1M: 0.6,
6543
+ outputPer1M: 2.08,
6544
+ supportsTools: true,
6545
+ supportsStructuredOutput: false
6546
+ },
6547
+ {
6548
+ provider: "featherless-ai",
6549
+ status: "live"
6550
+ },
6551
+ {
6552
+ provider: "novita",
6553
+ status: "live",
6554
+ contextLength: 202800,
6555
+ inputPer1M: 1,
6556
+ outputPer1M: 3.2,
6557
+ supportsTools: true,
6558
+ supportsStructuredOutput: false
6559
+ },
6560
+ {
6561
+ provider: "zai-org",
6562
+ status: "live",
6563
+ supportsTools: true,
6564
+ supportsStructuredOutput: false
6565
+ }
6566
+ ]
6567
+ },
6568
+ "zai-org/GLM-5.1": {
6569
+ wireId: "zai-org/GLM-5.1",
6570
+ providers: [
6571
+ {
6572
+ provider: "deepinfra",
6573
+ status: "live",
6574
+ contextLength: 202752,
6575
+ inputPer1M: 1.05,
6576
+ outputPer1M: 3.5,
6577
+ supportsTools: true,
6578
+ supportsStructuredOutput: true
6579
+ },
6580
+ {
6581
+ provider: "featherless-ai",
6582
+ status: "live"
6583
+ },
6584
+ {
6585
+ provider: "fireworks-ai",
6586
+ status: "live",
6587
+ contextLength: 202752,
6588
+ inputPer1M: 1.4,
6589
+ outputPer1M: 4.4,
6590
+ supportsTools: true,
6591
+ supportsStructuredOutput: false
6592
+ },
6593
+ {
6594
+ provider: "zai-org",
6595
+ status: "live",
6596
+ supportsTools: true,
6597
+ supportsStructuredOutput: false
6598
+ }
6599
+ ]
6600
+ },
6601
+ "zai-org/GLM-5.1-FP8": {
6602
+ wireId: "zai-org/GLM-5.1-FP8",
6603
+ providers: [
6604
+ {
6605
+ provider: "fireworks-ai",
6606
+ status: "live",
6607
+ contextLength: 202752,
6608
+ inputPer1M: 1.4,
6609
+ outputPer1M: 4.4,
6610
+ supportsTools: true,
6611
+ supportsStructuredOutput: false
6612
+ },
6613
+ {
6614
+ provider: "zai-org",
6615
+ status: "live",
6616
+ supportsTools: true,
6617
+ supportsStructuredOutput: false
6618
+ }
6619
+ ]
6620
+ },
6621
+ "zai-org/GLM-5.2": {
6622
+ wireId: "zai-org/GLM-5.2",
6623
+ providers: [
6624
+ {
6625
+ provider: "deepinfra",
6626
+ status: "live",
6627
+ contextLength: 1048576,
6628
+ inputPer1M: 0.93,
6629
+ outputPer1M: 3,
6630
+ supportsTools: true,
6631
+ supportsStructuredOutput: true
6632
+ },
6633
+ {
6634
+ provider: "featherless-ai",
6635
+ status: "live"
6636
+ },
6637
+ {
6638
+ provider: "fireworks-ai",
6639
+ status: "live",
6640
+ contextLength: 1048576,
6641
+ inputPer1M: 1.4,
6642
+ outputPer1M: 4.4,
6643
+ supportsTools: true,
6644
+ supportsStructuredOutput: false
6645
+ },
6646
+ {
6647
+ provider: "novita",
6648
+ status: "live",
6649
+ contextLength: 1048576,
6650
+ inputPer1M: 1.4,
6651
+ outputPer1M: 4.4,
6652
+ supportsTools: true,
6653
+ supportsStructuredOutput: false
6654
+ },
6655
+ {
6656
+ provider: "scaleway",
6657
+ status: "live",
6658
+ inputPer1M: 2.052,
6659
+ outputPer1M: 6.27,
6660
+ supportsTools: true,
6661
+ supportsStructuredOutput: false
6662
+ },
6663
+ {
6664
+ provider: "together",
6665
+ status: "live",
6666
+ contextLength: 262144,
6667
+ inputPer1M: 1.4,
6668
+ outputPer1M: 4.4,
6669
+ supportsTools: true,
6670
+ supportsStructuredOutput: true
6671
+ },
6672
+ {
6673
+ provider: "zai-org",
6674
+ status: "live",
6675
+ supportsTools: false,
6676
+ supportsStructuredOutput: false
6677
+ }
6678
+ ]
6679
+ },
6680
+ "zai-org/GLM-5.2-FP8": {
6681
+ wireId: "zai-org/GLM-5.2-FP8",
6682
+ providers: [
6683
+ {
6684
+ provider: "zai-org",
6685
+ status: "live",
6686
+ supportsTools: false,
6687
+ supportsStructuredOutput: false
6688
+ }
6689
+ ]
6690
+ }
6691
+ };
6692
+
3760
6693
  // src/route-identity/index.ts
3761
6694
  var SEGMENT_RE = /^[a-zA-Z0-9_.-]+$/;
3762
- var REF_RE = /^([^/@]+)\/([^/@]+)(?:@([^/@]+))?$/;
6695
+ var OPENROUTER_VARIANTS = [
6696
+ "free",
6697
+ "nitro",
6698
+ "floor",
6699
+ "online",
6700
+ "exacto"
6701
+ ];
6702
+ var OPENROUTER_VARIANT_SET = new Set(OPENROUTER_VARIANTS);
6703
+ var KNOWN_ROUTE_PREFIXES = new Set(
6704
+ CatalogProviderSchema.options
6705
+ );
3763
6706
  var InvalidModelRefError = class extends Error {
3764
6707
  constructor(raw, message) {
3765
6708
  super(`Invalid model reference "${raw}": ${message}`);
@@ -3768,27 +6711,63 @@ var InvalidModelRefError = class extends Error {
3768
6711
  raw;
3769
6712
  name = "InvalidModelRefError";
3770
6713
  };
6714
+ function classifyPin(pin, explicitRoute) {
6715
+ const openRouterEligible = explicitRoute === "openrouter" || explicitRoute === void 0;
6716
+ if (openRouterEligible && OPENROUTER_VARIANT_SET.has(pin)) {
6717
+ return { variant: pin };
6718
+ }
6719
+ return { inferenceProvider: pin };
6720
+ }
3771
6721
  function parseModelRef(raw) {
3772
6722
  const input = raw.trim();
3773
6723
  if (input.length === 0) {
3774
6724
  throw new InvalidModelRefError(raw, "model reference is empty");
3775
6725
  }
3776
- if (input.includes("@") && !input.includes("/")) {
6726
+ let body = input;
6727
+ let atRoute;
6728
+ const atIdx = input.indexOf("@");
6729
+ if (atIdx !== -1) {
6730
+ body = input.slice(0, atIdx);
6731
+ atRoute = input.slice(atIdx + 1);
6732
+ }
6733
+ if (atIdx !== -1 && !body.includes("/")) {
3777
6734
  throw new InvalidModelRefError(
3778
6735
  raw,
3779
6736
  "unscoped @ route is not allowed; use vendor/product[@route]"
3780
6737
  );
3781
6738
  }
3782
- const match = REF_RE.exec(input);
3783
- if (!match) {
6739
+ let prefixRoute;
6740
+ let remainder = body;
6741
+ const bodySlashIdx = body.indexOf("/");
6742
+ if (bodySlashIdx !== -1) {
6743
+ const bodyColonIdx = body.indexOf(":");
6744
+ if (bodyColonIdx !== -1 && bodyColonIdx < bodySlashIdx) {
6745
+ const candidate = body.slice(0, bodyColonIdx);
6746
+ if (KNOWN_ROUTE_PREFIXES.has(candidate)) {
6747
+ prefixRoute = candidate;
6748
+ remainder = body.slice(bodyColonIdx + 1);
6749
+ }
6750
+ }
6751
+ }
6752
+ const remSlashIdx = remainder.indexOf("/");
6753
+ if (remSlashIdx === -1) {
3784
6754
  throw new InvalidModelRefError(
3785
6755
  raw,
3786
- "expected vendor/product[@route] (e.g. openai/gpt-4o or openai/gpt-4o@openrouter)"
6756
+ "expected vendor/product[:pin][@route] (e.g. openai/gpt-4o or openai/gpt-4o@openrouter)"
3787
6757
  );
3788
6758
  }
3789
- const vendor = match[1].trim();
3790
- const product = match[2].trim();
3791
- const route = (match[3] ?? vendor).trim();
6759
+ const vendor = remainder.slice(0, remSlashIdx).trim();
6760
+ const afterVendor = remainder.slice(remSlashIdx + 1);
6761
+ let product = afterVendor;
6762
+ let pin;
6763
+ const pinColonIdx = afterVendor.indexOf(":");
6764
+ if (pinColonIdx !== -1) {
6765
+ product = afterVendor.slice(0, pinColonIdx);
6766
+ pin = afterVendor.slice(pinColonIdx + 1);
6767
+ }
6768
+ product = product.trim();
6769
+ const explicitRoute = atRoute ?? prefixRoute;
6770
+ const route = (explicitRoute ?? vendor).trim();
3792
6771
  for (const [label, value] of [
3793
6772
  ["vendor", vendor],
3794
6773
  ["product", product],
@@ -3804,13 +6783,51 @@ function parseModelRef(raw) {
3804
6783
  );
3805
6784
  }
3806
6785
  }
3807
- return { raw: input, vendor, product, route };
6786
+ if (pin !== void 0) {
6787
+ if (pin.length === 0) {
6788
+ throw new InvalidModelRefError(raw, "pin segment is empty");
6789
+ }
6790
+ if (!SEGMENT_RE.test(pin)) {
6791
+ throw new InvalidModelRefError(
6792
+ raw,
6793
+ `pin "${pin}" contains invalid characters (no '/' or '@')`
6794
+ );
6795
+ }
6796
+ }
6797
+ const classified = pin !== void 0 ? classifyPin(pin, explicitRoute) : {};
6798
+ return { raw: input, vendor, product, route, ...classified };
6799
+ }
6800
+ function tryParseModelRef(raw) {
6801
+ try {
6802
+ return parseModelRef(raw);
6803
+ } catch {
6804
+ return void 0;
6805
+ }
3808
6806
  }
3809
6807
  function formatModelRef(ref) {
3810
- if (ref.route === ref.vendor) {
3811
- return `${ref.vendor}/${ref.product}`;
6808
+ let out = `${ref.vendor}/${ref.product}`;
6809
+ const pin = ref.variant ?? ref.inferenceProvider;
6810
+ if (pin !== void 0) out += `:${pin}`;
6811
+ if (ref.route !== ref.vendor) out += `@${ref.route}`;
6812
+ return out;
6813
+ }
6814
+ function stripRouteSuffix(raw) {
6815
+ const ref = tryParseModelRef(raw);
6816
+ if (ref) {
6817
+ return formatModelRef({ ...ref, route: ref.vendor });
6818
+ }
6819
+ const atIdx = raw.lastIndexOf("@");
6820
+ return atIdx === -1 ? raw : raw.slice(0, atIdx);
6821
+ }
6822
+ function stripAnthropicNativeVendor(raw) {
6823
+ return stripFixedNativeVendor(raw, "anthropic");
6824
+ }
6825
+ function stripFixedNativeVendor(raw, vendor) {
6826
+ const ref = tryParseModelRef(raw);
6827
+ if (ref && ref.vendor === vendor && ref.route === ref.vendor) {
6828
+ return ref.product;
3812
6829
  }
3813
- return `${ref.vendor}/${ref.product}@${ref.route}`;
6830
+ return stripRouteSuffix(raw);
3814
6831
  }
3815
6832
  function isModelRefString(raw) {
3816
6833
  try {
@@ -3858,6 +6875,36 @@ function resolveLlmModelRoute(input) {
3858
6875
  flavor: "requesty"
3859
6876
  });
3860
6877
  }
6878
+ if (modelRef.route === "huggingface") {
6879
+ const key = `${modelRef.vendor}/${modelRef.product}`;
6880
+ const hfRoute = HUGGINGFACE_ROUTES[key];
6881
+ if (!hfRoute || hfRoute.providers.length === 0) return void 0;
6882
+ const pinnedProvider = modelRef.inferenceProvider ? hfRoute.providers.find((p) => p.provider === modelRef.inferenceProvider) : void 0;
6883
+ if (modelRef.inferenceProvider !== void 0 && !pinnedProvider) return void 0;
6884
+ const priced = hfRoute.providers.filter(isPricedHuggingFaceProvider);
6885
+ const cheapest = priced.reduce((best, p) => {
6886
+ if (!best) return p;
6887
+ return p.inputPer1M + p.outputPer1M < best.inputPer1M + best.outputPer1M ? p : best;
6888
+ }, void 0);
6889
+ const selected = pinnedProvider ?? cheapest;
6890
+ const pricing2 = {
6891
+ inputPer1M: selected?.inputPer1M ?? DEFAULT_PRICING.inputPer1M,
6892
+ outputPer1M: selected?.outputPer1M ?? DEFAULT_PRICING.outputPer1M,
6893
+ vendor: modelRef.vendor,
6894
+ provider: "huggingface"
6895
+ };
6896
+ const contextWindow = pinnedProvider ? pinnedProvider.contextLength : hfRoute.providers.reduce((max, p) => {
6897
+ if (p.contextLength === void 0) return max;
6898
+ return max === void 0 ? p.contextLength : Math.max(max, p.contextLength);
6899
+ }, void 0);
6900
+ return buildLlmRoute(
6901
+ modelRef,
6902
+ canonicalProductId,
6903
+ pricing2,
6904
+ { flavor: "openai", baseUrl: "https://router.huggingface.co/v1" },
6905
+ { limits: contextWindow !== void 0 ? { contextWindow } : {} }
6906
+ );
6907
+ }
3861
6908
  const custom = resolveCustomRoute(modelRef.route);
3862
6909
  if (!custom) return void 0;
3863
6910
  const basePricing = directPricing ?? DEFAULT_PRICING;
@@ -3874,10 +6921,13 @@ function resolveLlmModelRoute(input) {
3874
6921
  flavor: custom.flavor ?? "custom",
3875
6922
  baseUrl: custom.baseUrl
3876
6923
  },
3877
- custom
6924
+ { availability: custom.availability, limits: custom.limits }
3878
6925
  );
3879
6926
  }
3880
- function buildLlmRoute(ref, canonicalProductId, pricing, transport, custom) {
6927
+ function isPricedHuggingFaceProvider(p) {
6928
+ return p.inputPer1M !== void 0 && p.outputPer1M !== void 0;
6929
+ }
6930
+ function buildLlmRoute(ref, canonicalProductId, pricing, transport, opts) {
3881
6931
  return {
3882
6932
  ref,
3883
6933
  vendor: ref.vendor,
@@ -3885,8 +6935,8 @@ function buildLlmRoute(ref, canonicalProductId, pricing, transport, custom) {
3885
6935
  canonicalProductId,
3886
6936
  route: ref.route,
3887
6937
  transport,
3888
- availability: custom?.availability ?? "available",
3889
- limits: custom?.limits ?? {},
6938
+ availability: opts?.availability ?? "available",
6939
+ limits: opts?.limits ?? {},
3890
6940
  pricing
3891
6941
  };
3892
6942
  }
@@ -3930,6 +6980,6 @@ function diagnoseModelRef(input) {
3930
6980
  };
3931
6981
  }
3932
6982
 
3933
- export { InvalidModelRefError, clearCustomRoutes, diagnoseModelRef, formatModelRef, isModelRefString, parseModelRef, registerCustomRoute, resolveCustomRoute, resolveLlmModelRoute };
6983
+ export { InvalidModelRefError, OPENROUTER_VARIANTS, clearCustomRoutes, diagnoseModelRef, formatModelRef, isModelRefString, parseModelRef, registerCustomRoute, resolveCustomRoute, resolveLlmModelRoute, stripAnthropicNativeVendor, stripFixedNativeVendor, stripRouteSuffix, tryParseModelRef };
3934
6984
  //# sourceMappingURL=index.mjs.map
3935
6985
  //# sourceMappingURL=index.mjs.map