@dexto/llm 1.8.1

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/LICENSE +44 -0
  2. package/dist/index.cjs +22674 -0
  3. package/dist/index.d.ts +9 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +22589 -0
  6. package/dist/reasoning/anthropic-betas.d.ts +3 -0
  7. package/dist/reasoning/anthropic-betas.d.ts.map +1 -0
  8. package/dist/reasoning/anthropic-thinking.d.ts +16 -0
  9. package/dist/reasoning/anthropic-thinking.d.ts.map +1 -0
  10. package/dist/reasoning/openai-reasoning-effort.d.ts +5 -0
  11. package/dist/reasoning/openai-reasoning-effort.d.ts.map +1 -0
  12. package/dist/reasoning/profile.d.ts +13 -0
  13. package/dist/reasoning/profile.d.ts.map +1 -0
  14. package/dist/reasoning/profiles/anthropic.d.ts +8 -0
  15. package/dist/reasoning/profiles/anthropic.d.ts.map +1 -0
  16. package/dist/reasoning/profiles/bedrock.d.ts +3 -0
  17. package/dist/reasoning/profiles/bedrock.d.ts.map +1 -0
  18. package/dist/reasoning/profiles/google.d.ts +10 -0
  19. package/dist/reasoning/profiles/google.d.ts.map +1 -0
  20. package/dist/reasoning/profiles/openai-compatible.d.ts +3 -0
  21. package/dist/reasoning/profiles/openai-compatible.d.ts.map +1 -0
  22. package/dist/reasoning/profiles/openai.d.ts +3 -0
  23. package/dist/reasoning/profiles/openai.d.ts.map +1 -0
  24. package/dist/reasoning/profiles/openrouter.d.ts +10 -0
  25. package/dist/reasoning/profiles/openrouter.d.ts.map +1 -0
  26. package/dist/reasoning/profiles/shared.d.ts +25 -0
  27. package/dist/reasoning/profiles/shared.d.ts.map +1 -0
  28. package/dist/reasoning/profiles/vertex.d.ts +3 -0
  29. package/dist/reasoning/profiles/vertex.d.ts.map +1 -0
  30. package/dist/registry/index.d.ts +372 -0
  31. package/dist/registry/index.d.ts.map +1 -0
  32. package/dist/registry/models.generated.d.ts +4151 -0
  33. package/dist/registry/models.generated.d.ts.map +1 -0
  34. package/dist/registry/models.manual.d.ts +22 -0
  35. package/dist/registry/models.manual.d.ts.map +1 -0
  36. package/dist/types.d.ts +39 -0
  37. package/dist/types.d.ts.map +1 -0
  38. package/package.json +36 -0
