llm.rb 12.0.0 → 12.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +193 -1
  3. data/LICENSE +5 -4
  4. data/README.md +56 -18
  5. data/data/anthropic.json +85 -372
  6. data/data/bedrock.json +498 -3
  7. data/data/deepinfra.json +567 -47
  8. data/data/deepseek.json +4 -0
  9. data/data/google.json +54 -0
  10. data/data/mistral.json +968 -0
  11. data/data/openai.json +51 -0
  12. data/data/xai.json +67 -0
  13. data/data/zai.json +14 -0
  14. data/lib/llm/agent.rb +41 -1
  15. data/lib/llm/context.rb +9 -1
  16. data/lib/llm/function.rb +6 -0
  17. data/lib/llm/json_adapter.rb +29 -3
  18. data/lib/llm/provider.rb +3 -3
  19. data/lib/llm/providers/anthropic.rb +2 -2
  20. data/lib/llm/providers/google.rb +3 -1
  21. data/lib/llm/providers/llamacpp.rb +5 -5
  22. data/lib/llm/providers/mistral/request_adapter/completion.rb +122 -0
  23. data/lib/llm/providers/mistral/request_adapter.rb +20 -0
  24. data/lib/llm/providers/mistral.rb +96 -0
  25. data/lib/llm/repl/input.rb +64 -0
  26. data/lib/llm/repl/status.rb +30 -0
  27. data/lib/llm/repl/stream.rb +46 -0
  28. data/lib/llm/repl/transcript.rb +61 -0
  29. data/lib/llm/repl/window.rb +107 -0
  30. data/lib/llm/repl.rb +78 -0
  31. data/lib/llm/tools/chdir.rb +23 -0
  32. data/lib/llm/tools/git.rb +41 -0
  33. data/lib/llm/tools/mkdir.rb +32 -0
  34. data/lib/llm/tools/pwd.rb +20 -0
  35. data/lib/llm/tools/read_file.rb +40 -0
  36. data/lib/llm/tools/rg.rb +46 -0
  37. data/lib/llm/tools/shell.rb +48 -0
  38. data/lib/llm/tools/swap_text.rb +25 -0
  39. data/lib/llm/tools/write_file.rb +24 -0
  40. data/lib/llm/tools.rb +5 -0
  41. data/lib/llm/version.rb +1 -1
  42. data/lib/llm.rb +9 -0
  43. data/llm.gemspec +1 -1
  44. data/resources/deepdive.md +32 -0
  45. metadata +22 -2
