llm.rb 11.3.1 → 12.0.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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +242 -1
  3. data/LICENSE +92 -17
  4. data/README.md +204 -623
  5. data/data/anthropic.json +433 -249
  6. data/data/bedrock.json +2097 -1055
  7. data/data/deepinfra.json +993 -0
  8. data/data/deepseek.json +53 -28
  9. data/data/google.json +389 -771
  10. data/data/openai.json +1053 -771
  11. data/data/xai.json +133 -292
  12. data/data/zai.json +249 -141
  13. data/lib/llm/active_record/acts_as_agent.rb +3 -41
  14. data/lib/llm/active_record/acts_as_llm.rb +18 -0
  15. data/lib/llm/active_record.rb +3 -3
  16. data/lib/llm/context.rb +9 -5
  17. data/lib/llm/contract/completion.rb +2 -2
  18. data/lib/llm/provider.rb +2 -2
  19. data/lib/llm/providers/deepinfra/audio.rb +66 -0
  20. data/lib/llm/providers/deepinfra/images.rb +90 -0
  21. data/lib/llm/providers/deepinfra/response_adapter.rb +36 -0
  22. data/lib/llm/providers/deepinfra.rb +100 -0
  23. data/lib/llm/providers/deepseek/images.rb +109 -0
  24. data/lib/llm/providers/deepseek/request_adapter.rb +32 -0
  25. data/lib/llm/providers/deepseek/response_adapter/image.rb +9 -0
  26. data/lib/llm/providers/deepseek/response_adapter.rb +29 -0
  27. data/lib/llm/providers/deepseek.rb +4 -2
  28. data/lib/llm/providers/google/request_adapter.rb +22 -5
  29. data/lib/llm/providers/google.rb +4 -4
  30. data/lib/llm/providers/openai/audio.rb +6 -2
  31. data/lib/llm/providers/openai/images.rb +9 -50
  32. data/lib/llm/providers/openai/request_adapter/respond.rb +38 -4
  33. data/lib/llm/providers/openai/response_adapter/audio.rb +5 -1
  34. data/lib/llm/providers/openai/response_adapter/completion.rb +1 -1
  35. data/lib/llm/providers/openai/response_adapter/image.rb +0 -4
  36. data/lib/llm/providers/openai/responses.rb +1 -0
  37. data/lib/llm/providers/openai/stream_parser.rb +5 -6
  38. data/lib/llm/providers/openai.rb +2 -2
  39. data/lib/llm/providers/xai/images.rb +49 -26
  40. data/lib/llm/providers/xai.rb +2 -2
  41. data/lib/llm/response.rb +10 -0
  42. data/lib/llm/schema/leaf.rb +7 -1
  43. data/lib/llm/schema/renderer.rb +121 -0
  44. data/lib/llm/schema.rb +30 -0
  45. data/lib/llm/sequel/agent.rb +2 -43
  46. data/lib/llm/sequel/plugin.rb +25 -7
  47. data/lib/llm/tracer/telemetry.rb +4 -6
  48. data/lib/llm/tracer.rb +9 -21
  49. data/lib/llm/transport/execution.rb +16 -1
  50. data/lib/llm/transport/net_http_adapter.rb +1 -1
  51. data/lib/llm/uridata.rb +16 -0
  52. data/lib/llm/version.rb +1 -1
  53. data/lib/llm.rb +9 -0
  54. data/llm.gemspec +5 -18
  55. data/resources/deepdive.md +798 -264
  56. metadata +15 -18
  57. data/lib/llm/tracer/langsmith.rb +0 -144
data/data/anthropic.json CHANGED
@@ -7,17 +7,31 @@
7
7
  "name": "Anthropic",
8
8
  "doc": "https://docs.anthropic.com/en/docs/about-claude/models",