@@ -0,0 +1,4151 @@
1
+ export declare const MODELS_BY_PROVIDER: {
2
+ openai: ({
3
+ name: string;
4
+ displayName: string;
5
+ maxInputTokens: number;
6
+ supportedFileTypes: never[];
7
+ reasoning: false;
8
+ supportsTemperature: true;
9
+ supportsToolCall: false;
10
+ releaseDate: string;
11
+ modalities: {
12
+ input: "text"[];
13
+ output: "text"[];
14
+ };
15
+ pricing: {
16
+ inputPerM: number;
17
+ outputPerM: number;
18
+ cacheReadPerM: number;
19
+ currency: "USD";
20
+ unit: "per_million_tokens";
21
+ contextOver200kPerM?: never;
22
+ };
23
+ default?: never;
24
+ } | {
25
+ name: string;
26
+ displayName: string;
27
+ maxInputTokens: number;
28
+ supportedFileTypes: ("pdf" | "image" | "document")[];
29
+ reasoning: false;
30
+ supportsTemperature: true;
31
+ supportsToolCall: true;
32
+ releaseDate: string;
33
+ modalities: {
34
+ input: ("image" | "text")[];
35
+ output: "text"[];
36
+ };
37
+ pricing: {
38
+ inputPerM: number;
39
+ outputPerM: number;
40
+ currency: "USD";
41
+ unit: "per_million_tokens";
42
+ cacheReadPerM?: never;
43
+ contextOver200kPerM?: never;
44
+ };
45
+ default?: never;
46
+ } | {
47
+ name: string;
48
+ displayName: string;
49
+ maxInputTokens: number;
50
+ supportedFileTypes: ("pdf" | "image" | "document")[];
51
+ reasoning: false;
52
+ supportsTemperature: true;
53
+ supportsToolCall: true;
54
+ releaseDate: string;
55
+ modalities: {
56
+ input: ("pdf" | "image" | "text")[];
57
+ output: "text"[];
58
+ };
59
+ pricing: {
60
+ inputPerM: number;
61
+ outputPerM: number;
62
+ cacheReadPerM: number;
63
+ currency: "USD";
64
+ unit: "per_million_tokens";
65
+ contextOver200kPerM?: never;
66
+ };
67
+ default?: never;
68
+ } | {
69
+ name: string;
70
+ displayName: string;
71
+ maxInputTokens: number;
72
+ supportedFileTypes: ("pdf" | "image" | "document")[];
73
+ reasoning: true;
74
+ supportsTemperature: true;
75
+ supportsToolCall: false;
76
+ releaseDate: string;
77
+ modalities: {
78
+ input: ("image" | "text")[];
79
+ output: "text"[];
80
+ };
81
+ pricing: {
82
+ inputPerM: number;
83
+ outputPerM: number;
84
+ cacheReadPerM: number;
85
+ currency: "USD";
86
+ unit: "per_million_tokens";
87
+ contextOver200kPerM?: never;
88
+ };
89
+ default?: never;
90
+ } | {
91
+ name: string;
92
+ displayName: string;
93
+ maxInputTokens: number;
94
+ supportedFileTypes: ("pdf" | "image" | "document")[];
95
+ reasoning: true;
96
+ supportsTemperature: false;
97
+ supportsToolCall: true;
98
+ releaseDate: string;
99
+ modalities: {
100
+ input: ("image" | "text")[];
101
+ output: "text"[];
102
+ };
103
+ pricing: {
104
+ inputPerM: number;
105
+ outputPerM: number;
106
+ cacheReadPerM: number;
107
+ currency: "USD";
108
+ unit: "per_million_tokens";
109
+ contextOver200kPerM?: never;
110
+ };
111
+ default: true;
112
+ } | {
113
+ name: string;
114
+ displayName: string;
115
+ maxInputTokens: number;
116
+ supportedFileTypes: ("pdf" | "image" | "document")[];
117
+ reasoning: true;
118
+ supportsTemperature: false;
119
+ supportsToolCall: true;
120
+ releaseDate: string;
121
+ modalities: {
122
+ input: ("image" | "text")[];
123
+ output: "text"[];
124
+ };
125
+ pricing: {
126
+ inputPerM: number;
127
+ outputPerM: number;
128
+ currency: "USD";
129
+ unit: "per_million_tokens";
130
+ cacheReadPerM?: never;
131
+ contextOver200kPerM?: never;
132
+ };
133
+ default?: never;
134
+ } | {
135
+ name: string;
136
+ displayName: string;
137
+ maxInputTokens: number;
138
+ supportedFileTypes: ("pdf" | "image" | "document")[];
139
+ reasoning: true;
140
+ supportsTemperature: false;
141
+ supportsToolCall: true;
142
+ releaseDate: string;
143
+ modalities: {
144
+ input: ("pdf" | "image" | "text")[];
145
+ output: "text"[];
146
+ };
147
+ pricing: {
148
+ inputPerM: number;
149
+ outputPerM: number;
150
+ cacheReadPerM: number;
151
+ currency: "USD";
152
+ unit: "per_million_tokens";
153
+ contextOver200kPerM?: never;
154
+ };
155
+ default?: never;
156
+ } | {
157
+ name: string;
158
+ displayName: string;
159
+ maxInputTokens: number;
160
+ supportedFileTypes: ("pdf" | "image" | "document")[];
161
+ reasoning: true;
162
+ supportsTemperature: false;
163
+ supportsToolCall: true;
164
+ releaseDate: string;
165
+ modalities: {
166
+ input: ("pdf" | "image" | "text")[];
167
+ output: "text"[];
168
+ };
169
+ pricing: {
170
+ inputPerM: number;
171
+ outputPerM: number;
172
+ cacheReadPerM: number;
173
+ contextOver200kPerM: {
174
+ inputPerM: number;
175
+ outputPerM: number;
176
+ };
177
+ currency: "USD";
178
+ unit: "per_million_tokens";
179
+ };
180
+ default?: never;
181
+ } | {
182
+ name: string;
183
+ displayName: string;
184
+ maxInputTokens: number;
185
+ supportedFileTypes: ("pdf" | "image" | "document")[];
186
+ reasoning: true;
187
+ supportsTemperature: false;
188
+ supportsToolCall: true;
189
+ releaseDate: string;
190
+ modalities: {
191
+ input: ("pdf" | "image" | "text")[];
192
+ output: "text"[];
193
+ };
194
+ pricing: {
195
+ inputPerM: number;
196
+ outputPerM: number;
197
+ contextOver200kPerM: {
198
+ inputPerM: number;
199
+ outputPerM: number;
200
+ };
201
+ currency: "USD";
202
+ unit: "per_million_tokens";
203
+ cacheReadPerM?: never;
204
+ };
205
+ default?: never;
206
+ } | {
207
+ name: string;
208
+ displayName: string;
209
+ maxInputTokens: number;
210
+ supportedFileTypes: ("pdf" | "image" | "document")[];
211
+ reasoning: false;
212
+ supportsTemperature: false;
213
+ supportsToolCall: false;
214
+ releaseDate: string;
215
+ modalities: {
216
+ input: ("image" | "text")[];
217
+ output: ("image" | "text")[];
218
+ };
219
+ pricing?: never;
220
+ default?: never;
221
+ } | {
222
+ name: string;
223
+ displayName: string;
224
+ maxInputTokens: number;
225
+ supportedFileTypes: never[];
226
+ reasoning: true;
227
+ supportsTemperature: false;
228
+ supportsToolCall: false;
229
+ releaseDate: string;
230
+ modalities: {
231
+ input: "text"[];
232
+ output: "text"[];
233
+ };
234
+ pricing: {
235
+ inputPerM: number;
236
+ outputPerM: number;
237
+ cacheReadPerM: number;
238
+ currency: "USD";
239
+ unit: "per_million_tokens";
240
+ contextOver200kPerM?: never;
241
+ };
242
+ default?: never;
243
+ })[];
244
+ 'openai-compatible': never[];
245
+ anthropic: ({
246
+ name: string;
247
+ displayName: string;
248
+ maxInputTokens: number;
249
+ supportedFileTypes: ("pdf" | "image")[];
250
+ reasoning: false;
251
+ supportsTemperature: true;
252
+ supportsToolCall: true;
253
+ releaseDate: string;
254
+ modalities: {
255
+ input: ("pdf" | "image" | "text")[];
256
+ output: "text"[];
257
+ };
258
+ pricing: {
259
+ inputPerM: number;
260
+ outputPerM: number;
261
+ cacheReadPerM: number;
262
+ cacheWritePerM: number;
263
+ currency: "USD";
264
+ unit: "per_million_tokens";
265
+ };
266
+ default?: never;
267
+ } | {
268
+ name: string;
269
+ displayName: string;
270
+ maxInputTokens: number;
271
+ supportedFileTypes: ("pdf" | "image")[];
272
+ reasoning: true;
273
+ supportsTemperature: true;
274
+ supportsToolCall: true;
275
+ releaseDate: string;
276
+ modalities: {
277
+ input: ("pdf" | "image" | "text")[];
278
+ output: "text"[];
279
+ };
280
+ pricing: {
281
+ inputPerM: number;
282
+ outputPerM: number;
283
+ cacheReadPerM: number;
284
+ cacheWritePerM: number;
285
+ currency: "USD";
286
+ unit: "per_million_tokens";
287
+ };
288
+ default?: never;
289
+ } | {
290
+ name: string;
291
+ displayName: string;
292
+ maxInputTokens: number;
293
+ supportedFileTypes: ("pdf" | "image")[];
294
+ reasoning: true;
295
+ supportsTemperature: true;
296
+ supportsToolCall: true;
297
+ releaseDate: string;
298
+ modalities: {
299
+ input: ("pdf" | "image" | "text")[];
300
+ output: "text"[];
301
+ };
302
+ pricing: {
303
+ inputPerM: number;
304
+ outputPerM: number;
305
+ cacheReadPerM: number;
306
+ cacheWritePerM: number;
307
+ currency: "USD";
308
+ unit: "per_million_tokens";
309
+ };
310
+ default: true;
311
+ } | {
312
+ name: string;
313
+ displayName: string;
314
+ maxInputTokens: number;
315
+ supportedFileTypes: ("pdf" | "image")[];
316
+ reasoning: true;
317
+ supportsTemperature: false;
318
+ supportsToolCall: true;
319
+ releaseDate: string;
320
+ modalities: {
321
+ input: ("pdf" | "image" | "text")[];
322
+ output: "text"[];
323
+ };
324
+ pricing: {
325
+ inputPerM: number;
326
+ outputPerM: number;
327
+ cacheReadPerM: number;
328
+ cacheWritePerM: number;
329
+ currency: "USD";
330
+ unit: "per_million_tokens";
331
+ };
332
+ default?: never;
333
+ })[];
334
+ google: ({
335
+ name: string;
336
+ displayName: string;
337
+ maxInputTokens: number;
338
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
339
+ reasoning: false;
340
+ supportsTemperature: true;
341
+ supportsToolCall: true;
342
+ releaseDate: string;
343
+ modalities: {
344
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
345
+ output: "text"[];
346
+ };
347
+ pricing: {
348
+ inputPerM: number;
349
+ outputPerM: number;
350
+ cacheReadPerM: number;
351
+ currency: "USD";
352
+ unit: "per_million_tokens";
353
+ inputAudioPerM?: never;
354
+ contextOver200kPerM?: never;
355
+ };
356
+ default?: never;
357
+ } | {
358
+ name: string;
359
+ displayName: string;
360
+ maxInputTokens: number;
361
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
362
+ reasoning: false;
363
+ supportsTemperature: true;
364
+ supportsToolCall: true;
365
+ releaseDate: string;
366
+ modalities: {
367
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
368
+ output: "text"[];
369
+ };
370
+ pricing: {
371
+ inputPerM: number;
372
+ outputPerM: number;
373
+ currency: "USD";
374
+ unit: "per_million_tokens";
375
+ cacheReadPerM?: never;
376
+ inputAudioPerM?: never;
377
+ contextOver200kPerM?: never;
378
+ };
379
+ default?: never;
380
+ } | {
381
+ name: string;
382
+ displayName: string;
383
+ maxInputTokens: number;
384
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
385
+ reasoning: true;
386
+ supportsTemperature: true;
387
+ supportsToolCall: true;
388
+ releaseDate: string;
389
+ modalities: {
390
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
391
+ output: "text"[];
392
+ };
393
+ pricing: {
394
+ inputPerM: number;
395
+ outputPerM: number;
396
+ cacheReadPerM: number;
397
+ inputAudioPerM: number;
398
+ currency: "USD";
399
+ unit: "per_million_tokens";
400
+ contextOver200kPerM?: never;
401
+ };
402
+ default?: never;
403
+ } | {
404
+ name: string;
405
+ displayName: string;
406
+ maxInputTokens: number;
407
+ supportedFileTypes: ("image" | "document")[];
408
+ reasoning: true;
409
+ supportsTemperature: true;
410
+ supportsToolCall: false;
411
+ releaseDate: string;
412
+ modalities: {
413
+ input: ("image" | "text")[];
414
+ output: ("image" | "text")[];
415
+ };
416
+ pricing: {
417
+ inputPerM: number;
418
+ outputPerM: number;
419
+ cacheReadPerM: number;
420
+ currency: "USD";
421
+ unit: "per_million_tokens";
422
+ inputAudioPerM?: never;
423
+ contextOver200kPerM?: never;
424
+ };
425
+ default?: never;
426
+ } | {
427
+ name: string;
428
+ displayName: string;
429
+ maxInputTokens: number;
430
+ supportedFileTypes: never[];
431
+ reasoning: false;
432
+ supportsTemperature: true;
433
+ supportsToolCall: false;
434
+ releaseDate: string;
435
+ modalities: {
436
+ input: "text"[];
437
+ output: "audio"[];
438
+ };
439
+ pricing: {
440
+ inputPerM: number;
441
+ outputPerM: number;
442
+ currency: "USD";
443
+ unit: "per_million_tokens";
444
+ cacheReadPerM?: never;
445
+ inputAudioPerM?: never;
446
+ contextOver200kPerM?: never;
447
+ };
448
+ default?: never;
449
+ } | {
450
+ name: string;
451
+ displayName: string;
452
+ maxInputTokens: number;
453
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
454
+ reasoning: true;
455
+ supportsTemperature: true;
456
+ supportsToolCall: true;
457
+ releaseDate: string;
458
+ modalities: {
459
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
460
+ output: "text"[];
461
+ };
462
+ pricing: {
463
+ inputPerM: number;
464
+ outputPerM: number;
465
+ cacheReadPerM: number;
466
+ contextOver200kPerM: {
467
+ inputPerM: number;
468
+ outputPerM: number;
469
+ };
470
+ currency: "USD";
471
+ unit: "per_million_tokens";
472
+ inputAudioPerM?: never;
473
+ };
474
+ default?: never;
475
+ } | {
476
+ name: string;
477
+ displayName: string;
478
+ maxInputTokens: number;
479
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
480
+ reasoning: true;
481
+ supportsTemperature: true;
482
+ supportsToolCall: true;
483
+ releaseDate: string;
484
+ modalities: {
485
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
486
+ output: "text"[];
487
+ };
488
+ pricing: {
489
+ inputPerM: number;
490
+ outputPerM: number;
491
+ cacheReadPerM: number;
492
+ inputAudioPerM: number;
493
+ currency: "USD";
494
+ unit: "per_million_tokens";
495
+ contextOver200kPerM?: never;
496
+ };
497
+ default: true;
498
+ } | {
499
+ name: string;
500
+ displayName: string;
501
+ maxInputTokens: number;
502
+ supportedFileTypes: ("pdf" | "image" | "document")[];
503
+ reasoning: true;
504
+ supportsTemperature: true;
505
+ supportsToolCall: false;
506
+ releaseDate: string;
507
+ modalities: {
508
+ input: ("pdf" | "image" | "text")[];
509
+ output: ("image" | "text")[];
510
+ };
511
+ pricing: {
512
+ inputPerM: number;
513
+ outputPerM: number;
514
+ currency: "USD";
515
+ unit: "per_million_tokens";
516
+ cacheReadPerM?: never;
517
+ inputAudioPerM?: never;
518
+ contextOver200kPerM?: never;
519
+ };
520
+ default?: never;
521
+ } | {
522
+ name: string;
523
+ displayName: string;
524
+ maxInputTokens: number;
525
+ supportedFileTypes: never[];
526
+ reasoning: false;
527
+ supportsTemperature: false;
528
+ supportsToolCall: false;
529
+ releaseDate: string;
530
+ modalities: {
531
+ input: "text"[];
532
+ output: "text"[];
533
+ };
534
+ pricing: {
535
+ inputPerM: number;
536
+ outputPerM: number;
537
+ currency: "USD";
538
+ unit: "per_million_tokens";
539
+ cacheReadPerM?: never;
540
+ inputAudioPerM?: never;
541
+ contextOver200kPerM?: never;
542
+ };
543
+ default?: never;
544
+ } | {
545
+ name: string;
546
+ displayName: string;
547
+ maxInputTokens: number;
548
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
549
+ reasoning: true;
550
+ supportsTemperature: true;
551
+ supportsToolCall: true;
552
+ releaseDate: string;
553
+ modalities: {
554
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
555
+ output: "text"[];
556
+ };
557
+ pricing: {
558
+ inputPerM: number;
559
+ outputPerM: number;
560
+ cacheReadPerM: number;
561
+ currency: "USD";
562
+ unit: "per_million_tokens";
563
+ inputAudioPerM?: never;
564
+ contextOver200kPerM?: never;
565
+ };
566
+ default?: never;
567
+ })[];
568
+ groq: ({
569
+ name: string;
570
+ displayName: string;
571
+ maxInputTokens: number;
572
+ supportedFileTypes: never[];
573
+ reasoning: false;
574
+ supportsTemperature: true;
575
+ supportsToolCall: false;
576
+ releaseDate: string;
577
+ modalities: {
578
+ input: "text"[];
579
+ output: "text"[];
580
+ };
581
+ pricing: {
582
+ inputPerM: number;
583
+ outputPerM: number;
584
+ currency: "USD";
585
+ unit: "per_million_tokens";
586
+ cacheReadPerM?: never;
587
+ };
588
+ status?: never;
589
+ default?: never;
590
+ } | {
591
+ name: string;
592
+ displayName: string;
593
+ maxInputTokens: number;
594
+ supportedFileTypes: never[];
595
+ reasoning: false;
596
+ supportsTemperature: true;
597
+ supportsToolCall: false;
598
+ releaseDate: string;
599
+ modalities: {
600
+ input: "text"[];
601
+ output: "audio"[];
602
+ };
603
+ pricing: {
604
+ inputPerM: number;
605
+ outputPerM: number;
606
+ currency: "USD";
607
+ unit: "per_million_tokens";
608
+ cacheReadPerM?: never;
609
+ };
610
+ status?: never;
611
+ default?: never;
612
+ } | {
613
+ name: string;
614
+ displayName: string;
615
+ maxInputTokens: number;
616
+ supportedFileTypes: never[];
617
+ reasoning: true;
618
+ supportsTemperature: true;
619
+ supportsToolCall: true;
620
+ releaseDate: string;
621
+ status: string;
622
+ modalities: {
623
+ input: "text"[];
624
+ output: "text"[];
625
+ };
626
+ pricing: {
627
+ inputPerM: number;
628
+ outputPerM: number;
629
+ currency: "USD";
630
+ unit: "per_million_tokens";
631
+ cacheReadPerM?: never;
632
+ };
633
+ default?: never;
634
+ } | {
635
+ name: string;
636
+ displayName: string;
637
+ maxInputTokens: number;
638
+ supportedFileTypes: never[];
639
+ reasoning: true;
640
+ supportsTemperature: true;
641
+ supportsToolCall: true;
642
+ releaseDate: string;
643
+ modalities: {
644
+ input: "text"[];
645
+ output: "text"[];
646
+ };
647
+ pricing: {
648
+ inputPerM: number;
649
+ outputPerM: number;
650
+ currency: "USD";
651
+ unit: "per_million_tokens";
652
+ cacheReadPerM?: never;
653
+ };
654
+ status?: never;
655
+ default?: never;
656
+ } | {
657
+ name: string;
658
+ displayName: string;
659
+ maxInputTokens: number;
660
+ supportedFileTypes: never[];
661
+ reasoning: false;
662
+ supportsTemperature: true;
663
+ supportsToolCall: true;
664
+ releaseDate: string;
665
+ modalities: {
666
+ input: "text"[];
667
+ output: "text"[];
668
+ };
669
+ pricing: {
670
+ inputPerM: number;
671
+ outputPerM: number;
672
+ currency: "USD";
673
+ unit: "per_million_tokens";
674
+ cacheReadPerM?: never;
675
+ };
676
+ default: true;
677
+ status?: never;
678
+ } | {
679
+ name: string;
680
+ displayName: string;
681
+ maxInputTokens: number;
682
+ supportedFileTypes: "image"[];
683
+ reasoning: false;
684
+ supportsTemperature: true;
685
+ supportsToolCall: true;
686
+ releaseDate: string;
687
+ status: string;
688
+ modalities: {
689
+ input: ("image" | "text")[];
690
+ output: "text"[];
691
+ };
692
+ pricing: {
693
+ inputPerM: number;
694
+ outputPerM: number;
695
+ currency: "USD";
696
+ unit: "per_million_tokens";
697
+ cacheReadPerM?: never;
698
+ };
699
+ default?: never;
700
+ } | {
701
+ name: string;
702
+ displayName: string;
703
+ maxInputTokens: number;
704
+ supportedFileTypes: "image"[];
705
+ reasoning: false;
706
+ supportsTemperature: true;
707
+ supportsToolCall: true;
708
+ releaseDate: string;
709
+ modalities: {
710
+ input: ("image" | "text")[];
711
+ output: "text"[];
712
+ };
713
+ pricing: {
714
+ inputPerM: number;
715
+ outputPerM: number;
716
+ currency: "USD";
717
+ unit: "per_million_tokens";
718
+ cacheReadPerM?: never;
719
+ };
720
+ status?: never;
721
+ default?: never;
722
+ } | {
723
+ name: string;
724
+ displayName: string;
725
+ maxInputTokens: number;
726
+ supportedFileTypes: "image"[];
727
+ reasoning: false;
728
+ supportsTemperature: true;
729
+ supportsToolCall: false;
730
+ releaseDate: string;
731
+ status: string;
732
+ modalities: {
733
+ input: ("image" | "text")[];
734
+ output: "text"[];
735
+ };
736
+ pricing: {
737
+ inputPerM: number;
738
+ outputPerM: number;
739
+ currency: "USD";
740
+ unit: "per_million_tokens";
741
+ cacheReadPerM?: never;
742
+ };
743
+ default?: never;
744
+ } | {
745
+ name: string;
746
+ displayName: string;
747
+ maxInputTokens: number;
748
+ supportedFileTypes: never[];
749
+ reasoning: true;
750
+ supportsTemperature: true;
751
+ supportsToolCall: true;
752
+ releaseDate: string;
753
+ modalities: {
754
+ input: "text"[];
755
+ output: "text"[];
756
+ };
757
+ pricing: {
758
+ inputPerM: number;
759
+ outputPerM: number;
760
+ cacheReadPerM: number;
761
+ currency: "USD";
762
+ unit: "per_million_tokens";
763
+ };
764
+ status?: never;
765
+ default?: never;
766
+ } | {
767
+ name: string;
768
+ displayName: string;
769
+ maxInputTokens: number;
770
+ supportedFileTypes: "audio"[];
771
+ reasoning: false;
772
+ supportsTemperature: true;
773
+ supportsToolCall: false;
774
+ releaseDate: string;
775
+ modalities: {
776
+ input: "audio"[];
777
+ output: "text"[];
778
+ };
779
+ pricing: {
780
+ inputPerM: number;
781
+ outputPerM: number;
782
+ currency: "USD";
783
+ unit: "per_million_tokens";
784
+ cacheReadPerM?: never;
785
+ };
786
+ status?: never;
787
+ default?: never;
788
+ })[];
789
+ xai: ({
790
+ name: string;
791
+ displayName: string;
792
+ maxInputTokens: number;
793
+ supportedFileTypes: ("pdf" | "image")[];
794
+ reasoning: false;
795
+ supportsTemperature: true;
796
+ supportsToolCall: true;
797
+ releaseDate: string;
798
+ modalities: {
799
+ input: ("pdf" | "image" | "text")[];
800
+ output: "text"[];
801
+ };
802
+ pricing: {
803
+ inputPerM: number;
804
+ outputPerM: number;
805
+ cacheReadPerM: number;
806
+ contextOver200kPerM: {
807
+ inputPerM: number;
808
+ outputPerM: number;
809
+ };
810
+ currency: "USD";
811
+ unit: "per_million_tokens";
812
+ };
813
+ } | {
814
+ name: string;
815
+ displayName: string;
816
+ maxInputTokens: number;
817
+ supportedFileTypes: ("pdf" | "image")[];
818
+ reasoning: true;
819
+ supportsTemperature: true;
820
+ supportsToolCall: true;
821
+ releaseDate: string;
822
+ modalities: {
823
+ input: ("pdf" | "image" | "text")[];
824
+ output: "text"[];
825
+ };
826
+ pricing: {
827
+ inputPerM: number;
828
+ outputPerM: number;
829
+ cacheReadPerM: number;
830
+ contextOver200kPerM: {
831
+ inputPerM: number;
832
+ outputPerM: number;
833
+ };
834
+ currency: "USD";
835
+ unit: "per_million_tokens";
836
+ };
837
+ } | {
838
+ name: string;
839
+ displayName: string;
840
+ maxInputTokens: number;
841
+ supportedFileTypes: ("pdf" | "image")[];
842
+ reasoning: true;
843
+ supportsTemperature: true;
844
+ supportsToolCall: false;
845
+ releaseDate: string;
846
+ modalities: {
847
+ input: ("pdf" | "image" | "text")[];
848
+ output: "text"[];
849
+ };
850
+ pricing: {
851
+ inputPerM: number;
852
+ outputPerM: number;
853
+ cacheReadPerM: number;
854
+ contextOver200kPerM: {
855
+ inputPerM: number;
856
+ outputPerM: number;
857
+ };
858
+ currency: "USD";
859
+ unit: "per_million_tokens";
860
+ };
861
+ } | {
862
+ name: string;
863
+ displayName: string;
864
+ maxInputTokens: number;
865
+ supportedFileTypes: ("pdf" | "image")[];
866
+ reasoning: false;
867
+ supportsTemperature: false;
868
+ supportsToolCall: false;
869
+ releaseDate: string;
870
+ modalities: {
871
+ input: ("pdf" | "image" | "text")[];
872
+ output: ("pdf" | "image")[];
873
+ };
874
+ pricing?: never;
875
+ } | {
876
+ name: string;
877
+ displayName: string;
878
+ maxInputTokens: number;
879
+ supportedFileTypes: ("pdf" | "image")[];
880
+ reasoning: false;
881
+ supportsTemperature: false;
882
+ supportsToolCall: false;
883
+ releaseDate: string;
884
+ modalities: {
885
+ input: ("pdf" | "image" | "text")[];
886
+ output: "video"[];
887
+ };
888
+ pricing?: never;
889
+ })[];
890
+ cohere: ({
891
+ name: string;
892
+ displayName: string;
893
+ maxInputTokens: number;
894
+ supportedFileTypes: never[];
895
+ reasoning: false;
896
+ supportsTemperature: true;
897
+ supportsToolCall: true;
898
+ releaseDate: string;
899
+ modalities: {
900
+ input: "text"[];
901
+ output: "text"[];
902
+ };
903
+ pricing: {
904
+ inputPerM: number;
905
+ outputPerM: number;
906
+ currency: "USD";
907
+ unit: "per_million_tokens";
908
+ };
909
+ default: true;
910
+ } | {
911
+ name: string;
912
+ displayName: string;
913
+ maxInputTokens: number;
914
+ supportedFileTypes: never[];
915
+ reasoning: true;
916
+ supportsTemperature: true;
917
+ supportsToolCall: true;
918
+ releaseDate: string;
919
+ modalities: {
920
+ input: "text"[];
921
+ output: "text"[];
922
+ };
923
+ pricing: {
924
+ inputPerM: number;
925
+ outputPerM: number;
926
+ currency: "USD";
927
+ unit: "per_million_tokens";
928
+ };
929
+ default?: never;
930
+ } | {
931
+ name: string;
932
+ displayName: string;
933
+ maxInputTokens: number;
934
+ supportedFileTypes: never[];
935
+ reasoning: false;
936
+ supportsTemperature: true;
937
+ supportsToolCall: true;
938
+ releaseDate: string;
939
+ modalities: {
940
+ input: "text"[];
941
+ output: "text"[];
942
+ };
943
+ pricing: {
944
+ inputPerM: number;
945
+ outputPerM: number;
946
+ currency: "USD";
947
+ unit: "per_million_tokens";
948
+ };
949
+ default?: never;
950
+ } | {
951
+ name: string;
952
+ displayName: string;
953
+ maxInputTokens: number;
954
+ supportedFileTypes: "image"[];
955
+ reasoning: false;
956
+ supportsTemperature: true;
957
+ supportsToolCall: false;
958
+ releaseDate: string;
959
+ modalities: {
960
+ input: ("image" | "text")[];
961
+ output: "text"[];
962
+ };
963
+ pricing: {
964
+ inputPerM: number;
965
+ outputPerM: number;
966
+ currency: "USD";
967
+ unit: "per_million_tokens";
968
+ };
969
+ default?: never;
970
+ })[];
971
+ minimax: ({
972
+ name: string;
973
+ displayName: string;
974
+ maxInputTokens: number;
975
+ supportedFileTypes: never[];
976
+ reasoning: true;
977
+ supportsTemperature: true;
978
+ supportsToolCall: true;
979
+ releaseDate: string;
980
+ modalities: {
981
+ input: "text"[];
982
+ output: "text"[];
983
+ };
984
+ pricing: {
985
+ inputPerM: number;
986
+ outputPerM: number;
987
+ currency: "USD";
988
+ unit: "per_million_tokens";
989
+ cacheReadPerM?: never;
990
+ cacheWritePerM?: never;
991
+ };
992
+ default?: never;
993
+ } | {
994
+ name: string;
995
+ displayName: string;
996
+ maxInputTokens: number;
997
+ supportedFileTypes: never[];
998
+ reasoning: true;
999
+ supportsTemperature: true;
1000
+ supportsToolCall: true;
1001
+ releaseDate: string;
1002
+ modalities: {
1003
+ input: "text"[];
1004
+ output: "text"[];
1005
+ };
1006
+ pricing: {
1007
+ inputPerM: number;
1008
+ outputPerM: number;
1009
+ currency: "USD";
1010
+ unit: "per_million_tokens";
1011
+ cacheReadPerM?: never;
1012
+ cacheWritePerM?: never;
1013
+ };
1014
+ default: true;
1015
+ } | {
1016
+ name: string;
1017
+ displayName: string;
1018
+ maxInputTokens: number;
1019
+ supportedFileTypes: never[];
1020
+ reasoning: true;
1021
+ supportsTemperature: true;
1022
+ supportsToolCall: true;
1023
+ releaseDate: string;
1024
+ modalities: {
1025
+ input: "text"[];
1026
+ output: "text"[];
1027
+ };
1028
+ pricing: {
1029
+ inputPerM: number;
1030
+ outputPerM: number;
1031
+ cacheReadPerM: number;
1032
+ cacheWritePerM: number;
1033
+ currency: "USD";
1034
+ unit: "per_million_tokens";
1035
+ };
1036
+ default?: never;
1037
+ })[];
1038
+ glm: ({
1039
+ name: string;
1040
+ displayName: string;
1041
+ maxInputTokens: number;
1042
+ supportedFileTypes: never[];
1043
+ reasoning: true;
1044
+ supportsTemperature: true;
1045
+ supportsToolCall: true;
1046
+ releaseDate: string;
1047
+ modalities: {
1048
+ input: "text"[];
1049
+ output: "text"[];
1050
+ };
1051
+ pricing: {
1052
+ inputPerM: number;
1053
+ outputPerM: number;
1054
+ cacheReadPerM: number;
1055
+ cacheWritePerM: number;
1056
+ currency: "USD";
1057
+ unit: "per_million_tokens";
1058
+ };
1059
+ interleaved?: never;
1060
+ supportsInterleaved?: never;
1061
+ default?: never;
1062
+ } | {
1063
+ name: string;
1064
+ displayName: string;
1065
+ maxInputTokens: number;
1066
+ supportedFileTypes: ("image" | "video")[];
1067
+ reasoning: true;
1068
+ supportsTemperature: true;
1069
+ supportsToolCall: true;
1070
+ releaseDate: string;
1071
+ modalities: {
1072
+ input: ("image" | "video" | "text")[];
1073
+ output: "text"[];
1074
+ };
1075
+ pricing: {
1076
+ inputPerM: number;
1077
+ outputPerM: number;
1078
+ currency: "USD";
1079
+ unit: "per_million_tokens";
1080
+ cacheReadPerM?: never;
1081
+ cacheWritePerM?: never;
1082
+ };
1083
+ interleaved?: never;
1084
+ supportsInterleaved?: never;
1085
+ default?: never;
1086
+ } | {
1087
+ name: string;
1088
+ displayName: string;
1089
+ maxInputTokens: number;
1090
+ supportedFileTypes: never[];
1091
+ reasoning: true;
1092
+ supportsTemperature: true;
1093
+ supportsToolCall: true;
1094
+ releaseDate: string;
1095
+ modalities: {
1096
+ input: "text"[];
1097
+ output: "text"[];
1098
+ };
1099
+ interleaved: {
1100
+ field: string;
1101
+ };
1102
+ supportsInterleaved: true;
1103
+ pricing: {
1104
+ inputPerM: number;
1105
+ outputPerM: number;
1106
+ cacheReadPerM: number;
1107
+ cacheWritePerM: number;
1108
+ currency: "USD";
1109
+ unit: "per_million_tokens";
1110
+ };
1111
+ default: true;
1112
+ } | {
1113
+ name: string;
1114
+ displayName: string;
1115
+ maxInputTokens: number;
1116
+ supportedFileTypes: ("pdf" | "image" | "video")[];
1117
+ reasoning: true;
1118
+ supportsTemperature: true;
1119
+ supportsToolCall: true;
1120
+ releaseDate: string;
1121
+ modalities: {
1122
+ input: ("pdf" | "image" | "video" | "text")[];
1123
+ output: "text"[];
1124
+ };
1125
+ interleaved: {
1126
+ field: string;
1127
+ };
1128
+ supportsInterleaved: true;
1129
+ pricing: {
1130
+ inputPerM: number;
1131
+ outputPerM: number;
1132
+ cacheReadPerM: number;
1133
+ cacheWritePerM: number;
1134
+ currency: "USD";
1135
+ unit: "per_million_tokens";
1136
+ };
1137
+ default?: never;
1138
+ })[];
1139
+ openrouter: ({
1140
+ name: string;
1141
+ displayName: string;
1142
+ maxInputTokens: number;
1143
+ supportedFileTypes: ("pdf" | "image")[];
1144
+ reasoning: true;
1145
+ supportsTemperature: true;
1146
+ supportsToolCall: true;
1147
+ releaseDate: string;
1148
+ modalities: {
1149
+ input: ("pdf" | "image" | "text")[];
1150
+ output: "text"[];
1151
+ };
1152
+ pricing: {
1153
+ inputPerM: number;
1154
+ outputPerM: number;
1155
+ cacheReadPerM: number;
1156
+ cacheWritePerM: number;
1157
+ currency: "USD";
1158
+ unit: "per_million_tokens";
1159
+ contextOver200kPerM?: never;
1160
+ reasoningPerM?: never;
1161
+ };
1162
+ interleaved?: never;
1163
+ supportsInterleaved?: never;
1164
+ status?: never;
1165
+ } | {
1166
+ name: string;
1167
+ displayName: string;
1168
+ maxInputTokens: number;
1169
+ supportedFileTypes: ("pdf" | "image")[];
1170
+ reasoning: true;
1171
+ supportsTemperature: false;
1172
+ supportsToolCall: true;
1173
+ releaseDate: string;
1174
+ modalities: {
1175
+ input: ("pdf" | "image" | "text")[];
1176
+ output: "text"[];
1177
+ };
1178
+ pricing: {
1179
+ inputPerM: number;
1180
+ outputPerM: number;
1181
+ cacheReadPerM: number;
1182
+ cacheWritePerM: number;
1183
+ currency: "USD";
1184
+ unit: "per_million_tokens";
1185
+ contextOver200kPerM?: never;
1186
+ reasoningPerM?: never;
1187
+ };
1188
+ interleaved?: never;
1189
+ supportsInterleaved?: never;
1190
+ status?: never;
1191
+ } | {
1192
+ name: string;
1193
+ displayName: string;
1194
+ maxInputTokens: number;
1195
+ supportedFileTypes: ("pdf" | "image" | "video")[];
1196
+ reasoning: true;
1197
+ supportsTemperature: true;
1198
+ supportsToolCall: true;
1199
+ releaseDate: string;
1200
+ modalities: {
1201
+ input: ("pdf" | "image" | "video" | "text")[];
1202
+ output: "text"[];
1203
+ };
1204
+ pricing: {
1205
+ inputPerM: number;
1206
+ outputPerM: number;
1207
+ currency: "USD";
1208
+ unit: "per_million_tokens";
1209
+ cacheReadPerM?: never;
1210
+ cacheWritePerM?: never;
1211
+ contextOver200kPerM?: never;
1212
+ reasoningPerM?: never;
1213
+ };
1214
+ interleaved?: never;
1215
+ supportsInterleaved?: never;
1216
+ status?: never;
1217
+ } | {
1218
+ name: string;
1219
+ displayName: string;
1220
+ maxInputTokens: number;
1221
+ supportedFileTypes: ("pdf" | "image")[];
1222
+ reasoning: true;
1223
+ supportsTemperature: true;
1224
+ supportsToolCall: true;
1225
+ releaseDate: string;
1226
+ modalities: {
1227
+ input: ("pdf" | "image" | "text")[];
1228
+ output: "text"[];
1229
+ };
1230
+ pricing: {
1231
+ inputPerM: number;
1232
+ outputPerM: number;
1233
+ cacheReadPerM: number;
1234
+ cacheWritePerM: number;
1235
+ contextOver200kPerM: {
1236
+ inputPerM: number;
1237
+ outputPerM: number;
1238
+ };
1239
+ currency: "USD";
1240
+ unit: "per_million_tokens";
1241
+ reasoningPerM?: never;
1242
+ };
1243
+ interleaved?: never;
1244
+ supportsInterleaved?: never;
1245
+ status?: never;
1246
+ } | {
1247
+ name: string;
1248
+ displayName: string;
1249
+ maxInputTokens: number;
1250
+ supportedFileTypes: ("pdf" | "image")[];
1251
+ reasoning: true;
1252
+ supportsTemperature: false;
1253
+ supportsToolCall: true;
1254
+ releaseDate: string;
1255
+ modalities: {
1256
+ input: ("pdf" | "image" | "text")[];
1257
+ output: "text"[];
1258
+ };
1259
+ pricing: {
1260
+ inputPerM: number;
1261
+ outputPerM: number;
1262
+ cacheReadPerM: number;
1263
+ cacheWritePerM: number;
1264
+ contextOver200kPerM: {
1265
+ inputPerM: number;
1266
+ outputPerM: number;
1267
+ };
1268
+ currency: "USD";
1269
+ unit: "per_million_tokens";
1270
+ reasoningPerM?: never;
1271
+ };
1272
+ interleaved?: never;
1273
+ supportsInterleaved?: never;
1274
+ status?: never;
1275
+ } | {
1276
+ name: string;
1277
+ displayName: string;
1278
+ maxInputTokens: number;
1279
+ supportedFileTypes: "image"[];
1280
+ reasoning: false;
1281
+ supportsTemperature: true;
1282
+ supportsToolCall: false;
1283
+ releaseDate: string;
1284
+ modalities: {
1285
+ input: ("image" | "text")[];
1286
+ output: "text"[];
1287
+ };
1288
+ pricing: {
1289
+ inputPerM: number;
1290
+ outputPerM: number;
1291
+ cacheReadPerM: number;
1292
+ currency: "USD";
1293
+ unit: "per_million_tokens";
1294
+ cacheWritePerM?: never;
1295
+ contextOver200kPerM?: never;
1296
+ reasoningPerM?: never;
1297
+ };
1298
+ interleaved?: never;
1299
+ supportsInterleaved?: never;
1300
+ status?: never;
1301
+ } | {
1302
+ name: string;
1303
+ displayName: string;
1304
+ maxInputTokens: number;
1305
+ supportedFileTypes: never[];
1306
+ reasoning: true;
1307
+ supportsTemperature: false;
1308
+ supportsToolCall: true;
1309
+ releaseDate: string;
1310
+ modalities: {
1311
+ input: "text"[];
1312
+ output: "text"[];
1313
+ };
1314
+ interleaved: {
1315
+ field: string;
1316
+ };
1317
+ supportsInterleaved: true;
1318
+ pricing: {
1319
+ inputPerM: number;
1320
+ outputPerM: number;
1321
+ currency: "USD";
1322
+ unit: "per_million_tokens";
1323
+ cacheReadPerM?: never;
1324
+ cacheWritePerM?: never;
1325
+ contextOver200kPerM?: never;
1326
+ reasoningPerM?: never;
1327
+ };
1328
+ status?: never;
1329
+ } | {
1330
+ name: string;
1331
+ displayName: string;
1332
+ maxInputTokens: number;
1333
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
1334
+ reasoning: false;
1335
+ supportsTemperature: true;
1336
+ supportsToolCall: true;
1337
+ releaseDate: string;
1338
+ modalities: {
1339
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
1340
+ output: "text"[];
1341
+ };
1342
+ pricing: {
1343
+ inputPerM: number;
1344
+ outputPerM: number;
1345
+ cacheReadPerM: number;
1346
+ cacheWritePerM: number;
1347
+ currency: "USD";
1348
+ unit: "per_million_tokens";
1349
+ contextOver200kPerM?: never;
1350
+ reasoningPerM?: never;
1351
+ };
1352
+ interleaved?: never;
1353
+ supportsInterleaved?: never;
1354
+ status?: never;
1355
+ } | {
1356
+ name: string;
1357
+ displayName: string;
1358
+ maxInputTokens: number;
1359
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
1360
+ reasoning: false;
1361
+ supportsTemperature: true;
1362
+ supportsToolCall: true;
1363
+ releaseDate: string;
1364
+ modalities: {
1365
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
1366
+ output: "text"[];
1367
+ };
1368
+ pricing: {
1369
+ inputPerM: number;
1370
+ outputPerM: number;
1371
+ currency: "USD";
1372
+ unit: "per_million_tokens";
1373
+ cacheReadPerM?: never;
1374
+ cacheWritePerM?: never;
1375
+ contextOver200kPerM?: never;
1376
+ reasoningPerM?: never;
1377
+ };
1378
+ interleaved?: never;
1379
+ supportsInterleaved?: never;
1380
+ status?: never;
1381
+ } | {
1382
+ name: string;
1383
+ displayName: string;
1384
+ maxInputTokens: number;
1385
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
1386
+ reasoning: true;
1387
+ supportsTemperature: true;
1388
+ supportsToolCall: true;
1389
+ releaseDate: string;
1390
+ modalities: {
1391
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
1392
+ output: "text"[];
1393
+ };
1394
+ pricing: {
1395
+ inputPerM: number;
1396
+ outputPerM: number;
1397
+ cacheReadPerM: number;
1398
+ cacheWritePerM: number;
1399
+ reasoningPerM: number;
1400
+ currency: "USD";
1401
+ unit: "per_million_tokens";
1402
+ contextOver200kPerM?: never;
1403
+ };
1404
+ interleaved?: never;
1405
+ supportsInterleaved?: never;
1406
+ status?: never;
1407
+ } | {
1408
+ name: string;
1409
+ displayName: string;
1410
+ maxInputTokens: number;
1411
+ supportedFileTypes: ("image" | "document")[];
1412
+ reasoning: false;
1413
+ supportsTemperature: true;
1414
+ supportsToolCall: false;
1415
+ releaseDate: string;
1416
+ modalities: {
1417
+ input: ("image" | "text")[];
1418
+ output: ("image" | "text")[];
1419
+ };
1420
+ pricing: {
1421
+ inputPerM: number;
1422
+ outputPerM: number;
1423
+ cacheReadPerM: number;
1424
+ cacheWritePerM: number;
1425
+ currency: "USD";
1426
+ unit: "per_million_tokens";
1427
+ contextOver200kPerM?: never;
1428
+ reasoningPerM?: never;
1429
+ };
1430
+ interleaved?: never;
1431
+ supportsInterleaved?: never;
1432
+ status?: never;
1433
+ } | {
1434
+ name: string;
1435
+ displayName: string;
1436
+ maxInputTokens: number;
1437
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
1438
+ reasoning: true;
1439
+ supportsTemperature: true;
1440
+ supportsToolCall: true;
1441
+ releaseDate: string;
1442
+ modalities: {
1443
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
1444
+ output: "text"[];
1445
+ };
1446
+ interleaved: {
1447
+ field: string;
1448
+ };
1449
+ supportsInterleaved: true;
1450
+ pricing: {
1451
+ inputPerM: number;
1452
+ outputPerM: number;
1453
+ cacheReadPerM: number;
1454
+ cacheWritePerM: number;
1455
+ reasoningPerM: number;
1456
+ currency: "USD";
1457
+ unit: "per_million_tokens";
1458
+ contextOver200kPerM?: never;
1459
+ };
1460
+ status?: never;
1461
+ } | {
1462
+ name: string;
1463
+ displayName: string;
1464
+ maxInputTokens: number;
1465
+ supportedFileTypes: ("image" | "document")[];
1466
+ reasoning: true;
1467
+ supportsTemperature: true;
1468
+ supportsToolCall: false;
1469
+ releaseDate: string;
1470
+ modalities: {
1471
+ input: ("image" | "text")[];
1472
+ output: ("image" | "text")[];
1473
+ };
1474
+ pricing: {
1475
+ inputPerM: number;
1476
+ outputPerM: number;
1477
+ cacheReadPerM: number;
1478
+ cacheWritePerM: number;
1479
+ reasoningPerM: number;
1480
+ currency: "USD";
1481
+ unit: "per_million_tokens";
1482
+ contextOver200kPerM?: never;
1483
+ };
1484
+ interleaved?: never;
1485
+ supportsInterleaved?: never;
1486
+ status?: never;
1487
+ } | {
1488
+ name: string;
1489
+ displayName: string;
1490
+ maxInputTokens: number;
1491
+ supportedFileTypes: ("image" | "document")[];
1492
+ reasoning: true;
1493
+ supportsTemperature: true;
1494
+ supportsToolCall: false;
1495
+ releaseDate: string;
1496
+ modalities: {
1497
+ input: ("image" | "text")[];
1498
+ output: ("image" | "text")[];
1499
+ };
1500
+ pricing: {
1501
+ inputPerM: number;
1502
+ outputPerM: number;
1503
+ currency: "USD";
1504
+ unit: "per_million_tokens";
1505
+ cacheReadPerM?: never;
1506
+ cacheWritePerM?: never;
1507
+ contextOver200kPerM?: never;
1508
+ reasoningPerM?: never;
1509
+ };
1510
+ interleaved?: never;
1511
+ supportsInterleaved?: never;
1512
+ status?: never;
1513
+ } | {
1514
+ name: string;
1515
+ displayName: string;
1516
+ maxInputTokens: number;
1517
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
1518
+ reasoning: true;
1519
+ supportsTemperature: true;
1520
+ supportsToolCall: true;
1521
+ releaseDate: string;
1522
+ modalities: {
1523
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
1524
+ output: "text"[];
1525
+ };
1526
+ interleaved: {
1527
+ field: string;
1528
+ };
1529
+ supportsInterleaved: true;
1530
+ pricing: {
1531
+ inputPerM: number;
1532
+ outputPerM: number;
1533
+ cacheReadPerM: number;
1534
+ cacheWritePerM: number;
1535
+ reasoningPerM: number;
1536
+ contextOver200kPerM: {
1537
+ inputPerM: number;
1538
+ outputPerM: number;
1539
+ };
1540
+ currency: "USD";
1541
+ unit: "per_million_tokens";
1542
+ };
1543
+ status?: never;
1544
+ } | {
1545
+ name: string;
1546
+ displayName: string;
1547
+ maxInputTokens: number;
1548
+ supportedFileTypes: ("image" | "video" | "document")[];
1549
+ reasoning: true;
1550
+ supportsTemperature: true;
1551
+ supportsToolCall: true;
1552
+ releaseDate: string;
1553
+ modalities: {
1554
+ input: ("image" | "video" | "text")[];
1555
+ output: "text"[];
1556
+ };
1557
+ pricing: {
1558
+ inputPerM: number;
1559
+ outputPerM: number;
1560
+ currency: "USD";
1561
+ unit: "per_million_tokens";
1562
+ cacheReadPerM?: never;
1563
+ cacheWritePerM?: never;
1564
+ contextOver200kPerM?: never;
1565
+ reasoningPerM?: never;
1566
+ };
1567
+ interleaved?: never;
1568
+ supportsInterleaved?: never;
1569
+ status?: never;
1570
+ } | {
1571
+ name: string;
1572
+ displayName: string;
1573
+ maxInputTokens: number;
1574
+ supportedFileTypes: ("image" | "document")[];
1575
+ reasoning: false;
1576
+ supportsTemperature: true;
1577
+ supportsToolCall: false;
1578
+ releaseDate: string;
1579
+ modalities: {
1580
+ input: ("image" | "text")[];
1581
+ output: ("audio" | "text")[];
1582
+ };
1583
+ pricing: {
1584
+ inputPerM: number;
1585
+ outputPerM: number;
1586
+ currency: "USD";
1587
+ unit: "per_million_tokens";
1588
+ cacheReadPerM?: never;
1589
+ cacheWritePerM?: never;
1590
+ contextOver200kPerM?: never;
1591
+ reasoningPerM?: never;
1592
+ };
1593
+ interleaved?: never;
1594
+ supportsInterleaved?: never;
1595
+ status?: never;
1596
+ } | {
1597
+ name: string;
1598
+ displayName: string;
1599
+ maxInputTokens: number;
1600
+ supportedFileTypes: never[];
1601
+ reasoning: true;
1602
+ supportsTemperature: true;
1603
+ supportsToolCall: true;
1604
+ releaseDate: string;
1605
+ modalities: {
1606
+ input: "text"[];
1607
+ output: "text"[];
1608
+ };
1609
+ interleaved: {
1610
+ field: string;
1611
+ };
1612
+ supportsInterleaved: true;
1613
+ pricing: {
1614
+ inputPerM: number;
1615
+ outputPerM: number;
1616
+ currency: "USD";
1617
+ unit: "per_million_tokens";
1618
+ cacheReadPerM?: never;
1619
+ cacheWritePerM?: never;
1620
+ contextOver200kPerM?: never;
1621
+ reasoningPerM?: never;
1622
+ };
1623
+ status?: never;
1624
+ } | {
1625
+ name: string;
1626
+ displayName: string;
1627
+ maxInputTokens: number;
1628
+ supportedFileTypes: ("pdf" | "audio")[];
1629
+ reasoning: false;
1630
+ supportsTemperature: true;
1631
+ supportsToolCall: true;
1632
+ releaseDate: string;
1633
+ modalities: {
1634
+ input: ("pdf" | "audio" | "text")[];
1635
+ output: "text"[];
1636
+ };
1637
+ pricing: {
1638
+ inputPerM: number;
1639
+ outputPerM: number;
1640
+ cacheReadPerM: number;
1641
+ currency: "USD";
1642
+ unit: "per_million_tokens";
1643
+ cacheWritePerM?: never;
1644
+ contextOver200kPerM?: never;
1645
+ reasoningPerM?: never;
1646
+ };
1647
+ interleaved?: never;
1648
+ supportsInterleaved?: never;
1649
+ status?: never;
1650
+ } | {
1651
+ name: string;
1652
+ displayName: string;
1653
+ maxInputTokens: number;
1654
+ supportedFileTypes: ("image" | "audio" | "video")[];
1655
+ reasoning: true;
1656
+ supportsTemperature: true;
1657
+ supportsToolCall: true;
1658
+ releaseDate: string;
1659
+ modalities: {
1660
+ input: ("image" | "audio" | "video" | "text")[];
1661
+ output: "text"[];
1662
+ };
1663
+ pricing: {
1664
+ inputPerM: number;
1665
+ outputPerM: number;
1666
+ currency: "USD";
1667
+ unit: "per_million_tokens";
1668
+ cacheReadPerM?: never;
1669
+ cacheWritePerM?: never;
1670
+ contextOver200kPerM?: never;
1671
+ reasoningPerM?: never;
1672
+ };
1673
+ interleaved?: never;
1674
+ supportsInterleaved?: never;
1675
+ status?: never;
1676
+ } | {
1677
+ name: string;
1678
+ displayName: string;
1679
+ maxInputTokens: number;
1680
+ supportedFileTypes: ("pdf" | "image" | "document")[];
1681
+ reasoning: false;
1682
+ supportsTemperature: true;
1683
+ supportsToolCall: true;
1684
+ releaseDate: string;
1685
+ modalities: {
1686
+ input: ("pdf" | "image" | "text")[];
1687
+ output: "text"[];
1688
+ };
1689
+ pricing: {
1690
+ inputPerM: number;
1691
+ outputPerM: number;
1692
+ cacheReadPerM: number;
1693
+ currency: "USD";
1694
+ unit: "per_million_tokens";
1695
+ cacheWritePerM?: never;
1696
+ contextOver200kPerM?: never;
1697
+ reasoningPerM?: never;
1698
+ };
1699
+ interleaved?: never;
1700
+ supportsInterleaved?: never;
1701
+ status?: never;
1702
+ } | {
1703
+ name: string;
1704
+ displayName: string;
1705
+ maxInputTokens: number;
1706
+ supportedFileTypes: "audio"[];
1707
+ reasoning: false;
1708
+ supportsTemperature: true;
1709
+ supportsToolCall: true;
1710
+ releaseDate: string;
1711
+ modalities: {
1712
+ input: ("audio" | "text")[];
1713
+ output: ("audio" | "text")[];
1714
+ };
1715
+ pricing: {
1716
+ inputPerM: number;
1717
+ outputPerM: number;
1718
+ currency: "USD";
1719
+ unit: "per_million_tokens";
1720
+ cacheReadPerM?: never;
1721
+ cacheWritePerM?: never;
1722
+ contextOver200kPerM?: never;
1723
+ reasoningPerM?: never;
1724
+ };
1725
+ interleaved?: never;
1726
+ supportsInterleaved?: never;
1727
+ status?: never;
1728
+ } | {
1729
+ name: string;
1730
+ displayName: string;
1731
+ maxInputTokens: number;
1732
+ supportedFileTypes: never[];
1733
+ reasoning: false;
1734
+ supportsTemperature: false;
1735
+ supportsToolCall: false;
1736
+ releaseDate: string;
1737
+ modalities: {
1738
+ input: "text"[];
1739
+ output: "text"[];
1740
+ };
1741
+ pricing: {
1742
+ inputPerM: number;
1743
+ outputPerM: number;
1744
+ currency: "USD";
1745
+ unit: "per_million_tokens";
1746
+ cacheReadPerM?: never;
1747
+ cacheWritePerM?: never;
1748
+ contextOver200kPerM?: never;
1749
+ reasoningPerM?: never;
1750
+ };
1751
+ interleaved?: never;
1752
+ supportsInterleaved?: never;
1753
+ status?: never;
1754
+ } | {
1755
+ name: string;
1756
+ displayName: string;
1757
+ maxInputTokens: number;
1758
+ supportedFileTypes: ("pdf" | "image" | "document")[];
1759
+ reasoning: true;
1760
+ supportsTemperature: false;
1761
+ supportsToolCall: true;
1762
+ releaseDate: string;
1763
+ modalities: {
1764
+ input: ("pdf" | "image" | "text")[];
1765
+ output: "text"[];
1766
+ };
1767
+ pricing: {
1768
+ inputPerM: number;
1769
+ outputPerM: number;
1770
+ cacheReadPerM: number;
1771
+ currency: "USD";
1772
+ unit: "per_million_tokens";
1773
+ cacheWritePerM?: never;
1774
+ contextOver200kPerM?: never;
1775
+ reasoningPerM?: never;
1776
+ };
1777
+ interleaved?: never;
1778
+ supportsInterleaved?: never;
1779
+ status?: never;
1780
+ } | {
1781
+ name: string;
1782
+ displayName: string;
1783
+ maxInputTokens: number;
1784
+ supportedFileTypes: ("pdf" | "image" | "document")[];
1785
+ reasoning: false;
1786
+ supportsTemperature: false;
1787
+ supportsToolCall: false;
1788
+ releaseDate: string;
1789
+ modalities: {
1790
+ input: ("pdf" | "image" | "text")[];
1791
+ output: "text"[];
1792
+ };
1793
+ pricing: {
1794
+ inputPerM: number;
1795
+ outputPerM: number;
1796
+ cacheReadPerM: number;
1797
+ currency: "USD";
1798
+ unit: "per_million_tokens";
1799
+ cacheWritePerM?: never;
1800
+ contextOver200kPerM?: never;
1801
+ reasoningPerM?: never;
1802
+ };
1803
+ interleaved?: never;
1804
+ supportsInterleaved?: never;
1805
+ status?: never;
1806
+ } | {
1807
+ name: string;
1808
+ displayName: string;
1809
+ maxInputTokens: number;
1810
+ supportedFileTypes: ("pdf" | "image" | "document")[];
1811
+ reasoning: true;
1812
+ supportsTemperature: true;
1813
+ supportsToolCall: false;
1814
+ releaseDate: string;
1815
+ modalities: {
1816
+ input: ("pdf" | "image" | "text")[];
1817
+ output: ("image" | "text")[];
1818
+ };
1819
+ pricing: {
1820
+ inputPerM: number;
1821
+ outputPerM: number;
1822
+ cacheReadPerM: number;
1823
+ currency: "USD";
1824
+ unit: "per_million_tokens";
1825
+ cacheWritePerM?: never;
1826
+ contextOver200kPerM?: never;
1827
+ reasoningPerM?: never;
1828
+ };
1829
+ interleaved?: never;
1830
+ supportsInterleaved?: never;
1831
+ status?: never;
1832
+ } | {
1833
+ name: string;
1834
+ displayName: string;
1835
+ maxInputTokens: number;
1836
+ supportedFileTypes: ("pdf" | "image" | "document")[];
1837
+ reasoning: true;
1838
+ supportsTemperature: false;
1839
+ supportsToolCall: true;
1840
+ releaseDate: string;
1841
+ modalities: {
1842
+ input: ("pdf" | "image" | "text")[];
1843
+ output: "text"[];
1844
+ };
1845
+ pricing: {
1846
+ inputPerM: number;
1847
+ outputPerM: number;
1848
+ currency: "USD";
1849
+ unit: "per_million_tokens";
1850
+ cacheReadPerM?: never;
1851
+ cacheWritePerM?: never;
1852
+ contextOver200kPerM?: never;
1853
+ reasoningPerM?: never;
1854
+ };
1855
+ interleaved?: never;
1856
+ supportsInterleaved?: never;
1857
+ status?: never;
1858
+ } | {
1859
+ name: string;
1860
+ displayName: string;
1861
+ maxInputTokens: number;
1862
+ supportedFileTypes: ("pdf" | "image" | "document")[];
1863
+ reasoning: false;
1864
+ supportsTemperature: false;
1865
+ supportsToolCall: true;
1866
+ releaseDate: string;
1867
+ modalities: {
1868
+ input: ("pdf" | "image" | "text")[];
1869
+ output: "text"[];
1870
+ };
1871
+ pricing: {
1872
+ inputPerM: number;
1873
+ outputPerM: number;
1874
+ cacheReadPerM: number;
1875
+ currency: "USD";
1876
+ unit: "per_million_tokens";
1877
+ cacheWritePerM?: never;
1878
+ contextOver200kPerM?: never;
1879
+ reasoningPerM?: never;
1880
+ };
1881
+ interleaved?: never;
1882
+ supportsInterleaved?: never;
1883
+ status?: never;
1884
+ } | {
1885
+ name: string;
1886
+ displayName: string;
1887
+ maxInputTokens: number;
1888
+ supportedFileTypes: ("pdf" | "image" | "document")[];
1889
+ reasoning: true;
1890
+ supportsTemperature: false;
1891
+ supportsToolCall: false;
1892
+ releaseDate: string;
1893
+ modalities: {
1894
+ input: ("pdf" | "image" | "text")[];
1895
+ output: ("image" | "text")[];
1896
+ };
1897
+ pricing: {
1898
+ inputPerM: number;
1899
+ outputPerM: number;
1900
+ cacheReadPerM: number;
1901
+ currency: "USD";
1902
+ unit: "per_million_tokens";
1903
+ cacheWritePerM?: never;
1904
+ contextOver200kPerM?: never;
1905
+ reasoningPerM?: never;
1906
+ };
1907
+ interleaved?: never;
1908
+ supportsInterleaved?: never;
1909
+ status?: never;
1910
+ } | {
1911
+ name: string;
1912
+ displayName: string;
1913
+ maxInputTokens: number;
1914
+ supportedFileTypes: ("pdf" | "image" | "document")[];
1915
+ reasoning: true;
1916
+ supportsTemperature: false;
1917
+ supportsToolCall: false;
1918
+ releaseDate: string;
1919
+ modalities: {
1920
+ input: ("pdf" | "image" | "text")[];
1921
+ output: "text"[];
1922
+ };
1923
+ pricing: {
1924
+ inputPerM: number;
1925
+ outputPerM: number;
1926
+ currency: "USD";
1927
+ unit: "per_million_tokens";
1928
+ cacheReadPerM?: never;
1929
+ cacheWritePerM?: never;
1930
+ contextOver200kPerM?: never;
1931
+ reasoningPerM?: never;
1932
+ };
1933
+ interleaved?: never;
1934
+ supportsInterleaved?: never;
1935
+ status?: never;
1936
+ } | {
1937
+ name: string;
1938
+ displayName: string;
1939
+ maxInputTokens: number;
1940
+ supportedFileTypes: ("pdf" | "image" | "document")[];
1941
+ reasoning: true;
1942
+ supportsTemperature: true;
1943
+ supportsToolCall: true;
1944
+ releaseDate: string;
1945
+ modalities: {
1946
+ input: ("pdf" | "image" | "text")[];
1947
+ output: "text"[];
1948
+ };
1949
+ pricing: {
1950
+ inputPerM: number;
1951
+ outputPerM: number;
1952
+ cacheReadPerM: number;
1953
+ currency: "USD";
1954
+ unit: "per_million_tokens";
1955
+ cacheWritePerM?: never;
1956
+ contextOver200kPerM?: never;
1957
+ reasoningPerM?: never;
1958
+ };
1959
+ interleaved?: never;
1960
+ supportsInterleaved?: never;
1961
+ status?: never;
1962
+ } | {
1963
+ name: string;
1964
+ displayName: string;
1965
+ maxInputTokens: number;
1966
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video")[];
1967
+ reasoning: true;
1968
+ supportsTemperature: true;
1969
+ supportsToolCall: true;
1970
+ releaseDate: string;
1971
+ modalities: {
1972
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
1973
+ output: ("image" | "text")[];
1974
+ };
1975
+ pricing?: never;
1976
+ interleaved?: never;
1977
+ supportsInterleaved?: never;
1978
+ status?: never;
1979
+ } | {
1980
+ name: string;
1981
+ displayName: string;
1982
+ maxInputTokens: number;
1983
+ supportedFileTypes: never[];
1984
+ reasoning: false;
1985
+ supportsTemperature: false;
1986
+ supportsToolCall: false;
1987
+ releaseDate: string;
1988
+ modalities: {
1989
+ input: "text"[];
1990
+ output: "text"[];
1991
+ };
1992
+ pricing?: never;
1993
+ interleaved?: never;
1994
+ supportsInterleaved?: never;
1995
+ status?: never;
1996
+ } | {
1997
+ name: string;
1998
+ displayName: string;
1999
+ maxInputTokens: number;
2000
+ supportedFileTypes: never[];
2001
+ reasoning: false;
2002
+ supportsTemperature: true;
2003
+ supportsToolCall: true;
2004
+ releaseDate: string;
2005
+ status: string;
2006
+ modalities: {
2007
+ input: "text"[];
2008
+ output: "text"[];
2009
+ };
2010
+ pricing: {
2011
+ inputPerM: number;
2012
+ outputPerM: number;
2013
+ currency: "USD";
2014
+ unit: "per_million_tokens";
2015
+ cacheReadPerM?: never;
2016
+ cacheWritePerM?: never;
2017
+ contextOver200kPerM?: never;
2018
+ reasoningPerM?: never;
2019
+ };
2020
+ interleaved?: never;
2021
+ supportsInterleaved?: never;
2022
+ } | {
2023
+ name: string;
2024
+ displayName: string;
2025
+ maxInputTokens: number;
2026
+ supportedFileTypes: ("image" | "video")[];
2027
+ reasoning: true;
2028
+ supportsTemperature: true;
2029
+ supportsToolCall: false;
2030
+ releaseDate: string;
2031
+ modalities: {
2032
+ input: ("image" | "video" | "text")[];
2033
+ output: "text"[];
2034
+ };
2035
+ pricing: {
2036
+ inputPerM: number;
2037
+ outputPerM: number;
2038
+ currency: "USD";
2039
+ unit: "per_million_tokens";
2040
+ cacheReadPerM?: never;
2041
+ cacheWritePerM?: never;
2042
+ contextOver200kPerM?: never;
2043
+ reasoningPerM?: never;
2044
+ };
2045
+ interleaved?: never;
2046
+ supportsInterleaved?: never;
2047
+ status?: never;
2048
+ } | {
2049
+ name: string;
2050
+ displayName: string;
2051
+ maxInputTokens: number;
2052
+ supportedFileTypes: never[];
2053
+ reasoning: true;
2054
+ supportsTemperature: true;
2055
+ supportsToolCall: false;
2056
+ releaseDate: string;
2057
+ modalities: {
2058
+ input: "text"[];
2059
+ output: "text"[];
2060
+ };
2061
+ pricing: {
2062
+ inputPerM: number;
2063
+ outputPerM: number;
2064
+ reasoningPerM: number;
2065
+ currency: "USD";
2066
+ unit: "per_million_tokens";
2067
+ cacheReadPerM?: never;
2068
+ cacheWritePerM?: never;
2069
+ contextOver200kPerM?: never;
2070
+ };
2071
+ interleaved?: never;
2072
+ supportsInterleaved?: never;
2073
+ status?: never;
2074
+ } | {
2075
+ name: string;
2076
+ displayName: string;
2077
+ maxInputTokens: number;
2078
+ supportedFileTypes: ("image" | "video")[];
2079
+ reasoning: true;
2080
+ supportsTemperature: true;
2081
+ supportsToolCall: true;
2082
+ releaseDate: string;
2083
+ modalities: {
2084
+ input: ("image" | "video" | "text")[];
2085
+ output: "text"[];
2086
+ };
2087
+ pricing: {
2088
+ inputPerM: number;
2089
+ outputPerM: number;
2090
+ cacheWritePerM: number;
2091
+ currency: "USD";
2092
+ unit: "per_million_tokens";
2093
+ cacheReadPerM?: never;
2094
+ contextOver200kPerM?: never;
2095
+ reasoningPerM?: never;
2096
+ };
2097
+ interleaved?: never;
2098
+ supportsInterleaved?: never;
2099
+ status?: never;
2100
+ } | {
2101
+ name: string;
2102
+ displayName: string;
2103
+ maxInputTokens: number;
2104
+ supportedFileTypes: ("image" | "video")[];
2105
+ reasoning: true;
2106
+ supportsTemperature: true;
2107
+ supportsToolCall: true;
2108
+ releaseDate: string;
2109
+ modalities: {
2110
+ input: ("image" | "video" | "text")[];
2111
+ output: "text"[];
2112
+ };
2113
+ pricing: {
2114
+ inputPerM: number;
2115
+ outputPerM: number;
2116
+ cacheReadPerM: number;
2117
+ currency: "USD";
2118
+ unit: "per_million_tokens";
2119
+ cacheWritePerM?: never;
2120
+ contextOver200kPerM?: never;
2121
+ reasoningPerM?: never;
2122
+ };
2123
+ interleaved?: never;
2124
+ supportsInterleaved?: never;
2125
+ status?: never;
2126
+ } | {
2127
+ name: string;
2128
+ displayName: string;
2129
+ maxInputTokens: number;
2130
+ supportedFileTypes: "image"[];
2131
+ reasoning: true;
2132
+ supportsTemperature: true;
2133
+ supportsToolCall: true;
2134
+ releaseDate: string;
2135
+ modalities: {
2136
+ input: ("image" | "text")[];
2137
+ output: "text"[];
2138
+ };
2139
+ pricing: {
2140
+ inputPerM: number;
2141
+ outputPerM: number;
2142
+ cacheReadPerM: number;
2143
+ contextOver200kPerM: {
2144
+ inputPerM: number;
2145
+ outputPerM: number;
2146
+ };
2147
+ currency: "USD";
2148
+ unit: "per_million_tokens";
2149
+ cacheWritePerM?: never;
2150
+ reasoningPerM?: never;
2151
+ };
2152
+ interleaved?: never;
2153
+ supportsInterleaved?: never;
2154
+ status?: never;
2155
+ } | {
2156
+ name: string;
2157
+ displayName: string;
2158
+ maxInputTokens: number;
2159
+ supportedFileTypes: ("image" | "audio" | "video")[];
2160
+ reasoning: true;
2161
+ supportsTemperature: true;
2162
+ supportsToolCall: true;
2163
+ releaseDate: string;
2164
+ modalities: {
2165
+ input: ("image" | "audio" | "video" | "text")[];
2166
+ output: "text"[];
2167
+ };
2168
+ interleaved: {
2169
+ field: string;
2170
+ };
2171
+ supportsInterleaved: true;
2172
+ pricing: {
2173
+ inputPerM: number;
2174
+ outputPerM: number;
2175
+ cacheReadPerM: number;
2176
+ currency: "USD";
2177
+ unit: "per_million_tokens";
2178
+ cacheWritePerM?: never;
2179
+ contextOver200kPerM?: never;
2180
+ reasoningPerM?: never;
2181
+ };
2182
+ status?: never;
2183
+ })[];
2184
+ litellm: never[];
2185
+ glama: never[];
2186
+ vertex: ({
2187
+ name: string;
2188
+ displayName: string;
2189
+ maxInputTokens: number;
2190
+ supportedFileTypes: ("pdf" | "image" | "document")[];
2191
+ reasoning: false;
2192
+ supportsTemperature: true;
2193
+ supportsToolCall: true;
2194
+ releaseDate: string;
2195
+ modalities: {
2196
+ input: ("pdf" | "image" | "text")[];
2197
+ output: "text"[];
2198
+ };
2199
+ providerMetadata: {
2200
+ npm: string;
2201
+ api?: never;
2202
+ };
2203
+ pricing: {
2204
+ inputPerM: number;
2205
+ outputPerM: number;
2206
+ cacheReadPerM: number;
2207
+ cacheWritePerM: number;
2208
+ currency: "USD";
2209
+ unit: "per_million_tokens";
2210
+ contextOver200kPerM?: never;
2211
+ inputAudioPerM?: never;
2212
+ };
2213
+ default?: never;
2214
+ interleaved?: never;
2215
+ supportsInterleaved?: never;
2216
+ } | {
2217
+ name: string;
2218
+ displayName: string;
2219
+ maxInputTokens: number;
2220
+ supportedFileTypes: ("pdf" | "image" | "document")[];
2221
+ reasoning: false;
2222
+ supportsTemperature: true;
2223
+ supportsToolCall: true;
2224
+ releaseDate: string;
2225
+ modalities: {
2226
+ input: ("pdf" | "image" | "text")[];
2227
+ output: "text"[];
2228
+ };
2229
+ pricing: {
2230
+ inputPerM: number;
2231
+ outputPerM: number;
2232
+ cacheReadPerM: number;
2233
+ cacheWritePerM: number;
2234
+ currency: "USD";
2235
+ unit: "per_million_tokens";
2236
+ contextOver200kPerM?: never;
2237
+ inputAudioPerM?: never;
2238
+ };
2239
+ providerMetadata?: never;
2240
+ default?: never;
2241
+ interleaved?: never;
2242
+ supportsInterleaved?: never;
2243
+ } | {
2244
+ name: string;
2245
+ displayName: string;
2246
+ maxInputTokens: number;
2247
+ supportedFileTypes: ("pdf" | "image" | "document")[];
2248
+ reasoning: true;
2249
+ supportsTemperature: true;
2250
+ supportsToolCall: true;
2251
+ releaseDate: string;
2252
+ modalities: {
2253
+ input: ("pdf" | "image" | "text")[];
2254
+ output: "text"[];
2255
+ };
2256
+ providerMetadata: {
2257
+ npm: string;
2258
+ api?: never;
2259
+ };
2260
+ pricing: {
2261
+ inputPerM: number;
2262
+ outputPerM: number;
2263
+ cacheReadPerM: number;
2264
+ cacheWritePerM: number;
2265
+ currency: "USD";
2266
+ unit: "per_million_tokens";
2267
+ contextOver200kPerM?: never;
2268
+ inputAudioPerM?: never;
2269
+ };
2270
+ default?: never;
2271
+ interleaved?: never;
2272
+ supportsInterleaved?: never;
2273
+ } | {
2274
+ name: string;
2275
+ displayName: string;
2276
+ maxInputTokens: number;
2277
+ supportedFileTypes: ("pdf" | "image" | "document")[];
2278
+ reasoning: true;
2279
+ supportsTemperature: true;
2280
+ supportsToolCall: true;
2281
+ releaseDate: string;
2282
+ modalities: {
2283
+ input: ("pdf" | "image" | "text")[];
2284
+ output: "text"[];
2285
+ };
2286
+ providerMetadata: {
2287
+ npm: string;
2288
+ api?: never;
2289
+ };
2290
+ pricing: {
2291
+ inputPerM: number;
2292
+ outputPerM: number;
2293
+ cacheReadPerM: number;
2294
+ cacheWritePerM: number;
2295
+ contextOver200kPerM: {
2296
+ inputPerM: number;
2297
+ outputPerM: number;
2298
+ };
2299
+ currency: "USD";
2300
+ unit: "per_million_tokens";
2301
+ inputAudioPerM?: never;
2302
+ };
2303
+ default?: never;
2304
+ interleaved?: never;
2305
+ supportsInterleaved?: never;
2306
+ } | {
2307
+ name: string;
2308
+ displayName: string;
2309
+ maxInputTokens: number;
2310
+ supportedFileTypes: ("pdf" | "image" | "document")[];
2311
+ reasoning: true;
2312
+ supportsTemperature: true;
2313
+ supportsToolCall: true;
2314
+ releaseDate: string;
2315
+ modalities: {
2316
+ input: ("pdf" | "image" | "text")[];
2317
+ output: "text"[];
2318
+ };
2319
+ pricing: {
2320
+ inputPerM: number;
2321
+ outputPerM: number;
2322
+ cacheReadPerM: number;
2323
+ cacheWritePerM: number;
2324
+ contextOver200kPerM: {
2325
+ inputPerM: number;
2326
+ outputPerM: number;
2327
+ };
2328
+ currency: "USD";
2329
+ unit: "per_million_tokens";
2330
+ inputAudioPerM?: never;
2331
+ };
2332
+ providerMetadata?: never;
2333
+ default?: never;
2334
+ interleaved?: never;
2335
+ supportsInterleaved?: never;
2336
+ } | {
2337
+ name: string;
2338
+ displayName: string;
2339
+ maxInputTokens: number;
2340
+ supportedFileTypes: ("pdf" | "image" | "document")[];
2341
+ reasoning: true;
2342
+ supportsTemperature: false;
2343
+ supportsToolCall: true;
2344
+ releaseDate: string;
2345
+ modalities: {
2346
+ input: ("pdf" | "image" | "text")[];
2347
+ output: "text"[];
2348
+ };
2349
+ providerMetadata: {
2350
+ npm: string;
2351
+ api?: never;
2352
+ };
2353
+ pricing: {
2354
+ inputPerM: number;
2355
+ outputPerM: number;
2356
+ cacheReadPerM: number;
2357
+ cacheWritePerM: number;
2358
+ contextOver200kPerM: {
2359
+ inputPerM: number;
2360
+ outputPerM: number;
2361
+ };
2362
+ currency: "USD";
2363
+ unit: "per_million_tokens";
2364
+ inputAudioPerM?: never;
2365
+ };
2366
+ default?: never;
2367
+ interleaved?: never;
2368
+ supportsInterleaved?: never;
2369
+ } | {
2370
+ name: string;
2371
+ displayName: string;
2372
+ maxInputTokens: number;
2373
+ supportedFileTypes: ("pdf" | "image" | "document")[];
2374
+ reasoning: true;
2375
+ supportsTemperature: false;
2376
+ supportsToolCall: true;
2377
+ releaseDate: string;
2378
+ modalities: {
2379
+ input: ("pdf" | "image" | "text")[];
2380
+ output: "text"[];
2381
+ };
2382
+ pricing: {
2383
+ inputPerM: number;
2384
+ outputPerM: number;
2385
+ cacheReadPerM: number;
2386
+ cacheWritePerM: number;
2387
+ contextOver200kPerM: {
2388
+ inputPerM: number;
2389
+ outputPerM: number;
2390
+ };
2391
+ currency: "USD";
2392
+ unit: "per_million_tokens";
2393
+ inputAudioPerM?: never;
2394
+ };
2395
+ providerMetadata?: never;
2396
+ default?: never;
2397
+ interleaved?: never;
2398
+ supportsInterleaved?: never;
2399
+ } | {
2400
+ name: string;
2401
+ displayName: string;
2402
+ maxInputTokens: number;
2403
+ supportedFileTypes: ("pdf" | "document")[];
2404
+ reasoning: true;
2405
+ supportsTemperature: true;
2406
+ supportsToolCall: true;
2407
+ releaseDate: string;
2408
+ modalities: {
2409
+ input: ("pdf" | "text")[];
2410
+ output: "text"[];
2411
+ };
2412
+ providerMetadata: {
2413
+ npm: string;
2414
+ api: string;
2415
+ };
2416
+ pricing: {
2417
+ inputPerM: number;
2418
+ outputPerM: number;
2419
+ currency: "USD";
2420
+ unit: "per_million_tokens";
2421
+ cacheReadPerM?: never;
2422
+ cacheWritePerM?: never;
2423
+ contextOver200kPerM?: never;
2424
+ inputAudioPerM?: never;
2425
+ };
2426
+ default?: never;
2427
+ interleaved?: never;
2428
+ supportsInterleaved?: never;
2429
+ } | {
2430
+ name: string;
2431
+ displayName: string;
2432
+ maxInputTokens: number;
2433
+ supportedFileTypes: ("pdf" | "document")[];
2434
+ reasoning: true;
2435
+ supportsTemperature: true;
2436
+ supportsToolCall: true;
2437
+ releaseDate: string;
2438
+ modalities: {
2439
+ input: ("pdf" | "text")[];
2440
+ output: "text"[];
2441
+ };
2442
+ providerMetadata: {
2443
+ npm: string;
2444
+ api: string;
2445
+ };
2446
+ pricing: {
2447
+ inputPerM: number;
2448
+ outputPerM: number;
2449
+ cacheReadPerM: number;
2450
+ currency: "USD";
2451
+ unit: "per_million_tokens";
2452
+ cacheWritePerM?: never;
2453
+ contextOver200kPerM?: never;
2454
+ inputAudioPerM?: never;
2455
+ };
2456
+ default?: never;
2457
+ interleaved?: never;
2458
+ supportsInterleaved?: never;
2459
+ } | {
2460
+ name: string;
2461
+ displayName: string;
2462
+ maxInputTokens: number;
2463
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
2464
+ reasoning: false;
2465
+ supportsTemperature: true;
2466
+ supportsToolCall: true;
2467
+ releaseDate: string;
2468
+ modalities: {
2469
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
2470
+ output: "text"[];
2471
+ };
2472
+ pricing: {
2473
+ inputPerM: number;
2474
+ outputPerM: number;
2475
+ cacheReadPerM: number;
2476
+ currency: "USD";
2477
+ unit: "per_million_tokens";
2478
+ cacheWritePerM?: never;
2479
+ contextOver200kPerM?: never;
2480
+ inputAudioPerM?: never;
2481
+ };
2482
+ providerMetadata?: never;
2483
+ default?: never;
2484
+ interleaved?: never;
2485
+ supportsInterleaved?: never;
2486
+ } | {
2487
+ name: string;
2488
+ displayName: string;
2489
+ maxInputTokens: number;
2490
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
2491
+ reasoning: false;
2492
+ supportsTemperature: true;
2493
+ supportsToolCall: true;
2494
+ releaseDate: string;
2495
+ modalities: {
2496
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
2497
+ output: "text"[];
2498
+ };
2499
+ pricing: {
2500
+ inputPerM: number;
2501
+ outputPerM: number;
2502
+ currency: "USD";
2503
+ unit: "per_million_tokens";
2504
+ cacheReadPerM?: never;
2505
+ cacheWritePerM?: never;
2506
+ contextOver200kPerM?: never;
2507
+ inputAudioPerM?: never;
2508
+ };
2509
+ providerMetadata?: never;
2510
+ default?: never;
2511
+ interleaved?: never;
2512
+ supportsInterleaved?: never;
2513
+ } | {
2514
+ name: string;
2515
+ displayName: string;
2516
+ maxInputTokens: number;
2517
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
2518
+ reasoning: true;
2519
+ supportsTemperature: true;
2520
+ supportsToolCall: true;
2521
+ releaseDate: string;
2522
+ modalities: {
2523
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
2524
+ output: "text"[];
2525
+ };
2526
+ pricing: {
2527
+ inputPerM: number;
2528
+ outputPerM: number;
2529
+ cacheReadPerM: number;
2530
+ cacheWritePerM: number;
2531
+ currency: "USD";
2532
+ unit: "per_million_tokens";
2533
+ contextOver200kPerM?: never;
2534
+ inputAudioPerM?: never;
2535
+ };
2536
+ providerMetadata?: never;
2537
+ default?: never;
2538
+ interleaved?: never;
2539
+ supportsInterleaved?: never;
2540
+ } | {
2541
+ name: string;
2542
+ displayName: string;
2543
+ maxInputTokens: number;
2544
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
2545
+ reasoning: true;
2546
+ supportsTemperature: true;
2547
+ supportsToolCall: true;
2548
+ releaseDate: string;
2549
+ modalities: {
2550
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
2551
+ output: "text"[];
2552
+ };
2553
+ pricing: {
2554
+ inputPerM: number;
2555
+ outputPerM: number;
2556
+ cacheReadPerM: number;
2557
+ inputAudioPerM: number;
2558
+ currency: "USD";
2559
+ unit: "per_million_tokens";
2560
+ cacheWritePerM?: never;
2561
+ contextOver200kPerM?: never;
2562
+ };
2563
+ providerMetadata?: never;
2564
+ default?: never;
2565
+ interleaved?: never;
2566
+ supportsInterleaved?: never;
2567
+ } | {
2568
+ name: string;
2569
+ displayName: string;
2570
+ maxInputTokens: number;
2571
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
2572
+ reasoning: true;
2573
+ supportsTemperature: true;
2574
+ supportsToolCall: true;
2575
+ releaseDate: string;
2576
+ modalities: {
2577
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
2578
+ output: "text"[];
2579
+ };
2580
+ pricing: {
2581
+ inputPerM: number;
2582
+ outputPerM: number;
2583
+ cacheReadPerM: number;
2584
+ currency: "USD";
2585
+ unit: "per_million_tokens";
2586
+ cacheWritePerM?: never;
2587
+ contextOver200kPerM?: never;
2588
+ inputAudioPerM?: never;
2589
+ };
2590
+ providerMetadata?: never;
2591
+ default?: never;
2592
+ interleaved?: never;
2593
+ supportsInterleaved?: never;
2594
+ } | {
2595
+ name: string;
2596
+ displayName: string;
2597
+ maxInputTokens: number;
2598
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
2599
+ reasoning: true;
2600
+ supportsTemperature: true;
2601
+ supportsToolCall: true;
2602
+ releaseDate: string;
2603
+ modalities: {
2604
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
2605
+ output: "text"[];
2606
+ };
2607
+ pricing: {
2608
+ inputPerM: number;
2609
+ outputPerM: number;
2610
+ cacheReadPerM: number;
2611
+ contextOver200kPerM: {
2612
+ inputPerM: number;
2613
+ outputPerM: number;
2614
+ };
2615
+ currency: "USD";
2616
+ unit: "per_million_tokens";
2617
+ cacheWritePerM?: never;
2618
+ inputAudioPerM?: never;
2619
+ };
2620
+ providerMetadata?: never;
2621
+ default?: never;
2622
+ interleaved?: never;
2623
+ supportsInterleaved?: never;
2624
+ } | {
2625
+ name: string;
2626
+ displayName: string;
2627
+ maxInputTokens: number;
2628
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
2629
+ reasoning: true;
2630
+ supportsTemperature: true;
2631
+ supportsToolCall: true;
2632
+ releaseDate: string;
2633
+ modalities: {
2634
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
2635
+ output: "text"[];
2636
+ };
2637
+ pricing: {
2638
+ inputPerM: number;
2639
+ outputPerM: number;
2640
+ cacheReadPerM: number;
2641
+ inputAudioPerM: number;
2642
+ currency: "USD";
2643
+ unit: "per_million_tokens";
2644
+ cacheWritePerM?: never;
2645
+ contextOver200kPerM?: never;
2646
+ };
2647
+ default: true;
2648
+ providerMetadata?: never;
2649
+ interleaved?: never;
2650
+ supportsInterleaved?: never;
2651
+ } | {
2652
+ name: string;
2653
+ displayName: string;
2654
+ maxInputTokens: number;
2655
+ supportedFileTypes: never[];
2656
+ reasoning: false;
2657
+ supportsTemperature: false;
2658
+ supportsToolCall: false;
2659
+ releaseDate: string;
2660
+ modalities: {
2661
+ input: "text"[];
2662
+ output: "text"[];
2663
+ };
2664
+ pricing: {
2665
+ inputPerM: number;
2666
+ outputPerM: number;
2667
+ currency: "USD";
2668
+ unit: "per_million_tokens";
2669
+ cacheReadPerM?: never;
2670
+ cacheWritePerM?: never;
2671
+ contextOver200kPerM?: never;
2672
+ inputAudioPerM?: never;
2673
+ };
2674
+ providerMetadata?: never;
2675
+ default?: never;
2676
+ interleaved?: never;
2677
+ supportsInterleaved?: never;
2678
+ } | {
2679
+ name: string;
2680
+ displayName: string;
2681
+ maxInputTokens: number;
2682
+ supportedFileTypes: ("image" | "document")[];
2683
+ reasoning: false;
2684
+ supportsTemperature: true;
2685
+ supportsToolCall: true;
2686
+ releaseDate: string;
2687
+ modalities: {
2688
+ input: ("image" | "text")[];
2689
+ output: "text"[];
2690
+ };
2691
+ providerMetadata: {
2692
+ npm: string;
2693
+ api: string;
2694
+ };
2695
+ pricing: {
2696
+ inputPerM: number;
2697
+ outputPerM: number;
2698
+ currency: "USD";
2699
+ unit: "per_million_tokens";
2700
+ cacheReadPerM?: never;
2701
+ cacheWritePerM?: never;
2702
+ contextOver200kPerM?: never;
2703
+ inputAudioPerM?: never;
2704
+ };
2705
+ default?: never;
2706
+ interleaved?: never;
2707
+ supportsInterleaved?: never;
2708
+ } | {
2709
+ name: string;
2710
+ displayName: string;
2711
+ maxInputTokens: number;
2712
+ supportedFileTypes: never[];
2713
+ reasoning: true;
2714
+ supportsTemperature: true;
2715
+ supportsToolCall: true;
2716
+ releaseDate: string;
2717
+ modalities: {
2718
+ input: "text"[];
2719
+ output: "text"[];
2720
+ };
2721
+ pricing: {
2722
+ inputPerM: number;
2723
+ outputPerM: number;
2724
+ currency: "USD";
2725
+ unit: "per_million_tokens";
2726
+ cacheReadPerM?: never;
2727
+ cacheWritePerM?: never;
2728
+ contextOver200kPerM?: never;
2729
+ inputAudioPerM?: never;
2730
+ };
2731
+ providerMetadata?: never;
2732
+ default?: never;
2733
+ interleaved?: never;
2734
+ supportsInterleaved?: never;
2735
+ } | {
2736
+ name: string;
2737
+ displayName: string;
2738
+ maxInputTokens: number;
2739
+ supportedFileTypes: ("pdf" | "document")[];
2740
+ reasoning: true;
2741
+ supportsTemperature: true;
2742
+ supportsToolCall: true;
2743
+ releaseDate: string;
2744
+ modalities: {
2745
+ input: ("pdf" | "text")[];
2746
+ output: "text"[];
2747
+ };
2748
+ providerMetadata: {
2749
+ npm: string;
2750
+ api: string;
2751
+ };
2752
+ interleaved: {
2753
+ field: string;
2754
+ };
2755
+ supportsInterleaved: true;
2756
+ pricing: {
2757
+ inputPerM: number;
2758
+ outputPerM: number;
2759
+ currency: "USD";
2760
+ unit: "per_million_tokens";
2761
+ cacheReadPerM?: never;
2762
+ cacheWritePerM?: never;
2763
+ contextOver200kPerM?: never;
2764
+ inputAudioPerM?: never;
2765
+ };
2766
+ default?: never;
2767
+ } | {
2768
+ name: string;
2769
+ displayName: string;
2770
+ maxInputTokens: number;
2771
+ supportedFileTypes: never[];
2772
+ reasoning: true;
2773
+ supportsTemperature: true;
2774
+ supportsToolCall: true;
2775
+ releaseDate: string;
2776
+ modalities: {
2777
+ input: "text"[];
2778
+ output: "text"[];
2779
+ };
2780
+ providerMetadata: {
2781
+ npm: string;
2782
+ api: string;
2783
+ };
2784
+ interleaved: {
2785
+ field: string;
2786
+ };
2787
+ supportsInterleaved: true;
2788
+ pricing: {
2789
+ inputPerM: number;
2790
+ outputPerM: number;
2791
+ cacheReadPerM: number;
2792
+ currency: "USD";
2793
+ unit: "per_million_tokens";
2794
+ cacheWritePerM?: never;
2795
+ contextOver200kPerM?: never;
2796
+ inputAudioPerM?: never;
2797
+ };
2798
+ default?: never;
2799
+ })[];
2800
+ bedrock: ({
2801
+ name: string;
2802
+ displayName: string;
2803
+ maxInputTokens: number;
2804
+ supportedFileTypes: ("image" | "video")[];
2805
+ reasoning: false;
2806
+ supportsTemperature: true;
2807
+ supportsToolCall: true;
2808
+ releaseDate: string;
2809
+ modalities: {
2810
+ input: ("image" | "video" | "text")[];
2811
+ output: "text"[];
2812
+ };
2813
+ pricing: {
2814
+ inputPerM: number;
2815
+ outputPerM: number;
2816
+ currency: "USD";
2817
+ unit: "per_million_tokens";
2818
+ cacheReadPerM?: never;
2819
+ cacheWritePerM?: never;
2820
+ };
2821
+ default?: never;
2822
+ interleaved?: never;
2823
+ supportsInterleaved?: never;
2824
+ } | {
2825
+ name: string;
2826
+ displayName: string;
2827
+ maxInputTokens: number;
2828
+ supportedFileTypes: ("image" | "video")[];
2829
+ reasoning: false;
2830
+ supportsTemperature: true;
2831
+ supportsToolCall: true;
2832
+ releaseDate: string;
2833
+ modalities: {
2834
+ input: ("image" | "video" | "text")[];
2835
+ output: "text"[];
2836
+ };
2837
+ pricing: {
2838
+ inputPerM: number;
2839
+ outputPerM: number;
2840
+ cacheReadPerM: number;
2841
+ currency: "USD";
2842
+ unit: "per_million_tokens";
2843
+ cacheWritePerM?: never;
2844
+ };
2845
+ default?: never;
2846
+ interleaved?: never;
2847
+ supportsInterleaved?: never;
2848
+ } | {
2849
+ name: string;
2850
+ displayName: string;
2851
+ maxInputTokens: number;
2852
+ supportedFileTypes: ("pdf" | "image")[];
2853
+ reasoning: true;
2854
+ supportsTemperature: true;
2855
+ supportsToolCall: true;
2856
+ releaseDate: string;
2857
+ modalities: {
2858
+ input: ("pdf" | "image" | "text")[];
2859
+ output: "text"[];
2860
+ };
2861
+ pricing: {
2862
+ inputPerM: number;
2863
+ outputPerM: number;
2864
+ cacheReadPerM: number;
2865
+ cacheWritePerM: number;
2866
+ currency: "USD";
2867
+ unit: "per_million_tokens";
2868
+ };
2869
+ default?: never;
2870
+ interleaved?: never;
2871
+ supportsInterleaved?: never;
2872
+ } | {
2873
+ name: string;
2874
+ displayName: string;
2875
+ maxInputTokens: number;
2876
+ supportedFileTypes: ("pdf" | "image")[];
2877
+ reasoning: true;
2878
+ supportsTemperature: false;
2879
+ supportsToolCall: true;
2880
+ releaseDate: string;
2881
+ modalities: {
2882
+ input: ("pdf" | "image" | "text")[];
2883
+ output: "text"[];
2884
+ };
2885
+ pricing: {
2886
+ inputPerM: number;
2887
+ outputPerM: number;
2888
+ cacheReadPerM: number;
2889
+ cacheWritePerM: number;
2890
+ currency: "USD";
2891
+ unit: "per_million_tokens";
2892
+ };
2893
+ default?: never;
2894
+ interleaved?: never;
2895
+ supportsInterleaved?: never;
2896
+ } | {
2897
+ name: string;
2898
+ displayName: string;
2899
+ maxInputTokens: number;
2900
+ supportedFileTypes: ("pdf" | "image")[];
2901
+ reasoning: true;
2902
+ supportsTemperature: true;
2903
+ supportsToolCall: true;
2904
+ releaseDate: string;
2905
+ modalities: {
2906
+ input: ("pdf" | "image" | "text")[];
2907
+ output: "text"[];
2908
+ };
2909
+ pricing: {
2910
+ inputPerM: number;
2911
+ outputPerM: number;
2912
+ cacheReadPerM: number;
2913
+ cacheWritePerM: number;
2914
+ currency: "USD";
2915
+ unit: "per_million_tokens";
2916
+ };
2917
+ default: true;
2918
+ interleaved?: never;
2919
+ supportsInterleaved?: never;
2920
+ } | {
2921
+ name: string;
2922
+ displayName: string;
2923
+ maxInputTokens: number;
2924
+ supportedFileTypes: "image"[];
2925
+ reasoning: false;
2926
+ supportsTemperature: true;
2927
+ supportsToolCall: false;
2928
+ releaseDate: string;
2929
+ modalities: {
2930
+ input: ("image" | "text")[];
2931
+ output: "text"[];
2932
+ };
2933
+ pricing: {
2934
+ inputPerM: number;
2935
+ outputPerM: number;
2936
+ currency: "USD";
2937
+ unit: "per_million_tokens";
2938
+ cacheReadPerM?: never;
2939
+ cacheWritePerM?: never;
2940
+ };
2941
+ default?: never;
2942
+ interleaved?: never;
2943
+ supportsInterleaved?: never;
2944
+ } | {
2945
+ name: string;
2946
+ displayName: string;
2947
+ maxInputTokens: number;
2948
+ supportedFileTypes: "image"[];
2949
+ reasoning: true;
2950
+ supportsTemperature: true;
2951
+ supportsToolCall: true;
2952
+ releaseDate: string;
2953
+ modalities: {
2954
+ input: ("image" | "text")[];
2955
+ output: "text"[];
2956
+ };
2957
+ pricing: {
2958
+ inputPerM: number;
2959
+ outputPerM: number;
2960
+ currency: "USD";
2961
+ unit: "per_million_tokens";
2962
+ cacheReadPerM?: never;
2963
+ cacheWritePerM?: never;
2964
+ };
2965
+ default?: never;
2966
+ interleaved?: never;
2967
+ supportsInterleaved?: never;
2968
+ } | {
2969
+ name: string;
2970
+ displayName: string;
2971
+ maxInputTokens: number;
2972
+ supportedFileTypes: "audio"[];
2973
+ reasoning: false;
2974
+ supportsTemperature: true;
2975
+ supportsToolCall: true;
2976
+ releaseDate: string;
2977
+ modalities: {
2978
+ input: ("audio" | "text")[];
2979
+ output: "text"[];
2980
+ };
2981
+ pricing: {
2982
+ inputPerM: number;
2983
+ outputPerM: number;
2984
+ currency: "USD";
2985
+ unit: "per_million_tokens";
2986
+ cacheReadPerM?: never;
2987
+ cacheWritePerM?: never;
2988
+ };
2989
+ default?: never;
2990
+ interleaved?: never;
2991
+ supportsInterleaved?: never;
2992
+ } | {
2993
+ name: string;
2994
+ displayName: string;
2995
+ maxInputTokens: number;
2996
+ supportedFileTypes: "image"[];
2997
+ reasoning: true;
2998
+ supportsTemperature: true;
2999
+ supportsToolCall: true;
3000
+ releaseDate: string;
3001
+ modalities: {
3002
+ input: ("image" | "text")[];
3003
+ output: "text"[];
3004
+ };
3005
+ interleaved: true;
3006
+ supportsInterleaved: true;
3007
+ pricing: {
3008
+ inputPerM: number;
3009
+ outputPerM: number;
3010
+ currency: "USD";
3011
+ unit: "per_million_tokens";
3012
+ cacheReadPerM?: never;
3013
+ cacheWritePerM?: never;
3014
+ };
3015
+ default?: never;
3016
+ } | {
3017
+ name: string;
3018
+ displayName: string;
3019
+ maxInputTokens: number;
3020
+ supportedFileTypes: never[];
3021
+ reasoning: true;
3022
+ supportsTemperature: true;
3023
+ supportsToolCall: true;
3024
+ releaseDate: string;
3025
+ modalities: {
3026
+ input: "text"[];
3027
+ output: "text"[];
3028
+ };
3029
+ interleaved: {
3030
+ field: string;
3031
+ };
3032
+ supportsInterleaved: true;
3033
+ pricing: {
3034
+ inputPerM: number;
3035
+ outputPerM: number;
3036
+ currency: "USD";
3037
+ unit: "per_million_tokens";
3038
+ cacheReadPerM?: never;
3039
+ cacheWritePerM?: never;
3040
+ };
3041
+ default?: never;
3042
+ })[];
3043
+ local: never[];
3044
+ ollama: never[];
3045
+ 'dexto-nova': ({
3046
+ name: string;
3047
+ displayName: string;
3048
+ maxInputTokens: number;
3049
+ supportedFileTypes: ("pdf" | "image")[];
3050
+ reasoning: true;
3051
+ supportsTemperature: true;
3052
+ supportsToolCall: true;
3053
+ releaseDate: string;
3054
+ modalities: {
3055
+ input: ("pdf" | "image" | "text")[];
3056
+ output: "text"[];
3057
+ };
3058
+ pricing: {
3059
+ inputPerM: number;
3060
+ outputPerM: number;
3061
+ cacheReadPerM: number;
3062
+ cacheWritePerM: number;
3063
+ currency: "USD";
3064
+ unit: "per_million_tokens";
3065
+ contextOver200kPerM?: never;
3066
+ reasoningPerM?: never;
3067
+ };
3068
+ interleaved?: never;
3069
+ supportsInterleaved?: never;
3070
+ status?: never;
3071
+ } | {
3072
+ name: string;
3073
+ displayName: string;
3074
+ maxInputTokens: number;
3075
+ supportedFileTypes: ("pdf" | "image")[];
3076
+ reasoning: true;
3077
+ supportsTemperature: false;
3078
+ supportsToolCall: true;
3079
+ releaseDate: string;
3080
+ modalities: {
3081
+ input: ("pdf" | "image" | "text")[];
3082
+ output: "text"[];
3083
+ };
3084
+ pricing: {
3085
+ inputPerM: number;
3086
+ outputPerM: number;
3087
+ cacheReadPerM: number;
3088
+ cacheWritePerM: number;
3089
+ currency: "USD";
3090
+ unit: "per_million_tokens";
3091
+ contextOver200kPerM?: never;
3092
+ reasoningPerM?: never;
3093
+ };
3094
+ interleaved?: never;
3095
+ supportsInterleaved?: never;
3096
+ status?: never;
3097
+ } | {
3098
+ name: string;
3099
+ displayName: string;
3100
+ maxInputTokens: number;
3101
+ supportedFileTypes: ("pdf" | "image" | "video")[];
3102
+ reasoning: true;
3103
+ supportsTemperature: true;
3104
+ supportsToolCall: true;
3105
+ releaseDate: string;
3106
+ modalities: {
3107
+ input: ("pdf" | "image" | "video" | "text")[];
3108
+ output: "text"[];
3109
+ };
3110
+ pricing: {
3111
+ inputPerM: number;
3112
+ outputPerM: number;
3113
+ currency: "USD";
3114
+ unit: "per_million_tokens";
3115
+ cacheReadPerM?: never;
3116
+ cacheWritePerM?: never;
3117
+ contextOver200kPerM?: never;
3118
+ reasoningPerM?: never;
3119
+ };
3120
+ interleaved?: never;
3121
+ supportsInterleaved?: never;
3122
+ status?: never;
3123
+ } | {
3124
+ name: string;
3125
+ displayName: string;
3126
+ maxInputTokens: number;
3127
+ supportedFileTypes: ("pdf" | "image")[];
3128
+ reasoning: true;
3129
+ supportsTemperature: true;
3130
+ supportsToolCall: true;
3131
+ releaseDate: string;
3132
+ modalities: {
3133
+ input: ("pdf" | "image" | "text")[];
3134
+ output: "text"[];
3135
+ };
3136
+ pricing: {
3137
+ inputPerM: number;
3138
+ outputPerM: number;
3139
+ cacheReadPerM: number;
3140
+ cacheWritePerM: number;
3141
+ contextOver200kPerM: {
3142
+ inputPerM: number;
3143
+ outputPerM: number;
3144
+ };
3145
+ currency: "USD";
3146
+ unit: "per_million_tokens";
3147
+ reasoningPerM?: never;
3148
+ };
3149
+ interleaved?: never;
3150
+ supportsInterleaved?: never;
3151
+ status?: never;
3152
+ } | {
3153
+ name: string;
3154
+ displayName: string;
3155
+ maxInputTokens: number;
3156
+ supportedFileTypes: ("pdf" | "image")[];
3157
+ reasoning: true;
3158
+ supportsTemperature: false;
3159
+ supportsToolCall: true;
3160
+ releaseDate: string;
3161
+ modalities: {
3162
+ input: ("pdf" | "image" | "text")[];
3163
+ output: "text"[];
3164
+ };
3165
+ pricing: {
3166
+ inputPerM: number;
3167
+ outputPerM: number;
3168
+ cacheReadPerM: number;
3169
+ cacheWritePerM: number;
3170
+ contextOver200kPerM: {
3171
+ inputPerM: number;
3172
+ outputPerM: number;
3173
+ };
3174
+ currency: "USD";
3175
+ unit: "per_million_tokens";
3176
+ reasoningPerM?: never;
3177
+ };
3178
+ interleaved?: never;
3179
+ supportsInterleaved?: never;
3180
+ status?: never;
3181
+ } | {
3182
+ name: string;
3183
+ displayName: string;
3184
+ maxInputTokens: number;
3185
+ supportedFileTypes: "image"[];
3186
+ reasoning: false;
3187
+ supportsTemperature: true;
3188
+ supportsToolCall: false;
3189
+ releaseDate: string;
3190
+ modalities: {
3191
+ input: ("image" | "text")[];
3192
+ output: "text"[];
3193
+ };
3194
+ pricing: {
3195
+ inputPerM: number;
3196
+ outputPerM: number;
3197
+ cacheReadPerM: number;
3198
+ currency: "USD";
3199
+ unit: "per_million_tokens";
3200
+ cacheWritePerM?: never;
3201
+ contextOver200kPerM?: never;
3202
+ reasoningPerM?: never;
3203
+ };
3204
+ interleaved?: never;
3205
+ supportsInterleaved?: never;
3206
+ status?: never;
3207
+ } | {
3208
+ name: string;
3209
+ displayName: string;
3210
+ maxInputTokens: number;
3211
+ supportedFileTypes: never[];
3212
+ reasoning: true;
3213
+ supportsTemperature: false;
3214
+ supportsToolCall: true;
3215
+ releaseDate: string;
3216
+ modalities: {
3217
+ input: "text"[];
3218
+ output: "text"[];
3219
+ };
3220
+ interleaved: {
3221
+ field: string;
3222
+ };
3223
+ supportsInterleaved: true;
3224
+ pricing: {
3225
+ inputPerM: number;
3226
+ outputPerM: number;
3227
+ currency: "USD";
3228
+ unit: "per_million_tokens";
3229
+ cacheReadPerM?: never;
3230
+ cacheWritePerM?: never;
3231
+ contextOver200kPerM?: never;
3232
+ reasoningPerM?: never;
3233
+ };
3234
+ status?: never;
3235
+ } | {
3236
+ name: string;
3237
+ displayName: string;
3238
+ maxInputTokens: number;
3239
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
3240
+ reasoning: false;
3241
+ supportsTemperature: true;
3242
+ supportsToolCall: true;
3243
+ releaseDate: string;
3244
+ modalities: {
3245
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
3246
+ output: "text"[];
3247
+ };
3248
+ pricing: {
3249
+ inputPerM: number;
3250
+ outputPerM: number;
3251
+ cacheReadPerM: number;
3252
+ cacheWritePerM: number;
3253
+ currency: "USD";
3254
+ unit: "per_million_tokens";
3255
+ contextOver200kPerM?: never;
3256
+ reasoningPerM?: never;
3257
+ };
3258
+ interleaved?: never;
3259
+ supportsInterleaved?: never;
3260
+ status?: never;
3261
+ } | {
3262
+ name: string;
3263
+ displayName: string;
3264
+ maxInputTokens: number;
3265
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
3266
+ reasoning: false;
3267
+ supportsTemperature: true;
3268
+ supportsToolCall: true;
3269
+ releaseDate: string;
3270
+ modalities: {
3271
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
3272
+ output: "text"[];
3273
+ };
3274
+ pricing: {
3275
+ inputPerM: number;
3276
+ outputPerM: number;
3277
+ currency: "USD";
3278
+ unit: "per_million_tokens";
3279
+ cacheReadPerM?: never;
3280
+ cacheWritePerM?: never;
3281
+ contextOver200kPerM?: never;
3282
+ reasoningPerM?: never;
3283
+ };
3284
+ interleaved?: never;
3285
+ supportsInterleaved?: never;
3286
+ status?: never;
3287
+ } | {
3288
+ name: string;
3289
+ displayName: string;
3290
+ maxInputTokens: number;
3291
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
3292
+ reasoning: true;
3293
+ supportsTemperature: true;
3294
+ supportsToolCall: true;
3295
+ releaseDate: string;
3296
+ modalities: {
3297
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
3298
+ output: "text"[];
3299
+ };
3300
+ pricing: {
3301
+ inputPerM: number;
3302
+ outputPerM: number;
3303
+ cacheReadPerM: number;
3304
+ cacheWritePerM: number;
3305
+ reasoningPerM: number;
3306
+ currency: "USD";
3307
+ unit: "per_million_tokens";
3308
+ contextOver200kPerM?: never;
3309
+ };
3310
+ interleaved?: never;
3311
+ supportsInterleaved?: never;
3312
+ status?: never;
3313
+ } | {
3314
+ name: string;
3315
+ displayName: string;
3316
+ maxInputTokens: number;
3317
+ supportedFileTypes: ("image" | "document")[];
3318
+ reasoning: false;
3319
+ supportsTemperature: true;
3320
+ supportsToolCall: false;
3321
+ releaseDate: string;
3322
+ modalities: {
3323
+ input: ("image" | "text")[];
3324
+ output: ("image" | "text")[];
3325
+ };
3326
+ pricing: {
3327
+ inputPerM: number;
3328
+ outputPerM: number;
3329
+ cacheReadPerM: number;
3330
+ cacheWritePerM: number;
3331
+ currency: "USD";
3332
+ unit: "per_million_tokens";
3333
+ contextOver200kPerM?: never;
3334
+ reasoningPerM?: never;
3335
+ };
3336
+ interleaved?: never;
3337
+ supportsInterleaved?: never;
3338
+ status?: never;
3339
+ } | {
3340
+ name: string;
3341
+ displayName: string;
3342
+ maxInputTokens: number;
3343
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
3344
+ reasoning: true;
3345
+ supportsTemperature: true;
3346
+ supportsToolCall: true;
3347
+ releaseDate: string;
3348
+ modalities: {
3349
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
3350
+ output: "text"[];
3351
+ };
3352
+ interleaved: {
3353
+ field: string;
3354
+ };
3355
+ supportsInterleaved: true;
3356
+ pricing: {
3357
+ inputPerM: number;
3358
+ outputPerM: number;
3359
+ cacheReadPerM: number;
3360
+ cacheWritePerM: number;
3361
+ reasoningPerM: number;
3362
+ currency: "USD";
3363
+ unit: "per_million_tokens";
3364
+ contextOver200kPerM?: never;
3365
+ };
3366
+ status?: never;
3367
+ } | {
3368
+ name: string;
3369
+ displayName: string;
3370
+ maxInputTokens: number;
3371
+ supportedFileTypes: ("image" | "document")[];
3372
+ reasoning: true;
3373
+ supportsTemperature: true;
3374
+ supportsToolCall: false;
3375
+ releaseDate: string;
3376
+ modalities: {
3377
+ input: ("image" | "text")[];
3378
+ output: ("image" | "text")[];
3379
+ };
3380
+ pricing: {
3381
+ inputPerM: number;
3382
+ outputPerM: number;
3383
+ cacheReadPerM: number;
3384
+ cacheWritePerM: number;
3385
+ reasoningPerM: number;
3386
+ currency: "USD";
3387
+ unit: "per_million_tokens";
3388
+ contextOver200kPerM?: never;
3389
+ };
3390
+ interleaved?: never;
3391
+ supportsInterleaved?: never;
3392
+ status?: never;
3393
+ } | {
3394
+ name: string;
3395
+ displayName: string;
3396
+ maxInputTokens: number;
3397
+ supportedFileTypes: ("image" | "document")[];
3398
+ reasoning: true;
3399
+ supportsTemperature: true;
3400
+ supportsToolCall: false;
3401
+ releaseDate: string;
3402
+ modalities: {
3403
+ input: ("image" | "text")[];
3404
+ output: ("image" | "text")[];
3405
+ };
3406
+ pricing: {
3407
+ inputPerM: number;
3408
+ outputPerM: number;
3409
+ currency: "USD";
3410
+ unit: "per_million_tokens";
3411
+ cacheReadPerM?: never;
3412
+ cacheWritePerM?: never;
3413
+ contextOver200kPerM?: never;
3414
+ reasoningPerM?: never;
3415
+ };
3416
+ interleaved?: never;
3417
+ supportsInterleaved?: never;
3418
+ status?: never;
3419
+ } | {
3420
+ name: string;
3421
+ displayName: string;
3422
+ maxInputTokens: number;
3423
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video" | "document")[];
3424
+ reasoning: true;
3425
+ supportsTemperature: true;
3426
+ supportsToolCall: true;
3427
+ releaseDate: string;
3428
+ modalities: {
3429
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
3430
+ output: "text"[];
3431
+ };
3432
+ interleaved: {
3433
+ field: string;
3434
+ };
3435
+ supportsInterleaved: true;
3436
+ pricing: {
3437
+ inputPerM: number;
3438
+ outputPerM: number;
3439
+ cacheReadPerM: number;
3440
+ cacheWritePerM: number;
3441
+ reasoningPerM: number;
3442
+ contextOver200kPerM: {
3443
+ inputPerM: number;
3444
+ outputPerM: number;
3445
+ };
3446
+ currency: "USD";
3447
+ unit: "per_million_tokens";
3448
+ };
3449
+ status?: never;
3450
+ } | {
3451
+ name: string;
3452
+ displayName: string;
3453
+ maxInputTokens: number;
3454
+ supportedFileTypes: ("image" | "video" | "document")[];
3455
+ reasoning: true;
3456
+ supportsTemperature: true;
3457
+ supportsToolCall: true;
3458
+ releaseDate: string;
3459
+ modalities: {
3460
+ input: ("image" | "video" | "text")[];
3461
+ output: "text"[];
3462
+ };
3463
+ pricing: {
3464
+ inputPerM: number;
3465
+ outputPerM: number;
3466
+ currency: "USD";
3467
+ unit: "per_million_tokens";
3468
+ cacheReadPerM?: never;
3469
+ cacheWritePerM?: never;
3470
+ contextOver200kPerM?: never;
3471
+ reasoningPerM?: never;
3472
+ };
3473
+ interleaved?: never;
3474
+ supportsInterleaved?: never;
3475
+ status?: never;
3476
+ } | {
3477
+ name: string;
3478
+ displayName: string;
3479
+ maxInputTokens: number;
3480
+ supportedFileTypes: ("image" | "document")[];
3481
+ reasoning: false;
3482
+ supportsTemperature: true;
3483
+ supportsToolCall: false;
3484
+ releaseDate: string;
3485
+ modalities: {
3486
+ input: ("image" | "text")[];
3487
+ output: ("audio" | "text")[];
3488
+ };
3489
+ pricing: {
3490
+ inputPerM: number;
3491
+ outputPerM: number;
3492
+ currency: "USD";
3493
+ unit: "per_million_tokens";
3494
+ cacheReadPerM?: never;
3495
+ cacheWritePerM?: never;
3496
+ contextOver200kPerM?: never;
3497
+ reasoningPerM?: never;
3498
+ };
3499
+ interleaved?: never;
3500
+ supportsInterleaved?: never;
3501
+ status?: never;
3502
+ } | {
3503
+ name: string;
3504
+ displayName: string;
3505
+ maxInputTokens: number;
3506
+ supportedFileTypes: never[];
3507
+ reasoning: true;
3508
+ supportsTemperature: true;
3509
+ supportsToolCall: true;
3510
+ releaseDate: string;
3511
+ modalities: {
3512
+ input: "text"[];
3513
+ output: "text"[];
3514
+ };
3515
+ interleaved: {
3516
+ field: string;
3517
+ };
3518
+ supportsInterleaved: true;
3519
+ pricing: {
3520
+ inputPerM: number;
3521
+ outputPerM: number;
3522
+ currency: "USD";
3523
+ unit: "per_million_tokens";
3524
+ cacheReadPerM?: never;
3525
+ cacheWritePerM?: never;
3526
+ contextOver200kPerM?: never;
3527
+ reasoningPerM?: never;
3528
+ };
3529
+ status?: never;
3530
+ } | {
3531
+ name: string;
3532
+ displayName: string;
3533
+ maxInputTokens: number;
3534
+ supportedFileTypes: ("pdf" | "audio")[];
3535
+ reasoning: false;
3536
+ supportsTemperature: true;
3537
+ supportsToolCall: true;
3538
+ releaseDate: string;
3539
+ modalities: {
3540
+ input: ("pdf" | "audio" | "text")[];
3541
+ output: "text"[];
3542
+ };
3543
+ pricing: {
3544
+ inputPerM: number;
3545
+ outputPerM: number;
3546
+ cacheReadPerM: number;
3547
+ currency: "USD";
3548
+ unit: "per_million_tokens";
3549
+ cacheWritePerM?: never;
3550
+ contextOver200kPerM?: never;
3551
+ reasoningPerM?: never;
3552
+ };
3553
+ interleaved?: never;
3554
+ supportsInterleaved?: never;
3555
+ status?: never;
3556
+ } | {
3557
+ name: string;
3558
+ displayName: string;
3559
+ maxInputTokens: number;
3560
+ supportedFileTypes: ("image" | "audio" | "video")[];
3561
+ reasoning: true;
3562
+ supportsTemperature: true;
3563
+ supportsToolCall: true;
3564
+ releaseDate: string;
3565
+ modalities: {
3566
+ input: ("image" | "audio" | "video" | "text")[];
3567
+ output: "text"[];
3568
+ };
3569
+ pricing: {
3570
+ inputPerM: number;
3571
+ outputPerM: number;
3572
+ currency: "USD";
3573
+ unit: "per_million_tokens";
3574
+ cacheReadPerM?: never;
3575
+ cacheWritePerM?: never;
3576
+ contextOver200kPerM?: never;
3577
+ reasoningPerM?: never;
3578
+ };
3579
+ interleaved?: never;
3580
+ supportsInterleaved?: never;
3581
+ status?: never;
3582
+ } | {
3583
+ name: string;
3584
+ displayName: string;
3585
+ maxInputTokens: number;
3586
+ supportedFileTypes: ("pdf" | "image" | "document")[];
3587
+ reasoning: false;
3588
+ supportsTemperature: true;
3589
+ supportsToolCall: true;
3590
+ releaseDate: string;
3591
+ modalities: {
3592
+ input: ("pdf" | "image" | "text")[];
3593
+ output: "text"[];
3594
+ };
3595
+ pricing: {
3596
+ inputPerM: number;
3597
+ outputPerM: number;
3598
+ cacheReadPerM: number;
3599
+ currency: "USD";
3600
+ unit: "per_million_tokens";
3601
+ cacheWritePerM?: never;
3602
+ contextOver200kPerM?: never;
3603
+ reasoningPerM?: never;
3604
+ };
3605
+ interleaved?: never;
3606
+ supportsInterleaved?: never;
3607
+ status?: never;
3608
+ } | {
3609
+ name: string;
3610
+ displayName: string;
3611
+ maxInputTokens: number;
3612
+ supportedFileTypes: "audio"[];
3613
+ reasoning: false;
3614
+ supportsTemperature: true;
3615
+ supportsToolCall: true;
3616
+ releaseDate: string;
3617
+ modalities: {
3618
+ input: ("audio" | "text")[];
3619
+ output: ("audio" | "text")[];
3620
+ };
3621
+ pricing: {
3622
+ inputPerM: number;
3623
+ outputPerM: number;
3624
+ currency: "USD";
3625
+ unit: "per_million_tokens";
3626
+ cacheReadPerM?: never;
3627
+ cacheWritePerM?: never;
3628
+ contextOver200kPerM?: never;
3629
+ reasoningPerM?: never;
3630
+ };
3631
+ interleaved?: never;
3632
+ supportsInterleaved?: never;
3633
+ status?: never;
3634
+ } | {
3635
+ name: string;
3636
+ displayName: string;
3637
+ maxInputTokens: number;
3638
+ supportedFileTypes: never[];
3639
+ reasoning: false;
3640
+ supportsTemperature: false;
3641
+ supportsToolCall: false;
3642
+ releaseDate: string;
3643
+ modalities: {
3644
+ input: "text"[];
3645
+ output: "text"[];
3646
+ };
3647
+ pricing: {
3648
+ inputPerM: number;
3649
+ outputPerM: number;
3650
+ currency: "USD";
3651
+ unit: "per_million_tokens";
3652
+ cacheReadPerM?: never;
3653
+ cacheWritePerM?: never;
3654
+ contextOver200kPerM?: never;
3655
+ reasoningPerM?: never;
3656
+ };
3657
+ interleaved?: never;
3658
+ supportsInterleaved?: never;
3659
+ status?: never;
3660
+ } | {
3661
+ name: string;
3662
+ displayName: string;
3663
+ maxInputTokens: number;
3664
+ supportedFileTypes: ("pdf" | "image" | "document")[];
3665
+ reasoning: true;
3666
+ supportsTemperature: false;
3667
+ supportsToolCall: true;
3668
+ releaseDate: string;
3669
+ modalities: {
3670
+ input: ("pdf" | "image" | "text")[];
3671
+ output: "text"[];
3672
+ };
3673
+ pricing: {
3674
+ inputPerM: number;
3675
+ outputPerM: number;
3676
+ cacheReadPerM: number;
3677
+ currency: "USD";
3678
+ unit: "per_million_tokens";
3679
+ cacheWritePerM?: never;
3680
+ contextOver200kPerM?: never;
3681
+ reasoningPerM?: never;
3682
+ };
3683
+ interleaved?: never;
3684
+ supportsInterleaved?: never;
3685
+ status?: never;
3686
+ } | {
3687
+ name: string;
3688
+ displayName: string;
3689
+ maxInputTokens: number;
3690
+ supportedFileTypes: ("pdf" | "image" | "document")[];
3691
+ reasoning: false;
3692
+ supportsTemperature: false;
3693
+ supportsToolCall: false;
3694
+ releaseDate: string;
3695
+ modalities: {
3696
+ input: ("pdf" | "image" | "text")[];
3697
+ output: "text"[];
3698
+ };
3699
+ pricing: {
3700
+ inputPerM: number;
3701
+ outputPerM: number;
3702
+ cacheReadPerM: number;
3703
+ currency: "USD";
3704
+ unit: "per_million_tokens";
3705
+ cacheWritePerM?: never;
3706
+ contextOver200kPerM?: never;
3707
+ reasoningPerM?: never;
3708
+ };
3709
+ interleaved?: never;
3710
+ supportsInterleaved?: never;
3711
+ status?: never;
3712
+ } | {
3713
+ name: string;
3714
+ displayName: string;
3715
+ maxInputTokens: number;
3716
+ supportedFileTypes: ("pdf" | "image" | "document")[];
3717
+ reasoning: true;
3718
+ supportsTemperature: true;
3719
+ supportsToolCall: false;
3720
+ releaseDate: string;
3721
+ modalities: {
3722
+ input: ("pdf" | "image" | "text")[];
3723
+ output: ("image" | "text")[];
3724
+ };
3725
+ pricing: {
3726
+ inputPerM: number;
3727
+ outputPerM: number;
3728
+ cacheReadPerM: number;
3729
+ currency: "USD";
3730
+ unit: "per_million_tokens";
3731
+ cacheWritePerM?: never;
3732
+ contextOver200kPerM?: never;
3733
+ reasoningPerM?: never;
3734
+ };
3735
+ interleaved?: never;
3736
+ supportsInterleaved?: never;
3737
+ status?: never;
3738
+ } | {
3739
+ name: string;
3740
+ displayName: string;
3741
+ maxInputTokens: number;
3742
+ supportedFileTypes: ("pdf" | "image" | "document")[];
3743
+ reasoning: true;
3744
+ supportsTemperature: false;
3745
+ supportsToolCall: true;
3746
+ releaseDate: string;
3747
+ modalities: {
3748
+ input: ("pdf" | "image" | "text")[];
3749
+ output: "text"[];
3750
+ };
3751
+ pricing: {
3752
+ inputPerM: number;
3753
+ outputPerM: number;
3754
+ currency: "USD";
3755
+ unit: "per_million_tokens";
3756
+ cacheReadPerM?: never;
3757
+ cacheWritePerM?: never;
3758
+ contextOver200kPerM?: never;
3759
+ reasoningPerM?: never;
3760
+ };
3761
+ interleaved?: never;
3762
+ supportsInterleaved?: never;
3763
+ status?: never;
3764
+ } | {
3765
+ name: string;
3766
+ displayName: string;
3767
+ maxInputTokens: number;
3768
+ supportedFileTypes: ("pdf" | "image" | "document")[];
3769
+ reasoning: false;
3770
+ supportsTemperature: false;
3771
+ supportsToolCall: true;
3772
+ releaseDate: string;
3773
+ modalities: {
3774
+ input: ("pdf" | "image" | "text")[];
3775
+ output: "text"[];
3776
+ };
3777
+ pricing: {
3778
+ inputPerM: number;
3779
+ outputPerM: number;
3780
+ cacheReadPerM: number;
3781
+ currency: "USD";
3782
+ unit: "per_million_tokens";
3783
+ cacheWritePerM?: never;
3784
+ contextOver200kPerM?: never;
3785
+ reasoningPerM?: never;
3786
+ };
3787
+ interleaved?: never;
3788
+ supportsInterleaved?: never;
3789
+ status?: never;
3790
+ } | {
3791
+ name: string;
3792
+ displayName: string;
3793
+ maxInputTokens: number;
3794
+ supportedFileTypes: ("pdf" | "image" | "document")[];
3795
+ reasoning: true;
3796
+ supportsTemperature: false;
3797
+ supportsToolCall: false;
3798
+ releaseDate: string;
3799
+ modalities: {
3800
+ input: ("pdf" | "image" | "text")[];
3801
+ output: ("image" | "text")[];
3802
+ };
3803
+ pricing: {
3804
+ inputPerM: number;
3805
+ outputPerM: number;
3806
+ cacheReadPerM: number;
3807
+ currency: "USD";
3808
+ unit: "per_million_tokens";
3809
+ cacheWritePerM?: never;
3810
+ contextOver200kPerM?: never;
3811
+ reasoningPerM?: never;
3812
+ };
3813
+ interleaved?: never;
3814
+ supportsInterleaved?: never;
3815
+ status?: never;
3816
+ } | {
3817
+ name: string;
3818
+ displayName: string;
3819
+ maxInputTokens: number;
3820
+ supportedFileTypes: ("pdf" | "image" | "document")[];
3821
+ reasoning: true;
3822
+ supportsTemperature: false;
3823
+ supportsToolCall: false;
3824
+ releaseDate: string;
3825
+ modalities: {
3826
+ input: ("pdf" | "image" | "text")[];
3827
+ output: "text"[];
3828
+ };
3829
+ pricing: {
3830
+ inputPerM: number;
3831
+ outputPerM: number;
3832
+ currency: "USD";
3833
+ unit: "per_million_tokens";
3834
+ cacheReadPerM?: never;
3835
+ cacheWritePerM?: never;
3836
+ contextOver200kPerM?: never;
3837
+ reasoningPerM?: never;
3838
+ };
3839
+ interleaved?: never;
3840
+ supportsInterleaved?: never;
3841
+ status?: never;
3842
+ } | {
3843
+ name: string;
3844
+ displayName: string;
3845
+ maxInputTokens: number;
3846
+ supportedFileTypes: ("pdf" | "image" | "document")[];
3847
+ reasoning: true;
3848
+ supportsTemperature: true;
3849
+ supportsToolCall: true;
3850
+ releaseDate: string;
3851
+ modalities: {
3852
+ input: ("pdf" | "image" | "text")[];
3853
+ output: "text"[];
3854
+ };
3855
+ pricing: {
3856
+ inputPerM: number;
3857
+ outputPerM: number;
3858
+ cacheReadPerM: number;
3859
+ currency: "USD";
3860
+ unit: "per_million_tokens";
3861
+ cacheWritePerM?: never;
3862
+ contextOver200kPerM?: never;
3863
+ reasoningPerM?: never;
3864
+ };
3865
+ interleaved?: never;
3866
+ supportsInterleaved?: never;
3867
+ status?: never;
3868
+ } | {
3869
+ name: string;
3870
+ displayName: string;
3871
+ maxInputTokens: number;
3872
+ supportedFileTypes: ("pdf" | "image" | "audio" | "video")[];
3873
+ reasoning: true;
3874
+ supportsTemperature: true;
3875
+ supportsToolCall: true;
3876
+ releaseDate: string;
3877
+ modalities: {
3878
+ input: ("pdf" | "image" | "audio" | "video" | "text")[];
3879
+ output: ("image" | "text")[];
3880
+ };
3881
+ pricing?: never;
3882
+ interleaved?: never;
3883
+ supportsInterleaved?: never;
3884
+ status?: never;
3885
+ } | {
3886
+ name: string;
3887
+ displayName: string;
3888
+ maxInputTokens: number;
3889
+ supportedFileTypes: never[];
3890
+ reasoning: false;
3891
+ supportsTemperature: false;
3892
+ supportsToolCall: false;
3893
+ releaseDate: string;
3894
+ modalities: {
3895
+ input: "text"[];
3896
+ output: "text"[];
3897
+ };
3898
+ pricing?: never;
3899
+ interleaved?: never;
3900
+ supportsInterleaved?: never;
3901
+ status?: never;
3902
+ } | {
3903
+ name: string;
3904
+ displayName: string;
3905
+ maxInputTokens: number;
3906
+ supportedFileTypes: never[];
3907
+ reasoning: false;
3908
+ supportsTemperature: true;
3909
+ supportsToolCall: true;
3910
+ releaseDate: string;
3911
+ status: string;
3912
+ modalities: {
3913
+ input: "text"[];
3914
+ output: "text"[];
3915
+ };
3916
+ pricing: {
3917
+ inputPerM: number;
3918
+ outputPerM: number;
3919
+ currency: "USD";
3920
+ unit: "per_million_tokens";
3921
+ cacheReadPerM?: never;
3922
+ cacheWritePerM?: never;
3923
+ contextOver200kPerM?: never;
3924
+ reasoningPerM?: never;
3925
+ };
3926
+ interleaved?: never;
3927
+ supportsInterleaved?: never;
3928
+ } | {
3929
+ name: string;
3930
+ displayName: string;
3931
+ maxInputTokens: number;
3932
+ supportedFileTypes: ("image" | "video")[];
3933
+ reasoning: true;
3934
+ supportsTemperature: true;
3935
+ supportsToolCall: false;
3936
+ releaseDate: string;
3937
+ modalities: {
3938
+ input: ("image" | "video" | "text")[];
3939
+ output: "text"[];
3940
+ };
3941
+ pricing: {
3942
+ inputPerM: number;
3943
+ outputPerM: number;
3944
+ currency: "USD";
3945
+ unit: "per_million_tokens";
3946
+ cacheReadPerM?: never;
3947
+ cacheWritePerM?: never;
3948
+ contextOver200kPerM?: never;
3949
+ reasoningPerM?: never;
3950
+ };
3951
+ interleaved?: never;
3952
+ supportsInterleaved?: never;
3953
+ status?: never;
3954
+ } | {
3955
+ name: string;
3956
+ displayName: string;
3957
+ maxInputTokens: number;
3958
+ supportedFileTypes: never[];
3959
+ reasoning: true;
3960
+ supportsTemperature: true;
3961
+ supportsToolCall: false;
3962
+ releaseDate: string;
3963
+ modalities: {
3964
+ input: "text"[];
3965
+ output: "text"[];
3966
+ };
3967
+ pricing: {
3968
+ inputPerM: number;
3969
+ outputPerM: number;
3970
+ reasoningPerM: number;
3971
+ currency: "USD";
3972
+ unit: "per_million_tokens";
3973
+ cacheReadPerM?: never;
3974
+ cacheWritePerM?: never;
3975
+ contextOver200kPerM?: never;
3976
+ };
3977
+ interleaved?: never;
3978
+ supportsInterleaved?: never;
3979
+ status?: never;
3980
+ } | {
3981
+ name: string;
3982
+ displayName: string;
3983
+ maxInputTokens: number;
3984
+ supportedFileTypes: ("image" | "video")[];
3985
+ reasoning: true;
3986
+ supportsTemperature: true;
3987
+ supportsToolCall: true;
3988
+ releaseDate: string;
3989
+ modalities: {
3990
+ input: ("image" | "video" | "text")[];
3991
+ output: "text"[];
3992
+ };
3993
+ pricing: {
3994
+ inputPerM: number;
3995
+ outputPerM: number;
3996
+ cacheWritePerM: number;
3997
+ currency: "USD";
3998
+ unit: "per_million_tokens";
3999
+ cacheReadPerM?: never;
4000
+ contextOver200kPerM?: never;
4001
+ reasoningPerM?: never;
4002
+ };
4003
+ interleaved?: never;
4004
+ supportsInterleaved?: never;
4005
+ status?: never;
4006
+ } | {
4007
+ name: string;
4008
+ displayName: string;
4009
+ maxInputTokens: number;
4010
+ supportedFileTypes: ("image" | "video")[];
4011
+ reasoning: true;
4012
+ supportsTemperature: true;
4013
+ supportsToolCall: true;
4014
+ releaseDate: string;
4015
+ modalities: {
4016
+ input: ("image" | "video" | "text")[];
4017
+ output: "text"[];
4018
+ };
4019
+ pricing: {
4020
+ inputPerM: number;
4021
+ outputPerM: number;
4022
+ cacheReadPerM: number;
4023
+ currency: "USD";
4024
+ unit: "per_million_tokens";
4025
+ cacheWritePerM?: never;
4026
+ contextOver200kPerM?: never;
4027
+ reasoningPerM?: never;
4028
+ };
4029
+ interleaved?: never;
4030
+ supportsInterleaved?: never;
4031
+ status?: never;
4032
+ } | {
4033
+ name: string;
4034
+ displayName: string;
4035
+ maxInputTokens: number;
4036
+ supportedFileTypes: "image"[];
4037
+ reasoning: true;
4038
+ supportsTemperature: true;
4039
+ supportsToolCall: true;
4040
+ releaseDate: string;
4041
+ modalities: {
4042
+ input: ("image" | "text")[];
4043
+ output: "text"[];
4044
+ };
4045
+ pricing: {
4046
+ inputPerM: number;
4047
+ outputPerM: number;
4048
+ cacheReadPerM: number;
4049
+ contextOver200kPerM: {
4050
+ inputPerM: number;
4051
+ outputPerM: number;
4052
+ };
4053
+ currency: "USD";
4054
+ unit: "per_million_tokens";
4055
+ cacheWritePerM?: never;
4056
+ reasoningPerM?: never;
4057
+ };
4058
+ interleaved?: never;
4059
+ supportsInterleaved?: never;
4060
+ status?: never;
4061
+ } | {
4062
+ name: string;
4063
+ displayName: string;
4064
+ maxInputTokens: number;
4065
+ supportedFileTypes: ("image" | "audio" | "video")[];
4066
+ reasoning: true;
4067
+ supportsTemperature: true;
4068
+ supportsToolCall: true;
4069
+ releaseDate: string;
4070
+ modalities: {
4071
+ input: ("image" | "audio" | "video" | "text")[];
4072
+ output: "text"[];
4073
+ };
4074
+ interleaved: {
4075
+ field: string;
4076
+ };
4077
+ supportsInterleaved: true;
4078
+ pricing: {
4079
+ inputPerM: number;
4080
+ outputPerM: number;
4081
+ cacheReadPerM: number;
4082
+ currency: "USD";
4083
+ unit: "per_million_tokens";
4084
+ cacheWritePerM?: never;
4085
+ contextOver200kPerM?: never;
4086
+ reasoningPerM?: never;
4087
+ };
4088
+ status?: never;
4089
+ })[];
4090
+ };
4091
+ export declare const MODELS_DEV_PROVIDER_METADATA_BY_PROVIDER: {
4092
+ openai: {
4093
+ env: string[];
4094
+ npm: string;
4095
+ doc: string;
4096
+ };
4097
+ anthropic: {
4098
+ env: string[];
4099
+ npm: string;
4100
+ doc: string;
4101
+ };
4102
+ google: {
4103
+ env: string[];
4104
+ npm: string;
4105
+ doc: string;
4106
+ };
4107
+ groq: {
4108
+ env: string[];
4109
+ npm: string;
4110
+ doc: string;
4111
+ };
4112
+ xai: {
4113
+ env: string[];
4114
+ npm: string;
4115
+ doc: string;
4116
+ };
4117
+ cohere: {
4118
+ env: string[];
4119
+ npm: string;
4120
+ doc: string;
4121
+ };
4122
+ minimax: {
4123
+ env: string[];
4124
+ npm: string;
4125
+ api: string;
4126
+ doc: string;
4127
+ };
4128
+ glm: {
4129
+ env: string[];
4130
+ npm: string;
4131
+ api: string;
4132
+ doc: string;
4133
+ };
4134
+ openrouter: {
4135
+ env: string[];
4136
+ npm: string;
4137
+ api: string;
4138
+ doc: string;
4139
+ };
4140
+ vertex: {
4141
+ env: string[];
4142
+ npm: string;
4143
+ doc: string;
4144
+ };
4145
+ bedrock: {
4146
+ env: string[];
4147
+ npm: string;
4148
+ doc: string;
4149
+ };
4150
+ };
4151
+ //# sourceMappingURL=models.generated.d.ts.map