modelpedia 0.0.1 → 0.0.2

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 (128) hide show
  1. package/dist/index.cjs +60 -35560
  2. package/dist/index.d.cts +3 -156
  3. package/dist/index.d.mts +3 -156
  4. package/dist/index.mjs +60 -35560
  5. package/dist/providers/alibaba.cjs +835 -0
  6. package/dist/providers/alibaba.d.cts +7 -0
  7. package/dist/providers/alibaba.d.mts +7 -0
  8. package/dist/providers/alibaba.mjs +833 -0
  9. package/dist/providers/amazon.cjs +1484 -0
  10. package/dist/providers/amazon.d.cts +7 -0
  11. package/dist/providers/amazon.d.mts +7 -0
  12. package/dist/providers/amazon.mjs +1482 -0
  13. package/dist/providers/anthropic.cjs +698 -0
  14. package/dist/providers/anthropic.d.cts +7 -0
  15. package/dist/providers/anthropic.d.mts +7 -0
  16. package/dist/providers/anthropic.mjs +696 -0
  17. package/dist/providers/azure.cjs +1491 -0
  18. package/dist/providers/azure.d.cts +7 -0
  19. package/dist/providers/azure.d.mts +7 -0
  20. package/dist/providers/azure.mjs +1489 -0
  21. package/dist/providers/baseten.cjs +279 -0
  22. package/dist/providers/baseten.d.cts +7 -0
  23. package/dist/providers/baseten.d.mts +7 -0
  24. package/dist/providers/baseten.mjs +277 -0
  25. package/dist/providers/cerebras.cjs +145 -0
  26. package/dist/providers/cerebras.d.cts +7 -0
  27. package/dist/providers/cerebras.d.mts +7 -0
  28. package/dist/providers/cerebras.mjs +143 -0
  29. package/dist/providers/cloudflare.cjs +826 -0
  30. package/dist/providers/cloudflare.d.cts +7 -0
  31. package/dist/providers/cloudflare.d.mts +7 -0
  32. package/dist/providers/cloudflare.mjs +824 -0
  33. package/dist/providers/cohere.cjs +525 -0
  34. package/dist/providers/cohere.d.cts +7 -0
  35. package/dist/providers/cohere.d.mts +7 -0
  36. package/dist/providers/cohere.mjs +523 -0
  37. package/dist/providers/cursor.cjs +856 -0
  38. package/dist/providers/cursor.d.cts +7 -0
  39. package/dist/providers/cursor.d.mts +7 -0
  40. package/dist/providers/cursor.mjs +854 -0
  41. package/dist/providers/deepseek.cjs +64 -0
  42. package/dist/providers/deepseek.d.cts +7 -0
  43. package/dist/providers/deepseek.d.mts +7 -0
  44. package/dist/providers/deepseek.mjs +62 -0
  45. package/dist/providers/fireworks.cjs +3794 -0
  46. package/dist/providers/fireworks.d.cts +7 -0
  47. package/dist/providers/fireworks.d.mts +7 -0
  48. package/dist/providers/fireworks.mjs +3792 -0
  49. package/dist/providers/google.cjs +972 -0
  50. package/dist/providers/google.d.cts +7 -0
  51. package/dist/providers/google.d.mts +7 -0
  52. package/dist/providers/google.mjs +970 -0
  53. package/dist/providers/groq.cjs +353 -0
  54. package/dist/providers/groq.d.cts +7 -0
  55. package/dist/providers/groq.d.mts +7 -0
  56. package/dist/providers/groq.mjs +351 -0
  57. package/dist/providers/huggingface.cjs +1022 -0
  58. package/dist/providers/huggingface.d.cts +7 -0
  59. package/dist/providers/huggingface.d.mts +7 -0
  60. package/dist/providers/huggingface.mjs +1020 -0
  61. package/dist/providers/meta.cjs +481 -0
  62. package/dist/providers/meta.d.cts +7 -0
  63. package/dist/providers/meta.d.mts +7 -0
  64. package/dist/providers/meta.mjs +479 -0
  65. package/dist/providers/minimax.cjs +156 -0
  66. package/dist/providers/minimax.d.cts +7 -0
  67. package/dist/providers/minimax.d.mts +7 -0
  68. package/dist/providers/minimax.mjs +154 -0
  69. package/dist/providers/mistral.cjs +1594 -0
  70. package/dist/providers/mistral.d.cts +7 -0
  71. package/dist/providers/mistral.d.mts +7 -0
  72. package/dist/providers/mistral.mjs +1592 -0
  73. package/dist/providers/moonshot.cjs +138 -0
  74. package/dist/providers/moonshot.d.cts +7 -0
  75. package/dist/providers/moonshot.d.mts +7 -0
  76. package/dist/providers/moonshot.mjs +136 -0
  77. package/dist/providers/nvidia.cjs +2040 -0
  78. package/dist/providers/nvidia.d.cts +7 -0
  79. package/dist/providers/nvidia.d.mts +7 -0
  80. package/dist/providers/nvidia.mjs +2038 -0
  81. package/dist/providers/ollama.cjs +326 -0
  82. package/dist/providers/ollama.d.cts +7 -0
  83. package/dist/providers/ollama.d.mts +7 -0
  84. package/dist/providers/ollama.mjs +324 -0
  85. package/dist/providers/openai.cjs +9079 -0
  86. package/dist/providers/openai.d.cts +7 -0
  87. package/dist/providers/openai.d.mts +7 -0
  88. package/dist/providers/openai.mjs +9077 -0
  89. package/dist/providers/opencode.cjs +367 -0
  90. package/dist/providers/opencode.d.cts +7 -0
  91. package/dist/providers/opencode.d.mts +7 -0
  92. package/dist/providers/opencode.mjs +365 -0
  93. package/dist/providers/openrouter.cjs +7835 -0
  94. package/dist/providers/openrouter.d.cts +7 -0
  95. package/dist/providers/openrouter.d.mts +7 -0
  96. package/dist/providers/openrouter.mjs +7833 -0
  97. package/dist/providers/perplexity.cjs +311 -0
  98. package/dist/providers/perplexity.d.cts +7 -0
  99. package/dist/providers/perplexity.d.mts +7 -0
  100. package/dist/providers/perplexity.mjs +309 -0
  101. package/dist/providers/qwen.cjs +835 -0
  102. package/dist/providers/qwen.d.cts +7 -0
  103. package/dist/providers/qwen.d.mts +7 -0
  104. package/dist/providers/qwen.mjs +833 -0
  105. package/dist/providers/together.cjs +360 -0
  106. package/dist/providers/together.d.cts +7 -0
  107. package/dist/providers/together.d.mts +7 -0
  108. package/dist/providers/together.mjs +358 -0
  109. package/dist/providers/vercel.cjs +4037 -0
  110. package/dist/providers/vercel.d.cts +7 -0
  111. package/dist/providers/vercel.d.mts +7 -0
  112. package/dist/providers/vercel.mjs +4035 -0
  113. package/dist/providers/vertex.cjs +1072 -0
  114. package/dist/providers/vertex.d.cts +7 -0
  115. package/dist/providers/vertex.d.mts +7 -0
  116. package/dist/providers/vertex.mjs +1070 -0
  117. package/dist/providers/xai.cjs +301 -0
  118. package/dist/providers/xai.d.cts +7 -0
  119. package/dist/providers/xai.d.mts +7 -0
  120. package/dist/providers/xai.mjs +299 -0
  121. package/dist/providers/zai.cjs +243 -0
  122. package/dist/providers/zai.d.cts +7 -0
  123. package/dist/providers/zai.d.mts +7 -0
  124. package/dist/providers/zai.mjs +241 -0
  125. package/dist/types.d.cts +186 -0
  126. package/dist/types.d.mts +186 -0
  127. package/package.json +14 -38
  128. package/README.md +0 -100