9
9
  "models": {
10
- "claude-opus-4-1-20250805": {
11
- "id": "claude-opus-4-1-20250805",
12
- "name": "Claude Opus 4.1",
10
+ "claude-opus-4-5": {
11
+ "id": "claude-opus-4-5",
12
+ "name": "Claude Opus 4.5 (latest)",
13
13
  "family": "claude-opus",
14
14
  "attachment": true,
15
15
  "reasoning": true,
16
+ "reasoning_options": [
17
+ {
18
+ "type": "effort",
19
+ "values": [
20
+ "low",
21
+ "medium",
22
+ "high"
23
+ ]
24
+ },
25
+ {
26
+ "type": "budget_tokens",
27
+ "min": 1024
28
+ }
29
+ ],
16
30
  "tool_call": true,
17
31
  "temperature": true,
18
32
  "knowledge": "2025-03-31",
19
- "release_date": "2025-08-05",
20
- "last_updated": "2025-08-05",
33
+ "release_date": "2025-11-24",
34
+ "last_updated": "2025-11-24",
21
35
  "modalities": {
22
36
  "input": [
23
37
  "text",
@@ -31,21 +45,27 @@
31
45
  "open_weights": false,
32
46
  "limit": {
33
47
  "context": 200000,
34
- "output": 32000
48
+ "output": 64000
35
49
  },
36
50
  "cost": {
37
- "input": 15,
38
- "output": 75,
39
- "cache_read": 1.5,
40
- "cache_write": 18.75
51
+ "input": 5,
52
+ "output": 25,
53
+ "cache_read": 0.5,
54
+ "cache_write": 6.25
41
55
  }
42
56
  },
43
- "claude-haiku-4-5": {
44
- "id": "claude-haiku-4-5",
45
- "name": "Claude Haiku 4.5 (latest)",
57
+ "claude-haiku-4-5-20251001": {
58
+ "id": "claude-haiku-4-5-20251001",
59
+ "name": "Claude Haiku 4.5",
46
60
  "family": "claude-haiku",
47
61
  "attachment": true,
48
62
  "reasoning": true,
63
+ "reasoning_options": [
64
+ {
65
+ "type": "budget_tokens",
66
+ "min": 1024
67
+ }
68
+ ],
49
69
  "tool_call": true,
50
70
  "temperature": true,
51
71
  "knowledge": "2025-02-28",
@@ -73,17 +93,23 @@
73
93
  "cache_write": 1.25
74
94
  }
75
95
  },
76
- "claude-3-haiku-20240307": {
77
- "id": "claude-3-haiku-20240307",
78
- "name": "Claude Haiku 3",
79
- "family": "claude-haiku",
96
+ "claude-opus-4-0": {
97
+ "id": "claude-opus-4-0",
98
+ "name": "Claude Opus 4 (latest)",
99
+ "family": "claude-opus",
80
100
  "attachment": true,
81
- "reasoning": false,
101
+ "reasoning": true,
102
+ "reasoning_options": [
103
+ {
104
+ "type": "budget_tokens",
105
+ "min": 1024
106
+ }
107
+ ],
82
108
  "tool_call": true,
83
109
  "temperature": true,
84
- "knowledge": "2023-08-31",
85
- "release_date": "2024-03-13",
86
- "last_updated": "2024-03-13",
110
+ "knowledge": "2025-03-31",
111
+ "release_date": "2025-05-22",
112
+ "last_updated": "2025-05-22",
87
113
  "modalities": {
88
114
  "input": [
89
115
  "text",
@@ -97,26 +123,26 @@
97
123
  "open_weights": false,
98
124
  "limit": {
99
125
  "context": 200000,
100
- "output": 4096
126
+ "output": 32000
101
127
  },
102
128
  "cost": {
103
- "input": 0.25,
104
- "output": 1.25,
105
- "cache_read": 0.03,
106
- "cache_write": 0.3
129
+ "input": 15,
130
+ "output": 75,
131
+ "cache_read": 1.5,
132
+ "cache_write": 18.75
107
133
  }
108
134
  },
109
- "claude-3-sonnet-20240229": {
110
- "id": "claude-3-sonnet-20240229",
111
- "name": "Claude Sonnet 3",
112
- "family": "claude-sonnet",
135
+ "claude-3-opus-20240229": {
136
+ "id": "claude-3-opus-20240229",
137
+ "name": "Claude Opus 3",
138
+ "family": "claude-opus",
113
139
  "attachment": true,
114
140
  "reasoning": false,
115
141
  "tool_call": true,
116
142
  "temperature": true,
117
143
  "knowledge": "2023-08-31",
118
- "release_date": "2024-03-04",
119
- "last_updated": "2024-03-04",
144
+ "release_date": "2024-02-29",
145
+ "last_updated": "2024-02-29",
120
146
  "modalities": {
121
147
  "input": [
122
148
  "text",
@@ -132,24 +158,31 @@
132
158
  "context": 200000,
133
159
  "output": 4096
134
160
  },
161
+ "status": "deprecated",
135
162
  "cost": {
136
- "input": 3,
137
- "output": 15,
138
- "cache_read": 0.3,
139
- "cache_write": 0.3
163
+ "input": 15,
164
+ "output": 75,
165
+ "cache_read": 1.5,
166
+ "cache_write": 18.75
140
167
  }
141
168
  },
142
- "claude-3-5-haiku-latest": {
143
- "id": "claude-3-5-haiku-latest",
144
- "name": "Claude Haiku 3.5 (latest)",
145
- "family": "claude-haiku",
169
+ "claude-opus-4-1-20250805": {
170
+ "id": "claude-opus-4-1-20250805",
171
+ "name": "Claude Opus 4.1",
172
+ "family": "claude-opus",
146
173
  "attachment": true,
147
- "reasoning": false,
174
+ "reasoning": true,
175
+ "reasoning_options": [
176
+ {
177
+ "type": "budget_tokens",
178
+ "min": 1024
179
+ }
180
+ ],
148
181
  "tool_call": true,
149
182
  "temperature": true,
150
- "knowledge": "2024-07-31",
151
- "release_date": "2024-10-22",
152
- "last_updated": "2024-10-22",
183
+ "knowledge": "2025-03-31",
184
+ "release_date": "2025-08-05",
185
+ "last_updated": "2025-08-05",
153
186
  "modalities": {
154
187
  "input": [
155
188
  "text",
@@ -163,26 +196,32 @@
163
196
  "open_weights": false,
164
197
  "limit": {
165
198
  "context": 200000,
166
- "output": 8192
199
+ "output": 32000
167
200
  },
168
201
  "cost": {
169
- "input": 0.8,
170
- "output": 4,
171
- "cache_read": 0.08,
172
- "cache_write": 1
202
+ "input": 15,
203
+ "output": 75,
204
+ "cache_read": 1.5,
205
+ "cache_write": 18.75
173
206
  }
174
207
  },
175
- "claude-3-opus-20240229": {
176
- "id": "claude-3-opus-20240229",
177
- "name": "Claude Opus 3",
178
- "family": "claude-opus",
208
+ "claude-sonnet-4-5": {
209
+ "id": "claude-sonnet-4-5",
210
+ "name": "Claude Sonnet 4.5 (latest)",
211
+ "family": "claude-sonnet",
179
212
  "attachment": true,
180
- "reasoning": false,
213
+ "reasoning": true,
214
+ "reasoning_options": [
215
+ {
216
+ "type": "budget_tokens",
217
+ "min": 1024
218
+ }
219
+ ],
181
220
  "tool_call": true,
182
221
  "temperature": true,
183
- "knowledge": "2023-08-31",
184
- "release_date": "2024-02-29",
185
- "last_updated": "2024-02-29",
222
+ "knowledge": "2025-07-31",
223
+ "release_date": "2025-09-29",
224
+ "last_updated": "2025-09-29",
186
225
  "modalities": {
187
226
  "input": [
188
227
  "text",
@@ -196,26 +235,105 @@
196
235
  "open_weights": false,
197
236
  "limit": {
198
237
  "context": 200000,
199
- "output": 4096
238
+ "output": 64000
200
239
  },
201
240
  "cost": {
202
- "input": 15,
203
- "output": 75,
204
- "cache_read": 1.5,
205
- "cache_write": 18.75
241
+ "input": 3,
242
+ "output": 15,
243
+ "cache_read": 0.3,
244
+ "cache_write": 3.75
206
245
  }
207
246
  },
208
- "claude-haiku-4-5-20251001": {
209
- "id": "claude-haiku-4-5-20251001",
210
- "name": "Claude Haiku 4.5",
211
- "family": "claude-haiku",
247
+ "claude-opus-4-7": {
248
+ "id": "claude-opus-4-7",
249
+ "name": "Claude Opus 4.7",
250
+ "family": "claude-opus",
212
251
  "attachment": true,
213
252
  "reasoning": true,
253
+ "reasoning_options": [
254
+ {
255
+ "type": "effort",
256
+ "values": [
257
+ "low",
258
+ "medium",
259
+ "high",
260
+ "xhigh",
261
+ "max"
262
+ ]
263
+ }
264
+ ],
265
+ "tool_call": true,
266
+ "temperature": false,
267
+ "knowledge": "2026-01-31",
268
+ "release_date": "2026-04-16",
269
+ "last_updated": "2026-04-16",
270
+ "modalities": {
271
+ "input": [
272
+ "text",
273
+ "image",
274
+ "pdf"
275
+ ],
276
+ "output": [
277
+ "text"
278
+ ]
279
+ },
280
+ "open_weights": false,
281
+ "limit": {
282
+ "context": 1000000,
283
+ "output": 128000
284
+ },
285
+ "experimental": {
286
+ "modes": {
287
+ "fast": {
288
+ "cost": {
289
+ "input": 30,
290
+ "output": 150,
291
+ "cache_read": 3,
292
+ "cache_write": 37.5
293
+ },
294
+ "provider": {
295
+ "body": {
296
+ "speed": "fast"
297
+ },
298
+ "headers": {
299
+ "anthropic-beta": "fast-mode-2026-02-01"
300
+ }
301
+ }
302
+ }
303
+ }
304
+ },
305
+ "cost": {
306
+ "input": 5,
307
+ "output": 25,
308
+ "cache_read": 0.5,
309
+ "cache_write": 6.25
310
+ }
311
+ },
312
+ "claude-opus-4-5-20251101": {
313
+ "id": "claude-opus-4-5-20251101",
314
+ "name": "Claude Opus 4.5",
315
+ "family": "claude-opus",
316
+ "attachment": true,
317
+ "reasoning": true,
318
+ "reasoning_options": [
319
+ {
320
+ "type": "effort",
321
+ "values": [
322
+ "low",
323
+ "medium",
324
+ "high"
325
+ ]
326
+ },
327
+ {
328
+ "type": "budget_tokens",
329
+ "min": 1024
330
+ }
331
+ ],
214
332
  "tool_call": true,
215
333
  "temperature": true,
216
- "knowledge": "2025-02-28",
217
- "release_date": "2025-10-15",
218
- "last_updated": "2025-10-15",
334
+ "knowledge": "2025-03-31",
335
+ "release_date": "2025-11-01",
336
+ "last_updated": "2025-11-01",
219
337
  "modalities": {
220
338
  "input": [
221
339
  "text",
@@ -232,23 +350,23 @@
232
350
  "output": 64000
233
351
  },
234
352
  "cost": {
235
- "input": 1,
236
- "output": 5,
237
- "cache_read": 0.1,
238
- "cache_write": 1.25
353
+ "input": 5,
354
+ "output": 25,
355
+ "cache_read": 0.5,
356
+ "cache_write": 6.25
239
357
  }
240
358
  },
241
- "claude-3-5-sonnet-20240620": {
242
- "id": "claude-3-5-sonnet-20240620",
243
- "name": "Claude Sonnet 3.5",
359
+ "claude-3-5-sonnet-20241022": {
360
+ "id": "claude-3-5-sonnet-20241022",
361
+ "name": "Claude Sonnet 3.5 v2",
244
362
  "family": "claude-sonnet",
245
363
  "attachment": true,
246
364
  "reasoning": false,
247
365
  "tool_call": true,
248
366
  "temperature": true,
249
367
  "knowledge": "2024-04-30",
250
- "release_date": "2024-06-20",
251
- "last_updated": "2024-06-20",
368
+ "release_date": "2024-10-22",
369
+ "last_updated": "2024-10-22",
252
370
  "modalities": {
253
371
  "input": [
254
372
  "text",
@@ -264,6 +382,7 @@
264
382
  "context": 200000,
265
383
  "output": 8192
266
384
  },
385
+ "status": "deprecated",
267
386
  "cost": {
268
387
  "input": 3,
269
388
  "output": 15,
@@ -271,17 +390,28 @@
271
390
  "cache_write": 3.75
272
391
  }
273
392
  },
274
- "claude-opus-4-0": {
275
- "id": "claude-opus-4-0",
276
- "name": "Claude Opus 4 (latest)",
393
+ "claude-opus-4-8": {
394
+ "id": "claude-opus-4-8",
395
+ "name": "Claude Opus 4.8",
277
396
  "family": "claude-opus",
278
397
  "attachment": true,
279
398
  "reasoning": true,
399
+ "reasoning_options": [
400
+ {
401
+ "type": "effort",
402
+ "values": [
403
+ "low",
404
+ "medium",
405
+ "high",
406
+ "xhigh",
407
+ "max"
408
+ ]
409
+ }
410
+ ],
280
411
  "tool_call": true,
281
- "temperature": true,
282
- "knowledge": "2025-03-31",
283
- "release_date": "2025-05-22",
284
- "last_updated": "2025-05-22",
412
+ "temperature": false,
413
+ "release_date": "2026-05-28",
414
+ "last_updated": "2026-05-28",
285
415
  "modalities": {
286
416
  "input": [
287
417
  "text",
@@ -294,27 +424,53 @@
294
424
  },
295
425
  "open_weights": false,
296
426
  "limit": {
297
- "context": 200000,
298
- "output": 32000
427
+ "context": 1000000,
428
+ "output": 128000
429
+ },
430
+ "experimental": {
431
+ "modes": {
432
+ "fast": {
433
+ "cost": {
434
+ "input": 10,
435
+ "output": 50,
436
+ "cache_read": 1,
437
+ "cache_write": 12.5
438
+ },
439
+ "provider": {
440
+ "body": {
441
+ "speed": "fast"
442
+ },
443
+ "headers": {
444
+ "anthropic-beta": "fast-mode-2026-02-01"
445
+ }
446
+ }
447
+ }
448
+ }
299
449
  },
300
450
  "cost": {
301
- "input": 15,
302
- "output": 75,
303
- "cache_read": 1.5,
304
- "cache_write": 18.75
451
+ "input": 5,
452
+ "output": 25,
453
+ "cache_read": 0.5,
454
+ "cache_write": 6.25
305
455
  }
306
456
  },
307
- "claude-sonnet-4-5": {
308
- "id": "claude-sonnet-4-5",
309
- "name": "Claude Sonnet 4.5 (latest)",
310
- "family": "claude-sonnet",
457
+ "claude-opus-4-20250514": {
458
+ "id": "claude-opus-4-20250514",
459
+ "name": "Claude Opus 4",
460
+ "family": "claude-opus",
311
461
  "attachment": true,
312
462
  "reasoning": true,
463
+ "reasoning_options": [
464
+ {
465
+ "type": "budget_tokens",
466
+ "min": 1024
467
+ }
468
+ ],
313
469
  "tool_call": true,
314
470
  "temperature": true,
315
- "knowledge": "2025-07-31",
316
- "release_date": "2025-09-29",
317
- "last_updated": "2025-09-29",
471
+ "knowledge": "2025-03-31",
472
+ "release_date": "2025-05-22",
473
+ "last_updated": "2025-05-22",
318
474
  "modalities": {
319
475
  "input": [
320
476
  "text",
@@ -328,26 +484,26 @@
328
484
  "open_weights": false,
329
485
  "limit": {
330
486
  "context": 200000,
331
- "output": 64000
487
+ "output": 32000
332
488
  },
333
489
  "cost": {
334
- "input": 3,
335
- "output": 15,
336
- "cache_read": 0.3,
337
- "cache_write": 3.75
490
+ "input": 15,
491
+ "output": 75,
492
+ "cache_read": 1.5,
493
+ "cache_write": 18.75
338
494
  }
339
495
  },
340
- "claude-sonnet-4-6": {
341
- "id": "claude-sonnet-4-6",
342
- "name": "Claude Sonnet 4.6",
496
+ "claude-3-5-sonnet-20240620": {
497
+ "id": "claude-3-5-sonnet-20240620",
498
+ "name": "Claude Sonnet 3.5",
343
499
  "family": "claude-sonnet",
344
500
  "attachment": true,
345
- "reasoning": true,
501
+ "reasoning": false,
346
502
  "tool_call": true,
347
503
  "temperature": true,
348
- "knowledge": "2025-08-31",
349
- "release_date": "2026-02-17",
350
- "last_updated": "2026-03-13",
504
+ "knowledge": "2024-04-30",
505
+ "release_date": "2024-06-20",
506
+ "last_updated": "2024-06-20",
351
507
  "modalities": {
352
508
  "input": [
353
509
  "text",
@@ -360,9 +516,10 @@
360
516
  },
361
517
  "open_weights": false,
362
518
  "limit": {
363
- "context": 1000000,
364
- "output": 64000
519
+ "context": 200000,
520
+ "output": 8192
365
521
  },
522
+ "status": "deprecated",
366
523
  "cost": {
367
524
  "input": 3,
368
525
  "output": 15,
@@ -370,12 +527,18 @@
370
527
  "cache_write": 3.75
371
528
  }
372
529
  },
373
- "claude-sonnet-4-0": {
374
- "id": "claude-sonnet-4-0",
375
- "name": "Claude Sonnet 4 (latest)",
530
+ "claude-sonnet-4-20250514": {
531
+ "id": "claude-sonnet-4-20250514",
532
+ "name": "Claude Sonnet 4",
376
533
  "family": "claude-sonnet",
377
534
  "attachment": true,
378
535
  "reasoning": true,
536
+ "reasoning_options": [
537
+ {
538
+ "type": "budget_tokens",
539
+ "min": 1024
540
+ }
541
+ ],
379
542
  "tool_call": true,
380
543
  "temperature": true,
381
544
  "knowledge": "2025-03-31",
@@ -409,6 +572,12 @@
409
572
  "family": "claude-opus",
410
573
  "attachment": true,
411
574
  "reasoning": true,
575
+ "reasoning_options": [
576
+ {
577
+ "type": "budget_tokens",
578
+ "min": 1024
579
+ }
580
+ ],
412
581
  "tool_call": true,
413
582
  "temperature": true,
414
583
  "knowledge": "2025-03-31",
@@ -436,50 +605,17 @@
436
605
  "cache_write": 18.75
437
606
  }
438
607
  },
439
- "claude-3-5-haiku-20241022": {
440
- "id": "claude-3-5-haiku-20241022",
441
- "name": "Claude Haiku 3.5",
608
+ "claude-3-haiku-20240307": {
609
+ "id": "claude-3-haiku-20240307",
610
+ "name": "Claude Haiku 3",
442
611
  "family": "claude-haiku",
443
612
  "attachment": true,
444
613
  "reasoning": false,
445
614
  "tool_call": true,
446
615
  "temperature": true,
447
- "knowledge": "2024-07-31",
448
- "release_date": "2024-10-22",
449
- "last_updated": "2024-10-22",
450
- "modalities": {
451
- "input": [
452
- "text",
453
- "image",
454
- "pdf"
455
- ],
456
- "output": [
457
- "text"
458
- ]
459
- },
460
- "open_weights": false,
461
- "limit": {
462
- "context": 200000,
463
- "output": 8192
464
- },
465
- "cost": {
466
- "input": 0.8,
467
- "output": 4,
468
- "cache_read": 0.08,
469
- "cache_write": 1
470
- }
471
- },
472
- "claude-3-5-sonnet-20241022": {
473
- "id": "claude-3-5-sonnet-20241022",
474
- "name": "Claude Sonnet 3.5 v2",
475
- "family": "claude-sonnet",
476
- "attachment": true,
477
- "reasoning": false,
478
- "tool_call": true,
479
- "temperature": true,
480
- "knowledge": "2024-04-30",
481
- "release_date": "2024-10-22",
482
- "last_updated": "2024-10-22",
616
+ "knowledge": "2023-08-31",
617
+ "release_date": "2024-03-13",
618
+ "last_updated": "2024-03-13",
483
619
  "modalities": {
484
620
  "input": [
485
621
  "text",
@@ -493,26 +629,38 @@
493
629
  "open_weights": false,
494
630
  "limit": {
495
631
  "context": 200000,
496
- "output": 8192
632
+ "output": 4096
497
633
  },
634
+ "status": "deprecated",
498
635
  "cost": {
499
- "input": 3,
500
- "output": 15,
501
- "cache_read": 0.3,
502
- "cache_write": 3.75
636
+ "input": 0.25,
637
+ "output": 1.25,
638
+ "cache_read": 0.03,
639
+ "cache_write": 0.3
503
640
  }
504
641
  },
505
- "claude-opus-4-5-20251101": {
506
- "id": "claude-opus-4-5-20251101",
507
- "name": "Claude Opus 4.5",
508
- "family": "claude-opus",
642
+ "claude-fable-5": {
643
+ "id": "claude-fable-5",
644
+ "name": "Claude Fable 5",
645
+ "family": "claude-fable",
509
646
  "attachment": true,
510
647
  "reasoning": true,
648
+ "reasoning_options": [
649
+ {
650
+ "type": "effort",
651
+ "values": [
652
+ "low",
653
+ "medium",
654
+ "high",
655
+ "xhigh",
656
+ "max"
657
+ ]
658
+ }
659
+ ],
511
660
  "tool_call": true,
512
- "temperature": true,
513
- "knowledge": "2025-03-31",
514
- "release_date": "2025-11-01",
515
- "last_updated": "2025-11-01",
661
+ "temperature": false,
662
+ "release_date": "2026-06-09",
663
+ "last_updated": "2026-06-09",
516
664
  "modalities": {
517
665
  "input": [
518
666
  "text",
@@ -525,22 +673,28 @@
525
673
  },
526
674
  "open_weights": false,
527
675
  "limit": {
528
- "context": 200000,
529
- "output": 64000
676
+ "context": 1000000,
677
+ "output": 128000
530
678
  },
531
679
  "cost": {
532
- "input": 5,
533
- "output": 25,
534
- "cache_read": 0.5,
535
- "cache_write": 6.25
680
+ "input": 10,
681
+ "output": 50,
682
+ "cache_read": 1,
683
+ "cache_write": 12.5
536
684
  }
537
685
  },
538
- "claude-opus-4-20250514": {
539
- "id": "claude-opus-4-20250514",
540
- "name": "Claude Opus 4",
541
- "family": "claude-opus",
686
+ "claude-sonnet-4-0": {
687
+ "id": "claude-sonnet-4-0",
688
+ "name": "Claude Sonnet 4 (latest)",
689
+ "family": "claude-sonnet",
542
690
  "attachment": true,
543
691
  "reasoning": true,
692
+ "reasoning_options": [
693
+ {
694
+ "type": "budget_tokens",
695
+ "min": 1024
696
+ }
697
+ ],
544
698
  "tool_call": true,
545
699
  "temperature": true,
546
700
  "knowledge": "2025-03-31",
@@ -559,26 +713,32 @@
559
713
  "open_weights": false,
560
714
  "limit": {
561
715
  "context": 200000,
562
- "output": 32000
716
+ "output": 64000
563
717
  },
564
718
  "cost": {
565
- "input": 15,
566
- "output": 75,
567
- "cache_read": 1.5,
568
- "cache_write": 18.75
719
+ "input": 3,
720
+ "output": 15,
721
+ "cache_read": 0.3,
722
+ "cache_write": 3.75
569
723
  }
570
724
  },
571
- "claude-sonnet-4-5-20250929": {
572
- "id": "claude-sonnet-4-5-20250929",
573
- "name": "Claude Sonnet 4.5",
725
+ "claude-3-7-sonnet-20250219": {
726
+ "id": "claude-3-7-sonnet-20250219",
727
+ "name": "Claude Sonnet 3.7",
574
728
  "family": "claude-sonnet",
575
729
  "attachment": true,
576
730
  "reasoning": true,
731
+ "reasoning_options": [
732
+ {
733
+ "type": "budget_tokens",
734
+ "min": 1024
735
+ }
736
+ ],
577
737
  "tool_call": true,
578
738
  "temperature": true,
579
- "knowledge": "2025-07-31",
580
- "release_date": "2025-09-29",
581
- "last_updated": "2025-09-29",
739
+ "knowledge": "2024-10-31",
740
+ "release_date": "2025-02-19",
741
+ "last_updated": "2025-02-19",
582
742
  "modalities": {
583
743
  "input": [
584
744
  "text",
@@ -594,6 +754,7 @@
594
754
  "context": 200000,
595
755
  "output": 64000
596
756
  },
757
+ "status": "deprecated",
597
758
  "cost": {
598
759
  "input": 3,
599
760
  "output": 15,
@@ -601,17 +762,23 @@
601
762
  "cache_write": 3.75
602
763
  }
603
764
  },
604
- "claude-opus-4-7": {
605
- "id": "claude-opus-4-7",
606
- "name": "Claude Opus 4.7",
607
- "family": "claude-opus",
765
+ "claude-haiku-4-5": {
766
+ "id": "claude-haiku-4-5",
767
+ "name": "Claude Haiku 4.5 (latest)",
768
+ "family": "claude-haiku",
608
769
  "attachment": true,
609
770
  "reasoning": true,
771
+ "reasoning_options": [
772
+ {
773
+ "type": "budget_tokens",
774
+ "min": 1024
775
+ }
776
+ ],
610
777
  "tool_call": true,
611
- "temperature": false,
612
- "knowledge": "2026-01-31",
613
- "release_date": "2026-04-16",
614
- "last_updated": "2026-04-16",
778
+ "temperature": true,
779
+ "knowledge": "2025-02-28",
780
+ "release_date": "2025-10-15",
781
+ "last_updated": "2025-10-15",
615
782
  "modalities": {
616
783
  "input": [
617
784
  "text",
@@ -624,34 +791,14 @@
624
791
  },
625
792
  "open_weights": false,
626
793
  "limit": {
627
- "context": 1000000,
628
- "output": 128000
629
- },
630
- "experimental": {
631
- "modes": {
632
- "fast": {
633
- "cost": {
634
- "input": 30,
635
- "output": 150,
636
- "cache_read": 3,
637
- "cache_write": 37.5
638
- },
639
- "provider": {
640
- "body": {
641
- "speed": "fast"
642
- },
643
- "headers": {
644
- "anthropic-beta": "fast-mode-2026-02-01"
645
- }
646
- }
647
- }
648
- }
794
+ "context": 200000,
795
+ "output": 64000
649
796
  },
650
797
  "cost": {
651
- "input": 5,
652
- "output": 25,
653
- "cache_read": 0.5,
654
- "cache_write": 6.25
798
+ "input": 1,
799
+ "output": 5,
800
+ "cache_read": 0.1,
801
+ "cache_write": 1.25
655
802
  }
656
803
  },
657
804
  "claude-opus-4-6": {
@@ -660,6 +807,21 @@
660
807
  "family": "claude-opus",
661
808
  "attachment": true,
662
809
  "reasoning": true,
810
+ "reasoning_options": [
811
+ {
812
+ "type": "effort",
813
+ "values": [
814
+ "low",
815
+ "medium",
816
+ "high",
817
+ "max"
818
+ ]
819
+ },
820
+ {
821
+ "type": "budget_tokens",
822
+ "min": 1024
823
+ }
824
+ ],
663
825
  "tool_call": true,
664
826
  "temperature": true,
665
827
  "knowledge": "2025-05-31",
@@ -707,17 +869,23 @@
707
869
  "cache_write": 6.25
708
870
  }
709
871
  },
710
- "claude-3-7-sonnet-20250219": {
711
- "id": "claude-3-7-sonnet-20250219",
712
- "name": "Claude Sonnet 3.7",
872
+ "claude-sonnet-4-5-20250929": {
873
+ "id": "claude-sonnet-4-5-20250929",
874
+ "name": "Claude Sonnet 4.5",
713
875
  "family": "claude-sonnet",
714
876
  "attachment": true,
715
877
  "reasoning": true,
878
+ "reasoning_options": [
879
+ {
880
+ "type": "budget_tokens",
881
+ "min": 1024
882
+ }
883
+ ],
716
884
  "tool_call": true,
717
885
  "temperature": true,
718
- "knowledge": "2024-10-31",
719
- "release_date": "2025-02-19",
720
- "last_updated": "2025-02-19",
886
+ "knowledge": "2025-07-31",
887
+ "release_date": "2025-09-29",
888
+ "last_updated": "2025-09-29",
721
889
  "modalities": {
722
890
  "input": [
723
891
  "text",
@@ -740,17 +908,17 @@
740
908
  "cache_write": 3.75
741
909
  }
742
910
  },
743
- "claude-sonnet-4-20250514": {
744
- "id": "claude-sonnet-4-20250514",
745
- "name": "Claude Sonnet 4",
911
+ "claude-3-sonnet-20240229": {
912
+ "id": "claude-3-sonnet-20240229",
913
+ "name": "Claude Sonnet 3",
746
914
  "family": "claude-sonnet",
747
915
  "attachment": true,
748
- "reasoning": true,
916
+ "reasoning": false,
749
917
  "tool_call": true,
750
918
  "temperature": true,
751
- "knowledge": "2025-03-31",
752
- "release_date": "2025-05-22",
753
- "last_updated": "2025-05-22",
919
+ "knowledge": "2023-08-31",
920
+ "release_date": "2024-03-04",
921
+ "last_updated": "2024-03-04",
754
922
  "modalities": {
755
923
  "input": [
756
924
  "text",
@@ -764,26 +932,42 @@
764
932
  "open_weights": false,
765
933
  "limit": {
766
934
  "context": 200000,
767
- "output": 64000
935
+ "output": 4096
768
936
  },
937
+ "status": "deprecated",
769
938
  "cost": {
770
939
  "input": 3,
771
940
  "output": 15,
772
941
  "cache_read": 0.3,
773
- "cache_write": 3.75
942
+ "cache_write": 0.3
774
943
  }
775
944
  },
776
- "claude-opus-4-5": {
777
- "id": "claude-opus-4-5",
778
- "name": "Claude Opus 4.5 (latest)",
779
- "family": "claude-opus",
945
+ "claude-sonnet-4-6": {
946
+ "id": "claude-sonnet-4-6",
947
+ "name": "Claude Sonnet 4.6",
948
+ "family": "claude-sonnet",
780
949
  "attachment": true,
781
950
  "reasoning": true,
951
+ "reasoning_options": [
952
+ {
953
+ "type": "effort",
954
+ "values": [
955
+ "low",
956
+ "medium",
957
+ "high",
958
+ "max"
959
+ ]
960
+ },
961
+ {
962
+ "type": "budget_tokens",
963
+ "min": 1024
964
+ }
965
+ ],
782
966
  "tool_call": true,
783
967
  "temperature": true,
784
- "knowledge": "2025-03-31",
785
- "release_date": "2025-11-24",
786
- "last_updated": "2025-11-24",
968
+ "knowledge": "2025-08-31",
969
+ "release_date": "2026-02-17",
970
+ "last_updated": "2026-03-13",
787
971
  "modalities": {
788
972
  "input": [
789
973
  "text",
@@ -796,14 +980,14 @@
796
980
  },
797
981
  "open_weights": false,
798
982
  "limit": {
799
- "context": 200000,
983
+ "context": 1000000,
800
984
  "output": 64000
801
985
  },
802
986
  "cost": {
803
- "input": 5,
804
- "output": 25,
805
- "cache_read": 0.5,
806
- "cache_write": 6.25
987
+ "input": 3,
988
+ "output": 15,
989
+ "cache_read": 0.3,
990
+ "cache_write": 3.75
807
991
  }
808
992
  }
809
993
  }