llm.rb 13.0.0 → 14.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 (106) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +505 -14
  3. data/README.md +484 -50
  4. data/bin/llm.rb +148 -0
  5. data/data/anthropic.json +206 -263
  6. data/data/bedrock.json +2138 -1860
  7. data/data/deepinfra.json +1003 -624
  8. data/data/deepseek.json +38 -34
  9. data/data/google.json +1079 -371
  10. data/data/mistral.json +448 -368
  11. data/data/moonshot.json +384 -0
  12. data/data/openai.json +974 -1343
  13. data/data/xai.json +154 -126
  14. data/data/zai.json +191 -191
  15. data/lib/llm/agent.rb +123 -20
  16. data/lib/llm/context.rb +71 -88
  17. data/lib/llm/cost.rb +23 -17
  18. data/lib/llm/error.rb +0 -8
  19. data/lib/llm/function/array.rb +3 -3
  20. data/lib/llm/function/async/task.rb +2 -0
  21. data/lib/llm/function/fiber/task.rb +2 -0
  22. data/lib/llm/function/fork/task.rb +2 -0
  23. data/lib/llm/function/ractor/task.rb +2 -0
  24. data/lib/llm/function/sequential/group.rb +4 -1
  25. data/lib/llm/function/sequential/task.rb +1 -1
  26. data/lib/llm/function/task.rb +4 -0
  27. data/lib/llm/function/thread/task.rb +2 -0
  28. data/lib/llm/function.rb +33 -6
  29. data/lib/llm/guard/loop.rb +89 -0
  30. data/lib/llm/guard/null.rb +19 -0
  31. data/lib/llm/guard.rb +61 -0
  32. data/lib/llm/provider.rb +36 -0
  33. data/lib/llm/providers/anthropic/stream_parser.rb +1 -0
  34. data/lib/llm/providers/anthropic.rb +2 -9
  35. data/lib/llm/providers/bedrock/request_adapter.rb +1 -1
  36. data/lib/llm/providers/bedrock/stream_parser.rb +1 -0
  37. data/lib/llm/providers/bedrock.rb +1 -8
  38. data/lib/llm/providers/google/stream_parser.rb +1 -0
  39. data/lib/llm/providers/google.rb +1 -8
  40. data/lib/llm/providers/mistral.rb +1 -1
  41. data/lib/llm/providers/moonshot.rb +76 -0
  42. data/lib/llm/providers/ollama.rb +2 -9
  43. data/lib/llm/providers/openai/responses/stream_parser.rb +1 -0
  44. data/lib/llm/providers/openai/responses.rb +7 -9
  45. data/lib/llm/providers/openai/stream_parser.rb +1 -0
  46. data/lib/llm/providers/openai.rb +4 -11
  47. data/lib/llm/repl/bar.rb +4 -3
  48. data/lib/llm/repl/{transcript.rb → buffer.rb} +69 -29
  49. data/lib/llm/repl/color.rb +78 -0
  50. data/lib/llm/repl/command.rb +12 -5
  51. data/lib/llm/repl/commands/compact.rb +2 -2
  52. data/lib/llm/repl/commands/help.rb +3 -5
  53. data/lib/llm/repl/input/char.rb +46 -0
  54. data/lib/llm/repl/input/row.rb +39 -0
  55. data/lib/llm/repl/input.rb +251 -66
  56. data/lib/llm/repl/markdown/table.rb +11 -3
  57. data/lib/llm/repl/markdown.rb +34 -8
  58. data/lib/llm/repl/node.rb +37 -0
  59. data/lib/llm/repl/status.rb +42 -7
  60. data/lib/llm/repl/stream.rb +18 -6
  61. data/lib/llm/repl/walker.rb +3 -2
  62. data/lib/llm/repl/window.rb +54 -35
  63. data/lib/llm/repl.rb +74 -32
  64. data/lib/llm/skill.rb +20 -4
  65. data/lib/llm/stream.rb +8 -7
  66. data/lib/llm/tool.rb +29 -0
  67. data/lib/llm/tools/{swap_text.rb → edit-file.rb} +3 -3
  68. data/lib/llm/tools/git.rb +3 -0
  69. data/lib/llm/tools/mkdir.rb +3 -0
  70. data/lib/llm/tools/rg.rb +3 -0
  71. data/lib/llm/tools/ruby.rb +46 -0
  72. data/lib/llm/tools/shell.rb +3 -0
  73. data/lib/llm/tracer/pretty_logger.rb +127 -0
  74. data/lib/llm/tracer.rb +1 -0
  75. data/lib/llm/transformer/null.rb +21 -0
  76. data/lib/llm/transformer.rb +55 -0
  77. data/lib/llm/version.rb +1 -1
  78. data/lib/llm.rb +12 -2
  79. data/llm.gemspec +9 -2
  80. data/resources/deepdive/advanced/cancellation.md +74 -0
  81. data/resources/deepdive/advanced/compaction.md +83 -0
  82. data/resources/deepdive/advanced/context.md +267 -0
  83. data/resources/deepdive/advanced/guard.md +371 -0
  84. data/resources/deepdive/advanced/tracer.md +180 -0
  85. data/resources/deepdive/advanced/transformer.md +67 -0
  86. data/resources/deepdive/advanced/transports.md +45 -0
  87. data/resources/deepdive/everything_else/audio.md +122 -0
  88. data/resources/deepdive/everything_else/cost.md +99 -0
  89. data/resources/deepdive/everything_else/images.md +89 -0
  90. data/resources/deepdive/everything_else/object.md +108 -0
  91. data/resources/deepdive/everything_else/ocr.md +48 -0
  92. data/resources/deepdive/fundamentals/agents.md +202 -0
  93. data/resources/deepdive/fundamentals/builtin_tools.md +191 -0
  94. data/resources/deepdive/fundamentals/concurrency.md +104 -0
  95. data/resources/deepdive/fundamentals/database.md +449 -0
  96. data/resources/deepdive/fundamentals/embeddings.md +157 -0
  97. data/resources/deepdive/fundamentals/repl.md +87 -0
  98. data/resources/deepdive/fundamentals/schema.md +61 -0
  99. data/resources/deepdive/fundamentals/skills.md +106 -0
  100. data/resources/deepdive/fundamentals/stream.md +110 -0
  101. data/resources/deepdive/fundamentals/tools.md +265 -0
  102. data/resources/deepdive/protocols/a2a.md +106 -0
  103. data/resources/deepdive/protocols/mcp.md +111 -0
  104. data/resources/deepdive.md +58 -1792
  105. metadata +51 -7
  106. data/lib/llm/loop_guard.rb +0 -107
data/data/google.json CHANGED
@@ -9,24 +9,73 @@
9
9
  "name": "Google",
10
10
  "doc": "https://ai.google.dev/gemini-api/docs/models",