data/data/deepinfra.json CHANGED
@@ -10,10 +10,12 @@
10
10
  "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8": {
11
11
  "id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
12
12
  "name": "Llama 4 Maverick 17B FP8",
13
+ "description": "Open multimodal Llama model for strong reasoning and fast responses",
13
14
  "family": "llama",
14
- "attachment": false,
15
+ "attachment": true,
15
16
  "reasoning": false,
16
17
  "tool_call": false,
18
+ "structured_output": true,
17
19
  "release_date": "2025-04-05",
18
20
  "last_updated": "2025-04-05",
19
21
  "modalities": {
@@ -38,10 +40,12 @@
38
40
  "meta-llama/Llama-4-Scout-17B-16E-Instruct": {
39
41
  "id": "meta-llama/Llama-4-Scout-17B-16E-Instruct",
40
42
  "name": "Llama 4 Scout 17B",
43
+ "description": "Open multimodal Llama model for long-context analysis and efficient agents",
41
44
  "family": "llama",
42
- "attachment": false,
45
+ "attachment": true,
43
46
  "reasoning": false,
44
47
  "tool_call": true,
48
+ "structured_output": true,
45
49
  "release_date": "2025-04-05",
46
50
  "last_updated": "2025-04-05",
47
51
  "modalities": {
@@ -66,10 +70,12 @@
66
70
  "meta-llama/Llama-3.3-70B-Instruct-Turbo": {
67
71
  "id": "meta-llama/Llama-3.3-70B-Instruct-Turbo",
68
72
  "name": "Llama 3.3 70B Turbo",
73
+ "description": "Compact Llama instruction model for fast chat and local deployment",
69
74
  "family": "llama",
70
75
  "attachment": false,
71
76
  "reasoning": false,
72
77
  "tool_call": true,
78
+ "structured_output": true,
73
79
  "release_date": "2024-12-06",
74
80
  "last_updated": "2024-12-06",
75
81
  "modalities": {
@@ -93,6 +99,7 @@
93
99
  "moonshotai/Kimi-K2.6": {
94
100
  "id": "moonshotai/Kimi-K2.6",
95
101
  "name": "Kimi K2.6",
102
+ "description": "Kimi multimodal agent model for visual understanding, coding, and planning",
96
103
  "family": "kimi-k2",
97
104
  "attachment": true,
98
105
  "reasoning": true,
@@ -134,6 +141,7 @@
134
141
  "moonshotai/Kimi-K2.5": {
135
142
  "id": "moonshotai/Kimi-K2.5",
136
143
  "name": "Kimi K2.5",
144
+ "description": "Kimi multimodal agent model for visual understanding, coding, and planning",
137
145
  "family": "kimi-k2",
138
146
  "attachment": true,
139
147
  "reasoning": true,
@@ -172,9 +180,52 @@
172
180
  "cache_read": 0.07
173
181
  }
174
182
  },
183
+ "moonshotai/Kimi-K2.7-Code": {
184
+ "id": "moonshotai/Kimi-K2.7-Code",
185
+ "name": "Kimi K2.7 Code",
186
+ "description": "Coding-focused Kimi model, stronger on long-horizon repo work with less overthinking",
187
+ "family": "kimi-k2",
188
+ "attachment": true,
189
+ "reasoning": true,
190
+ "reasoning_options": [
191
+ {
192
+ "type": "toggle"
193
+ }
194
+ ],
195
+ "tool_call": true,
196
+ "interleaved": {
197
+ "field": "reasoning_content"
198
+ },
199
+ "structured_output": true,
200
+ "temperature": false,
201
+ "knowledge": "2025-01",
202
+ "release_date": "2026-06-12",
203
+ "last_updated": "2026-06-12",
204
+ "modalities": {
205
+ "input": [
206
+ "text",
207
+ "image",
208
+ "video"
209
+ ],
210
+ "output": [
211
+ "text"
212
+ ]
213
+ },
214
+ "open_weights": true,
215
+ "limit": {
216
+ "context": 262144,
217
+ "output": 262144
218
+ },
219
+ "cost": {
220
+ "input": 0.74,
221
+ "output": 3.5,
222
+ "cache_read": 0.15
223
+ }
224
+ },
175
225
  "google/gemma-4-31B-it": {
176
226
  "id": "google/gemma-4-31B-it",
177
227
  "name": "Gemma 4 31B IT",
228
+ "description": "Largest Gemma 4 instruction model for open, self-hosted chat and reasoning",
178
229
  "family": "gemma",
179
230
  "attachment": true,
180
231
  "reasoning": true,
@@ -191,7 +242,8 @@
191
242
  "modalities": {
192
243
  "input": [
193
244
  "text",
194
- "image"
245
+ "image",
246
+ "video"
195
247
  ],
196
248
  "output": [
197
249
  "text"
@@ -210,6 +262,7 @@
210
262
  "google/gemma-4-26B-A4B-it": {
211
263
  "id": "google/gemma-4-26B-A4B-it",
212
264
  "name": "Gemma 4 26B A4B IT",
265
+ "description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
213
266
  "family": "gemma",
214
267
  "attachment": true,
215
268
  "reasoning": true,
@@ -245,11 +298,13 @@
245
298
  "Qwen/Qwen3.6-35B-A3B": {
246
299
  "id": "Qwen/Qwen3.6-35B-A3B",
247
300
  "name": "Qwen3.6 35B A3B",
301
+ "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
248
302
  "family": "qwen",
249
303
  "attachment": true,
250
304
  "reasoning": true,
251
305
  "reasoning_options": [],
252
306
  "tool_call": true,
307
+ "structured_output": true,
253
308
  "temperature": true,
254
309
  "release_date": "2026-04-01",
255
310
  "last_updated": "2026-04-01",
@@ -273,14 +328,184 @@
273
328
  "output": 0.95
274
329
  }
275
330
  },
331
+ "Qwen/Qwen3.7-Max": {
332
+ "id": "Qwen/Qwen3.7-Max",
333
+ "name": "Qwen3.7 Max",
334
+ "description": "Qwen frontier model tuned for agent frameworks, coding assistants, and long tasks",
335
+ "family": "qwen",
336
+ "attachment": false,
337
+ "reasoning": false,
338
+ "tool_call": true,
339
+ "structured_output": true,
340
+ "temperature": true,
341
+ "release_date": "2026-05-21",
342
+ "last_updated": "2026-05-21",
343
+ "modalities": {
344
+ "input": [
345
+ "text"
346
+ ],
347
+ "output": [
348
+ "text"
349
+ ]
350
+ },
351
+ "open_weights": false,
352
+ "limit": {
353
+ "context": 256000,
354
+ "output": 65536
355
+ },
356
+ "cost": {
357
+ "input": 2.5,
358
+ "output": 7.5,
359
+ "cache_read": 0.5,
360
+ "tiers": [
361
+ {
362
+ "input": 5,
363
+ "output": 15,
364
+ "cache_read": 1,
365
+ "tier": {
366
+ "type": "context",
367
+ "size": 32000
368
+ }
369
+ },
370
+ {
371
+ "input": 6.25,
372
+ "output": 18.5,
373
+ "cache_read": 1.25,
374
+ "tier": {
375
+ "type": "context",
376
+ "size": 128000
377
+ }
378
+ }
379
+ ]
380
+ }
381
+ },
382
+ "Qwen/Qwen3.6-27B": {
383
+ "id": "Qwen/Qwen3.6-27B",
384
+ "name": "Qwen3.6 27B",
385
+ "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
386
+ "family": "qwen",
387
+ "attachment": true,
388
+ "reasoning": true,
389
+ "reasoning_options": [],
390
+ "tool_call": true,
391
+ "structured_output": true,
392
+ "temperature": true,
393
+ "release_date": "2026-04-22",
394
+ "last_updated": "2026-04-22",
395
+ "modalities": {
396
+ "input": [
397
+ "text",
398
+ "image",
399
+ "video",
400
+ "audio"
401
+ ],
402
+ "output": [
403
+ "text"
404
+ ]
405
+ },
406
+ "open_weights": true,
407
+ "limit": {
408
+ "context": 262144,
409
+ "output": 65536
410
+ },
411
+ "cost": {
412
+ "input": 0.32,
413
+ "output": 3.2
414
+ }
415
+ },
416
+ "Qwen/Qwen3-Next-80B-A3B-Instruct": {
417
+ "id": "Qwen/Qwen3-Next-80B-A3B-Instruct",
418
+ "name": "Qwen3-Next 80B-A3B Instruct",
419
+ "description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
420
+ "family": "qwen",
421
+ "attachment": false,
422
+ "reasoning": false,
423
+ "tool_call": true,
424
+ "structured_output": true,
425
+ "temperature": true,
426
+ "knowledge": "2025-04",
427
+ "release_date": "2025-09",
428
+ "last_updated": "2025-09",
429
+ "modalities": {
430
+ "input": [
431
+ "text"
432
+ ],
433
+ "output": [
434
+ "text"
435
+ ]
436
+ },
437
+ "open_weights": true,
438
+ "limit": {
439
+ "context": 262144,
440
+ "output": 32768
441
+ },
442
+ "cost": {
443
+ "input": 0.09,
444
+ "output": 1.1
445
+ }
446
+ },
447
+ "Qwen/Qwen3-Max": {
448
+ "id": "Qwen/Qwen3-Max",
449
+ "name": "Qwen3 Max",
450
+ "description": "Flagship Qwen3 model for coding agents, complex reasoning, and tool use",
451
+ "family": "qwen",
452
+ "attachment": false,
453
+ "reasoning": false,
454
+ "tool_call": true,
455
+ "structured_output": true,
456
+ "temperature": true,
457
+ "knowledge": "2025-04",
458
+ "release_date": "2025-09-23",
459
+ "last_updated": "2025-09-23",
460
+ "modalities": {
461
+ "input": [
462
+ "text"
463
+ ],
464
+ "output": [
465
+ "text"
466
+ ]
467
+ },
468
+ "open_weights": false,
469
+ "limit": {
470
+ "context": 256000,
471
+ "output": 65536
472
+ },
473
+ "cost": {
474
+ "input": 1.2,
475
+ "output": 6,
476
+ "cache_read": 0.24,
477
+ "tiers": [
478
+ {
479
+ "input": 2.4,
480
+ "output": 12,
481
+ "cache_read": 0.48,
482
+ "tier": {
483
+ "type": "context",
484
+ "size": 32000
485
+ }
486
+ },
487
+ {
488
+ "input": 3,
489
+ "output": 15,
490
+ "cache_read": 0.6,
491
+ "tier": {
492
+ "type": "context",
493
+ "size": 128000
494
+ }
495
+ }
496
+ ]
497
+ }
498
+ },
276
499
  "Qwen/Qwen3.5-397B-A17B": {
277
500
  "id": "Qwen/Qwen3.5-397B-A17B",
278
501
  "name": "Qwen 3.5 397B A17B",
502
+ "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
279
503
  "family": "qwen",
280
504
  "attachment": true,
281
505
  "reasoning": true,
282
506
  "reasoning_options": [],
283
507
  "tool_call": true,
508
+ "structured_output": true,
284
509
  "temperature": true,
285
510
  "knowledge": "2025-01",
286
511
  "release_date": "2026-02-01",
@@ -306,13 +531,148 @@
306
531
  "cache_read": 0.22
307
532
  }
308
533
  },
534
+ "Qwen/Qwen3.5-122B-A10B": {
535
+ "id": "Qwen/Qwen3.5-122B-A10B",
536
+ "name": "Qwen3.5 122B-A10B",
537
+ "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
538
+ "family": "qwen",
539
+ "attachment": true,
540
+ "reasoning": true,
541
+ "reasoning_options": [],
542
+ "tool_call": true,
543
+ "structured_output": true,
544
+ "temperature": true,
545
+ "release_date": "2026-02-23",
546
+ "last_updated": "2026-02-23",
547
+ "modalities": {
548
+ "input": [
549
+ "text",
550
+ "image",
551
+ "video",
552
+ "audio"
553
+ ],
554
+ "output": [
555
+ "text"
556
+ ]
557
+ },
558
+ "open_weights": true,
559
+ "limit": {
560
+ "context": 262144,
561
+ "output": 65536
562
+ },
563
+ "cost": {
564
+ "input": 0.29,
565
+ "output": 2.4
566
+ }
567
+ },
568
+ "Qwen/Qwen3.5-27B": {
569
+ "id": "Qwen/Qwen3.5-27B",
570
+ "name": "Qwen3.5 27B",
571
+ "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
572
+ "family": "qwen",
573
+ "attachment": true,
574
+ "reasoning": true,
575
+ "reasoning_options": [],
576
+ "tool_call": true,
577
+ "structured_output": true,
578
+ "temperature": true,
579
+ "release_date": "2026-02-23",
580
+ "last_updated": "2026-02-23",
581
+ "modalities": {
582
+ "input": [
583
+ "text",
584
+ "image",
585
+ "video",
586
+ "audio"
587
+ ],
588
+ "output": [
589
+ "text"
590
+ ]
591
+ },
592
+ "open_weights": true,
593
+ "limit": {
594
+ "context": 262144,
595
+ "output": 65536
596
+ },
597
+ "cost": {
598
+ "input": 0.26,
599
+ "output": 2.6
600
+ }
601
+ },
602
+ "Qwen/Qwen3.5-9B": {
603
+ "id": "Qwen/Qwen3.5-9B",
604
+ "name": "Qwen3.5 9B",
605
+ "description": "Qwen instruction model for multilingual chat, reasoning, and tool use",
606
+ "family": "qwen",
607
+ "attachment": true,
608
+ "reasoning": true,
609
+ "reasoning_options": [],
610
+ "tool_call": true,
611
+ "structured_output": true,
612
+ "temperature": true,
613
+ "release_date": "2026-02-23",
614
+ "last_updated": "2026-02-23",
615
+ "modalities": {
616
+ "input": [
617
+ "text",
618
+ "image",
619
+ "video"
620
+ ],
621
+ "output": [
622
+ "text"
623
+ ]
624
+ },
625
+ "open_weights": true,
626
+ "limit": {
627
+ "context": 262144,
628
+ "output": 65536
629
+ },
630
+ "cost": {
631
+ "input": 0.1,
632
+ "output": 0.15
633
+ }
634
+ },
635
+ "Qwen/Qwen3-32B": {
636
+ "id": "Qwen/Qwen3-32B",
637
+ "name": "Qwen3 32B",
638
+ "description": "Dense open Qwen model for self-hosted chat, reasoning, and coding",
639
+ "family": "qwen",
640
+ "attachment": false,
641
+ "reasoning": true,
642
+ "reasoning_options": [],
643
+ "tool_call": true,
644
+ "structured_output": true,
645
+ "temperature": true,
646
+ "knowledge": "2025-04",
647
+ "release_date": "2025-04",
648
+ "last_updated": "2025-04",
649
+ "modalities": {
650
+ "input": [
651
+ "text"
652
+ ],
653
+ "output": [
654
+ "text"
655
+ ]
656
+ },
657
+ "open_weights": true,
658
+ "limit": {
659
+ "context": 40960,
660
+ "output": 16384
661
+ },
662
+ "cost": {
663
+ "input": 0.08,
664
+ "output": 0.28
665
+ }
666
+ },
309
667
  "Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo": {
310
668
  "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo",
311
669
  "name": "Qwen3 Coder 480B A35B Instruct Turbo",
670
+ "description": "Qwen coding model for software agents, repository edits, and code reasoning",
312
671
  "family": "qwen",
313
672
  "attachment": false,
314
673
  "reasoning": false,
315
674
  "tool_call": true,
675
+ "structured_output": true,
316
676
  "temperature": true,
317
677
  "knowledge": "2025-04",
318
678
  "release_date": "2025-07-23",
@@ -332,17 +692,20 @@
332
692
  },
333
693
  "cost": {
334
694
  "input": 0.3,
335
- "output": 1
695
+ "output": 1,
696
+ "cache_read": 0.1
336
697
  }
337
698
  },
338
699
  "Qwen/Qwen3.5-35B-A3B": {
339
700
  "id": "Qwen/Qwen3.5-35B-A3B",
340
701
  "name": "Qwen 3.5 35B A3B",
702
+ "description": "Qwen vision-language model for visual reasoning, documents, and agent tasks",
341
703
  "family": "qwen",
342
704
  "attachment": true,
343
705
  "reasoning": true,
344
706
  "reasoning_options": [],
345
707
  "tool_call": true,
708
+ "structured_output": true,
346
709
  "temperature": true,
347
710
  "knowledge": "2025-01",
348
711
  "release_date": "2026-02-01",
@@ -371,6 +734,7 @@
371
734
  "openai/gpt-oss-120b": {
372
735
  "id": "openai/gpt-oss-120b",
373
736
  "name": "GPT OSS 120B",
737
+ "description": "Open-weight GPT model for self-hosted reasoning and instruction-following workloads",
374
738
  "family": "gpt-oss",
375
739
  "attachment": false,
376
740
  "reasoning": true,
@@ -385,6 +749,7 @@
385
749
  }
386
750
  ],
387
751
  "tool_call": true,
752
+ "structured_output": true,
388
753
  "temperature": true,
389
754
  "release_date": "2025-08-05",
390
755
  "last_updated": "2025-08-05",
@@ -402,13 +767,14 @@
402
767
  "output": 16384
403
768
  },
404
769
  "cost": {
405
- "input": 0.039,
406
- "output": 0.19
770
+ "input": 0.037,
771
+ "output": 0.17
407
772
  }
408
773
  },
409
774
  "openai/gpt-oss-20b": {
410
775
  "id": "openai/gpt-oss-20b",
411
776
  "name": "GPT OSS 20B",
777
+ "description": "Open-weight GPT model for self-hosted reasoning and instruction-following workloads",
412
778
  "family": "gpt-oss",
413
779
  "attachment": false,
414
780
  "reasoning": true,
@@ -423,6 +789,7 @@
423
789
  }
424
790
  ],
425
791
  "tool_call": true,
792
+ "structured_output": true,
426
793
  "temperature": true,
427
794
  "release_date": "2025-08-05",
428
795
  "last_updated": "2025-08-05",
@@ -447,6 +814,7 @@
447
814
  "XiaomiMiMo/MiMo-V2.5": {
448
815
  "id": "XiaomiMiMo/MiMo-V2.5",
449
816
  "name": "MiMo-V2.5",
817
+ "description": "Open MiMo model for multimodal coding agents and long-context automation",
450
818
  "family": "mimo",
451
819
  "attachment": true,
452
820
  "reasoning": true,
@@ -459,6 +827,7 @@
459
827
  "interleaved": {
460
828
  "field": "reasoning_content"
461
829
  },
830
+ "structured_output": true,
462
831
  "temperature": true,
463
832
  "knowledge": "2024-12",
464
833
  "release_date": "2026-04-22",
@@ -482,30 +851,15 @@
482
851
  "cost": {
483
852
  "input": 0.4,
484
853
  "output": 2,
485
- "cache_read": 0.08,
486
- "tiers": [
487
- {
488
- "input": 0.8,
489
- "output": 4,
490
- "cache_read": 0.16,
491
- "tier": {
492
- "type": "context",
493
- "size": 256000
494
- }
495
- }
496
- ],
497
- "context_over_200k": {
498
- "input": 0.8,
499
- "output": 4,
500
- "cache_read": 0.16
501
- }
854
+ "cache_read": 0.08
502
855
  }
503
856
  },
504
857
  "XiaomiMiMo/MiMo-V2.5-Pro": {
505
858
  "id": "XiaomiMiMo/MiMo-V2.5-Pro",
506
859
  "name": "MiMo-V2.5-Pro",
860
+ "description": "Stronger MiMo Pro tier for multimodal reasoning and coding-agent execution",
507
861
  "family": "mimo",
508
- "attachment": false,
862
+ "attachment": true,
509
863
  "reasoning": true,
510
864
  "reasoning_options": [
511
865
  {
@@ -516,13 +870,15 @@
516
870
  "interleaved": {
517
871
  "field": "reasoning_content"
518
872
  },
873
+ "structured_output": true,
519
874
  "temperature": true,
520
875
  "knowledge": "2024-12",
521
876
  "release_date": "2026-04-22",
522
877
  "last_updated": "2026-04-22",
523
878
  "modalities": {
524
879
  "input": [
525
- "text"
880
+ "text",
881
+ "audio"
526
882
  ],
527
883
  "output": [
528
884
  "text"
@@ -536,28 +892,112 @@
536
892
  "cost": {
537
893
  "input": 1,
538
894
  "output": 3,
539
- "cache_read": 0.2,
540
- "tiers": [
541
- {
542
- "input": 2,
543
- "output": 6,
544
- "cache_read": 0.4,
545
- "tier": {
546
- "type": "context",
547
- "size": 256000
548
- }
549
- }
895
+ "cache_read": 0.2
896
+ }
897
+ },
898
+ "nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning": {
899
+ "id": "nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning",
900
+ "name": "Nemotron 3 Nano Omni 30B A3B Reasoning",
901
+ "description": "Open Nemotron omni model combining reasoning with text, vision, and audio",
902
+ "family": "nemotron",
903
+ "attachment": true,
904
+ "reasoning": true,
905
+ "reasoning_options": [],
906
+ "tool_call": true,
907
+ "structured_output": true,
908
+ "temperature": true,
909
+ "release_date": "2026-04-28",
910
+ "last_updated": "2026-04-28",
911
+ "modalities": {
912
+ "input": [
913
+ "text",
914
+ "image",
915
+ "video",
916
+ "audio"
550
917
  ],
551
- "context_over_200k": {
552
- "input": 2,
553
- "output": 6,
554
- "cache_read": 0.4
918
+ "output": [
919
+ "text"
920
+ ]
921
+ },
922
+ "open_weights": true,
923
+ "limit": {
924
+ "context": 262144,
925
+ "output": 65536
926
+ },
927
+ "cost": {
928
+ "input": 0.2,
929
+ "output": 0.8
930
+ }
931
+ },
932
+ "nvidia/Nemotron-3-Nano-30B-A3B": {
933
+ "id": "nvidia/Nemotron-3-Nano-30B-A3B",
934
+ "name": "Nemotron 3 Nano 30B A3B",
935
+ "description": "Small Nemotron 3 MoE for efficient coding, math, and long-context agents",
936
+ "family": "nemotron",
937
+ "attachment": false,
938
+ "reasoning": true,
939
+ "reasoning_options": [
940
+ {
941
+ "type": "toggle"
555
942
  }
943
+ ],
944
+ "tool_call": true,
945
+ "temperature": true,
946
+ "release_date": "2025-12-15",
947
+ "last_updated": "2025-12-15",
948
+ "modalities": {
949
+ "input": [
950
+ "text"
951
+ ],
952
+ "output": [
953
+ "text"
954
+ ]
955
+ },
956
+ "open_weights": true,
957
+ "limit": {
958
+ "context": 262144,
959
+ "output": 262144
960
+ },
961
+ "cost": {
962
+ "input": 0.05,
963
+ "output": 0.2
964
+ }
965
+ },
966
+ "nvidia/Llama-3.3-Nemotron-Super-49B-v1.5": {
967
+ "id": "nvidia/Llama-3.3-Nemotron-Super-49B-v1.5",
968
+ "name": "Llama 3.3 Nemotron Super 49B v1.5",
969
+ "description": "Nemotron model for efficient reasoning, coding, and specialized AI agents",
970
+ "family": "nemotron",
971
+ "attachment": false,
972
+ "reasoning": true,
973
+ "reasoning_options": [],
974
+ "tool_call": true,
975
+ "structured_output": true,
976
+ "temperature": true,
977
+ "release_date": "2025-07-25",
978
+ "last_updated": "2025-07-25",
979
+ "modalities": {
980
+ "input": [
981
+ "text"
982
+ ],
983
+ "output": [
984
+ "text"
985
+ ]
986
+ },
987
+ "open_weights": true,
988
+ "limit": {
989
+ "context": 131072,
990
+ "output": 131072
991
+ },
992
+ "cost": {
993
+ "input": 0.4,
994
+ "output": 0.4
556
995
  }
557
996
  },
558
997
  "zai-org/GLM-4.7-Flash": {
559
998
  "id": "zai-org/GLM-4.7-Flash",
560
999
  "name": "GLM-4.7-Flash",
1000
+ "description": "Efficient GLM model for fast reasoning, coding, and agent workflows",
561
1001
  "family": "glm-flash",
562
1002
  "attachment": false,
563
1003
  "reasoning": true,
@@ -566,6 +1006,7 @@
566
1006
  "interleaved": {
567
1007
  "field": "reasoning_content"
568
1008
  },
1009
+ "structured_output": true,
569
1010
  "temperature": true,
570
1011
  "knowledge": "2025-04",
571
1012
  "release_date": "2026-01-19",
@@ -585,12 +1026,14 @@
585
1026
  },
586
1027
  "cost": {
587
1028
  "input": 0.06,
588
- "output": 0.4
1029
+ "output": 0.4,
1030
+ "cache_read": 0.01
589
1031
  }
590
1032
  },
591
1033
  "zai-org/GLM-4.6": {
592
1034
  "id": "zai-org/GLM-4.6",
593
1035
  "name": "GLM-4.6",
1036
+ "description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
594
1037
  "family": "glm",
595
1038
  "attachment": false,
596
1039
  "reasoning": true,
@@ -603,6 +1046,7 @@
603
1046
  "interleaved": {
604
1047
  "field": "reasoning_content"
605
1048
  },
1049
+ "structured_output": true,
606
1050
  "temperature": true,
607
1051
  "knowledge": "2025-04",
608
1052
  "release_date": "2025-09-30",
@@ -629,6 +1073,7 @@
629
1073
  "zai-org/GLM-5": {
630
1074
  "id": "zai-org/GLM-5",
631
1075
  "name": "GLM-5",
1076
+ "description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
632
1077
  "family": "glm",
633
1078
  "attachment": false,
634
1079
  "reasoning": true,
@@ -641,6 +1086,7 @@
641
1086
  "interleaved": {
642
1087
  "field": "reasoning_content"
643
1088
  },
1089
+ "structured_output": true,
644
1090
  "temperature": true,
645
1091
  "knowledge": "2025-12",
646
1092
  "release_date": "2026-02-12",
@@ -667,6 +1113,7 @@
667
1113
  "zai-org/GLM-4.7": {
668
1114
  "id": "zai-org/GLM-4.7",
669
1115
  "name": "GLM-4.7",
1116
+ "description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
670
1117
  "family": "glm",
671
1118
  "attachment": false,
672
1119
  "reasoning": true,
@@ -679,6 +1126,7 @@
679
1126
  "interleaved": {
680
1127
  "field": "reasoning_content"
681
1128
  },
1129
+ "structured_output": true,
682
1130
  "temperature": true,
683
1131
  "knowledge": "2025-04",
684
1132
  "release_date": "2025-12-22",
@@ -705,6 +1153,7 @@
705
1153
  "zai-org/GLM-5.2": {
706
1154
  "id": "zai-org/GLM-5.2",
707
1155
  "name": "GLM-5.2",
1156
+ "description": "Open flagship GLM for long-horizon coding agents and million-token context work",
708
1157
  "family": "glm",
709
1158
  "attachment": false,
710
1159
  "reasoning": true,
@@ -744,7 +1193,7 @@
744
1193
  "output": 32768
745
1194
  },
746
1195
  "cost": {
747
- "input": 0.95,
1196
+ "input": 0.93,
748
1197
  "output": 3,
749
1198
  "cache_read": 0.18
750
1199
  }
@@ -752,6 +1201,7 @@
752
1201
  "zai-org/GLM-5.1": {
753
1202
  "id": "zai-org/GLM-5.1",
754
1203
  "name": "GLM-5.1",
1204
+ "description": "Flagship GLM model for hybrid reasoning, coding, and agentic engineering",
755
1205
  "family": "glm",
756
1206
  "attachment": false,
757
1207
  "reasoning": true,
@@ -791,6 +1241,7 @@
791
1241
  "deepseek-ai/DeepSeek-R1-0528": {
792
1242
  "id": "deepseek-ai/DeepSeek-R1-0528",
793
1243
  "name": "DeepSeek-R1-0528",
1244
+ "description": "DeepSeek reasoning model for multi-step analysis, math, coding, and tools",
794
1245
  "attachment": false,
795
1246
  "reasoning": true,
796
1247
  "reasoning_options": [],
@@ -798,6 +1249,7 @@
798
1249
  "interleaved": {
799
1250
  "field": "reasoning_content"
800
1251
  },
1252
+ "structured_output": true,
801
1253
  "temperature": true,
802
1254
  "knowledge": "2024-07",
803
1255
  "release_date": "2025-05-28",
@@ -824,6 +1276,7 @@
824
1276
  "deepseek-ai/DeepSeek-V4-Flash": {
825
1277
  "id": "deepseek-ai/DeepSeek-V4-Flash",
826
1278
  "name": "DeepSeek V4 Flash",
1279
+ "description": "Fast DeepSeek V4 lane for economical reasoning, coding, and long-context work",
827
1280
  "family": "deepseek-flash",
828
1281
  "attachment": false,
829
1282
  "reasoning": true,
@@ -864,14 +1317,15 @@
864
1317
  "output": 16384
865
1318
  },
866
1319
  "cost": {
867
- "input": 0.1,
868
- "output": 0.2,
869
- "cache_read": 0.02
1320
+ "input": 0.09,
1321
+ "output": 0.18,
1322
+ "cache_read": 0.018
870
1323
  }
871
1324
  },
872
1325
  "deepseek-ai/DeepSeek-V4-Pro": {
873
1326
  "id": "deepseek-ai/DeepSeek-V4-Pro",
874
1327
  "name": "DeepSeek V4 Pro",
1328
+ "description": "Open MoE flagship with million-token context for coding and long agent runs",
875
1329
  "family": "deepseek-thinking",
876
1330
  "attachment": false,
877
1331
  "reasoning": true,
@@ -920,6 +1374,7 @@
920
1374
  "deepseek-ai/DeepSeek-V3.2": {
921
1375
  "id": "deepseek-ai/DeepSeek-V3.2",
922
1376
  "name": "DeepSeek-V3.2",
1377
+ "description": "DeepSeek chat model for instruction following, coding, and analysis",
923
1378
  "attachment": false,
924
1379
  "reasoning": true,
925
1380
  "reasoning_options": [
@@ -931,6 +1386,7 @@
931
1386
  "interleaved": {
932
1387
  "field": "reasoning_content"
933
1388
  },
1389
+ "structured_output": true,
934
1390
  "temperature": true,
935
1391
  "knowledge": "2024-12",
936
1392
  "release_date": "2025-12-02",
@@ -957,6 +1413,7 @@
957
1413
  "MiniMaxAI/MiniMax-M2.5": {
958
1414
  "id": "MiniMaxAI/MiniMax-M2.5",
959
1415
  "name": "MiniMax M2.5",
1416
+ "description": "MiniMax model for chat, coding, office work, and agentic tasks",
960
1417
  "family": "minimax",
961
1418
  "attachment": false,
962
1419
  "reasoning": true,
@@ -985,8 +1442,71 @@
985
1442
  "cost": {
986
1443
  "input": 0.15,
987
1444
  "output": 1.15,
988
- "cache_read": 0.03,
989
- "cache_write": 0.375
1445
+ "cache_read": 0.03
1446
+ }
1447
+ },
1448
+ "MiniMaxAI/MiniMax-M3": {
1449
+ "id": "MiniMaxAI/MiniMax-M3",
1450
+ "name": "MiniMax-M3",
1451
+ "description": "MiniMax multimodal model for long-context coding, perception, and agent planning",
1452
+ "family": "minimax",
1453
+ "attachment": true,
1454
+ "reasoning": true,
1455
+ "reasoning_options": [],
1456
+ "tool_call": true,
1457
+ "temperature": true,
1458
+ "release_date": "2026-06-01",
1459
+ "last_updated": "2026-06-01",
1460
+ "modalities": {
1461
+ "input": [
1462
+ "text",
1463
+ "image",
1464
+ "video"
1465
+ ],
1466
+ "output": [
1467
+ "text"
1468
+ ]
1469
+ },
1470
+ "open_weights": true,
1471
+ "limit": {
1472
+ "context": 524288,
1473
+ "output": 128000
1474
+ },
1475
+ "cost": {
1476
+ "input": 0.3,
1477
+ "output": 1.2,
1478
+ "cache_read": 0.06
1479
+ }
1480
+ },
1481
+ "MiniMaxAI/MiniMax-M2.7": {
1482
+ "id": "MiniMaxAI/MiniMax-M2.7",
1483
+ "name": "MiniMax-M2.7",
1484
+ "description": "Open MiniMax flagship for coding agents, office automation, and complex environments",
1485
+ "family": "minimax",
1486
+ "attachment": false,
1487
+ "reasoning": true,
1488
+ "reasoning_options": [],
1489
+ "tool_call": true,
1490
+ "temperature": true,
1491
+ "release_date": "2026-03-18",
1492
+ "last_updated": "2026-03-18",
1493
+ "modalities": {
1494
+ "input": [
1495
+ "text"
1496
+ ],
1497
+ "output": [
1498
+ "text"
1499
+ ]
1500
+ },
1501
+ "open_weights": true,
1502
+ "limit": {
1503
+ "context": 196608,
1504
+ "output": 131072
1505
+ },
1506
+ "cost": {
1507
+ "input": 0.25,
1508
+ "output": 1,
1509
+ "cache_read": 0.05
990
1510
  }
991
1511
  }
992
1512
  }