llm.rb 4.9.0 → 4.11.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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +152 -0
  3. data/README.md +178 -31
  4. data/data/anthropic.json +209 -242
  5. data/data/deepseek.json +15 -15
  6. data/data/google.json +553 -403
  7. data/data/openai.json +740 -535
  8. data/data/xai.json +250 -253
  9. data/data/zai.json +157 -90
  10. data/lib/llm/context/deserializer.rb +2 -1
  11. data/lib/llm/context.rb +58 -2
  12. data/lib/llm/contract/completion.rb +7 -0
  13. data/lib/llm/error.rb +4 -0
  14. data/lib/llm/eventhandler.rb +7 -0
  15. data/lib/llm/function/registry.rb +106 -0
  16. data/lib/llm/function/task.rb +39 -0
  17. data/lib/llm/function.rb +12 -7
  18. data/lib/llm/mcp/transport/http/event_handler.rb +66 -0
  19. data/lib/llm/mcp/transport/http.rb +156 -0
  20. data/lib/llm/mcp/transport/stdio.rb +7 -0
  21. data/lib/llm/mcp.rb +74 -30
  22. data/lib/llm/message.rb +9 -2
  23. data/lib/llm/provider.rb +10 -0
  24. data/lib/llm/providers/anthropic/response_adapter/completion.rb +6 -0
  25. data/lib/llm/providers/anthropic/stream_parser.rb +37 -4
  26. data/lib/llm/providers/anthropic.rb +1 -1
  27. data/lib/llm/providers/google/response_adapter/completion.rb +12 -5
  28. data/lib/llm/providers/google/stream_parser.rb +54 -11
  29. data/lib/llm/providers/google/utils.rb +30 -0
  30. data/lib/llm/providers/google.rb +2 -0
  31. data/lib/llm/providers/ollama/response_adapter/completion.rb +6 -0
  32. data/lib/llm/providers/ollama/stream_parser.rb +10 -4
  33. data/lib/llm/providers/ollama.rb +1 -1
  34. data/lib/llm/providers/openai/response_adapter/completion.rb +7 -0
  35. data/lib/llm/providers/openai/response_adapter/responds.rb +84 -10
  36. data/lib/llm/providers/openai/responses/stream_parser.rb +63 -4
  37. data/lib/llm/providers/openai/responses.rb +1 -1
  38. data/lib/llm/providers/openai/stream_parser.rb +68 -4
  39. data/lib/llm/providers/openai.rb +1 -1
  40. data/lib/llm/schema/all_of.rb +31 -0
  41. data/lib/llm/schema/any_of.rb +31 -0
  42. data/lib/llm/schema/one_of.rb +31 -0
  43. data/lib/llm/schema/parser.rb +36 -0
  44. data/lib/llm/schema.rb +45 -8
  45. data/lib/llm/stream/queue.rb +51 -0
  46. data/lib/llm/stream.rb +102 -0
  47. data/lib/llm/tool.rb +53 -47
  48. data/lib/llm/version.rb +1 -1
  49. data/lib/llm.rb +3 -2
  50. data/llm.gemspec +2 -2
  51. metadata +12 -1
data/data/openai.json CHANGED
@@ -7,41 +7,9 @@
7
7
  "name": "OpenAI",
8
8
  "doc": "https://platform.openai.com/docs/models",