@@ -0,0 +1,854 @@
1
+ //#region src/providers/cursor.ts
2
+ const provider = {
3
+ "id": "cursor",
4
+ "name": "Cursor",
5
+ "region": "US",
6
+ "url": "https://cursor.com",
7
+ "api_url": "https://api.cursor.com",
8
+ "docs_url": "https://cursor.com/docs",
9
+ "pricing_url": "https://cursor.com/docs/models-and-pricing",
10
+ "icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M22.106 5.68L12.5.135a.998.998 0 00-.998 0L1.893 5.68a.84.84 0 00-.419.726v11.186c0 .3.16.577.42.727l9.607 5.547a.999.999 0 00.998 0l9.608-5.547a.84.84 0 00.42-.727V6.407a.84.84 0 00-.42-.726zm-.603 1.176L12.228 22.92c-.063.108-.228.064-.228-.061V12.34a.59.59 0 00-.295-.51l-9.11-5.26c-.107-.062-.063-.228.062-.228h18.55c.264 0 .428.286.296.514z\"/></svg>",
11
+ "models": [
12
+ {
13
+ "id": "auto",
14
+ "name": "Auto",
15
+ "created_by": "cursor",
16
+ "source": "official",
17
+ "last_updated": "2026-03-21",
18
+ "capabilities": { "streaming": true },
19
+ "modalities": {
20
+ "input": ["text"],
21
+ "output": ["text"]
22
+ },
23
+ "pricing": {
24
+ "input": 1.25,
25
+ "output": 6,
26
+ "cached_input": .25
27
+ }
28
+ },
29
+ {
30
+ "id": "claude-4-sonnet-1m",
31
+ "name": "Claude 4 Sonnet 1M",
32
+ "created_by": "anthropic",
33
+ "source": "official",
34
+ "last_updated": "2026-03-21",
35
+ "family": "claude-sonnet",
36
+ "capabilities": {
37
+ "streaming": true,
38
+ "tool_call": true,
39
+ "reasoning": true,
40
+ "vision": true
41
+ },
42
+ "modalities": {
43
+ "input": ["text", "image"],
44
+ "output": ["text"]
45
+ },
46
+ "pricing": {
47
+ "input": 6,
48
+ "output": 22.5,
49
+ "cached_input": .6,
50
+ "cache_write": 7.5
51
+ },
52
+ "max_context_window": 1e6,
53
+ "performance": 4,
54
+ "speed": 3
55
+ },
56
+ {
57
+ "id": "claude-4-sonnet",
58
+ "name": "Claude 4 Sonnet",
59
+ "created_by": "anthropic",
60
+ "source": "official",
61
+ "last_updated": "2026-03-21",
62
+ "family": "claude-sonnet",
63
+ "capabilities": {
64
+ "streaming": true,
65
+ "tool_call": true,
66
+ "reasoning": true,
67
+ "vision": true
68
+ },
69
+ "modalities": {
70
+ "input": ["text", "image"],
71
+ "output": ["text"]
72
+ },
73
+ "pricing": {
74
+ "input": 3,
75
+ "output": 15,
76
+ "cached_input": .3,
77
+ "cache_write": 3.75
78
+ },
79
+ "context_window": 2e5,
80
+ "performance": 4,
81
+ "speed": 3
82
+ },
83
+ {
84
+ "id": "claude-4.5-haiku",
85
+ "name": "Claude 4.5 Haiku",
86
+ "created_by": "anthropic",
87
+ "source": "official",
88
+ "last_updated": "2026-03-21",
89
+ "family": "claude-haiku",
90
+ "capabilities": {
91
+ "streaming": true,
92
+ "tool_call": true,
93
+ "vision": true,
94
+ "reasoning": true
95
+ },
96
+ "modalities": {
97
+ "input": ["text", "image"],
98
+ "output": ["text"]
99
+ },
100
+ "pricing": {
101
+ "input": 1,
102
+ "output": 5,
103
+ "cached_input": .1,
104
+ "cache_write": 1.25
105
+ },
106
+ "context_window": 2e5,
107
+ "performance": 3,
108
+ "speed": 4
109
+ },
110
+ {
111
+ "id": "claude-4.5-opus",
112
+ "name": "Claude 4.5 Opus",
113
+ "created_by": "anthropic",
114
+ "source": "official",
115
+ "last_updated": "2026-03-21",
116
+ "family": "claude-opus",
117
+ "capabilities": {
118
+ "streaming": true,
119
+ "tool_call": true,
120
+ "reasoning": true,
121
+ "vision": true
122
+ },
123
+ "modalities": {
124
+ "input": ["text", "image"],
125
+ "output": ["text"]
126
+ },
127
+ "pricing": {
128
+ "input": 5,
129
+ "output": 25,
130
+ "cached_input": .5,
131
+ "cache_write": 6.25
132
+ },
133
+ "context_window": 2e5,
134
+ "performance": 5,
135
+ "speed": 3
136
+ },
137
+ {
138
+ "id": "claude-4.5-sonnet",
139
+ "name": "Claude 4.5 Sonnet",
140
+ "created_by": "anthropic",
141
+ "source": "official",
142
+ "last_updated": "2026-03-21",
143
+ "family": "claude-sonnet",
144
+ "capabilities": {
145
+ "streaming": true,
146
+ "tool_call": true,
147
+ "reasoning": true,
148
+ "vision": true
149
+ },
150
+ "modalities": {
151
+ "input": ["text", "image"],
152
+ "output": ["text"]
153
+ },
154
+ "pricing": {
155
+ "input": 3,
156
+ "output": 15,
157
+ "cached_input": .3,
158
+ "cache_write": 3.75
159
+ },
160
+ "context_window": 2e5,
161
+ "max_context_window": 1e6,
162
+ "performance": 4,
163
+ "speed": 3
164
+ },
165
+ {
166
+ "id": "claude-4.6-opus-fast",
167
+ "name": "Claude 4.6 Opus (Fast mode)",
168
+ "created_by": "anthropic",
169
+ "source": "official",
170
+ "last_updated": "2026-03-21",
171
+ "family": "claude-opus",
172
+ "capabilities": {
173
+ "streaming": true,
174
+ "tool_call": true,
175
+ "reasoning": true,
176
+ "vision": true
177
+ },
178
+ "modalities": {
179
+ "input": ["text", "image"],
180
+ "output": ["text"]
181
+ },
182
+ "pricing": {
183
+ "input": 30,
184
+ "output": 150,
185
+ "cached_input": 3,
186
+ "cache_write": 37.5
187
+ },
188
+ "context_window": 2e5,
189
+ "max_context_window": 1e6,
190
+ "performance": 5,
191
+ "speed": 4
192
+ },
193
+ {
194
+ "id": "claude-4.6-opus",
195
+ "name": "Claude 4.6 Opus",
196
+ "created_by": "anthropic",
197
+ "source": "official",
198
+ "last_updated": "2026-03-21",
199
+ "family": "claude-opus",
200
+ "capabilities": {
201
+ "streaming": true,
202
+ "tool_call": true,
203
+ "reasoning": true,
204
+ "vision": true
205
+ },
206
+ "modalities": {
207
+ "input": ["text", "image"],
208
+ "output": ["text"]
209
+ },
210
+ "pricing": {
211
+ "input": 5,
212
+ "output": 25,
213
+ "cached_input": .5,
214
+ "cache_write": 6.25
215
+ },
216
+ "context_window": 2e5,
217
+ "max_context_window": 1e6,
218
+ "performance": 5,
219
+ "speed": 3
220
+ },
221
+ {
222
+ "id": "claude-4.6-sonnet",
223
+ "name": "Claude 4.6 Sonnet",
224
+ "created_by": "anthropic",
225
+ "source": "official",
226
+ "last_updated": "2026-03-21",
227
+ "family": "claude-sonnet",
228
+ "capabilities": {
229
+ "streaming": true,
230
+ "tool_call": true,
231
+ "reasoning": true,
232
+ "vision": true
233
+ },
234
+ "modalities": {
235
+ "input": ["text", "image"],
236
+ "output": ["text"]
237
+ },
238
+ "pricing": {
239
+ "input": 3,
240
+ "output": 15,
241
+ "cached_input": .3,
242
+ "cache_write": 3.75
243
+ },
244
+ "context_window": 2e5,
245
+ "max_context_window": 1e6,
246
+ "performance": 4,
247
+ "speed": 3
248
+ },
249
+ {
250
+ "id": "composer-1.5",
251
+ "name": "Composer 1.5",
252
+ "created_by": "cursor",
253
+ "source": "official",
254
+ "last_updated": "2026-03-21",
255
+ "capabilities": {
256
+ "streaming": true,
257
+ "tool_call": true,
258
+ "vision": true,
259
+ "reasoning": true
260
+ },
261
+ "modalities": {
262
+ "input": ["text", "image"],
263
+ "output": ["text"]
264
+ },
265
+ "pricing": {
266
+ "input": 3.5,
267
+ "output": 17.5,
268
+ "cached_input": .35
269
+ },
270
+ "context_window": 2e5,
271
+ "performance": 4,
272
+ "speed": 4
273
+ },
274
+ {
275
+ "id": "composer-1",
276
+ "name": "Composer 1",
277
+ "created_by": "cursor",
278
+ "source": "official",
279
+ "last_updated": "2026-03-21",
280
+ "capabilities": {
281
+ "streaming": true,
282
+ "tool_call": true,
283
+ "vision": true
284
+ },
285
+ "modalities": {
286
+ "input": ["text", "image"],
287
+ "output": ["text"]
288
+ },
289
+ "pricing": {
290
+ "input": 1.25,
291
+ "output": 10,
292
+ "cached_input": .125
293
+ },
294
+ "context_window": 2e5,
295
+ "performance": 4,
296
+ "speed": 3
297
+ },
298
+ {
299
+ "id": "composer-2",
300
+ "name": "Composer 2",
301
+ "created_by": "cursor",
302
+ "source": "official",
303
+ "last_updated": "2026-03-21",
304
+ "capabilities": {
305
+ "streaming": true,
306
+ "tool_call": true,
307
+ "vision": true,
308
+ "reasoning": true
309
+ },
310
+ "modalities": {
311
+ "input": ["text", "image"],
312
+ "output": ["text"]
313
+ },
314
+ "pricing": {
315
+ "input": .5,
316
+ "output": 2.5,
317
+ "cached_input": .2
318
+ },
319
+ "context_window": 2e5,
320
+ "performance": 5,
321
+ "speed": 4
322
+ },
323
+ {
324
+ "id": "gemini-2.5-flash",
325
+ "name": "Gemini 2.5 Flash",
326
+ "created_by": "google",
327
+ "source": "official",
328
+ "last_updated": "2026-03-21",
329
+ "family": "gemini-2.5",
330
+ "capabilities": {
331
+ "streaming": true,
332
+ "tool_call": true,
333
+ "vision": true,
334
+ "reasoning": true
335
+ },
336
+ "modalities": {
337
+ "input": ["text", "image"],
338
+ "output": ["text"]
339
+ },
340
+ "pricing": {
341
+ "input": .3,
342
+ "output": 2.5,
343
+ "cached_input": .03
344
+ },
345
+ "context_window": 2e5,
346
+ "max_context_window": 1e6,
347
+ "performance": 3,
348
+ "speed": 4
349
+ },
350
+ {
351
+ "id": "gemini-3-flash",
352
+ "name": "Gemini 3 Flash",
353
+ "created_by": "google",
354
+ "source": "official",
355
+ "last_updated": "2026-03-21",
356
+ "family": "gemini-3",
357
+ "capabilities": {
358
+ "streaming": true,
359
+ "tool_call": true,
360
+ "vision": true,
361
+ "reasoning": true
362
+ },
363
+ "modalities": {
364
+ "input": ["text", "image"],
365
+ "output": ["text"]
366
+ },
367
+ "pricing": {
368
+ "input": .5,
369
+ "output": 3,
370
+ "cached_input": .05
371
+ },
372
+ "context_window": 2e5,
373
+ "max_context_window": 1e6,
374
+ "performance": 3,
375
+ "speed": 4
376
+ },
377
+ {
378
+ "id": "gemini-3-pro-image-preview",
379
+ "name": "Gemini 3 Pro Image Preview",
380
+ "created_by": "google",
381
+ "source": "official",
382
+ "last_updated": "2026-03-21",
383
+ "family": "gemini-3",
384
+ "capabilities": {
385
+ "streaming": true,
386
+ "tool_call": true,
387
+ "vision": true
388
+ },
389
+ "modalities": {
390
+ "input": ["text", "image"],
391
+ "output": ["text", "image"]
392
+ },
393
+ "pricing": {
394
+ "input": 2,
395
+ "output": 12,
396
+ "cached_input": .2
397
+ },
398
+ "context_window": 2e5,
399
+ "max_context_window": 1e6,
400
+ "performance": 4,
401
+ "speed": 3
402
+ },
403
+ {
404
+ "id": "gemini-3-pro",
405
+ "name": "Gemini 3 Pro",
406
+ "created_by": "google",
407
+ "source": "official",
408
+ "last_updated": "2026-03-21",
409
+ "family": "gemini-3",
410
+ "capabilities": {
411
+ "streaming": true,
412
+ "tool_call": true,
413
+ "vision": true,
414
+ "reasoning": true
415
+ },
416
+ "modalities": {
417
+ "input": ["text", "image"],
418
+ "output": ["text"]
419
+ },
420
+ "pricing": {
421
+ "input": 2,
422
+ "output": 12,
423
+ "cached_input": .2
424
+ },
425
+ "context_window": 2e5,
426
+ "max_context_window": 1e6,
427
+ "performance": 4,
428
+ "speed": 3
429
+ },
430
+ {
431
+ "id": "gemini-3.1-pro",
432
+ "name": "Gemini 3.1 Pro",
433
+ "created_by": "google",
434
+ "source": "official",
435
+ "last_updated": "2026-03-21",
436
+ "family": "gemini-3.1",
437
+ "capabilities": {
438
+ "streaming": true,
439
+ "tool_call": true,
440
+ "vision": true,
441
+ "reasoning": true
442
+ },
443
+ "modalities": {
444
+ "input": ["text", "image"],
445
+ "output": ["text"]
446
+ },
447
+ "pricing": {
448
+ "input": 2,
449
+ "output": 12,
450
+ "cached_input": .2
451
+ },
452
+ "context_window": 2e5,
453
+ "max_context_window": 1e6,
454
+ "performance": 5,
455
+ "speed": 3
456
+ },
457
+ {
458
+ "id": "gpt-5-codex",
459
+ "name": "GPT-5-Codex",
460
+ "created_by": "openai",
461
+ "source": "official",
462
+ "last_updated": "2026-03-21",
463
+ "family": "gpt-5",
464
+ "capabilities": {
465
+ "streaming": true,
466
+ "tool_call": true,
467
+ "reasoning": true,
468
+ "vision": true
469
+ },
470
+ "modalities": {
471
+ "input": ["text", "image"],
472
+ "output": ["text"]
473
+ },
474
+ "pricing": {
475
+ "input": 1.25,
476
+ "output": 10,
477
+ "cached_input": .125
478
+ },
479
+ "context_window": 272e3,
480
+ "performance": 4,
481
+ "speed": 3
482
+ },
483
+ {
484
+ "id": "gpt-5-fast",
485
+ "name": "GPT-5 Fast",
486
+ "created_by": "openai",
487
+ "source": "official",
488
+ "last_updated": "2026-03-21",
489
+ "family": "gpt-5",
490
+ "capabilities": {
491
+ "streaming": true,
492
+ "tool_call": true,
493
+ "reasoning": true,
494
+ "vision": true
495
+ },
496
+ "modalities": {
497
+ "input": ["text", "image"],
498
+ "output": ["text"]
499
+ },
500
+ "pricing": {
501
+ "input": 2.5,
502
+ "output": 20,
503
+ "cached_input": .25
504
+ },
505
+ "context_window": 272e3,
506
+ "performance": 4,
507
+ "speed": 4
508
+ },
509
+ {
510
+ "id": "gpt-5-mini",
511
+ "name": "GPT-5 Mini",
512
+ "created_by": "openai",
513
+ "source": "official",
514
+ "last_updated": "2026-03-21",
515
+ "family": "gpt-5",
516
+ "capabilities": {
517
+ "streaming": true,
518
+ "tool_call": true,
519
+ "vision": true,
520
+ "reasoning": true
521
+ },
522
+ "modalities": {
523
+ "input": ["text", "image"],
524
+ "output": ["text"]
525
+ },
526
+ "pricing": {
527
+ "input": .25,
528
+ "output": 2,
529
+ "cached_input": .025
530
+ },
531
+ "context_window": 272e3,
532
+ "performance": 3,
533
+ "speed": 4
534
+ },
535
+ {
536
+ "id": "gpt-5.1-codex-max",
537
+ "name": "GPT-5.1 Codex Max",
538
+ "created_by": "openai",
539
+ "source": "official",
540
+ "last_updated": "2026-03-21",
541
+ "family": "gpt-5.1",
542
+ "capabilities": {
543
+ "streaming": true,
544
+ "tool_call": true,
545
+ "reasoning": true,
546
+ "vision": true
547
+ },
548
+ "modalities": {
549
+ "input": ["text", "image"],
550
+ "output": ["text"]
551
+ },
552
+ "pricing": {
553
+ "input": 1.25,
554
+ "output": 10,
555
+ "cached_input": .125
556
+ },
557
+ "context_window": 272e3,
558
+ "performance": 4,
559
+ "speed": 3
560
+ },
561
+ {
562
+ "id": "gpt-5.1-codex-mini",
563
+ "name": "GPT-5.1 Codex Mini",
564
+ "created_by": "openai",
565
+ "source": "official",
566
+ "last_updated": "2026-03-21",
567
+ "family": "gpt-5.1",
568
+ "capabilities": {
569
+ "streaming": true,
570
+ "tool_call": true,
571
+ "reasoning": true,
572
+ "vision": true
573
+ },
574
+ "modalities": {
575
+ "input": ["text", "image"],
576
+ "output": ["text"]
577
+ },
578
+ "pricing": {
579
+ "input": .25,
580
+ "output": 2,
581
+ "cached_input": .025
582
+ },
583
+ "context_window": 272e3,
584
+ "performance": 3,
585
+ "speed": 4
586
+ },
587
+ {
588
+ "id": "gpt-5.1-codex",
589
+ "name": "GPT-5.1 Codex",
590
+ "created_by": "openai",
591
+ "source": "official",
592
+ "last_updated": "2026-03-21",
593
+ "family": "gpt-5.1",
594
+ "capabilities": {
595
+ "streaming": true,
596
+ "tool_call": true,
597
+ "reasoning": true,
598
+ "vision": true
599
+ },
600
+ "modalities": {
601
+ "input": ["text", "image"],
602
+ "output": ["text"]
603
+ },
604
+ "pricing": {
605
+ "input": 1.25,
606
+ "output": 10,
607
+ "cached_input": .125
608
+ },
609
+ "context_window": 272e3,
610
+ "performance": 4,
611
+ "speed": 3
612
+ },
613
+ {
614
+ "id": "gpt-5.2-codex",
615
+ "name": "GPT-5.2 Codex",
616
+ "created_by": "openai",
617
+ "source": "official",
618
+ "last_updated": "2026-03-21",
619
+ "family": "gpt-5.2",
620
+ "capabilities": {
621
+ "streaming": true,
622
+ "tool_call": true,
623
+ "reasoning": true,
624
+ "vision": true
625
+ },
626
+ "modalities": {
627
+ "input": ["text", "image"],
628
+ "output": ["text"]
629
+ },
630
+ "pricing": {
631
+ "input": 1.75,
632
+ "output": 14,
633
+ "cached_input": .175
634
+ },
635
+ "context_window": 272e3,
636
+ "performance": 4,
637
+ "speed": 3
638
+ },
639
+ {
640
+ "id": "gpt-5.2",
641
+ "name": "GPT-5.2",
642
+ "created_by": "openai",
643
+ "source": "official",
644
+ "last_updated": "2026-03-21",
645
+ "family": "gpt-5.2",
646
+ "capabilities": {
647
+ "streaming": true,
648
+ "tool_call": true,
649
+ "reasoning": true,
650
+ "vision": true
651
+ },
652
+ "modalities": {
653
+ "input": ["text", "image"],
654
+ "output": ["text"]
655
+ },
656
+ "pricing": {
657
+ "input": 1.75,
658
+ "output": 14,
659
+ "cached_input": .175
660
+ },
661
+ "context_window": 272e3,
662
+ "performance": 4,
663
+ "speed": 3
664
+ },
665
+ {
666
+ "id": "gpt-5.3-codex",
667
+ "name": "GPT-5.3 Codex",
668
+ "created_by": "openai",
669
+ "source": "official",
670
+ "last_updated": "2026-03-21",
671
+ "family": "gpt-5.3",
672
+ "capabilities": {
673
+ "streaming": true,
674
+ "tool_call": true,
675
+ "reasoning": true,
676
+ "vision": true
677
+ },
678
+ "modalities": {
679
+ "input": ["text", "image"],
680
+ "output": ["text"]
681
+ },
682
+ "pricing": {
683
+ "input": 1.75,
684
+ "output": 14,
685
+ "cached_input": .175
686
+ },
687
+ "context_window": 272e3,
688
+ "performance": 5,
689
+ "speed": 3
690
+ },
691
+ {
692
+ "id": "gpt-5.4-mini",
693
+ "name": "GPT-5.4 Mini",
694
+ "created_by": "openai",
695
+ "source": "official",
696
+ "last_updated": "2026-03-21",
697
+ "family": "gpt-5.4",
698
+ "capabilities": {
699
+ "streaming": true,
700
+ "tool_call": true,
701
+ "reasoning": true,
702
+ "vision": true
703
+ },
704
+ "modalities": {
705
+ "input": ["text", "image"],
706
+ "output": ["text"]
707
+ },
708
+ "pricing": {
709
+ "input": .75,
710
+ "output": 4.5,
711
+ "cached_input": .075
712
+ },
713
+ "context_window": 272e3,
714
+ "performance": 4,
715
+ "speed": 4
716
+ },
717
+ {
718
+ "id": "gpt-5.4-nano",
719
+ "name": "GPT-5.4 Nano",
720
+ "created_by": "openai",
721
+ "source": "official",
722
+ "last_updated": "2026-03-21",
723
+ "family": "gpt-5.4",
724
+ "capabilities": {
725
+ "streaming": true,
726
+ "tool_call": true,
727
+ "reasoning": true,
728
+ "vision": true
729
+ },
730
+ "modalities": {
731
+ "input": ["text", "image"],
732
+ "output": ["text"]
733
+ },
734
+ "pricing": {
735
+ "input": .2,
736
+ "output": 1.25,
737
+ "cached_input": .02
738
+ },
739
+ "context_window": 272e3,
740
+ "performance": 3,
741
+ "speed": 4
742
+ },
743
+ {
744
+ "id": "gpt-5.4",
745
+ "name": "GPT-5.4",
746
+ "created_by": "openai",
747
+ "source": "official",
748
+ "last_updated": "2026-03-21",
749
+ "family": "gpt-5.4",
750
+ "capabilities": {
751
+ "streaming": true,
752
+ "tool_call": true,
753
+ "reasoning": true,
754
+ "vision": true
755
+ },
756
+ "modalities": {
757
+ "input": ["text", "image"],
758
+ "output": ["text"]
759
+ },
760
+ "pricing": {
761
+ "input": 2.5,
762
+ "output": 15,
763
+ "cached_input": .25
764
+ },
765
+ "context_window": 272e3,
766
+ "max_context_window": 1e6,
767
+ "performance": 5,
768
+ "speed": 3
769
+ },
770
+ {
771
+ "id": "gpt-5",
772
+ "name": "GPT-5",
773
+ "created_by": "openai",
774
+ "source": "official",
775
+ "last_updated": "2026-03-21",
776
+ "family": "gpt-5",
777
+ "capabilities": {
778
+ "streaming": true,
779
+ "tool_call": true,
780
+ "reasoning": true,
781
+ "vision": true
782
+ },
783
+ "modalities": {
784
+ "input": ["text", "image"],
785
+ "output": ["text"]
786
+ },
787
+ "pricing": {
788
+ "input": 1.25,
789
+ "output": 10,
790
+ "cached_input": .125
791
+ },
792
+ "context_window": 272e3,
793
+ "performance": 4,
794
+ "speed": 3
795
+ },
796
+ {
797
+ "id": "grok-4.20",
798
+ "name": "Grok 4.20",
799
+ "created_by": "xai",
800
+ "source": "official",
801
+ "last_updated": "2026-03-21",
802
+ "family": "grok-4.20",
803
+ "capabilities": {
804
+ "streaming": true,
805
+ "tool_call": true,
806
+ "reasoning": true
807
+ },
808
+ "modalities": {
809
+ "input": ["text"],
810
+ "output": ["text"]
811
+ },
812
+ "pricing": {
813
+ "input": 2,
814
+ "output": 6,
815
+ "cached_input": .2
816
+ },
817
+ "context_window": 2e5,
818
+ "max_context_window": 2e6,
819
+ "performance": 4,
820
+ "speed": 4
821
+ },
822
+ {
823
+ "id": "kimi-k2.5",
824
+ "name": "Kimi K2.5",
825
+ "created_by": "moonshot",
826
+ "source": "official",
827
+ "last_updated": "2026-03-21",
828
+ "capabilities": {
829
+ "streaming": true,
830
+ "tool_call": true,
831
+ "vision": true,
832
+ "reasoning": true
833
+ },
834
+ "modalities": {
835
+ "input": ["text", "image"],
836
+ "output": ["text"]
837
+ },
838
+ "pricing": {
839
+ "input": .6,
840
+ "output": 3,
841
+ "cached_input": .1
842
+ },
843
+ "context_window": 262e3,
844
+ "performance": 4,
845
+ "speed": 3
846
+ }
847
+ ]
848
+ };
849
+ const models = provider.models.map((m) => ({
850
+ ...m,
851
+ provider: provider.id
852
+ }));
853
+ //#endregion
854
+ export { models, provider };