11
11
  "models": {
12
- "gemini-2.5-flash-image": {
13
- "id": "gemini-2.5-flash-image",
14
- "name": "Nano Banana",
15
- "description": "Nano Banana image model for fast generation, edits, and character-consistent assets",
16
- "family": "gemini-flash",
12
+ "gemini-2.5-computer-use-preview-10-2025": {
13
+ "id": "gemini-2.5-computer-use-preview-10-2025",
14
+ "name": "Gemini 2.5 Computer Use Preview 10-2025",
15
+ "description": "Specialized Gemini 2.5 model for browser-control agents that automate UI tasks",
16
+ "family": "gemini-pro",
17
17
  "attachment": true,
18
18
  "reasoning": true,
19
19
  "reasoning_options": [],
20
- "tool_call": false,
20
+ "tool_call": true,
21
21
  "temperature": true,
22
- "knowledge": "2024-06",
23
- "release_date": "2025-08-26",
24
- "last_updated": "2025-08-26",
22
+ "knowledge": "2025-01",
23
+ "release_date": "2025-10-07",
24
+ "last_updated": "2025-10-07",
25
25
  "modalities": {
26
26
  "input": [
27
27
  "text",
28
28
  "image"
29
29
  ],
30
+ "output": [
31
+ "text"
32
+ ]
33
+ },
34
+ "open_weights": false,
35
+ "limit": {
36
+ "context": 131072,
37
+ "output": 65536
38
+ },
39
+ "cost": {
40
+ "input": 1.25,
41
+ "output": 10,
42
+ "tiers": [
43
+ {
44
+ "input": 2.5,
45
+ "output": 15,
46
+ "tier": {
47
+ "type": "context",
48
+ "size": 200000
49
+ }
50
+ }
51
+ ],
52
+ "context_over_200k": {
53
+ "input": 2.5,
54
+ "output": 15
55
+ }
56
+ }
57
+ },
58
+ "deep-research-preview-04-2026": {
59
+ "id": "deep-research-preview-04-2026",
60
+ "name": "Deep Research Preview (Apr-21-2026)",
61
+ "description": "Agentic model for autonomous multi-step research, synthesis, and cited reports",
62
+ "family": "gemini-pro",
63
+ "attachment": true,
64
+ "reasoning": true,
65
+ "reasoning_options": [],
66
+ "tool_call": true,
67
+ "temperature": true,
68
+ "knowledge": "2025-01",
69
+ "release_date": "2026-04-21",
70
+ "last_updated": "2026-04-21",
71
+ "modalities": {
72
+ "input": [
73
+ "text",
74
+ "image",
75
+ "video",
76
+ "audio",
77
+ "pdf"
78
+ ],
30
79
  "output": [
31
80
  "text",
32
81
  "image"
@@ -34,27 +83,44 @@
34
83
  },
35
84
  "open_weights": false,
36
85
  "limit": {
37
- "context": 32768,
38
- "output": 32768
86
+ "context": 131072,
87
+ "output": 65536
39
88
  },
40
89
  "cost": {
41
- "input": 0.3,
42
- "output": 30,
43
- "cache_read": 0.075
90
+ "input": 2,
91
+ "output": 12,
92
+ "cache_read": 0.2,
93
+ "tiers": [
94
+ {
95
+ "input": 4,
96
+ "output": 18,
97
+ "cache_read": 0.4,
98
+ "tier": {
99
+ "type": "context",
100
+ "size": 200000
101
+ }
102
+ }
103
+ ],
104
+ "context_over_200k": {
105
+ "input": 4,
106
+ "output": 18,
107
+ "cache_read": 0.4
108
+ }
44
109
  }
45
110
  },
46
- "gemini-2.5-flash-preview-tts": {
47
- "id": "gemini-2.5-flash-preview-tts",
48
- "name": "Gemini 2.5 Flash Preview TTS",
49
- "description": "Speech generation model for controllable voice, narration, and audio delivery",
111
+ "gemini-3.1-flash-tts-preview": {
112
+ "id": "gemini-3.1-flash-tts-preview",
113
+ "name": "Gemini 3.1 Flash TTS Preview",
114
+ "description": "Low-latency speech generation with steerable prompts and expressive audio tags",
50
115
  "family": "gemini-flash",
51
116
  "attachment": false,
52
- "reasoning": false,
117
+ "reasoning": true,
118
+ "reasoning_options": [],
53
119
  "tool_call": false,
54
120
  "temperature": true,
55
121
  "knowledge": "2025-01",
56
- "release_date": "2025-05-01",
57
- "last_updated": "2025-05-01",
122
+ "release_date": "2026-04-15",
123
+ "last_updated": "2026-04-15",
58
124
  "modalities": {
59
125
  "input": [
60
126
  "text"
@@ -69,15 +135,15 @@
69
135
  "output": 16384
70
136
  },
71
137
  "cost": {
72
- "input": 0.5,
73
- "output": 10
138
+ "input": 1,
139
+ "output": 20
74
140
  }
75
141
  },
76
- "gemini-3.1-flash-lite": {
77
- "id": "gemini-3.1-flash-lite",
78
- "name": "Gemini 3.1 Flash Lite",
79
- "description": "Low-latency Gemini model for high-volume multimodal and agent workloads",
80
- "family": "gemini-flash-lite",
142
+ "gemini-flash-latest": {
143
+ "id": "gemini-flash-latest",
144
+ "name": "Gemini Flash Latest",
145
+ "description": "Fast Gemini model balancing multimodal reasoning, tool use, and cost",
146
+ "family": "gemini-flash",
81
147
  "attachment": true,
82
148
  "reasoning": true,
83
149
  "reasoning_options": [
@@ -95,8 +161,8 @@
95
161
  "structured_output": true,
96
162
  "temperature": true,
97
163
  "knowledge": "2025-01",
98
- "release_date": "2026-05-07",
99
- "last_updated": "2026-05-07",
164
+ "release_date": "2026-05-19",
165
+ "last_updated": "2026-05-19",
100
166
  "modalities": {
101
167
  "input": [
102
168
  "text",
@@ -115,10 +181,77 @@
115
181
  "output": 65536
116
182
  },
117
183
  "cost": {
118
- "input": 0.25,
119
- "output": 1.5,
120
- "cache_read": 0.025,
121
- "input_audio": 0.5
184
+ "input": 1.5,
185
+ "output": 9,
186
+ "cache_read": 0.15,
187
+ "input_audio": 1.5
188
+ }
189
+ },
190
+ "gemini-embedding-2": {
191
+ "id": "gemini-embedding-2",
192
+ "name": "Gemini Embedding 2",
193
+ "description": "Multimodal embedding model mapping text, images, video, audio, and PDFs into a unified embedding space",
194
+ "family": "gemini",
195
+ "attachment": true,
196
+ "reasoning": false,
197
+ "tool_call": false,
198
+ "temperature": false,
199
+ "knowledge": "2025-11",
200
+ "release_date": "2026-04-22",
201
+ "last_updated": "2026-04-22",
202
+ "modalities": {
203
+ "input": [
204
+ "text",
205
+ "image",
206
+ "audio",
207
+ "video",
208
+ "pdf"
209
+ ],
210
+ "output": [
211
+ "text"
212
+ ]
213
+ },
214
+ "open_weights": false,
215
+ "limit": {
216
+ "context": 8192,
217
+ "output": 1
218
+ },
219
+ "cost": {
220
+ "input": 0.2,
221
+ "output": 0,
222
+ "input_audio": 6.5
223
+ }
224
+ },
225
+ "lyria-3-pro-preview": {
226
+ "id": "lyria-3-pro-preview",
227
+ "name": "Lyria 3 Pro Preview",
228
+ "description": "Music generation model for full-length songs from text or images with vocals and structure",
229
+ "family": "lyria",
230
+ "attachment": true,
231
+ "reasoning": false,
232
+ "tool_call": false,
233
+ "structured_output": false,
234
+ "temperature": true,
235
+ "release_date": "2026-03-25",
236
+ "last_updated": "2026-03-25",
237
+ "modalities": {
238
+ "input": [
239
+ "text",
240
+ "image"
241
+ ],
242
+ "output": [
243
+ "text",
244
+ "audio"
245
+ ]
246
+ },
247
+ "open_weights": false,
248
+ "limit": {
249
+ "context": 1048576,
250
+ "output": 65536
251
+ },
252
+ "cost": {
253
+ "input": 0,
254
+ "output": 0
122
255
  }
123
256
  },
124
257
  "gemini-3.5-flash": {
@@ -169,51 +302,29 @@
169
302
  "input_audio": 1.5
170
303
  }
171
304
  },
172
- "gemma-4-26b-a4b-it": {
173
- "id": "gemma-4-26b-a4b-it",
174
- "name": "Gemma 4 26B A4B IT",
175
- "description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
176
- "family": "gemma",
305
+ "gemini-2.5-flash": {
306
+ "id": "gemini-2.5-flash",
307
+ "name": "Gemini 2.5 Flash",
308
+ "description": "Fast Gemini workhorse for multimodal apps where latency and price matter",
309
+ "family": "gemini-flash",
177
310
  "attachment": true,
178
311
  "reasoning": true,
179
312
  "reasoning_options": [
180
313
  {
181
314
  "type": "toggle"
315
+ },
316
+ {
317
+ "type": "budget_tokens",
318
+ "min": 0,
319
+ "max": 24576
182
320
  }
183
321
  ],
184
322
  "tool_call": true,
185
323
  "structured_output": true,
186
324
  "temperature": true,
187
- "release_date": "2026-04-02",
188
- "last_updated": "2026-04-02",
189
- "modalities": {
190
- "input": [
191
- "text",
192
- "image"
193
- ],
194
- "output": [
195
- "text"
196
- ]
197
- },
198
- "open_weights": true,
199
- "limit": {
200
- "context": 262144,
201
- "output": 32768
202
- }
203
- },
204
- "gemini-2.0-flash": {
205
- "id": "gemini-2.0-flash",
206
- "name": "Gemini 2.0 Flash",
207
- "description": "Earlier Gemini Flash workhorse for responsive multimodal apps and tool use",
208
- "family": "gemini-flash",
209
- "attachment": true,
210
- "reasoning": false,
211
- "tool_call": true,
212
- "structured_output": true,
213
- "temperature": true,
214
- "knowledge": "2024-06",
215
- "release_date": "2024-12-11",
216
- "last_updated": "2024-12-11",
325
+ "knowledge": "2025-01",
326
+ "release_date": "2025-06-17",
327
+ "last_updated": "2025-06-17",
217
328
  "modalities": {
218
329
  "input": [
219
330
  "text",
@@ -229,27 +340,29 @@
229
340
  "open_weights": false,
230
341
  "limit": {
231
342
  "context": 1048576,
232
- "output": 8192
343
+ "output": 65536
233
344
  },
234
- "status": "deprecated",
235
345
  "cost": {
236
- "input": 0.1,
237
- "output": 0.4,
238
- "cache_read": 0.025
346
+ "input": 0.3,
347
+ "output": 2.5,
348
+ "cache_read": 0.03,
349
+ "input_audio": 1
239
350
  }
240
351
  },
241
- "gemini-3-pro-preview": {
242
- "id": "gemini-3-pro-preview",
243
- "name": "Gemini 3 Pro Preview",
244
- "description": "Preview Gemini flagship for complex reasoning, coding, and rich multimodal prompts",
245
- "family": "gemini-pro",
352
+ "gemini-3.5-flash-lite": {
353
+ "id": "gemini-3.5-flash-lite",
354
+ "name": "Gemini 3.5 Flash Lite",
355
+ "description": "Fast Gemini model balancing multimodal reasoning, tool use, and cost",
356
+ "family": "gemini-flash-lite",
246
357
  "attachment": true,
247
358
  "reasoning": true,
248
359
  "reasoning_options": [
249
360
  {
250
361
  "type": "effort",
251
362
  "values": [
363
+ "minimal",
252
364
  "low",
365
+ "medium",
253
366
  "high"
254
367
  ]
255
368
  }
@@ -257,9 +370,9 @@
257
370
  "tool_call": true,
258
371
  "structured_output": true,
259
372
  "temperature": true,
260
- "knowledge": "2025-01",
261
- "release_date": "2025-11-18",
262
- "last_updated": "2025-11-18",
373
+ "knowledge": "2026-03",
374
+ "release_date": "2026-07-21",
375
+ "last_updated": "2026-07-21",
263
376
  "modalities": {
264
377
  "input": [
265
378
  "text",
@@ -277,63 +390,32 @@
277
390
  "context": 1048576,
278
391
  "output": 65536
279
392
  },
280
- "status": "deprecated",
281
393
  "cost": {
282
- "input": 2,
283
- "output": 12,
284
- "cache_read": 0.2,
285
- "tiers": [
286
- {
287
- "input": 4,
288
- "output": 18,
289
- "cache_read": 0.4,
290
- "tier": {
291
- "type": "context",
292
- "size": 200000
293
- }
294
- }
295
- ],
296
- "context_over_200k": {
297
- "input": 4,
298
- "output": 18,
299
- "cache_read": 0.4
300
- }
394
+ "input": 0.3,
395
+ "output": 2.5,
396
+ "cache_read": 0.03
301
397
  }
302
398
  },
303
- "gemini-3.1-flash-lite-preview": {
304
- "id": "gemini-3.1-flash-lite-preview",
305
- "name": "Gemini 3.1 Flash Lite Preview",
306
- "description": "Legacy model retained for compatibility with older integrations",
307
- "family": "gemini-flash-lite",
399
+ "lyria-3-clip-preview": {
400
+ "id": "lyria-3-clip-preview",
401
+ "name": "Lyria 3 Clip Preview",
402
+ "description": "Music generation model for short 30-second clips, loops, and previews from text or image prompts",
403
+ "family": "lyria",
308
404
  "attachment": true,
309
- "reasoning": true,
310
- "reasoning_options": [
311
- {
312
- "type": "effort",
313
- "values": [
314
- "minimal",
315
- "low",
316
- "medium",
317
- "high"
318
- ]
319
- }
320
- ],
321
- "tool_call": true,
322
- "structured_output": true,
405
+ "reasoning": false,
406
+ "tool_call": false,
407
+ "structured_output": false,
323
408
  "temperature": true,
324
- "knowledge": "2025-01",
325
- "release_date": "2026-03-03",
326
- "last_updated": "2026-03-03",
409
+ "release_date": "2026-03-25",
410
+ "last_updated": "2026-03-25",
327
411
  "modalities": {
328
412
  "input": [
329
413
  "text",
330
- "image",
331
- "video",
332
- "audio",
333
- "pdf"
414
+ "image"
334
415
  ],
335
416
  "output": [
336
- "text"
417
+ "text",
418
+ "audio"
337
419
  ]
338
420
  },
339
421
  "open_weights": false,
@@ -341,63 +423,90 @@
341
423
  "context": 1048576,
342
424
  "output": 65536
343
425
  },
344
- "status": "deprecated",
345
426
  "cost": {
346
- "input": 0.25,
347
- "output": 1.5,
348
- "cache_read": 0.025,
349
- "input_audio": 0.5
427
+ "input": 0,
428
+ "output": 0
350
429
  }
351
430
  },
352
- "gemma-4-31b-it": {
353
- "id": "gemma-4-31b-it",
354
- "name": "Gemma 4 31B IT",
355
- "description": "Largest Gemma 4 instruction model for open, self-hosted chat and reasoning",
356
- "family": "gemma",
431
+ "gemini-omni-flash-preview": {
432
+ "id": "gemini-omni-flash-preview",
433
+ "name": "Gemini Omni Flash Preview",
434
+ "description": "Video generation and editing model for fast, conversational text- and image-to-video workflows",
435
+ "family": "gemini",
357
436
  "attachment": true,
358
437
  "reasoning": true,
359
- "reasoning_options": [
360
- {
361
- "type": "toggle"
362
- }
363
- ],
364
- "tool_call": true,
365
- "structured_output": true,
438
+ "reasoning_options": [],
439
+ "tool_call": false,
366
440
  "temperature": true,
367
- "release_date": "2026-04-02",
368
- "last_updated": "2026-04-02",
441
+ "release_date": "2026-06-30",
442
+ "last_updated": "2026-06-30",
369
443
  "modalities": {
370
444
  "input": [
371
445
  "text",
372
- "image"
446
+ "image",
447
+ "video"
373
448
  ],
374
449
  "output": [
375
- "text"
450
+ "video"
376
451
  ]
377
452
  },
378
- "open_weights": true,
453
+ "open_weights": false,
379
454
  "limit": {
380
- "context": 262144,
381
- "output": 32768
455
+ "context": 131072,
456
+ "output": 65536
457
+ },
458
+ "cost": {
459
+ "input": 1.5,
460
+ "output": 17.5
382
461
  }
383
462
  },
384
- "gemini-3-pro-image-preview": {
385
- "id": "gemini-3-pro-image-preview",
386
- "name": "Nano Banana Pro",
387
- "description": "Nano Banana Pro for higher-fidelity image generation and design-heavy edits",
463
+ "veo-3.1-generate-preview": {
464
+ "id": "veo-3.1-generate-preview",
465
+ "name": "Veo 3.1",
466
+ "description": "Video model for prompt-guided generation, editing, and motion workflows",
467
+ "family": "veo",
468
+ "attachment": true,
469
+ "reasoning": false,
470
+ "tool_call": false,
471
+ "temperature": false,
472
+ "release_date": "2025-10-15",
473
+ "last_updated": "2026-01",
474
+ "modalities": {
475
+ "input": [
476
+ "text",
477
+ "image"
478
+ ],
479
+ "output": [
480
+ "video"
481
+ ]
482
+ },
483
+ "open_weights": false,
484
+ "limit": {
485
+ "context": 480,
486
+ "output": 8192
487
+ },
488
+ "status": "beta"
489
+ },
490
+ "deep-research-max-preview-04-2026": {
491
+ "id": "deep-research-max-preview-04-2026",
492
+ "name": "Deep Research Max Preview (Apr-21-2026)",
493
+ "description": "Maximum-comprehensiveness agentic researcher for multi-step investigation, synthesis, and cited reports",
388
494
  "family": "gemini-pro",
389
495
  "attachment": true,
390
496
  "reasoning": true,
391
497
  "reasoning_options": [],
392
- "tool_call": false,
498
+ "tool_call": true,
393
499
  "temperature": true,
394
500
  "knowledge": "2025-01",
395
- "release_date": "2025-11-20",
396
- "last_updated": "2025-11-20",
501
+ "release_date": "2026-04-21",
502
+ "last_updated": "2026-04-21",
397
503
  "modalities": {
398
504
  "input": [
399
505
  "text",
400
- "image"
506
+ "image",
507
+ "video",
508
+ "audio",
509
+ "pdf"
401
510
  ],
402
511
  "output": [
403
512
  "text",
@@ -407,62 +516,93 @@
407
516
  "open_weights": false,
408
517
  "limit": {
409
518
  "context": 131072,
410
- "output": 32768
519
+ "output": 65536
411
520
  },
412
521
  "cost": {
413
522
  "input": 2,
414
- "output": 120
523
+ "output": 12,
524
+ "cache_read": 0.2,
525
+ "tiers": [
526
+ {
527
+ "input": 4,
528
+ "output": 18,
529
+ "cache_read": 0.4,
530
+ "tier": {
531
+ "type": "context",
532
+ "size": 200000
533
+ }
534
+ }
535
+ ],
536
+ "context_over_200k": {
537
+ "input": 4,
538
+ "output": 18,
539
+ "cache_read": 0.4
540
+ }
415
541
  }
416
542
  },
417
- "gemini-embedding-001": {
418
- "id": "gemini-embedding-001",
419
- "name": "Gemini Embedding 001",
420
- "description": "Embedding model for semantic search, retrieval, clustering, and ranking pipelines",
421
- "family": "gemini",
422
- "attachment": false,
423
- "reasoning": false,
543
+ "gemini-3-pro-image-preview": {
544
+ "id": "gemini-3-pro-image-preview",
545
+ "name": "Nano Banana Pro",
546
+ "description": "Nano Banana Pro for higher-fidelity image generation and design-heavy edits",
547
+ "family": "gemini-pro",
548
+ "attachment": true,
549
+ "reasoning": true,
550
+ "reasoning_options": [],
424
551
  "tool_call": false,
425
- "temperature": false,
426
- "knowledge": "2025-05",
427
- "release_date": "2025-05-20",
428
- "last_updated": "2025-05-20",
552
+ "temperature": true,
553
+ "knowledge": "2025-01",
554
+ "release_date": "2025-11-20",
555
+ "last_updated": "2025-11-20",
429
556
  "modalities": {
430
557
  "input": [
431
- "text"
558
+ "text",
559
+ "image"
432
560
  ],
433
561
  "output": [
434
- "text"
562
+ "text",
563
+ "image"
435
564
  ]
436
565
  },
437
566
  "open_weights": false,
438
567
  "limit": {
439
- "context": 2048,
440
- "output": 1
568
+ "context": 131072,
569
+ "output": 32768
441
570
  },
442
571
  "cost": {
443
- "input": 0.15,
444
- "output": 0
572
+ "input": 2,
573
+ "output": 120
445
574
  }
446
575
  },
447
- "gemini-2.0-flash-lite": {
448
- "id": "gemini-2.0-flash-lite",
449
- "name": "Gemini 2.0 Flash-Lite",
576
+ "gemini-3.1-flash-lite-preview": {
577
+ "id": "gemini-3.1-flash-lite-preview",
578
+ "name": "Gemini 3.1 Flash Lite Preview",
450
579
  "description": "Legacy model retained for compatibility with older integrations",
451
580
  "family": "gemini-flash-lite",
452
581
  "attachment": true,
453
- "reasoning": false,
582
+ "reasoning": true,
583
+ "reasoning_options": [
584
+ {
585
+ "type": "effort",
586
+ "values": [
587
+ "minimal",
588
+ "low",
589
+ "medium",
590
+ "high"
591
+ ]
592
+ }
593
+ ],
454
594
  "tool_call": true,
455
595
  "structured_output": true,
456
596
  "temperature": true,
457
- "knowledge": "2024-06",
458
- "release_date": "2024-12-11",
459
- "last_updated": "2024-12-11",
597
+ "knowledge": "2025-01",
598
+ "release_date": "2026-03-03",
599
+ "last_updated": "2026-03-03",
460
600
  "modalities": {
461
601
  "input": [
462
602
  "text",
463
603
  "image",
464
- "audio",
465
604
  "video",
605
+ "audio",
466
606
  "pdf"
467
607
  ],
468
608
  "output": [
@@ -472,73 +612,79 @@
472
612
  "open_weights": false,
473
613
  "limit": {
474
614
  "context": 1048576,
475
- "output": 8192
615
+ "output": 65536
476
616
  },
477
617
  "status": "deprecated",
478
618
  "cost": {
479
- "input": 0.075,
480
- "output": 0.3
619
+ "input": 0.25,
620
+ "output": 1.5,
621
+ "cache_read": 0.025,
622
+ "input_audio": 0.5
481
623
  }
482
624
  },
483
- "gemini-2.5-pro-preview-tts": {
484
- "id": "gemini-2.5-pro-preview-tts",
485
- "name": "Gemini 2.5 Pro Preview TTS",
486
- "description": "Speech generation model for controllable voice, narration, and audio delivery",
487
- "family": "gemini-flash",
625
+ "gemini-3.5-live-translate-preview": {
626
+ "id": "gemini-3.5-live-translate-preview",
627
+ "name": "Gemini 3.5 Live Translate Preview",
628
+ "description": "Low-latency audio-to-audio model for real-time speech translation across 70+ languages",
629
+ "family": "gemini-pro",
488
630
  "attachment": false,
489
631
  "reasoning": false,
490
632
  "tool_call": false,
491
633
  "temperature": true,
492
634
  "knowledge": "2025-01",
493
- "release_date": "2025-05-01",
494
- "last_updated": "2025-05-01",
635
+ "release_date": "2026-06-09",
636
+ "last_updated": "2026-06-09",
495
637
  "modalities": {
496
638
  "input": [
497
- "text"
639
+ "audio"
498
640
  ],
499
641
  "output": [
500
- "audio"
642
+ "audio",
643
+ "text"
501
644
  ]
502
645
  },
503
646
  "open_weights": false,
504
647
  "limit": {
505
- "context": 8192,
506
- "output": 16384
648
+ "context": 16384,
649
+ "output": 32768
507
650
  },
508
651
  "cost": {
509
- "input": 1,
510
- "output": 20
652
+ "input": 3.5,
653
+ "output": 21,
654
+ "input_audio": 3.5,
655
+ "output_audio": 21
511
656
  }
512
657
  },
513
- "gemini-2.5-flash-lite": {
514
- "id": "gemini-2.5-flash-lite",
515
- "name": "Gemini 2.5 Flash-Lite",
516
- "description": "Lean Gemini 2.5 lane for cheap multimodal traffic and quick agents",
517
- "family": "gemini-flash-lite",
658
+ "gemini-3-flash-preview": {
659
+ "id": "gemini-3-flash-preview",
660
+ "name": "Gemini 3 Flash Preview",
661
+ "description": "New Gemini flash lane bringing frontier-style multimodal reasoning to cheaper runs",
662
+ "family": "gemini-flash",
518
663
  "attachment": true,
519
664
  "reasoning": true,
520
665
  "reasoning_options": [
521
666
  {
522
- "type": "toggle"
523
- },
524
- {
525
- "type": "budget_tokens",
526
- "min": 512,
527
- "max": 24576
667
+ "type": "effort",
668
+ "values": [
669
+ "minimal",
670
+ "low",
671
+ "medium",
672
+ "high"
673
+ ]
528
674
  }
529
675
  ],
530
676
  "tool_call": true,
531
677
  "structured_output": true,
532
678
  "temperature": true,
533
679
  "knowledge": "2025-01",
534
- "release_date": "2025-06-17",
535
- "last_updated": "2025-06-17",
680
+ "release_date": "2025-12-17",
681
+ "last_updated": "2025-12-17",
536
682
  "modalities": {
537
683
  "input": [
538
684
  "text",
539
685
  "image",
540
- "audio",
541
686
  "video",
687
+ "audio",
542
688
  "pdf"
543
689
  ],
544
690
  "output": [
@@ -551,38 +697,41 @@
551
697
  "output": 65536
552
698
  },
553
699
  "cost": {
554
- "input": 0.1,
555
- "output": 0.4,
556
- "cache_read": 0.01,
557
- "input_audio": 0.3
700
+ "input": 0.5,
701
+ "output": 3,
702
+ "cache_read": 0.05,
703
+ "input_audio": 1
558
704
  }
559
705
  },
560
- "gemini-2.5-pro": {
561
- "id": "gemini-2.5-pro",
562
- "name": "Gemini 2.5 Pro",
563
- "description": "Google's proven reasoning model for coding, math, and multimodal analysis",
706
+ "gemini-3.1-pro-preview-customtools": {
707
+ "id": "gemini-3.1-pro-preview-customtools",
708
+ "name": "Gemini 3.1 Pro Preview Custom Tools",
709
+ "description": "Advanced Gemini model for complex reasoning, coding, and multimodal analysis",
564
710
  "family": "gemini-pro",
565
711
  "attachment": true,
566
712
  "reasoning": true,
567
713
  "reasoning_options": [
568
714
  {
569
- "type": "budget_tokens",
570
- "min": 128,
571
- "max": 32768
715
+ "type": "effort",
716
+ "values": [
717
+ "low",
718
+ "medium",
719
+ "high"
720
+ ]
572
721
  }
573
722
  ],
574
723
  "tool_call": true,
575
724
  "structured_output": true,
576
725
  "temperature": true,
577
726
  "knowledge": "2025-01",
578
- "release_date": "2025-06-17",
579
- "last_updated": "2025-06-17",
727
+ "release_date": "2026-02-19",
728
+ "last_updated": "2026-02-19",
580
729
  "modalities": {
581
730
  "input": [
582
731
  "text",
583
732
  "image",
584
- "audio",
585
733
  "video",
734
+ "audio",
586
735
  "pdf"
587
736
  ],
588
737
  "output": [
@@ -595,14 +744,14 @@
595
744
  "output": 65536
596
745
  },
597
746
  "cost": {
598
- "input": 1.25,
599
- "output": 10,
600
- "cache_read": 0.125,
747
+ "input": 2,
748
+ "output": 12,
749
+ "cache_read": 0.2,
601
750
  "tiers": [
602
751
  {
603
- "input": 2.5,
604
- "output": 15,
605
- "cache_read": 0.25,
752
+ "input": 4,
753
+ "output": 18,
754
+ "cache_read": 0.4,
606
755
  "tier": {
607
756
  "type": "context",
608
757
  "size": 200000
@@ -610,42 +759,52 @@
610
759
  }
611
760
  ],
612
761
  "context_over_200k": {
613
- "input": 2.5,
614
- "output": 15,
615
- "cache_read": 0.25
762
+ "input": 4,
763
+ "output": 18,
764
+ "cache_read": 0.4
616
765
  }
617
766
  }
618
767
  },
619
- "gemini-omni-flash-preview": {
620
- "id": "gemini-omni-flash-preview",
621
- "name": "Gemini Omni Flash Preview",
622
- "description": "Video generation and editing model for fast, conversational text- and image-to-video workflows",
623
- "family": "gemini",
768
+ "gemini-3.1-flash-lite-image": {
769
+ "id": "gemini-3.1-flash-lite-image",
770
+ "name": "Nano Banana 2 Lite",
771
+ "description": "Fastest, most cost-efficient Gemini image model for high-volume 1K generation and editing",
772
+ "family": "gemini-flash-lite",
624
773
  "attachment": true,
625
774
  "reasoning": true,
626
- "reasoning_options": [],
627
- "tool_call": false,
775
+ "reasoning_options": [
776
+ {
777
+ "type": "effort",
778
+ "values": [
779
+ "minimal",
780
+ "high"
781
+ ]
782
+ }
783
+ ],
784
+ "tool_call": true,
785
+ "structured_output": false,
628
786
  "temperature": true,
787
+ "knowledge": "2025-01",
629
788
  "release_date": "2026-06-30",
630
789
  "last_updated": "2026-06-30",
631
790
  "modalities": {
632
791
  "input": [
633
792
  "text",
634
- "image",
635
- "video"
793
+ "image"
636
794
  ],
637
795
  "output": [
638
- "video"
796
+ "text",
797
+ "image"
639
798
  ]
640
799
  },
641
800
  "open_weights": false,
642
801
  "limit": {
643
- "context": 131072,
802
+ "context": 65536,
644
803
  "output": 65536
645
804
  },
646
805
  "cost": {
647
- "input": 1.5,
648
- "output": 17.5
806
+ "input": 0.25,
807
+ "output": 30
649
808
  }
650
809
  },
651
810
  "gemini-3.1-flash-image-preview": {
@@ -676,25 +835,559 @@
676
835
  "pdf"
677
836
  ],
678
837
  "output": [
679
- "text",
680
- "image"
838
+ "text",
839
+ "image"
840
+ ]
841
+ },
842
+ "open_weights": false,
843
+ "limit": {
844
+ "context": 65536,
845
+ "output": 65536
846
+ },
847
+ "cost": {
848
+ "input": 0.5,
849
+ "output": 60
850
+ }
851
+ },
852
+ "gemini-robotics-er-1.6-preview": {
853
+ "id": "gemini-robotics-er-1.6-preview",
854
+ "name": "Gemini Robotics-ER 1.6 Preview",
855
+ "description": "Vision-language model for embodied reasoning: spatial understanding, task planning, and physical-world agentic robotics",
856
+ "family": "gemini",
857
+ "attachment": true,
858
+ "reasoning": true,
859
+ "reasoning_options": [
860
+ {
861
+ "type": "toggle"
862
+ },
863
+ {
864
+ "type": "budget_tokens",
865
+ "min": 0
866
+ }
867
+ ],
868
+ "tool_call": true,
869
+ "structured_output": true,
870
+ "temperature": true,
871
+ "knowledge": "2025-01",
872
+ "release_date": "2026-04-14",
873
+ "last_updated": "2026-04-14",
874
+ "modalities": {
875
+ "input": [
876
+ "text",
877
+ "image",
878
+ "video",
879
+ "audio"
880
+ ],
881
+ "output": [
882
+ "text"
883
+ ]
884
+ },
885
+ "open_weights": false,
886
+ "limit": {
887
+ "context": 131072,
888
+ "output": 65536
889
+ },
890
+ "cost": {
891
+ "input": 1,
892
+ "output": 5,
893
+ "input_audio": 2
894
+ }
895
+ },
896
+ "gemma-4-26b-a4b-it": {
897
+ "id": "gemma-4-26b-a4b-it",
898
+ "name": "Gemma 4 26B A4B IT",
899
+ "description": "Open Gemma instruction model for efficient chat and self-hosted deployments",
900
+ "family": "gemma",
901
+ "attachment": true,
902
+ "reasoning": true,
903
+ "reasoning_options": [
904
+ {
905
+ "type": "toggle"
906
+ }
907
+ ],
908
+ "tool_call": true,
909
+ "structured_output": true,
910
+ "temperature": true,
911
+ "release_date": "2026-04-02",
912
+ "last_updated": "2026-04-02",
913
+ "modalities": {
914
+ "input": [
915
+ "text",
916
+ "image"
917
+ ],
918
+ "output": [
919
+ "text"
920
+ ]
921
+ },
922
+ "open_weights": true,
923
+ "limit": {
924
+ "context": 262144,
925
+ "output": 32768
926
+ }
927
+ },
928
+ "gemini-embedding-001": {
929
+ "id": "gemini-embedding-001",
930
+ "name": "Gemini Embedding 001",
931
+ "description": "Embedding model for semantic search, retrieval, clustering, and ranking pipelines",
932
+ "family": "gemini",
933
+ "attachment": false,
934
+ "reasoning": false,
935
+ "tool_call": false,
936
+ "temperature": false,
937
+ "knowledge": "2025-05",
938
+ "release_date": "2025-05-20",
939
+ "last_updated": "2025-05-20",
940
+ "modalities": {
941
+ "input": [
942
+ "text"
943
+ ],
944
+ "output": [
945
+ "text"
946
+ ]
947
+ },
948
+ "open_weights": false,
949
+ "limit": {
950
+ "context": 2048,
951
+ "output": 1
952
+ },
953
+ "cost": {
954
+ "input": 0.15,
955
+ "output": 0
956
+ }
957
+ },
958
+ "veo-3.1-lite-generate-preview": {
959
+ "id": "veo-3.1-lite-generate-preview",
960
+ "name": "Veo 3.1 lite",
961
+ "description": "Video model for prompt-guided generation, editing, and motion workflows",
962
+ "family": "veo",
963
+ "attachment": true,
964
+ "reasoning": false,
965
+ "tool_call": false,
966
+ "temperature": false,
967
+ "release_date": "2026-03-31",
968
+ "last_updated": "2026-03-31",
969
+ "modalities": {
970
+ "input": [
971
+ "text",
972
+ "image"
973
+ ],
974
+ "output": [
975
+ "video"
976
+ ]
977
+ },
978
+ "open_weights": false,
979
+ "limit": {
980
+ "context": 480,
981
+ "output": 8192
982
+ }
983
+ },
984
+ "gemini-2.0-flash": {
985
+ "id": "gemini-2.0-flash",
986
+ "name": "Gemini 2.0 Flash",
987
+ "description": "Earlier Gemini Flash workhorse for responsive multimodal apps and tool use",
988
+ "family": "gemini-flash",
989
+ "attachment": true,
990
+ "reasoning": false,
991
+ "tool_call": true,
992
+ "structured_output": true,
993
+ "temperature": true,
994
+ "knowledge": "2024-06",
995
+ "release_date": "2024-12-11",
996
+ "last_updated": "2024-12-11",
997
+ "modalities": {
998
+ "input": [
999
+ "text",
1000
+ "image",
1001
+ "audio",
1002
+ "video",
1003
+ "pdf"
1004
+ ],
1005
+ "output": [
1006
+ "text"
1007
+ ]
1008
+ },
1009
+ "open_weights": false,
1010
+ "limit": {
1011
+ "context": 1048576,
1012
+ "output": 8192
1013
+ },
1014
+ "status": "deprecated",
1015
+ "cost": {
1016
+ "input": 0.1,
1017
+ "output": 0.4,
1018
+ "cache_read": 0.025
1019
+ }
1020
+ },
1021
+ "gemini-3.6-flash": {
1022
+ "id": "gemini-3.6-flash",
1023
+ "name": "Gemini 3.6 Flash",
1024
+ "description": "Fast Gemini model balancing multimodal reasoning, tool use, and cost",
1025
+ "family": "gemini-flash",
1026
+ "attachment": true,
1027
+ "reasoning": true,
1028
+ "reasoning_options": [
1029
+ {
1030
+ "type": "effort",
1031
+ "values": [
1032
+ "minimal",
1033
+ "low",
1034
+ "medium",
1035
+ "high"
1036
+ ]
1037
+ }
1038
+ ],
1039
+ "tool_call": true,
1040
+ "structured_output": true,
1041
+ "temperature": true,
1042
+ "knowledge": "2026-03",
1043
+ "release_date": "2026-07-21",
1044
+ "last_updated": "2026-07-21",
1045
+ "modalities": {
1046
+ "input": [
1047
+ "text",
1048
+ "image",
1049
+ "video",
1050
+ "audio",
1051
+ "pdf"
1052
+ ],
1053
+ "output": [
1054
+ "text"
1055
+ ]
1056
+ },
1057
+ "open_weights": false,
1058
+ "limit": {
1059
+ "context": 1048576,
1060
+ "output": 65536
1061
+ },
1062
+ "cost": {
1063
+ "input": 1.5,
1064
+ "output": 7.5,
1065
+ "cache_read": 0.15,
1066
+ "input_audio": 1.5
1067
+ }
1068
+ },
1069
+ "veo-3.1-fast-generate-preview": {
1070
+ "id": "veo-3.1-fast-generate-preview",
1071
+ "name": "Veo 3.1 fast",
1072
+ "description": "Video model for prompt-guided generation, editing, and motion workflows",
1073
+ "family": "veo",
1074
+ "attachment": true,
1075
+ "reasoning": false,
1076
+ "tool_call": false,
1077
+ "temperature": false,
1078
+ "release_date": "2025-10-15",
1079
+ "last_updated": "2026-01-01",
1080
+ "modalities": {
1081
+ "input": [
1082
+ "text",
1083
+ "image",
1084
+ "video"
1085
+ ],
1086
+ "output": [
1087
+ "video"
1088
+ ]
1089
+ },
1090
+ "open_weights": false,
1091
+ "limit": {
1092
+ "context": 480,
1093
+ "output": 8192
1094
+ }
1095
+ },
1096
+ "gemini-3.1-flash-lite": {
1097
+ "id": "gemini-3.1-flash-lite",
1098
+ "name": "Gemini 3.1 Flash Lite",
1099
+ "description": "Low-latency Gemini model for high-volume multimodal and agent workloads",
1100
+ "family": "gemini-flash-lite",
1101
+ "attachment": true,
1102
+ "reasoning": true,
1103
+ "reasoning_options": [
1104
+ {
1105
+ "type": "effort",
1106
+ "values": [
1107
+ "minimal",
1108
+ "low",
1109
+ "medium",
1110
+ "high"
1111
+ ]
1112
+ }
1113
+ ],
1114
+ "tool_call": true,
1115
+ "structured_output": true,
1116
+ "temperature": true,
1117
+ "knowledge": "2025-01",
1118
+ "release_date": "2026-05-07",
1119
+ "last_updated": "2026-05-07",
1120
+ "modalities": {
1121
+ "input": [
1122
+ "text",
1123
+ "image",
1124
+ "video",
1125
+ "audio",
1126
+ "pdf"
1127
+ ],
1128
+ "output": [
1129
+ "text"
1130
+ ]
1131
+ },
1132
+ "open_weights": false,
1133
+ "limit": {
1134
+ "context": 1048576,
1135
+ "output": 65536
1136
+ },
1137
+ "cost": {
1138
+ "input": 0.25,
1139
+ "output": 1.5,
1140
+ "cache_read": 0.025,
1141
+ "input_audio": 0.5
1142
+ }
1143
+ },
1144
+ "gemma-4-31b-it": {
1145
+ "id": "gemma-4-31b-it",
1146
+ "name": "Gemma 4 31B IT",
1147
+ "description": "Largest Gemma 4 instruction model for open, self-hosted chat and reasoning",
1148
+ "family": "gemma",
1149
+ "attachment": true,
1150
+ "reasoning": true,
1151
+ "reasoning_options": [
1152
+ {
1153
+ "type": "toggle"
1154
+ }
1155
+ ],
1156
+ "tool_call": true,
1157
+ "structured_output": true,
1158
+ "temperature": true,
1159
+ "release_date": "2026-04-02",
1160
+ "last_updated": "2026-04-02",
1161
+ "modalities": {
1162
+ "input": [
1163
+ "text",
1164
+ "image"
1165
+ ],
1166
+ "output": [
1167
+ "text"
1168
+ ]
1169
+ },
1170
+ "open_weights": true,
1171
+ "limit": {
1172
+ "context": 262144,
1173
+ "output": 32768
1174
+ }
1175
+ },
1176
+ "gemini-3.1-flash-image": {
1177
+ "id": "gemini-3.1-flash-image",
1178
+ "name": "Nano Banana 2",
1179
+ "description": "Image model for prompt-driven generation, editing, and visual design workflows",
1180
+ "family": "gemini-flash",
1181
+ "attachment": true,
1182
+ "reasoning": true,
1183
+ "reasoning_options": [
1184
+ {
1185
+ "type": "effort",
1186
+ "values": [
1187
+ "minimal",
1188
+ "high"
1189
+ ]
1190
+ }
1191
+ ],
1192
+ "tool_call": false,
1193
+ "temperature": true,
1194
+ "knowledge": "2025-01",
1195
+ "release_date": "2026-05-28",
1196
+ "last_updated": "2026-05-28",
1197
+ "modalities": {
1198
+ "input": [
1199
+ "text",
1200
+ "image",
1201
+ "video",
1202
+ "pdf"
1203
+ ],
1204
+ "output": [
1205
+ "text",
1206
+ "image"
1207
+ ]
1208
+ },
1209
+ "open_weights": false,
1210
+ "limit": {
1211
+ "context": 65536,
1212
+ "output": 65536
1213
+ },
1214
+ "cost": {
1215
+ "input": 0.5,
1216
+ "output": 60
1217
+ }
1218
+ },
1219
+ "gemini-2.5-flash-image": {
1220
+ "id": "gemini-2.5-flash-image",
1221
+ "name": "Nano Banana",
1222
+ "description": "Nano Banana image model for fast generation, edits, and character-consistent assets",
1223
+ "family": "gemini-flash",
1224
+ "attachment": true,
1225
+ "reasoning": true,
1226
+ "reasoning_options": [],
1227
+ "tool_call": false,
1228
+ "temperature": true,
1229
+ "knowledge": "2024-06",
1230
+ "release_date": "2025-08-26",
1231
+ "last_updated": "2025-08-26",
1232
+ "modalities": {
1233
+ "input": [
1234
+ "text",
1235
+ "image"
1236
+ ],
1237
+ "output": [
1238
+ "text",
1239
+ "image"
1240
+ ]
1241
+ },
1242
+ "open_weights": false,
1243
+ "limit": {
1244
+ "context": 32768,
1245
+ "output": 32768
1246
+ },
1247
+ "cost": {
1248
+ "input": 0.3,
1249
+ "output": 30,
1250
+ "cache_read": 0.075
1251
+ }
1252
+ },
1253
+ "gemini-2.5-flash-preview-tts": {
1254
+ "id": "gemini-2.5-flash-preview-tts",
1255
+ "name": "Gemini 2.5 Flash Preview TTS",
1256
+ "description": "Speech generation model for controllable voice, narration, and audio delivery",
1257
+ "family": "gemini-flash",
1258
+ "attachment": false,
1259
+ "reasoning": false,
1260
+ "tool_call": false,
1261
+ "temperature": true,
1262
+ "knowledge": "2025-01",
1263
+ "release_date": "2025-05-01",
1264
+ "last_updated": "2025-05-01",
1265
+ "modalities": {
1266
+ "input": [
1267
+ "text"
1268
+ ],
1269
+ "output": [
1270
+ "audio"
1271
+ ]
1272
+ },
1273
+ "open_weights": false,
1274
+ "limit": {
1275
+ "context": 8192,
1276
+ "output": 16384
1277
+ },
1278
+ "cost": {
1279
+ "input": 0.5,
1280
+ "output": 10
1281
+ }
1282
+ },
1283
+ "gemini-3-pro-image": {
1284
+ "id": "gemini-3-pro-image",
1285
+ "name": "Nano Banana Pro",
1286
+ "description": "Nano Banana Pro for higher-fidelity image generation and design-heavy edits",
1287
+ "family": "gemini-pro",
1288
+ "attachment": true,
1289
+ "reasoning": true,
1290
+ "reasoning_options": [
1291
+ {
1292
+ "type": "effort",
1293
+ "values": [
1294
+ "low",
1295
+ "high"
1296
+ ]
1297
+ }
1298
+ ],
1299
+ "tool_call": false,
1300
+ "temperature": true,
1301
+ "knowledge": "2025-01",
1302
+ "release_date": "2026-05-28",
1303
+ "last_updated": "2026-05-28",
1304
+ "modalities": {
1305
+ "input": [
1306
+ "text",
1307
+ "image"
1308
+ ],
1309
+ "output": [
1310
+ "text",
1311
+ "image"
1312
+ ]
1313
+ },
1314
+ "open_weights": false,
1315
+ "limit": {
1316
+ "context": 131072,
1317
+ "output": 32768
1318
+ },
1319
+ "cost": {
1320
+ "input": 2,
1321
+ "output": 120
1322
+ }
1323
+ },
1324
+ "gemini-3.1-pro-preview": {
1325
+ "id": "gemini-3.1-pro-preview",
1326
+ "name": "Gemini 3.1 Pro Preview",
1327
+ "description": "Reasoning-first Gemini preview for agentic coding and complex problem solving",
1328
+ "family": "gemini-pro",
1329
+ "attachment": true,
1330
+ "reasoning": true,
1331
+ "reasoning_options": [
1332
+ {
1333
+ "type": "effort",
1334
+ "values": [
1335
+ "low",
1336
+ "medium",
1337
+ "high"
1338
+ ]
1339
+ }
1340
+ ],
1341
+ "tool_call": true,
1342
+ "structured_output": true,
1343
+ "temperature": true,
1344
+ "knowledge": "2025-01",
1345
+ "release_date": "2026-02-19",
1346
+ "last_updated": "2026-02-19",
1347
+ "modalities": {
1348
+ "input": [
1349
+ "text",
1350
+ "image",
1351
+ "video",
1352
+ "audio",
1353
+ "pdf"
1354
+ ],
1355
+ "output": [
1356
+ "text"
681
1357
  ]
682
1358
  },
683
1359
  "open_weights": false,
684
1360
  "limit": {
685
- "context": 65536,
1361
+ "context": 1048576,
686
1362
  "output": 65536
687
1363
  },
688
1364
  "cost": {
689
- "input": 0.5,
690
- "output": 60
1365
+ "input": 2,
1366
+ "output": 12,
1367
+ "cache_read": 0.2,
1368
+ "tiers": [
1369
+ {
1370
+ "input": 4,
1371
+ "output": 18,
1372
+ "cache_read": 0.4,
1373
+ "tier": {
1374
+ "type": "context",
1375
+ "size": 200000
1376
+ }
1377
+ }
1378
+ ],
1379
+ "context_over_200k": {
1380
+ "input": 4,
1381
+ "output": 18,
1382
+ "cache_read": 0.4
1383
+ }
691
1384
  }
692
1385
  },
693
- "gemini-3-flash-preview": {
694
- "id": "gemini-3-flash-preview",
695
- "name": "Gemini 3 Flash Preview",
696
- "description": "New Gemini flash lane bringing frontier-style multimodal reasoning to cheaper runs",
697
- "family": "gemini-flash",
1386
+ "gemini-flash-lite-latest": {
1387
+ "id": "gemini-flash-lite-latest",
1388
+ "name": "Gemini Flash-Lite Latest",
1389
+ "description": "Low-latency Gemini model for high-volume multimodal and agent workloads",
1390
+ "family": "gemini-flash-lite",
698
1391
  "attachment": true,
699
1392
  "reasoning": true,
700
1393
  "reasoning_options": [
@@ -712,8 +1405,8 @@
712
1405
  "structured_output": true,
713
1406
  "temperature": true,
714
1407
  "knowledge": "2025-01",
715
- "release_date": "2025-12-17",
716
- "last_updated": "2025-12-17",
1408
+ "release_date": "2026-05-07",
1409
+ "last_updated": "2026-05-07",
717
1410
  "modalities": {
718
1411
  "input": [
719
1412
  "text",
@@ -732,41 +1425,38 @@
732
1425
  "output": 65536
733
1426
  },
734
1427
  "cost": {
735
- "input": 0.5,
736
- "output": 3,
737
- "cache_read": 0.05,
738
- "input_audio": 1
1428
+ "input": 0.25,
1429
+ "output": 1.5,
1430
+ "cache_read": 0.025,
1431
+ "input_audio": 0.5
739
1432
  }
740
1433
  },
741
- "gemini-3.1-pro-preview-customtools": {
742
- "id": "gemini-3.1-pro-preview-customtools",
743
- "name": "Gemini 3.1 Pro Preview Custom Tools",
744
- "description": "Advanced Gemini model for complex reasoning, coding, and multimodal analysis",
1434
+ "gemini-2.5-pro": {
1435
+ "id": "gemini-2.5-pro",
1436
+ "name": "Gemini 2.5 Pro",
1437
+ "description": "Google's proven reasoning model for coding, math, and multimodal analysis",
745
1438
  "family": "gemini-pro",
746
1439
  "attachment": true,
747
1440
  "reasoning": true,
748
1441
  "reasoning_options": [
749
1442
  {
750
- "type": "effort",
751
- "values": [
752
- "low",
753
- "medium",
754
- "high"
755
- ]
1443
+ "type": "budget_tokens",
1444
+ "min": 128,
1445
+ "max": 32768
756
1446
  }
757
1447
  ],
758
1448
  "tool_call": true,
759
1449
  "structured_output": true,
760
1450
  "temperature": true,
761
1451
  "knowledge": "2025-01",
762
- "release_date": "2026-02-19",
763
- "last_updated": "2026-02-19",
1452
+ "release_date": "2025-06-17",
1453
+ "last_updated": "2025-06-17",
764
1454
  "modalities": {
765
1455
  "input": [
766
1456
  "text",
767
1457
  "image",
768
- "video",
769
1458
  "audio",
1459
+ "video",
770
1460
  "pdf"
771
1461
  ],
772
1462
  "output": [
@@ -779,14 +1469,14 @@
779
1469
  "output": 65536
780
1470
  },
781
1471
  "cost": {
782
- "input": 2,
783
- "output": 12,
784
- "cache_read": 0.2,
1472
+ "input": 1.25,
1473
+ "output": 10,
1474
+ "cache_read": 0.125,
785
1475
  "tiers": [
786
1476
  {
787
- "input": 4,
788
- "output": 18,
789
- "cache_read": 0.4,
1477
+ "input": 2.5,
1478
+ "output": 15,
1479
+ "cache_read": 0.25,
790
1480
  "tier": {
791
1481
  "type": "context",
792
1482
  "size": 200000
@@ -794,26 +1484,24 @@
794
1484
  }
795
1485
  ],
796
1486
  "context_over_200k": {
797
- "input": 4,
798
- "output": 18,
799
- "cache_read": 0.4
1487
+ "input": 2.5,
1488
+ "output": 15,
1489
+ "cache_read": 0.25
800
1490
  }
801
1491
  }
802
1492
  },
803
- "gemini-flash-latest": {
804
- "id": "gemini-flash-latest",
805
- "name": "Gemini Flash Latest",
806
- "description": "Fast Gemini model balancing multimodal reasoning, tool use, and cost",
807
- "family": "gemini-flash",
1493
+ "gemini-3-pro-preview": {
1494
+ "id": "gemini-3-pro-preview",
1495
+ "name": "Gemini 3 Pro Preview",
1496
+ "description": "Preview Gemini flagship for complex reasoning, coding, and rich multimodal prompts",
1497
+ "family": "gemini-pro",
808
1498
  "attachment": true,
809
1499
  "reasoning": true,
810
1500
  "reasoning_options": [
811
1501
  {
812
1502
  "type": "effort",
813
1503
  "values": [
814
- "minimal",
815
1504
  "low",
816
- "medium",
817
1505
  "high"
818
1506
  ]
819
1507
  }
@@ -822,8 +1510,8 @@
822
1510
  "structured_output": true,
823
1511
  "temperature": true,
824
1512
  "knowledge": "2025-01",
825
- "release_date": "2026-05-19",
826
- "last_updated": "2026-05-19",
1513
+ "release_date": "2025-11-18",
1514
+ "last_updated": "2025-11-18",
827
1515
  "modalities": {
828
1516
  "input": [
829
1517
  "text",
@@ -841,18 +1529,34 @@
841
1529
  "context": 1048576,
842
1530
  "output": 65536
843
1531
  },
1532
+ "status": "deprecated",
844
1533
  "cost": {
845
- "input": 1.5,
846
- "output": 9,
847
- "cache_read": 0.15,
848
- "input_audio": 1.5
1534
+ "input": 2,
1535
+ "output": 12,
1536
+ "cache_read": 0.2,
1537
+ "tiers": [
1538
+ {
1539
+ "input": 4,
1540
+ "output": 18,
1541
+ "cache_read": 0.4,
1542
+ "tier": {
1543
+ "type": "context",
1544
+ "size": 200000
1545
+ }
1546
+ }
1547
+ ],
1548
+ "context_over_200k": {
1549
+ "input": 4,
1550
+ "output": 18,
1551
+ "cache_read": 0.4
1552
+ }
849
1553
  }
850
1554
  },
851
- "gemini-2.5-flash": {
852
- "id": "gemini-2.5-flash",
853
- "name": "Gemini 2.5 Flash",
854
- "description": "Fast Gemini workhorse for multimodal apps where latency and price matter",
855
- "family": "gemini-flash",
1555
+ "gemini-2.5-flash-lite": {
1556
+ "id": "gemini-2.5-flash-lite",
1557
+ "name": "Gemini 2.5 Flash-Lite",
1558
+ "description": "Lean Gemini 2.5 lane for cheap multimodal traffic and quick agents",
1559
+ "family": "gemini-flash-lite",
856
1560
  "attachment": true,
857
1561
  "reasoning": true,
858
1562
  "reasoning_options": [
@@ -861,7 +1565,7 @@
861
1565
  },
862
1566
  {
863
1567
  "type": "budget_tokens",
864
- "min": 0,
1568
+ "min": 512,
865
1569
  "max": 24576
866
1570
  }
867
1571
  ],
@@ -889,42 +1593,61 @@
889
1593
  "output": 65536
890
1594
  },
891
1595
  "cost": {
892
- "input": 0.3,
893
- "output": 2.5,
894
- "cache_read": 0.03,
895
- "input_audio": 1
1596
+ "input": 0.1,
1597
+ "output": 0.4,
1598
+ "cache_read": 0.01,
1599
+ "input_audio": 0.3
896
1600
  }
897
1601
  },
898
- "gemini-flash-lite-latest": {
899
- "id": "gemini-flash-lite-latest",
900
- "name": "Gemini Flash-Lite Latest",
901
- "description": "Low-latency Gemini model for high-volume multimodal and agent workloads",
1602
+ "gemini-2.5-pro-preview-tts": {
1603
+ "id": "gemini-2.5-pro-preview-tts",
1604
+ "name": "Gemini 2.5 Pro Preview TTS",
1605
+ "description": "Speech generation model for controllable voice, narration, and audio delivery",
1606
+ "family": "gemini-flash",
1607
+ "attachment": false,
1608
+ "reasoning": false,
1609
+ "tool_call": false,
1610
+ "temperature": true,
1611
+ "knowledge": "2025-01",
1612
+ "release_date": "2025-05-01",
1613
+ "last_updated": "2025-05-01",
1614
+ "modalities": {
1615
+ "input": [
1616
+ "text"
1617
+ ],
1618
+ "output": [
1619
+ "audio"
1620
+ ]
1621
+ },
1622
+ "open_weights": false,
1623
+ "limit": {
1624
+ "context": 8192,
1625
+ "output": 16384
1626
+ },
1627
+ "cost": {
1628
+ "input": 1,
1629
+ "output": 20
1630
+ }
1631
+ },
1632
+ "gemini-2.0-flash-lite": {
1633
+ "id": "gemini-2.0-flash-lite",
1634
+ "name": "Gemini 2.0 Flash-Lite",
1635
+ "description": "Legacy model retained for compatibility with older integrations",
902
1636
  "family": "gemini-flash-lite",
903
1637
  "attachment": true,
904
- "reasoning": true,
905
- "reasoning_options": [
906
- {
907
- "type": "effort",
908
- "values": [
909
- "minimal",
910
- "low",
911
- "medium",
912
- "high"
913
- ]
914
- }
915
- ],
1638
+ "reasoning": false,
916
1639
  "tool_call": true,
917
1640
  "structured_output": true,
918
1641
  "temperature": true,
919
- "knowledge": "2025-01",
920
- "release_date": "2026-05-07",
921
- "last_updated": "2026-05-07",
1642
+ "knowledge": "2024-06",
1643
+ "release_date": "2024-12-11",
1644
+ "last_updated": "2024-12-11",
922
1645
  "modalities": {
923
1646
  "input": [
924
1647
  "text",
925
1648
  "image",
926
- "video",
927
1649
  "audio",
1650
+ "video",
928
1651
  "pdf"
929
1652
  ],
930
1653
  "output": [
@@ -934,26 +1657,26 @@
934
1657
  "open_weights": false,
935
1658
  "limit": {
936
1659
  "context": 1048576,
937
- "output": 65536
1660
+ "output": 8192
938
1661
  },
1662
+ "status": "deprecated",
939
1663
  "cost": {
940
- "input": 0.25,
941
- "output": 1.5,
942
- "cache_read": 0.025,
943
- "input_audio": 0.5
1664
+ "input": 0.075,
1665
+ "output": 0.3
944
1666
  }
945
1667
  },
946
- "gemini-3.1-pro-preview": {
947
- "id": "gemini-3.1-pro-preview",
948
- "name": "Gemini 3.1 Pro Preview",
949
- "description": "Reasoning-first Gemini preview for agentic coding and complex problem solving",
950
- "family": "gemini-pro",
1668
+ "gemini-3.1-flash-live-preview": {
1669
+ "id": "gemini-3.1-flash-live-preview",
1670
+ "name": "Gemini 3.1 Flash Live Preview",
1671
+ "description": "High-quality, low-latency Live API model for real-time dialogue and voice-first AI applications",
1672
+ "family": "gemini-flash",
951
1673
  "attachment": true,
952
1674
  "reasoning": true,
953
1675
  "reasoning_options": [
954
1676
  {
955
1677
  "type": "effort",
956
1678
  "values": [
1679
+ "minimal",
957
1680
  "low",
958
1681
  "medium",
959
1682
  "high"
@@ -961,48 +1684,33 @@
961
1684
  }
962
1685
  ],
963
1686
  "tool_call": true,
964
- "structured_output": true,
1687
+ "structured_output": false,
965
1688
  "temperature": true,
966
1689
  "knowledge": "2025-01",
967
- "release_date": "2026-02-19",
968
- "last_updated": "2026-02-19",
1690
+ "release_date": "2026-03-26",
1691
+ "last_updated": "2026-03-26",
969
1692
  "modalities": {
970
1693
  "input": [
971
1694
  "text",
972
1695
  "image",
973
1696
  "video",
974
- "audio",
975
- "pdf"
1697
+ "audio"
976
1698
  ],
977
1699
  "output": [
978
- "text"
1700
+ "text",
1701
+ "audio"
979
1702
  ]
980
1703
  },
981
1704
  "open_weights": false,
982
1705
  "limit": {
983
- "context": 1048576,
1706
+ "context": 131072,
984
1707
  "output": 65536
985
1708
  },
986
1709
  "cost": {
987
- "input": 2,
988
- "output": 12,
989
- "cache_read": 0.2,
990
- "tiers": [
991
- {
992
- "input": 4,
993
- "output": 18,
994
- "cache_read": 0.4,
995
- "tier": {
996
- "type": "context",
997
- "size": 200000
998
- }
999
- }
1000
- ],
1001
- "context_over_200k": {
1002
- "input": 4,
1003
- "output": 18,
1004
- "cache_read": 0.4
1005
- }
1710
+ "input": 0.75,
1711
+ "output": 4.5,
1712
+ "input_audio": 3,
1713
+ "output_audio": 12
1006
1714
  }
1007
1715
  }
1008
1716
  }