9
9
  "models": {
10
- "gpt-4o-2024-11-20": {
11
- "id": "gpt-4o-2024-11-20",
12
- "name": "GPT-4o (2024-11-20)",
13
- "family": "gpt",
14
- "attachment": true,
15
- "reasoning": false,
16
- "tool_call": true,
17
- "structured_output": true,
18
- "temperature": true,
19
- "knowledge": "2023-09",
20
- "release_date": "2024-11-20",
21
- "last_updated": "2024-11-20",
22
- "modalities": {
23
- "input": [
24
- "text",
25
- "image"
26
- ],
27
- "output": [
28
- "text"
29
- ]
30
- },
31
- "open_weights": false,
32
- "cost": {
33
- "input": 2.5,
34
- "output": 10,
35
- "cache_read": 1.25
36
- },
37
- "limit": {
38
- "context": 128000,
39
- "output": 16384
40
- }
41
- },
42
- "gpt-5.3-codex": {
43
- "id": "gpt-5.3-codex",
44
- "name": "GPT-5.3 Codex",
10
+ "gpt-5.2-codex": {
11
+ "id": "gpt-5.2-codex",
12
+ "name": "GPT-5.2 Codex",
45
13
  "family": "gpt-codex",
46
14
  "attachment": true,
47
15
  "reasoning": true,
@@ -49,8 +17,8 @@
49
17
  "structured_output": true,
50
18
  "temperature": false,
51
19
  "knowledge": "2025-08-31",
52
- "release_date": "2026-02-05",
53
- "last_updated": "2026-02-05",
20
+ "release_date": "2025-12-11",
21
+ "last_updated": "2025-12-11",
54
22
  "modalities": {
55
23
  "input": [
56
24
  "text",
@@ -73,18 +41,18 @@
73
41
  "output": 128000
74
42
  }
75
43
  },
76
- "gpt-5-codex": {
77
- "id": "gpt-5-codex",
78
- "name": "GPT-5-Codex",
79
- "family": "gpt-codex",
80
- "attachment": false,
44
+ "o1-pro": {
45
+ "id": "o1-pro",
46
+ "name": "o1-pro",
47
+ "family": "o-pro",
48
+ "attachment": true,
81
49
  "reasoning": true,
82
50
  "tool_call": true,
83
51
  "structured_output": true,
84
52
  "temperature": false,
85
- "knowledge": "2024-09-30",
86
- "release_date": "2025-09-15",
87
- "last_updated": "2025-09-15",
53
+ "knowledge": "2023-09",
54
+ "release_date": "2025-03-19",
55
+ "last_updated": "2025-03-19",
88
56
  "modalities": {
89
57
  "input": [
90
58
  "text",
@@ -96,32 +64,28 @@
96
64
  },
97
65
  "open_weights": false,
98
66
  "cost": {
99
- "input": 1.25,
100
- "output": 10,
101
- "cache_read": 0.125
67
+ "input": 150,
68
+ "output": 600
102
69
  },
103
70
  "limit": {
104
- "context": 400000,
105
- "input": 272000,
106
- "output": 128000
71
+ "context": 200000,
72
+ "output": 100000
107
73
  }
108
74
  },
109
- "gpt-5-pro": {
110
- "id": "gpt-5-pro",
111
- "name": "GPT-5 Pro",
112
- "family": "gpt-pro",
113
- "attachment": true,
114
- "reasoning": true,
115
- "tool_call": true,
116
- "structured_output": true,
75
+ "text-embedding-3-large": {
76
+ "id": "text-embedding-3-large",
77
+ "name": "text-embedding-3-large",
78
+ "family": "text-embedding",
79
+ "attachment": false,
80
+ "reasoning": false,
81
+ "tool_call": false,
117
82
  "temperature": false,
118
- "knowledge": "2024-09-30",
119
- "release_date": "2025-10-06",
120
- "last_updated": "2025-10-06",
83
+ "knowledge": "2024-01",
84
+ "release_date": "2024-01-25",
85
+ "last_updated": "2024-01-25",
121
86
  "modalities": {
122
87
  "input": [
123
- "text",
124
- "image"
88
+ "text"
125
89
  ],
126
90
  "output": [
127
91
  "text"
@@ -129,27 +93,26 @@
129
93
  },
130
94
  "open_weights": false,
131
95
  "cost": {
132
- "input": 15,
133
- "output": 120
96
+ "input": 0.13,
97
+ "output": 0
134
98
  },
135
99
  "limit": {
136
- "context": 400000,
137
- "input": 272000,
138
- "output": 272000
100
+ "context": 8191,
101
+ "output": 3072
139
102
  }
140
103
  },
141
- "gpt-4o-mini": {
142
- "id": "gpt-4o-mini",
143
- "name": "GPT-4o mini",
144
- "family": "gpt-mini",
104
+ "gpt-5.1-codex-mini": {
105
+ "id": "gpt-5.1-codex-mini",
106
+ "name": "GPT-5.1 Codex mini",
107
+ "family": "gpt-codex",
145
108
  "attachment": true,
146
- "reasoning": false,
109
+ "reasoning": true,
147
110
  "tool_call": true,
148
111
  "structured_output": true,
149
- "temperature": true,
150
- "knowledge": "2023-09",
151
- "release_date": "2024-07-18",
152
- "last_updated": "2024-07-18",
112
+ "temperature": false,
113
+ "knowledge": "2024-09-30",
114
+ "release_date": "2025-11-13",
115
+ "last_updated": "2025-11-13",
153
116
  "modalities": {
154
117
  "input": [
155
118
  "text",
@@ -161,56 +124,28 @@
161
124
  },
162
125
  "open_weights": false,
163
126
  "cost": {
164
- "input": 0.15,
165
- "output": 0.6,
166
- "cache_read": 0.08
167
- },
168
- "limit": {
169
- "context": 128000,
170
- "output": 16384
171
- }
172
- },
173
- "text-embedding-ada-002": {
174
- "id": "text-embedding-ada-002",
175
- "name": "text-embedding-ada-002",
176
- "family": "text-embedding",
177
- "attachment": false,
178
- "reasoning": false,
179
- "tool_call": false,
180
- "temperature": false,
181
- "knowledge": "2022-12",
182
- "release_date": "2022-12-15",
183
- "last_updated": "2022-12-15",
184
- "modalities": {
185
- "input": [
186
- "text"
187
- ],
188
- "output": [
189
- "text"
190
- ]
191
- },
192
- "open_weights": false,
193
- "cost": {
194
- "input": 0.1,
195
- "output": 0
127
+ "input": 0.25,
128
+ "output": 2,
129
+ "cache_read": 0.025
196
130
  },
197
131
  "limit": {
198
- "context": 8192,
199
- "output": 1536
132
+ "context": 400000,
133
+ "input": 272000,
134
+ "output": 128000
200
135
  }
201
136
  },
202
- "gpt-5-chat-latest": {
203
- "id": "gpt-5-chat-latest",
204
- "name": "GPT-5 Chat (latest)",
205
- "family": "gpt-codex",
137
+ "gpt-5.4-pro": {
138
+ "id": "gpt-5.4-pro",
139
+ "name": "GPT-5.4 Pro",
140
+ "family": "gpt-pro",
206
141
  "attachment": true,
207
142
  "reasoning": true,
208
- "tool_call": false,
209
- "structured_output": true,
210
- "temperature": true,
211
- "knowledge": "2024-09-30",
212
- "release_date": "2025-08-07",
213
- "last_updated": "2025-08-07",
143
+ "tool_call": true,
144
+ "structured_output": false,
145
+ "temperature": false,
146
+ "knowledge": "2025-08-31",
147
+ "release_date": "2026-03-05",
148
+ "last_updated": "2026-03-05",
214
149
  "modalities": {
215
150
  "input": [
216
151
  "text",
@@ -222,26 +157,31 @@
222
157
  },
223
158
  "open_weights": false,
224
159
  "cost": {
225
- "input": 1.25,
226
- "output": 10
160
+ "input": 30,
161
+ "output": 180,
162
+ "context_over_200k": {
163
+ "input": 60,
164
+ "output": 270
165
+ }
227
166
  },
228
167
  "limit": {
229
- "context": 400000,
230
- "input": 272000,
168
+ "context": 1050000,
169
+ "input": 922000,
231
170
  "output": 128000
232
171
  }
233
172
  },
234
- "codex-mini-latest": {
235
- "id": "codex-mini-latest",
236
- "name": "Codex Mini",
237
- "family": "gpt-codex-mini",
238
- "attachment": true,
173
+ "o3-mini": {
174
+ "id": "o3-mini",
175
+ "name": "o3-mini",
176
+ "family": "o-mini",
177
+ "attachment": false,
239
178
  "reasoning": true,
240
179
  "tool_call": true,
180
+ "structured_output": true,
241
181
  "temperature": false,
242
- "knowledge": "2024-04",
243
- "release_date": "2025-05-16",
244
- "last_updated": "2025-05-16",
182
+ "knowledge": "2024-05",
183
+ "release_date": "2024-12-20",
184
+ "last_updated": "2025-01-29",
245
185
  "modalities": {
246
186
  "input": [
247
187
  "text"
@@ -252,27 +192,27 @@
252
192
  },
253
193
  "open_weights": false,
254
194
  "cost": {
255
- "input": 1.5,
256
- "output": 6,
257
- "cache_read": 0.375
195
+ "input": 1.1,
196
+ "output": 4.4,
197
+ "cache_read": 0.55
258
198
  },
259
199
  "limit": {
260
200
  "context": 200000,
261
201
  "output": 100000
262
202
  }
263
203
  },
264
- "gpt-5.1-codex-max": {
265
- "id": "gpt-5.1-codex-max",
266
- "name": "GPT-5.1 Codex Max",
267
- "family": "gpt-codex",
204
+ "gpt-5.4-mini": {
205
+ "id": "gpt-5.4-mini",
206
+ "name": "GPT-5.4 mini",
207
+ "family": "gpt-mini",
268
208
  "attachment": true,
269
209
  "reasoning": true,
270
210
  "tool_call": true,
271
211
  "structured_output": true,
272
212
  "temperature": false,
273
- "knowledge": "2024-09-30",
274
- "release_date": "2025-11-13",
275
- "last_updated": "2025-11-13",
213
+ "knowledge": "2025-08-31",
214
+ "release_date": "2026-03-17",
215
+ "last_updated": "2026-03-17",
276
216
  "modalities": {
277
217
  "input": [
278
218
  "text",
@@ -284,9 +224,9 @@
284
224
  },
285
225
  "open_weights": false,
286
226
  "cost": {
287
- "input": 1.25,
288
- "output": 10,
289
- "cache_read": 0.125
227
+ "input": 0.75,
228
+ "output": 4.5,
229
+ "cache_read": 0.075
290
230
  },
291
231
  "limit": {
292
232
  "context": 400000,
@@ -294,18 +234,18 @@
294
234
  "output": 128000
295
235
  }
296
236
  },
297
- "gpt-4o-2024-05-13": {
298
- "id": "gpt-4o-2024-05-13",
299
- "name": "GPT-4o (2024-05-13)",
300
- "family": "gpt",
237
+ "gpt-5-pro": {
238
+ "id": "gpt-5-pro",
239
+ "name": "GPT-5 Pro",
240
+ "family": "gpt-pro",
301
241
  "attachment": true,
302
- "reasoning": false,
242
+ "reasoning": true,
303
243
  "tool_call": true,
304
244
  "structured_output": true,
305
- "temperature": true,
306
- "knowledge": "2023-09",
307
- "release_date": "2024-05-13",
308
- "last_updated": "2024-05-13",
245
+ "temperature": false,
246
+ "knowledge": "2024-09-30",
247
+ "release_date": "2025-10-06",
248
+ "last_updated": "2025-10-06",
309
249
  "modalities": {
310
250
  "input": [
311
251
  "text",
@@ -317,12 +257,13 @@
317
257
  },
318
258
  "open_weights": false,
319
259
  "cost": {
320
- "input": 5,
321
- "output": 15
260
+ "input": 15,
261
+ "output": 120
322
262
  },
323
263
  "limit": {
324
- "context": 128000,
325
- "output": 4096
264
+ "context": 400000,
265
+ "input": 272000,
266
+ "output": 272000
326
267
  }
327
268
  },
328
269
  "gpt-5.2-chat-latest": {
@@ -357,23 +298,22 @@
357
298
  "output": 16384
358
299
  }
359
300
  },
360
- "gpt-5.2-codex": {
361
- "id": "gpt-5.2-codex",
362
- "name": "GPT-5.2 Codex",
363
- "family": "gpt-codex",
301
+ "gpt-5": {
302
+ "id": "gpt-5",
303
+ "name": "GPT-5",
304
+ "family": "gpt",
364
305
  "attachment": true,
365
306
  "reasoning": true,
366
307
  "tool_call": true,
367
308
  "structured_output": true,
368
309
  "temperature": false,
369
- "knowledge": "2025-08-31",
370
- "release_date": "2025-12-11",
371
- "last_updated": "2025-12-11",
310
+ "knowledge": "2024-09-30",
311
+ "release_date": "2025-08-07",
312
+ "last_updated": "2025-08-07",
372
313
  "modalities": {
373
314
  "input": [
374
315
  "text",
375
- "image",
376
- "pdf"
316
+ "image"
377
317
  ],
378
318
  "output": [
379
319
  "text"
@@ -381,9 +321,9 @@
381
321
  },
382
322
  "open_weights": false,
383
323
  "cost": {
384
- "input": 1.75,
385
- "output": 14,
386
- "cache_read": 0.175
324
+ "input": 1.25,
325
+ "output": 10,
326
+ "cache_read": 0.125
387
327
  },
388
328
  "limit": {
389
329
  "context": 400000,
@@ -391,17 +331,18 @@
391
331
  "output": 128000
392
332
  }
393
333
  },
394
- "o3-deep-research": {
395
- "id": "o3-deep-research",
396
- "name": "o3-deep-research",
397
- "family": "o",
334
+ "gpt-4-turbo": {
335
+ "id": "gpt-4-turbo",
336
+ "name": "GPT-4 Turbo",
337
+ "family": "gpt",
398
338
  "attachment": true,
399
- "reasoning": true,
339
+ "reasoning": false,
400
340
  "tool_call": true,
401
- "temperature": false,
402
- "knowledge": "2024-05",
403
- "release_date": "2024-06-26",
404
- "last_updated": "2024-06-26",
341
+ "structured_output": false,
342
+ "temperature": true,
343
+ "knowledge": "2023-12",
344
+ "release_date": "2023-11-06",
345
+ "last_updated": "2024-04-09",
405
346
  "modalities": {
406
347
  "input": [
407
348
  "text",
@@ -414,26 +355,25 @@
414
355
  "open_weights": false,
415
356
  "cost": {
416
357
  "input": 10,
417
- "output": 40,
418
- "cache_read": 2.5
358
+ "output": 30
419
359
  },
420
360
  "limit": {
421
- "context": 200000,
422
- "output": 100000
361
+ "context": 128000,
362
+ "output": 4096
423
363
  }
424
364
  },
425
- "o1": {
426
- "id": "o1",
427
- "name": "o1",
428
- "family": "o",
365
+ "gpt-4o": {
366
+ "id": "gpt-4o",
367
+ "name": "GPT-4o",
368
+ "family": "gpt",
429
369
  "attachment": true,
430
- "reasoning": true,
370
+ "reasoning": false,
431
371
  "tool_call": true,
432
372
  "structured_output": true,
433
- "temperature": false,
373
+ "temperature": true,
434
374
  "knowledge": "2023-09",
435
- "release_date": "2024-12-05",
436
- "last_updated": "2024-12-05",
375
+ "release_date": "2024-05-13",
376
+ "last_updated": "2024-08-06",
437
377
  "modalities": {
438
378
  "input": [
439
379
  "text",
@@ -445,31 +385,32 @@
445
385
  },
446
386
  "open_weights": false,
447
387
  "cost": {
448
- "input": 15,
449
- "output": 60,
450
- "cache_read": 7.5
388
+ "input": 2.5,
389
+ "output": 10,
390
+ "cache_read": 1.25
451
391
  },
452
392
  "limit": {
453
- "context": 200000,
454
- "output": 100000
393
+ "context": 128000,
394
+ "output": 16384
455
395
  }
456
396
  },
457
- "gpt-5.1": {
458
- "id": "gpt-5.1",
459
- "name": "GPT-5.1",
460
- "family": "gpt",
397
+ "gpt-5.3-codex": {
398
+ "id": "gpt-5.3-codex",
399
+ "name": "GPT-5.3 Codex",
400
+ "family": "gpt-codex",
461
401
  "attachment": true,
462
402
  "reasoning": true,
463
403
  "tool_call": true,
464
404
  "structured_output": true,
465
405
  "temperature": false,
466
- "knowledge": "2024-09-30",
467
- "release_date": "2025-11-13",
468
- "last_updated": "2025-11-13",
406
+ "knowledge": "2025-08-31",
407
+ "release_date": "2026-02-05",
408
+ "last_updated": "2026-02-05",
469
409
  "modalities": {
470
410
  "input": [
471
411
  "text",
472
- "image"
412
+ "image",
413
+ "pdf"
473
414
  ],
474
415
  "output": [
475
416
  "text"
@@ -477,9 +418,9 @@
477
418
  },
478
419
  "open_weights": false,
479
420
  "cost": {
480
- "input": 1.25,
481
- "output": 10,
482
- "cache_read": 0.13
421
+ "input": 1.75,
422
+ "output": 14,
423
+ "cache_read": 0.175
483
424
  },
484
425
  "limit": {
485
426
  "context": 400000,
@@ -487,17 +428,18 @@
487
428
  "output": 128000
488
429
  }
489
430
  },
490
- "o4-mini-deep-research": {
491
- "id": "o4-mini-deep-research",
492
- "name": "o4-mini-deep-research",
493
- "family": "o-mini",
431
+ "gpt-5-mini": {
432
+ "id": "gpt-5-mini",
433
+ "name": "GPT-5 Mini",
434
+ "family": "gpt-mini",
494
435
  "attachment": true,
495
436
  "reasoning": true,
496
437
  "tool_call": true,
438
+ "structured_output": true,
497
439
  "temperature": false,
498
- "knowledge": "2024-05",
499
- "release_date": "2024-06-26",
500
- "last_updated": "2024-06-26",
440
+ "knowledge": "2024-05-30",
441
+ "release_date": "2025-08-07",
442
+ "last_updated": "2025-08-07",
501
443
  "modalities": {
502
444
  "input": [
503
445
  "text",
@@ -509,13 +451,14 @@
509
451
  },
510
452
  "open_weights": false,
511
453
  "cost": {
512
- "input": 2,
513
- "output": 8,
514
- "cache_read": 0.5
454
+ "input": 0.25,
455
+ "output": 2,
456
+ "cache_read": 0.025
515
457
  },
516
458
  "limit": {
517
- "context": 200000,
518
- "output": 100000
459
+ "context": 400000,
460
+ "input": 272000,
461
+ "output": 128000
519
462
  }
520
463
  },
521
464
  "gpt-5.3-codex-spark": {
@@ -552,18 +495,45 @@
552
495
  "output": 32000
553
496
  }
554
497
  },
555
- "o3": {
556
- "id": "o3",
557
- "name": "o3",
558
- "family": "o",
498
+ "gpt-image-1.5": {
499
+ "id": "gpt-image-1.5",
500
+ "name": "gpt-image-1.5",
501
+ "family": "gpt-image",
559
502
  "attachment": true,
560
- "reasoning": true,
503
+ "reasoning": false,
504
+ "tool_call": false,
505
+ "temperature": false,
506
+ "release_date": "2025-11-25",
507
+ "last_updated": "2025-11-25",
508
+ "modalities": {
509
+ "input": [
510
+ "text",
511
+ "image"
512
+ ],
513
+ "output": [
514
+ "text",
515
+ "image"
516
+ ]
517
+ },
518
+ "open_weights": false,
519
+ "limit": {
520
+ "context": 0,
521
+ "input": 0,
522
+ "output": 0
523
+ }
524
+ },
525
+ "gpt-4o-mini": {
526
+ "id": "gpt-4o-mini",
527
+ "name": "GPT-4o mini",
528
+ "family": "gpt-mini",
529
+ "attachment": true,
530
+ "reasoning": false,
561
531
  "tool_call": true,
562
532
  "structured_output": true,
563
- "temperature": false,
564
- "knowledge": "2024-05",
565
- "release_date": "2025-04-16",
566
- "last_updated": "2025-04-16",
533
+ "temperature": true,
534
+ "knowledge": "2023-09",
535
+ "release_date": "2024-07-18",
536
+ "last_updated": "2024-07-18",
567
537
  "modalities": {
568
538
  "input": [
569
539
  "text",
@@ -575,29 +545,58 @@
575
545
  },
576
546
  "open_weights": false,
577
547
  "cost": {
578
- "input": 2,
579
- "output": 8,
580
- "cache_read": 0.5
548
+ "input": 0.15,
549
+ "output": 0.6,
550
+ "cache_read": 0.08
581
551
  },
582
552
  "limit": {
583
- "context": 200000,
584
- "output": 100000
553
+ "context": 128000,
554
+ "output": 16384
585
555
  }
586
556
  },
587
- "text-embedding-3-small": {
588
- "id": "text-embedding-3-small",
589
- "name": "text-embedding-3-small",
590
- "family": "text-embedding",
591
- "attachment": false,
557
+ "gpt-image-1-mini": {
558
+ "id": "gpt-image-1-mini",
559
+ "name": "gpt-image-1-mini",
560
+ "family": "gpt-image",
561
+ "attachment": true,
592
562
  "reasoning": false,
593
563
  "tool_call": false,
594
564
  "temperature": false,
595
- "knowledge": "2024-01",
596
- "release_date": "2024-01-25",
597
- "last_updated": "2024-01-25",
565
+ "release_date": "2025-09-26",
566
+ "last_updated": "2025-09-26",
598
567
  "modalities": {
599
568
  "input": [
600
- "text"
569
+ "text",
570
+ "image"
571
+ ],
572
+ "output": [
573
+ "text",
574
+ "image"
575
+ ]
576
+ },
577
+ "open_weights": false,
578
+ "limit": {
579
+ "context": 0,
580
+ "input": 0,
581
+ "output": 0
582
+ }
583
+ },
584
+ "gpt-5.1-codex-max": {
585
+ "id": "gpt-5.1-codex-max",
586
+ "name": "GPT-5.1 Codex Max",
587
+ "family": "gpt-codex",
588
+ "attachment": true,
589
+ "reasoning": true,
590
+ "tool_call": true,
591
+ "structured_output": true,
592
+ "temperature": false,
593
+ "knowledge": "2024-09-30",
594
+ "release_date": "2025-11-13",
595
+ "last_updated": "2025-11-13",
596
+ "modalities": {
597
+ "input": [
598
+ "text",
599
+ "image"
601
600
  ],
602
601
  "output": [
603
602
  "text"
@@ -605,18 +604,20 @@
605
604
  },
606
605
  "open_weights": false,
607
606
  "cost": {
608
- "input": 0.02,
609
- "output": 0
607
+ "input": 1.25,
608
+ "output": 10,
609
+ "cache_read": 0.125
610
610
  },
611
611
  "limit": {
612
- "context": 8191,
613
- "output": 1536
612
+ "context": 400000,
613
+ "input": 272000,
614
+ "output": 128000
614
615
  }
615
616
  },
616
- "gpt-4.1-nano": {
617
- "id": "gpt-4.1-nano",
618
- "name": "GPT-4.1 nano",
619
- "family": "gpt-nano",
617
+ "gpt-4.1": {
618
+ "id": "gpt-4.1",
619
+ "name": "GPT-4.1",
620
+ "family": "gpt",
620
621
  "attachment": true,
621
622
  "reasoning": false,
622
623
  "tool_call": true,
@@ -636,29 +637,31 @@
636
637
  },
637
638
  "open_weights": false,
638
639
  "cost": {
639
- "input": 0.1,
640
- "output": 0.4,
641
- "cache_read": 0.03
640
+ "input": 2,
641
+ "output": 8,
642
+ "cache_read": 0.5
642
643
  },
643
644
  "limit": {
644
645
  "context": 1047576,
645
646
  "output": 32768
646
647
  }
647
648
  },
648
- "text-embedding-3-large": {
649
- "id": "text-embedding-3-large",
650
- "name": "text-embedding-3-large",
651
- "family": "text-embedding",
652
- "attachment": false,
653
- "reasoning": false,
654
- "tool_call": false,
649
+ "gpt-5.1-chat-latest": {
650
+ "id": "gpt-5.1-chat-latest",
651
+ "name": "GPT-5.1 Chat",
652
+ "family": "gpt-codex",
653
+ "attachment": true,
654
+ "reasoning": true,
655
+ "tool_call": true,
656
+ "structured_output": true,
655
657
  "temperature": false,
656
- "knowledge": "2024-01",
657
- "release_date": "2024-01-25",
658
- "last_updated": "2024-01-25",
658
+ "knowledge": "2024-09-30",
659
+ "release_date": "2025-11-13",
660
+ "last_updated": "2025-11-13",
659
661
  "modalities": {
660
662
  "input": [
661
- "text"
663
+ "text",
664
+ "image"
662
665
  ],
663
666
  "output": [
664
667
  "text"
@@ -666,12 +669,13 @@
666
669
  },
667
670
  "open_weights": false,
668
671
  "cost": {
669
- "input": 0.13,
670
- "output": 0
672
+ "input": 1.25,
673
+ "output": 10,
674
+ "cache_read": 0.125
671
675
  },
672
676
  "limit": {
673
- "context": 8191,
674
- "output": 3072
677
+ "context": 128000,
678
+ "output": 16384
675
679
  }
676
680
  },
677
681
  "gpt-3.5-turbo": {
@@ -705,22 +709,23 @@
705
709
  "output": 4096
706
710
  }
707
711
  },
708
- "gpt-5.1-codex-mini": {
709
- "id": "gpt-5.1-codex-mini",
710
- "name": "GPT-5.1 Codex mini",
711
- "family": "gpt-codex",
712
+ "gpt-5.4": {
713
+ "id": "gpt-5.4",
714
+ "name": "GPT-5.4",
715
+ "family": "gpt",
712
716
  "attachment": true,
713
717
  "reasoning": true,
714
718
  "tool_call": true,
715
719
  "structured_output": true,
716
720
  "temperature": false,
717
- "knowledge": "2024-09-30",
718
- "release_date": "2025-11-13",
719
- "last_updated": "2025-11-13",
721
+ "knowledge": "2025-08-31",
722
+ "release_date": "2026-03-05",
723
+ "last_updated": "2026-03-05",
720
724
  "modalities": {
721
725
  "input": [
722
726
  "text",
723
- "image"
727
+ "image",
728
+ "pdf"
724
729
  ],
725
730
  "output": [
726
731
  "text"
@@ -728,28 +733,33 @@
728
733
  },
729
734
  "open_weights": false,
730
735
  "cost": {
731
- "input": 0.25,
732
- "output": 2,
733
- "cache_read": 0.025
736
+ "input": 2.5,
737
+ "output": 15,
738
+ "cache_read": 0.25,
739
+ "context_over_200k": {
740
+ "input": 5,
741
+ "output": 22.5,
742
+ "cache_read": 0.5
743
+ }
734
744
  },
735
745
  "limit": {
736
- "context": 400000,
737
- "input": 272000,
746
+ "context": 1050000,
747
+ "input": 922000,
738
748
  "output": 128000
739
749
  }
740
750
  },
741
- "gpt-5.2": {
742
- "id": "gpt-5.2",
743
- "name": "GPT-5.2",
744
- "family": "gpt",
751
+ "o1": {
752
+ "id": "o1",
753
+ "name": "o1",
754
+ "family": "o",
745
755
  "attachment": true,
746
756
  "reasoning": true,
747
757
  "tool_call": true,
748
758
  "structured_output": true,
749
759
  "temperature": false,
750
- "knowledge": "2025-08-31",
751
- "release_date": "2025-12-11",
752
- "last_updated": "2025-12-11",
760
+ "knowledge": "2023-09",
761
+ "release_date": "2024-12-05",
762
+ "last_updated": "2024-12-05",
753
763
  "modalities": {
754
764
  "input": [
755
765
  "text",
@@ -761,28 +771,57 @@
761
771
  },
762
772
  "open_weights": false,
763
773
  "cost": {
764
- "input": 1.75,
765
- "output": 14,
766
- "cache_read": 0.175
774
+ "input": 15,
775
+ "output": 60,
776
+ "cache_read": 7.5
767
777
  },
768
778
  "limit": {
769
- "context": 400000,
770
- "input": 272000,
771
- "output": 128000
779
+ "context": 200000,
780
+ "output": 100000
772
781
  }
773
782
  },
774
- "gpt-4.1": {
775
- "id": "gpt-4.1",
776
- "name": "GPT-4.1",
777
- "family": "gpt",
783
+ "codex-mini-latest": {
784
+ "id": "codex-mini-latest",
785
+ "name": "Codex Mini",
786
+ "family": "gpt-codex-mini",
778
787
  "attachment": true,
779
- "reasoning": false,
788
+ "reasoning": true,
780
789
  "tool_call": true,
781
- "structured_output": true,
782
- "temperature": true,
790
+ "temperature": false,
783
791
  "knowledge": "2024-04",
784
- "release_date": "2025-04-14",
785
- "last_updated": "2025-04-14",
792
+ "release_date": "2025-05-16",
793
+ "last_updated": "2025-05-16",
794
+ "modalities": {
795
+ "input": [
796
+ "text"
797
+ ],
798
+ "output": [
799
+ "text"
800
+ ]
801
+ },
802
+ "open_weights": false,
803
+ "cost": {
804
+ "input": 1.5,
805
+ "output": 6,
806
+ "cache_read": 0.375
807
+ },
808
+ "limit": {
809
+ "context": 200000,
810
+ "output": 100000
811
+ }
812
+ },
813
+ "o3": {
814
+ "id": "o3",
815
+ "name": "o3",
816
+ "family": "o",
817
+ "attachment": true,
818
+ "reasoning": true,
819
+ "tool_call": true,
820
+ "structured_output": true,
821
+ "temperature": false,
822
+ "knowledge": "2024-05",
823
+ "release_date": "2025-04-16",
824
+ "last_updated": "2025-04-16",
786
825
  "modalities": {
787
826
  "input": [
788
827
  "text",
@@ -799,22 +838,54 @@
799
838
  "cache_read": 0.5
800
839
  },
801
840
  "limit": {
802
- "context": 1047576,
803
- "output": 32768
841
+ "context": 200000,
842
+ "output": 100000
804
843
  }
805
844
  },
806
- "o3-pro": {
807
- "id": "o3-pro",
808
- "name": "o3-pro",
809
- "family": "o-pro",
845
+ "gpt-5.3-chat-latest": {
846
+ "id": "gpt-5.3-chat-latest",
847
+ "name": "GPT-5.3 Chat (latest)",
848
+ "family": "gpt",
849
+ "attachment": true,
850
+ "reasoning": false,
851
+ "tool_call": true,
852
+ "structured_output": true,
853
+ "temperature": true,
854
+ "knowledge": "2025-08-31",
855
+ "release_date": "2026-03-03",
856
+ "last_updated": "2026-03-03",
857
+ "modalities": {
858
+ "input": [
859
+ "text",
860
+ "image"
861
+ ],
862
+ "output": [
863
+ "text"
864
+ ]
865
+ },
866
+ "open_weights": false,
867
+ "cost": {
868
+ "input": 1.75,
869
+ "output": 14,
870
+ "cache_read": 0.175
871
+ },
872
+ "limit": {
873
+ "context": 128000,
874
+ "output": 16384
875
+ }
876
+ },
877
+ "gpt-5.4-nano": {
878
+ "id": "gpt-5.4-nano",
879
+ "name": "GPT-5.4 nano",
880
+ "family": "gpt-nano",
810
881
  "attachment": true,
811
882
  "reasoning": true,
812
883
  "tool_call": true,
813
884
  "structured_output": true,
814
885
  "temperature": false,
815
- "knowledge": "2024-05",
816
- "release_date": "2025-06-10",
817
- "last_updated": "2025-06-10",
886
+ "knowledge": "2025-08-31",
887
+ "release_date": "2026-03-17",
888
+ "last_updated": "2026-03-17",
818
889
  "modalities": {
819
890
  "input": [
820
891
  "text",
@@ -826,26 +897,116 @@
826
897
  },
827
898
  "open_weights": false,
828
899
  "cost": {
829
- "input": 20,
830
- "output": 80
900
+ "input": 0.2,
901
+ "output": 1.25,
902
+ "cache_read": 0.02
831
903
  },
832
904
  "limit": {
833
- "context": 200000,
834
- "output": 100000
905
+ "context": 400000,
906
+ "input": 272000,
907
+ "output": 128000
835
908
  }
836
909
  },
837
- "gpt-4-turbo": {
838
- "id": "gpt-4-turbo",
839
- "name": "GPT-4 Turbo",
910
+ "gpt-4o-2024-05-13": {
911
+ "id": "gpt-4o-2024-05-13",
912
+ "name": "GPT-4o (2024-05-13)",
913
+ "family": "gpt",
914
+ "attachment": true,
915
+ "reasoning": false,
916
+ "tool_call": true,
917
+ "structured_output": true,
918
+ "temperature": true,
919
+ "knowledge": "2023-09",
920
+ "release_date": "2024-05-13",
921
+ "last_updated": "2024-05-13",
922
+ "modalities": {
923
+ "input": [
924
+ "text",
925
+ "image"
926
+ ],
927
+ "output": [
928
+ "text"
929
+ ]
930
+ },
931
+ "open_weights": false,
932
+ "cost": {
933
+ "input": 5,
934
+ "output": 15
935
+ },
936
+ "limit": {
937
+ "context": 128000,
938
+ "output": 4096
939
+ }
940
+ },
941
+ "gpt-4": {
942
+ "id": "gpt-4",
943
+ "name": "GPT-4",
840
944
  "family": "gpt",
841
945
  "attachment": true,
842
946
  "reasoning": false,
843
947
  "tool_call": true,
844
948
  "structured_output": false,
845
949
  "temperature": true,
846
- "knowledge": "2023-12",
950
+ "knowledge": "2023-11",
847
951
  "release_date": "2023-11-06",
848
952
  "last_updated": "2024-04-09",
953
+ "modalities": {
954
+ "input": [
955
+ "text"
956
+ ],
957
+ "output": [
958
+ "text"
959
+ ]
960
+ },
961
+ "open_weights": false,
962
+ "cost": {
963
+ "input": 30,
964
+ "output": 60
965
+ },
966
+ "limit": {
967
+ "context": 8192,
968
+ "output": 8192
969
+ }
970
+ },
971
+ "chatgpt-image-latest": {
972
+ "id": "chatgpt-image-latest",
973
+ "name": "chatgpt-image-latest",
974
+ "family": "gpt-image",
975
+ "attachment": true,
976
+ "reasoning": false,
977
+ "tool_call": false,
978
+ "temperature": false,
979
+ "release_date": "2025-12-16",
980
+ "last_updated": "2025-12-16",
981
+ "modalities": {
982
+ "input": [
983
+ "text",
984
+ "image"
985
+ ],
986
+ "output": [
987
+ "text",
988
+ "image"
989
+ ]
990
+ },
991
+ "open_weights": false,
992
+ "limit": {
993
+ "context": 0,
994
+ "input": 0,
995
+ "output": 0
996
+ }
997
+ },
998
+ "gpt-4o-2024-11-20": {
999
+ "id": "gpt-4o-2024-11-20",
1000
+ "name": "GPT-4o (2024-11-20)",
1001
+ "family": "gpt",
1002
+ "attachment": true,
1003
+ "reasoning": false,
1004
+ "tool_call": true,
1005
+ "structured_output": true,
1006
+ "temperature": true,
1007
+ "knowledge": "2023-09",
1008
+ "release_date": "2024-11-20",
1009
+ "last_updated": "2024-11-20",
849
1010
  "modalities": {
850
1011
  "input": [
851
1012
  "text",
@@ -857,26 +1018,56 @@
857
1018
  },
858
1019
  "open_weights": false,
859
1020
  "cost": {
860
- "input": 10,
861
- "output": 30
1021
+ "input": 2.5,
1022
+ "output": 10,
1023
+ "cache_read": 1.25
862
1024
  },
863
1025
  "limit": {
864
1026
  "context": 128000,
865
- "output": 4096
1027
+ "output": 16384
866
1028
  }
867
1029
  },
868
- "gpt-5": {
869
- "id": "gpt-5",
870
- "name": "GPT-5",
1030
+ "text-embedding-ada-002": {
1031
+ "id": "text-embedding-ada-002",
1032
+ "name": "text-embedding-ada-002",
1033
+ "family": "text-embedding",
1034
+ "attachment": false,
1035
+ "reasoning": false,
1036
+ "tool_call": false,
1037
+ "temperature": false,
1038
+ "knowledge": "2022-12",
1039
+ "release_date": "2022-12-15",
1040
+ "last_updated": "2022-12-15",
1041
+ "modalities": {
1042
+ "input": [
1043
+ "text"
1044
+ ],
1045
+ "output": [
1046
+ "text"
1047
+ ]
1048
+ },
1049
+ "open_weights": false,
1050
+ "cost": {
1051
+ "input": 0.1,
1052
+ "output": 0
1053
+ },
1054
+ "limit": {
1055
+ "context": 8192,
1056
+ "output": 1536
1057
+ }
1058
+ },
1059
+ "gpt-5.2": {
1060
+ "id": "gpt-5.2",
1061
+ "name": "GPT-5.2",
871
1062
  "family": "gpt",
872
1063
  "attachment": true,
873
1064
  "reasoning": true,
874
1065
  "tool_call": true,
875
1066
  "structured_output": true,
876
1067
  "temperature": false,
877
- "knowledge": "2024-09-30",
878
- "release_date": "2025-08-07",
879
- "last_updated": "2025-08-07",
1068
+ "knowledge": "2025-08-31",
1069
+ "release_date": "2025-12-11",
1070
+ "last_updated": "2025-12-11",
880
1071
  "modalities": {
881
1072
  "input": [
882
1073
  "text",
@@ -888,9 +1079,9 @@
888
1079
  },
889
1080
  "open_weights": false,
890
1081
  "cost": {
891
- "input": 1.25,
892
- "output": 10,
893
- "cache_read": 0.125
1082
+ "input": 1.75,
1083
+ "output": 14,
1084
+ "cache_read": 0.175
894
1085
  },
895
1086
  "limit": {
896
1087
  "context": 400000,
@@ -898,18 +1089,17 @@
898
1089
  "output": 128000
899
1090
  }
900
1091
  },
901
- "o4-mini": {
902
- "id": "o4-mini",
903
- "name": "o4-mini",
1092
+ "o4-mini-deep-research": {
1093
+ "id": "o4-mini-deep-research",
1094
+ "name": "o4-mini-deep-research",
904
1095
  "family": "o-mini",
905
1096
  "attachment": true,
906
1097
  "reasoning": true,
907
1098
  "tool_call": true,
908
- "structured_output": true,
909
1099
  "temperature": false,
910
1100
  "knowledge": "2024-05",
911
- "release_date": "2025-04-16",
912
- "last_updated": "2025-04-16",
1101
+ "release_date": "2024-06-26",
1102
+ "last_updated": "2024-06-26",
913
1103
  "modalities": {
914
1104
  "input": [
915
1105
  "text",
@@ -921,15 +1111,48 @@
921
1111
  },
922
1112
  "open_weights": false,
923
1113
  "cost": {
924
- "input": 1.1,
925
- "output": 4.4,
926
- "cache_read": 0.28
1114
+ "input": 2,
1115
+ "output": 8,
1116
+ "cache_read": 0.5
927
1117
  },
928
1118
  "limit": {
929
1119
  "context": 200000,
930
1120
  "output": 100000
931
1121
  }
932
1122
  },
1123
+ "gpt-5.1": {
1124
+ "id": "gpt-5.1",
1125
+ "name": "GPT-5.1",
1126
+ "family": "gpt",
1127
+ "attachment": true,
1128
+ "reasoning": true,
1129
+ "tool_call": true,
1130
+ "structured_output": true,
1131
+ "temperature": false,
1132
+ "knowledge": "2024-09-30",
1133
+ "release_date": "2025-11-13",
1134
+ "last_updated": "2025-11-13",
1135
+ "modalities": {
1136
+ "input": [
1137
+ "text",
1138
+ "image"
1139
+ ],
1140
+ "output": [
1141
+ "text"
1142
+ ]
1143
+ },
1144
+ "open_weights": false,
1145
+ "cost": {
1146
+ "input": 1.25,
1147
+ "output": 10,
1148
+ "cache_read": 0.13
1149
+ },
1150
+ "limit": {
1151
+ "context": 400000,
1152
+ "input": 272000,
1153
+ "output": 128000
1154
+ }
1155
+ },
933
1156
  "gpt-4.1-mini": {
934
1157
  "id": "gpt-4.1-mini",
935
1158
  "name": "GPT-4.1 mini",
@@ -962,23 +1185,22 @@
962
1185
  "output": 32768
963
1186
  }
964
1187
  },
965
- "gpt-5.4": {
966
- "id": "gpt-5.4",
967
- "name": "GPT-5.4",
968
- "family": "gpt",
1188
+ "gpt-5-chat-latest": {
1189
+ "id": "gpt-5-chat-latest",
1190
+ "name": "GPT-5 Chat (latest)",
1191
+ "family": "gpt-codex",
969
1192
  "attachment": true,
970
1193
  "reasoning": true,
971
- "tool_call": true,
1194
+ "tool_call": false,
972
1195
  "structured_output": true,
973
- "temperature": false,
974
- "knowledge": "2025-08-31",
975
- "release_date": "2026-03-05",
976
- "last_updated": "2026-03-05",
1196
+ "temperature": true,
1197
+ "knowledge": "2024-09-30",
1198
+ "release_date": "2025-08-07",
1199
+ "last_updated": "2025-08-07",
977
1200
  "modalities": {
978
1201
  "input": [
979
1202
  "text",
980
- "image",
981
- "pdf"
1203
+ "image"
982
1204
  ],
983
1205
  "output": [
984
1206
  "text"
@@ -986,35 +1208,31 @@
986
1208
  },
987
1209
  "open_weights": false,
988
1210
  "cost": {
989
- "input": 2.5,
990
- "output": 15,
991
- "cache_read": 0.25,
992
- "context_over_200k": {
993
- "input": 5,
994
- "output": 22.5,
995
- "cache_read": 0.5
996
- }
1211
+ "input": 1.25,
1212
+ "output": 10
997
1213
  },
998
1214
  "limit": {
999
- "context": 1050000,
1000
- "input": 922000,
1215
+ "context": 400000,
1216
+ "input": 272000,
1001
1217
  "output": 128000
1002
1218
  }
1003
1219
  },
1004
- "o1-preview": {
1005
- "id": "o1-preview",
1006
- "name": "o1-preview",
1007
- "family": "o",
1008
- "attachment": false,
1220
+ "gpt-5-nano": {
1221
+ "id": "gpt-5-nano",
1222
+ "name": "GPT-5 Nano",
1223
+ "family": "gpt-nano",
1224
+ "attachment": true,
1009
1225
  "reasoning": true,
1010
- "tool_call": false,
1011
- "temperature": true,
1012
- "knowledge": "2023-09",
1013
- "release_date": "2024-09-12",
1014
- "last_updated": "2024-09-12",
1226
+ "tool_call": true,
1227
+ "structured_output": true,
1228
+ "temperature": false,
1229
+ "knowledge": "2024-05-30",
1230
+ "release_date": "2025-08-07",
1231
+ "last_updated": "2025-08-07",
1015
1232
  "modalities": {
1016
1233
  "input": [
1017
- "text"
1234
+ "text",
1235
+ "image"
1018
1236
  ],
1019
1237
  "output": [
1020
1238
  "text"
@@ -1022,63 +1240,54 @@
1022
1240
  },
1023
1241
  "open_weights": false,
1024
1242
  "cost": {
1025
- "input": 15,
1026
- "output": 60,
1027
- "cache_read": 7.5
1243
+ "input": 0.05,
1244
+ "output": 0.4,
1245
+ "cache_read": 0.005
1028
1246
  },
1029
1247
  "limit": {
1030
- "context": 128000,
1031
- "output": 32768
1248
+ "context": 400000,
1249
+ "input": 272000,
1250
+ "output": 128000
1032
1251
  }
1033
1252
  },
1034
- "gpt-5.4-pro": {
1035
- "id": "gpt-5.4-pro",
1036
- "name": "GPT-5.4 Pro",
1037
- "family": "gpt-pro",
1253
+ "gpt-image-1": {
1254
+ "id": "gpt-image-1",
1255
+ "name": "gpt-image-1",
1256
+ "family": "gpt-image",
1038
1257
  "attachment": true,
1039
- "reasoning": true,
1040
- "tool_call": true,
1041
- "structured_output": false,
1258
+ "reasoning": false,
1259
+ "tool_call": false,
1042
1260
  "temperature": false,
1043
- "knowledge": "2025-08-31",
1044
- "release_date": "2026-03-05",
1045
- "last_updated": "2026-03-05",
1261
+ "release_date": "2025-04-24",
1262
+ "last_updated": "2025-04-24",
1046
1263
  "modalities": {
1047
1264
  "input": [
1048
1265
  "text",
1049
1266
  "image"
1050
1267
  ],
1051
1268
  "output": [
1052
- "text"
1269
+ "image"
1053
1270
  ]
1054
1271
  },
1055
1272
  "open_weights": false,
1056
- "cost": {
1057
- "input": 30,
1058
- "output": 180,
1059
- "context_over_200k": {
1060
- "input": 60,
1061
- "output": 270
1062
- }
1063
- },
1064
1273
  "limit": {
1065
- "context": 1050000,
1066
- "input": 922000,
1067
- "output": 128000
1274
+ "context": 0,
1275
+ "input": 0,
1276
+ "output": 0
1068
1277
  }
1069
1278
  },
1070
- "o1-pro": {
1071
- "id": "o1-pro",
1072
- "name": "o1-pro",
1279
+ "o3-pro": {
1280
+ "id": "o3-pro",
1281
+ "name": "o3-pro",
1073
1282
  "family": "o-pro",
1074
1283
  "attachment": true,
1075
1284
  "reasoning": true,
1076
1285
  "tool_call": true,
1077
1286
  "structured_output": true,
1078
1287
  "temperature": false,
1079
- "knowledge": "2023-09",
1080
- "release_date": "2025-03-19",
1081
- "last_updated": "2025-03-19",
1288
+ "knowledge": "2024-05",
1289
+ "release_date": "2025-06-10",
1290
+ "last_updated": "2025-06-10",
1082
1291
  "modalities": {
1083
1292
  "input": [
1084
1293
  "text",
@@ -1090,26 +1299,26 @@
1090
1299
  },
1091
1300
  "open_weights": false,
1092
1301
  "cost": {
1093
- "input": 150,
1094
- "output": 600
1302
+ "input": 20,
1303
+ "output": 80
1095
1304
  },
1096
1305
  "limit": {
1097
1306
  "context": 200000,
1098
1307
  "output": 100000
1099
1308
  }
1100
1309
  },
1101
- "gpt-5.1-codex": {
1102
- "id": "gpt-5.1-codex",
1103
- "name": "GPT-5.1 Codex",
1104
- "family": "gpt-codex",
1310
+ "gpt-4o-2024-08-06": {
1311
+ "id": "gpt-4o-2024-08-06",
1312
+ "name": "GPT-4o (2024-08-06)",
1313
+ "family": "gpt",
1105
1314
  "attachment": true,
1106
- "reasoning": true,
1315
+ "reasoning": false,
1107
1316
  "tool_call": true,
1108
1317
  "structured_output": true,
1109
- "temperature": false,
1110
- "knowledge": "2024-09-30",
1111
- "release_date": "2025-11-13",
1112
- "last_updated": "2025-11-13",
1318
+ "temperature": true,
1319
+ "knowledge": "2023-09",
1320
+ "release_date": "2024-08-06",
1321
+ "last_updated": "2024-08-06",
1113
1322
  "modalities": {
1114
1323
  "input": [
1115
1324
  "text",
@@ -1121,28 +1330,27 @@
1121
1330
  },
1122
1331
  "open_weights": false,
1123
1332
  "cost": {
1124
- "input": 1.25,
1333
+ "input": 2.5,
1125
1334
  "output": 10,
1126
- "cache_read": 0.125
1335
+ "cache_read": 1.25
1127
1336
  },
1128
1337
  "limit": {
1129
- "context": 400000,
1130
- "input": 272000,
1131
- "output": 128000
1338
+ "context": 128000,
1339
+ "output": 16384
1132
1340
  }
1133
1341
  },
1134
- "gpt-5.2-pro": {
1135
- "id": "gpt-5.2-pro",
1136
- "name": "GPT-5.2 Pro",
1137
- "family": "gpt-pro",
1342
+ "gpt-4.1-nano": {
1343
+ "id": "gpt-4.1-nano",
1344
+ "name": "GPT-4.1 nano",
1345
+ "family": "gpt-nano",
1138
1346
  "attachment": true,
1139
- "reasoning": true,
1347
+ "reasoning": false,
1140
1348
  "tool_call": true,
1141
- "structured_output": false,
1142
- "temperature": false,
1143
- "knowledge": "2025-08-31",
1144
- "release_date": "2025-12-11",
1145
- "last_updated": "2025-12-11",
1349
+ "structured_output": true,
1350
+ "temperature": true,
1351
+ "knowledge": "2024-04",
1352
+ "release_date": "2025-04-14",
1353
+ "last_updated": "2025-04-14",
1146
1354
  "modalities": {
1147
1355
  "input": [
1148
1356
  "text",
@@ -1154,27 +1362,26 @@
1154
1362
  },
1155
1363
  "open_weights": false,
1156
1364
  "cost": {
1157
- "input": 21,
1158
- "output": 168
1365
+ "input": 0.1,
1366
+ "output": 0.4,
1367
+ "cache_read": 0.03
1159
1368
  },
1160
1369
  "limit": {
1161
- "context": 400000,
1162
- "input": 272000,
1163
- "output": 128000
1370
+ "context": 1047576,
1371
+ "output": 32768
1164
1372
  }
1165
1373
  },
1166
- "o3-mini": {
1167
- "id": "o3-mini",
1168
- "name": "o3-mini",
1169
- "family": "o-mini",
1374
+ "o1-preview": {
1375
+ "id": "o1-preview",
1376
+ "name": "o1-preview",
1377
+ "family": "o",
1170
1378
  "attachment": false,
1171
1379
  "reasoning": true,
1172
- "tool_call": true,
1173
- "structured_output": true,
1174
- "temperature": false,
1175
- "knowledge": "2024-05",
1176
- "release_date": "2024-12-20",
1177
- "last_updated": "2025-01-29",
1380
+ "tool_call": false,
1381
+ "temperature": true,
1382
+ "knowledge": "2023-09",
1383
+ "release_date": "2024-09-12",
1384
+ "last_updated": "2024-09-12",
1178
1385
  "modalities": {
1179
1386
  "input": [
1180
1387
  "text"
@@ -1185,31 +1392,29 @@
1185
1392
  },
1186
1393
  "open_weights": false,
1187
1394
  "cost": {
1188
- "input": 1.1,
1189
- "output": 4.4,
1190
- "cache_read": 0.55
1395
+ "input": 15,
1396
+ "output": 60,
1397
+ "cache_read": 7.5
1191
1398
  },
1192
1399
  "limit": {
1193
- "context": 200000,
1194
- "output": 100000
1400
+ "context": 128000,
1401
+ "output": 32768
1195
1402
  }
1196
1403
  },
1197
- "gpt-4o-2024-08-06": {
1198
- "id": "gpt-4o-2024-08-06",
1199
- "name": "GPT-4o (2024-08-06)",
1200
- "family": "gpt",
1201
- "attachment": true,
1404
+ "text-embedding-3-small": {
1405
+ "id": "text-embedding-3-small",
1406
+ "name": "text-embedding-3-small",
1407
+ "family": "text-embedding",
1408
+ "attachment": false,
1202
1409
  "reasoning": false,
1203
- "tool_call": true,
1204
- "structured_output": true,
1205
- "temperature": true,
1206
- "knowledge": "2023-09",
1207
- "release_date": "2024-08-06",
1208
- "last_updated": "2024-08-06",
1410
+ "tool_call": false,
1411
+ "temperature": false,
1412
+ "knowledge": "2024-01",
1413
+ "release_date": "2024-01-25",
1414
+ "last_updated": "2024-01-25",
1209
1415
  "modalities": {
1210
1416
  "input": [
1211
- "text",
1212
- "image"
1417
+ "text"
1213
1418
  ],
1214
1419
  "output": [
1215
1420
  "text"
@@ -1217,27 +1422,26 @@
1217
1422
  },
1218
1423
  "open_weights": false,
1219
1424
  "cost": {
1220
- "input": 2.5,
1221
- "output": 10,
1222
- "cache_read": 1.25
1425
+ "input": 0.02,
1426
+ "output": 0
1223
1427
  },
1224
1428
  "limit": {
1225
- "context": 128000,
1226
- "output": 16384
1429
+ "context": 8191,
1430
+ "output": 1536
1227
1431
  }
1228
1432
  },
1229
- "gpt-5-mini": {
1230
- "id": "gpt-5-mini",
1231
- "name": "GPT-5 Mini",
1232
- "family": "gpt-mini",
1233
- "attachment": true,
1433
+ "gpt-5-codex": {
1434
+ "id": "gpt-5-codex",
1435
+ "name": "GPT-5-Codex",
1436
+ "family": "gpt-codex",
1437
+ "attachment": false,
1234
1438
  "reasoning": true,
1235
1439
  "tool_call": true,
1236
1440
  "structured_output": true,
1237
1441
  "temperature": false,
1238
- "knowledge": "2024-05-30",
1239
- "release_date": "2025-08-07",
1240
- "last_updated": "2025-08-07",
1442
+ "knowledge": "2024-09-30",
1443
+ "release_date": "2025-09-15",
1444
+ "last_updated": "2025-09-15",
1241
1445
  "modalities": {
1242
1446
  "input": [
1243
1447
  "text",
@@ -1249,9 +1453,9 @@
1249
1453
  },
1250
1454
  "open_weights": false,
1251
1455
  "cost": {
1252
- "input": 0.25,
1253
- "output": 2,
1254
- "cache_read": 0.025
1456
+ "input": 1.25,
1457
+ "output": 10,
1458
+ "cache_read": 0.125
1255
1459
  },
1256
1460
  "limit": {
1257
1461
  "context": 400000,
@@ -1259,18 +1463,18 @@
1259
1463
  "output": 128000
1260
1464
  }
1261
1465
  },
1262
- "gpt-5.1-chat-latest": {
1263
- "id": "gpt-5.1-chat-latest",
1264
- "name": "GPT-5.1 Chat",
1265
- "family": "gpt-codex",
1466
+ "o4-mini": {
1467
+ "id": "o4-mini",
1468
+ "name": "o4-mini",
1469
+ "family": "o-mini",
1266
1470
  "attachment": true,
1267
1471
  "reasoning": true,
1268
1472
  "tool_call": true,
1269
1473
  "structured_output": true,
1270
1474
  "temperature": false,
1271
- "knowledge": "2024-09-30",
1272
- "release_date": "2025-11-13",
1273
- "last_updated": "2025-11-13",
1475
+ "knowledge": "2024-05",
1476
+ "release_date": "2025-04-16",
1477
+ "last_updated": "2025-04-16",
1274
1478
  "modalities": {
1275
1479
  "input": [
1276
1480
  "text",
@@ -1282,30 +1486,30 @@
1282
1486
  },
1283
1487
  "open_weights": false,
1284
1488
  "cost": {
1285
- "input": 1.25,
1286
- "output": 10,
1287
- "cache_read": 0.125
1489
+ "input": 1.1,
1490
+ "output": 4.4,
1491
+ "cache_read": 0.28
1288
1492
  },
1289
1493
  "limit": {
1290
- "context": 128000,
1291
- "output": 16384
1494
+ "context": 200000,
1495
+ "output": 100000
1292
1496
  }
1293
1497
  },
1294
- "gpt-4": {
1295
- "id": "gpt-4",
1296
- "name": "GPT-4",
1297
- "family": "gpt",
1498
+ "o3-deep-research": {
1499
+ "id": "o3-deep-research",
1500
+ "name": "o3-deep-research",
1501
+ "family": "o",
1298
1502
  "attachment": true,
1299
- "reasoning": false,
1503
+ "reasoning": true,
1300
1504
  "tool_call": true,
1301
- "structured_output": false,
1302
- "temperature": true,
1303
- "knowledge": "2023-11",
1304
- "release_date": "2023-11-06",
1305
- "last_updated": "2024-04-09",
1505
+ "temperature": false,
1506
+ "knowledge": "2024-05",
1507
+ "release_date": "2024-06-26",
1508
+ "last_updated": "2024-06-26",
1306
1509
  "modalities": {
1307
1510
  "input": [
1308
- "text"
1511
+ "text",
1512
+ "image"
1309
1513
  ],
1310
1514
  "output": [
1311
1515
  "text"
@@ -1313,26 +1517,27 @@
1313
1517
  },
1314
1518
  "open_weights": false,
1315
1519
  "cost": {
1316
- "input": 30,
1317
- "output": 60
1520
+ "input": 10,
1521
+ "output": 40,
1522
+ "cache_read": 2.5
1318
1523
  },
1319
1524
  "limit": {
1320
- "context": 8192,
1321
- "output": 8192
1525
+ "context": 200000,
1526
+ "output": 100000
1322
1527
  }
1323
1528
  },
1324
- "gpt-5-nano": {
1325
- "id": "gpt-5-nano",
1326
- "name": "GPT-5 Nano",
1327
- "family": "gpt-nano",
1529
+ "gpt-5.1-codex": {
1530
+ "id": "gpt-5.1-codex",
1531
+ "name": "GPT-5.1 Codex",
1532
+ "family": "gpt-codex",
1328
1533
  "attachment": true,
1329
1534
  "reasoning": true,
1330
1535
  "tool_call": true,
1331
1536
  "structured_output": true,
1332
1537
  "temperature": false,
1333
- "knowledge": "2024-05-30",
1334
- "release_date": "2025-08-07",
1335
- "last_updated": "2025-08-07",
1538
+ "knowledge": "2024-09-30",
1539
+ "release_date": "2025-11-13",
1540
+ "last_updated": "2025-11-13",
1336
1541
  "modalities": {
1337
1542
  "input": [
1338
1543
  "text",
@@ -1344,9 +1549,9 @@
1344
1549
  },
1345
1550
  "open_weights": false,
1346
1551
  "cost": {
1347
- "input": 0.05,
1348
- "output": 0.4,
1349
- "cache_read": 0.005
1552
+ "input": 1.25,
1553
+ "output": 10,
1554
+ "cache_read": 0.125
1350
1555
  },
1351
1556
  "limit": {
1352
1557
  "context": 400000,
@@ -1385,18 +1590,18 @@
1385
1590
  "output": 65536
1386
1591
  }
1387
1592
  },
1388
- "gpt-4o": {
1389
- "id": "gpt-4o",
1390
- "name": "GPT-4o",
1391
- "family": "gpt",
1593
+ "gpt-5.2-pro": {
1594
+ "id": "gpt-5.2-pro",
1595
+ "name": "GPT-5.2 Pro",
1596
+ "family": "gpt-pro",
1392
1597
  "attachment": true,
1393
- "reasoning": false,
1598
+ "reasoning": true,
1394
1599
  "tool_call": true,
1395
- "structured_output": true,
1396
- "temperature": true,
1397
- "knowledge": "2023-09",
1398
- "release_date": "2024-05-13",
1399
- "last_updated": "2024-08-06",
1600
+ "structured_output": false,
1601
+ "temperature": false,
1602
+ "knowledge": "2025-08-31",
1603
+ "release_date": "2025-12-11",
1604
+ "last_updated": "2025-12-11",
1400
1605
  "modalities": {
1401
1606
  "input": [
1402
1607
  "text",
@@ -1408,13 +1613,13 @@
1408
1613
  },
1409
1614
  "open_weights": false,
1410
1615
  "cost": {
1411
- "input": 2.5,
1412
- "output": 10,
1413
- "cache_read": 1.25
1616
+ "input": 21,
1617
+ "output": 168
1414
1618
  },
1415
1619
  "limit": {
1416
- "context": 128000,
1417
- "output": 16384
1620
+ "context": 400000,
1621
+ "input": 272000,
1622
+ "output": 128000
1418
1623
  }
1419
1624
  }
1420
1625
  }