@funkai/models 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/.turbo/turbo-build.log +33 -33
  2. package/CHANGELOG.md +6 -0
  3. package/dist/alibaba-B6q4Ng1R.mjs.map +1 -1
  4. package/dist/amazon-bedrock-Cv9AHQBH.mjs.map +1 -1
  5. package/dist/anthropic-yB7ST97_.mjs.map +1 -1
  6. package/dist/cerebras-COfl7XM-.mjs.map +1 -1
  7. package/dist/cohere-B7TgO0hT.mjs.map +1 -1
  8. package/dist/deepinfra-B0GxUwCG.mjs.map +1 -1
  9. package/dist/deepseek-D64ZEsvS.mjs.map +1 -1
  10. package/dist/fireworks-ai-DJYvdAi_.mjs.map +1 -1
  11. package/dist/google-BypRl349.mjs.map +1 -1
  12. package/dist/google-vertex-DbS-zTGD.mjs.map +1 -1
  13. package/dist/groq-ei_PerYi.mjs.map +1 -1
  14. package/dist/huggingface-DaM1EeLP.mjs.map +1 -1
  15. package/dist/inception-CspEzqNV.mjs.map +1 -1
  16. package/dist/index.d.mts +1 -1
  17. package/dist/index.d.mts.map +1 -1
  18. package/dist/index.mjs +2 -1
  19. package/dist/index.mjs.map +1 -1
  20. package/dist/llama-Cf3-koap.mjs.map +1 -1
  21. package/dist/mistral-BI9MdAO4.mjs.map +1 -1
  22. package/dist/nvidia-COHacuoa.mjs.map +1 -1
  23. package/dist/openai-C0nCfZUq.mjs.map +1 -1
  24. package/dist/openrouter-DSFzxKQb.mjs.map +1 -1
  25. package/dist/perplexity-zeZ2WlBU.mjs.map +1 -1
  26. package/dist/providers/alibaba.d.mts +1 -1
  27. package/dist/providers/amazon-bedrock.d.mts +1 -1
  28. package/dist/providers/anthropic.d.mts +1 -1
  29. package/dist/providers/cerebras.d.mts +1 -1
  30. package/dist/providers/cohere.d.mts +1 -1
  31. package/dist/providers/deepinfra.d.mts +1 -1
  32. package/dist/providers/deepseek.d.mts +1 -1
  33. package/dist/providers/fireworks-ai.d.mts +1 -1
  34. package/dist/providers/google-vertex.d.mts +1 -1
  35. package/dist/providers/google.d.mts +1 -1
  36. package/dist/providers/groq.d.mts +1 -1
  37. package/dist/providers/huggingface.d.mts +1 -1
  38. package/dist/providers/inception.d.mts +1 -1
  39. package/dist/providers/llama.d.mts +1 -1
  40. package/dist/providers/mistral.d.mts +1 -1
  41. package/dist/providers/nvidia.d.mts +1 -1
  42. package/dist/providers/openai.d.mts +1 -1
  43. package/dist/providers/openrouter.d.mts +1 -1
  44. package/dist/providers/perplexity.d.mts +1 -1
  45. package/dist/providers/togetherai.d.mts +1 -1
  46. package/dist/providers/xai.d.mts +1 -1
  47. package/dist/togetherai-BvcxUfPE.mjs.map +1 -1
  48. package/dist/{types-DjdaZckF.d.mts → types-DIzolT_s.d.mts} +61 -21
  49. package/dist/types-DIzolT_s.d.mts.map +1 -0
  50. package/dist/xai-fSuAkQJo.mjs.map +1 -1
  51. package/package.json +6 -3
  52. package/scripts/generate-models.ts +152 -63
  53. package/src/catalog/index.test.ts +8 -8
  54. package/src/catalog/index.ts +4 -1
  55. package/src/catalog/providers/alibaba.ts +91 -91
  56. package/src/catalog/providers/amazon-bedrock.ts +205 -185
  57. package/src/catalog/providers/anthropic.ts +87 -62
  58. package/src/catalog/providers/cerebras.ts +9 -9
  59. package/src/catalog/providers/cohere.ts +16 -16
  60. package/src/catalog/providers/deepinfra.ts +71 -71
  61. package/src/catalog/providers/deepseek.ts +3 -3
  62. package/src/catalog/providers/fireworks-ai.ts +36 -36
  63. package/src/catalog/providers/google-vertex.ts +62 -62
  64. package/src/catalog/providers/google.ts +69 -69
  65. package/src/catalog/providers/groq.ts +24 -24
  66. package/src/catalog/providers/huggingface.ts +52 -52
  67. package/src/catalog/providers/inception.ts +9 -9
  68. package/src/catalog/providers/index.ts +1 -0
  69. package/src/catalog/providers/llama.ts +7 -7
  70. package/src/catalog/providers/mistral.ts +60 -60
  71. package/src/catalog/providers/nvidia.ts +84 -84
  72. package/src/catalog/providers/openai.ts +115 -115
  73. package/src/catalog/providers/openrouter.ts +448 -433
  74. package/src/catalog/providers/perplexity.ts +9 -9
  75. package/src/catalog/providers/togetherai.ts +47 -47
  76. package/src/catalog/providers/xai.ts +49 -49
  77. package/src/catalog/types.ts +60 -20
  78. package/src/cost/calculate.test.ts +11 -11
  79. package/src/provider/registry.ts +1 -1
  80. package/src/provider/types.ts +1 -1
  81. package/tsconfig.json +2 -1
  82. package/tsdown.config.ts +7 -3
  83. package/dist/types-DjdaZckF.d.mts.map +0 -1
@@ -31,8 +31,8 @@ export const GOOGLE_VERTEX_MODELS = [
31
31
  provider: "google-vertex",
32
32
  family: "gemini-flash-lite",
33
33
  pricing: { input: 1e-7, output: 4e-7, cacheRead: 2.5e-8 },
34
- contextWindow: 1048576,
35
- maxOutput: 65536,
34
+ contextWindow: 1_048_576,
35
+ maxOutput: 65_536,
36
36
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
37
37
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },
38
38
  },
@@ -41,9 +41,9 @@ export const GOOGLE_VERTEX_MODELS = [
41
41
  name: "Gemini 3.1 Pro Preview Custom Tools",
42
42
  provider: "google-vertex",
43
43
  family: "gemini-pro",
44
- pricing: { input: 0.000002, output: 0.000012, cacheRead: 2e-7 },
45
- contextWindow: 1048576,
46
- maxOutput: 65536,
44
+ pricing: { input: 0.000_002, output: 0.000_012, cacheRead: 2e-7 },
45
+ contextWindow: 1_048_576,
46
+ maxOutput: 65_536,
47
47
  modalities: { input: ["text", "image", "video", "audio", "pdf"], output: ["text"] },
48
48
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },
49
49
  },
@@ -52,9 +52,9 @@ export const GOOGLE_VERTEX_MODELS = [
52
52
  name: "Gemini 2.5 Pro Preview 06-05",
53
53
  provider: "google-vertex",
54
54
  family: "gemini-pro",
55
- pricing: { input: 0.00000125, output: 0.00001, cacheRead: 3.1e-7 },
56
- contextWindow: 1048576,
57
- maxOutput: 65536,
55
+ pricing: { input: 0.000_001_25, output: 0.000_01, cacheRead: 3.1e-7 },
56
+ contextWindow: 1_048_576,
57
+ maxOutput: 65_536,
58
58
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
59
59
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },
60
60
  },
@@ -64,8 +64,8 @@ export const GOOGLE_VERTEX_MODELS = [
64
64
  provider: "google-vertex",
65
65
  family: "gemini-flash",
66
66
  pricing: { input: 1.5e-7, output: 6e-7, cacheRead: 3.75e-8 },
67
- contextWindow: 1048576,
68
- maxOutput: 65536,
67
+ contextWindow: 1_048_576,
68
+ maxOutput: 65_536,
69
69
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
70
70
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },
71
71
  },
@@ -74,9 +74,9 @@ export const GOOGLE_VERTEX_MODELS = [
74
74
  name: "Gemini 2.5 Flash Preview 09-25",
75
75
  provider: "google-vertex",
76
76
  family: "gemini-flash",
77
- pricing: { input: 3e-7, output: 0.0000025, cacheRead: 7.5e-8, cacheWrite: 3.83e-7 },
78
- contextWindow: 1048576,
79
- maxOutput: 65536,
77
+ pricing: { input: 3e-7, output: 0.000_002_5, cacheRead: 7.5e-8, cacheWrite: 3.83e-7 },
78
+ contextWindow: 1_048_576,
79
+ maxOutput: 65_536,
80
80
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
81
81
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },
82
82
  },
@@ -85,9 +85,9 @@ export const GOOGLE_VERTEX_MODELS = [
85
85
  name: "Gemini 2.5 Pro Preview 05-06",
86
86
  provider: "google-vertex",
87
87
  family: "gemini-pro",
88
- pricing: { input: 0.00000125, output: 0.00001, cacheRead: 3.1e-7 },
89
- contextWindow: 1048576,
90
- maxOutput: 65536,
88
+ pricing: { input: 0.000_001_25, output: 0.000_01, cacheRead: 3.1e-7 },
89
+ contextWindow: 1_048_576,
90
+ maxOutput: 65_536,
91
91
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
92
92
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },
93
93
  },
@@ -97,8 +97,8 @@ export const GOOGLE_VERTEX_MODELS = [
97
97
  provider: "google-vertex",
98
98
  family: "gemini-flash",
99
99
  pricing: { input: 1.5e-7, output: 6e-7, cacheRead: 3.75e-8 },
100
- contextWindow: 1048576,
101
- maxOutput: 65536,
100
+ contextWindow: 1_048_576,
101
+ maxOutput: 65_536,
102
102
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
103
103
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },
104
104
  },
@@ -107,9 +107,9 @@ export const GOOGLE_VERTEX_MODELS = [
107
107
  name: "Gemini 2.5 Flash",
108
108
  provider: "google-vertex",
109
109
  family: "gemini-flash",
110
- pricing: { input: 3e-7, output: 0.0000025, cacheRead: 7.5e-8, cacheWrite: 3.83e-7 },
111
- contextWindow: 1048576,
112
- maxOutput: 65536,
110
+ pricing: { input: 3e-7, output: 0.000_002_5, cacheRead: 7.5e-8, cacheWrite: 3.83e-7 },
111
+ contextWindow: 1_048_576,
112
+ maxOutput: 65_536,
113
113
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
114
114
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },
115
115
  },
@@ -118,9 +118,9 @@ export const GOOGLE_VERTEX_MODELS = [
118
118
  name: "Gemini 3 Flash Preview",
119
119
  provider: "google-vertex",
120
120
  family: "gemini-flash",
121
- pricing: { input: 5e-7, output: 0.000003, cacheRead: 5e-8 },
122
- contextWindow: 1048576,
123
- maxOutput: 65536,
121
+ pricing: { input: 5e-7, output: 0.000_003, cacheRead: 5e-8 },
122
+ contextWindow: 1_048_576,
123
+ maxOutput: 65_536,
124
124
  modalities: { input: ["text", "image", "video", "audio", "pdf"], output: ["text"] },
125
125
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },
126
126
  },
@@ -130,8 +130,8 @@ export const GOOGLE_VERTEX_MODELS = [
130
130
  provider: "google-vertex",
131
131
  family: "gemini-flash-lite",
132
132
  pricing: { input: 1e-7, output: 4e-7, cacheRead: 2.5e-8 },
133
- contextWindow: 1048576,
134
- maxOutput: 65536,
133
+ contextWindow: 1_048_576,
134
+ maxOutput: 65_536,
135
135
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
136
136
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },
137
137
  },
@@ -140,9 +140,9 @@ export const GOOGLE_VERTEX_MODELS = [
140
140
  name: "Gemini 3.1 Pro Preview",
141
141
  provider: "google-vertex",
142
142
  family: "gemini-pro",
143
- pricing: { input: 0.000002, output: 0.000012, cacheRead: 2e-7 },
144
- contextWindow: 1048576,
145
- maxOutput: 65536,
143
+ pricing: { input: 0.000_002, output: 0.000_012, cacheRead: 2e-7 },
144
+ contextWindow: 1_048_576,
145
+ maxOutput: 65_536,
146
146
  modalities: { input: ["text", "image", "video", "audio", "pdf"], output: ["text"] },
147
147
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },
148
148
  },
@@ -151,9 +151,9 @@ export const GOOGLE_VERTEX_MODELS = [
151
151
  name: "Gemini Flash Latest",
152
152
  provider: "google-vertex",
153
153
  family: "gemini-flash",
154
- pricing: { input: 3e-7, output: 0.0000025, cacheRead: 7.5e-8, cacheWrite: 3.83e-7 },
155
- contextWindow: 1048576,
156
- maxOutput: 65536,
154
+ pricing: { input: 3e-7, output: 0.000_002_5, cacheRead: 7.5e-8, cacheWrite: 3.83e-7 },
155
+ contextWindow: 1_048_576,
156
+ maxOutput: 65_536,
157
157
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
158
158
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },
159
159
  },
@@ -163,8 +163,8 @@ export const GOOGLE_VERTEX_MODELS = [
163
163
  provider: "google-vertex",
164
164
  family: "gemini-flash-lite",
165
165
  pricing: { input: 1e-7, output: 4e-7, cacheRead: 2.5e-8 },
166
- contextWindow: 65536,
167
- maxOutput: 65536,
166
+ contextWindow: 65_536,
167
+ maxOutput: 65_536,
168
168
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
169
169
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },
170
170
  },
@@ -173,9 +173,9 @@ export const GOOGLE_VERTEX_MODELS = [
173
173
  name: "Gemini 3 Pro Preview",
174
174
  provider: "google-vertex",
175
175
  family: "gemini-pro",
176
- pricing: { input: 0.000002, output: 0.000012, cacheRead: 2e-7 },
177
- contextWindow: 1048576,
178
- maxOutput: 65536,
176
+ pricing: { input: 0.000_002, output: 0.000_012, cacheRead: 2e-7 },
177
+ contextWindow: 1_048_576,
178
+ maxOutput: 65_536,
179
179
  modalities: { input: ["text", "image", "video", "audio", "pdf"], output: ["text"] },
180
180
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },
181
181
  },
@@ -185,7 +185,7 @@ export const GOOGLE_VERTEX_MODELS = [
185
185
  provider: "google-vertex",
186
186
  family: "gemini-flash-lite",
187
187
  pricing: { input: 7.5e-8, output: 3e-7 },
188
- contextWindow: 1048576,
188
+ contextWindow: 1_048_576,
189
189
  maxOutput: 8192,
190
190
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
191
191
  capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: false },
@@ -196,8 +196,8 @@ export const GOOGLE_VERTEX_MODELS = [
196
196
  provider: "google-vertex",
197
197
  family: "gemini-flash-lite",
198
198
  pricing: { input: 1e-7, output: 4e-7, cacheRead: 2.5e-8 },
199
- contextWindow: 1048576,
200
- maxOutput: 65536,
199
+ contextWindow: 1_048_576,
200
+ maxOutput: 65_536,
201
201
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
202
202
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },
203
203
  },
@@ -206,9 +206,9 @@ export const GOOGLE_VERTEX_MODELS = [
206
206
  name: "Gemini 2.5 Pro",
207
207
  provider: "google-vertex",
208
208
  family: "gemini-pro",
209
- pricing: { input: 0.00000125, output: 0.00001, cacheRead: 3.1e-7 },
210
- contextWindow: 1048576,
211
- maxOutput: 65536,
209
+ pricing: { input: 0.000_001_25, output: 0.000_01, cacheRead: 3.1e-7 },
210
+ contextWindow: 1_048_576,
211
+ maxOutput: 65_536,
212
212
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
213
213
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },
214
214
  },
@@ -218,7 +218,7 @@ export const GOOGLE_VERTEX_MODELS = [
218
218
  provider: "google-vertex",
219
219
  family: "gemini-flash",
220
220
  pricing: { input: 1.5e-7, output: 6e-7, cacheRead: 2.5e-8 },
221
- contextWindow: 1048576,
221
+ contextWindow: 1_048_576,
222
222
  maxOutput: 8192,
223
223
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
224
224
  capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: false },
@@ -228,9 +228,9 @@ export const GOOGLE_VERTEX_MODELS = [
228
228
  name: "GLM-5",
229
229
  provider: "google-vertex",
230
230
  family: "glm",
231
- pricing: { input: 0.000001, output: 0.0000032, cacheRead: 1e-7 },
232
- contextWindow: 202752,
233
- maxOutput: 131072,
231
+ pricing: { input: 0.000_001, output: 0.000_003_2, cacheRead: 1e-7 },
232
+ contextWindow: 202_752,
233
+ maxOutput: 131_072,
234
234
  modalities: { input: ["text"], output: ["text"] },
235
235
  capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },
236
236
  },
@@ -239,9 +239,9 @@ export const GOOGLE_VERTEX_MODELS = [
239
239
  name: "GLM-4.7",
240
240
  provider: "google-vertex",
241
241
  family: "glm",
242
- pricing: { input: 6e-7, output: 0.0000022 },
243
- contextWindow: 200000,
244
- maxOutput: 128000,
242
+ pricing: { input: 6e-7, output: 0.000_002_2 },
243
+ contextWindow: 200_000,
244
+ maxOutput: 128_000,
245
245
  modalities: { input: ["text", "pdf"], output: ["text"] },
246
246
  capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },
247
247
  },
@@ -250,9 +250,9 @@ export const GOOGLE_VERTEX_MODELS = [
250
250
  name: "DeepSeek V3.1",
251
251
  provider: "google-vertex",
252
252
  family: "deepseek",
253
- pricing: { input: 6e-7, output: 0.0000017 },
254
- contextWindow: 163840,
255
- maxOutput: 32768,
253
+ pricing: { input: 6e-7, output: 0.000_001_7 },
254
+ contextWindow: 163_840,
255
+ maxOutput: 32_768,
256
256
  modalities: { input: ["text", "pdf"], output: ["text"] },
257
257
  capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },
258
258
  },
@@ -262,8 +262,8 @@ export const GOOGLE_VERTEX_MODELS = [
262
262
  provider: "google-vertex",
263
263
  family: "qwen",
264
264
  pricing: { input: 2.2e-7, output: 8.8e-7 },
265
- contextWindow: 262144,
266
- maxOutput: 16384,
265
+ contextWindow: 262_144,
266
+ maxOutput: 16_384,
267
267
  modalities: { input: ["text"], output: ["text"] },
268
268
  capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },
269
269
  },
@@ -272,8 +272,8 @@ export const GOOGLE_VERTEX_MODELS = [
272
272
  name: "Llama 4 Maverick 17B 128E Instruct",
273
273
  provider: "google-vertex",
274
274
  family: "llama",
275
- pricing: { input: 3.5e-7, output: 0.00000115 },
276
- contextWindow: 524288,
275
+ pricing: { input: 3.5e-7, output: 0.000_001_15 },
276
+ contextWindow: 524_288,
277
277
  maxOutput: 8192,
278
278
  modalities: { input: ["text", "image"], output: ["text"] },
279
279
  capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: true },
@@ -284,7 +284,7 @@ export const GOOGLE_VERTEX_MODELS = [
284
284
  provider: "google-vertex",
285
285
  family: "llama",
286
286
  pricing: { input: 7.2e-7, output: 7.2e-7 },
287
- contextWindow: 128000,
287
+ contextWindow: 128_000,
288
288
  maxOutput: 8192,
289
289
  modalities: { input: ["text"], output: ["text"] },
290
290
  capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },
@@ -295,8 +295,8 @@ export const GOOGLE_VERTEX_MODELS = [
295
295
  provider: "google-vertex",
296
296
  family: "gpt-oss",
297
297
  pricing: { input: 7e-8, output: 2.5e-7 },
298
- contextWindow: 131072,
299
- maxOutput: 32768,
298
+ contextWindow: 131_072,
299
+ maxOutput: 32_768,
300
300
  modalities: { input: ["text"], output: ["text"] },
301
301
  capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },
302
302
  },
@@ -306,8 +306,8 @@ export const GOOGLE_VERTEX_MODELS = [
306
306
  provider: "google-vertex",
307
307
  family: "gpt-oss",
308
308
  pricing: { input: 9e-8, output: 3.6e-7 },
309
- contextWindow: 131072,
310
- maxOutput: 32768,
309
+ contextWindow: 131_072,
310
+ maxOutput: 32_768,
311
311
  modalities: { input: ["text"], output: ["text"] },
312
312
  capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },
313
313
  },
@@ -31,8 +31,8 @@ export const GOOGLE_MODELS = [
31
31
  provider: "google",
32
32
  family: "gemini-flash-lite",
33
33
  pricing: { input: 1e-7, output: 4e-7, cacheRead: 2.5e-8 },
34
- contextWindow: 1048576,
35
- maxOutput: 65536,
34
+ contextWindow: 1_048_576,
35
+ maxOutput: 65_536,
36
36
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
37
37
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },
38
38
  },
@@ -41,9 +41,9 @@ export const GOOGLE_MODELS = [
41
41
  name: "Gemini 3.1 Pro Preview Custom Tools",
42
42
  provider: "google",
43
43
  family: "gemini-pro",
44
- pricing: { input: 0.000002, output: 0.000012, cacheRead: 2e-7 },
45
- contextWindow: 1048576,
46
- maxOutput: 65536,
44
+ pricing: { input: 0.000_002, output: 0.000_012, cacheRead: 2e-7 },
45
+ contextWindow: 1_048_576,
46
+ maxOutput: 65_536,
47
47
  modalities: { input: ["text", "image", "video", "audio", "pdf"], output: ["text"] },
48
48
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },
49
49
  },
@@ -52,9 +52,9 @@ export const GOOGLE_MODELS = [
52
52
  name: "Gemini 2.5 Pro Preview 06-05",
53
53
  provider: "google",
54
54
  family: "gemini-pro",
55
- pricing: { input: 0.00000125, output: 0.00001, cacheRead: 3.1e-7 },
56
- contextWindow: 1048576,
57
- maxOutput: 65536,
55
+ pricing: { input: 0.000_001_25, output: 0.000_01, cacheRead: 3.1e-7 },
56
+ contextWindow: 1_048_576,
57
+ maxOutput: 65_536,
58
58
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
59
59
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },
60
60
  },
@@ -64,8 +64,8 @@ export const GOOGLE_MODELS = [
64
64
  provider: "google",
65
65
  family: "gemini-flash",
66
66
  pricing: { input: 1.5e-7, output: 6e-7, cacheRead: 3.75e-8 },
67
- contextWindow: 1048576,
68
- maxOutput: 65536,
67
+ contextWindow: 1_048_576,
68
+ maxOutput: 65_536,
69
69
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
70
70
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },
71
71
  },
@@ -74,9 +74,9 @@ export const GOOGLE_MODELS = [
74
74
  name: "Gemini 2.5 Flash Preview 09-25",
75
75
  provider: "google",
76
76
  family: "gemini-flash",
77
- pricing: { input: 3e-7, output: 0.0000025, cacheRead: 7.5e-8 },
78
- contextWindow: 1048576,
79
- maxOutput: 65536,
77
+ pricing: { input: 3e-7, output: 0.000_002_5, cacheRead: 7.5e-8 },
78
+ contextWindow: 1_048_576,
79
+ maxOutput: 65_536,
80
80
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
81
81
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },
82
82
  },
@@ -85,9 +85,9 @@ export const GOOGLE_MODELS = [
85
85
  name: "Gemini 2.5 Pro Preview 05-06",
86
86
  provider: "google",
87
87
  family: "gemini-pro",
88
- pricing: { input: 0.00000125, output: 0.00001, cacheRead: 3.1e-7 },
89
- contextWindow: 1048576,
90
- maxOutput: 65536,
88
+ pricing: { input: 0.000_001_25, output: 0.000_01, cacheRead: 3.1e-7 },
89
+ contextWindow: 1_048_576,
90
+ maxOutput: 65_536,
91
91
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
92
92
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },
93
93
  },
@@ -97,8 +97,8 @@ export const GOOGLE_MODELS = [
97
97
  provider: "google",
98
98
  family: "gemini-flash",
99
99
  pricing: { input: 1.5e-7, output: 6e-7, cacheRead: 3.75e-8 },
100
- contextWindow: 1048576,
101
- maxOutput: 65536,
100
+ contextWindow: 1_048_576,
101
+ maxOutput: 65_536,
102
102
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
103
103
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },
104
104
  },
@@ -107,9 +107,9 @@ export const GOOGLE_MODELS = [
107
107
  name: "Gemini 2.5 Flash",
108
108
  provider: "google",
109
109
  family: "gemini-flash",
110
- pricing: { input: 3e-7, output: 0.0000025, cacheRead: 7.5e-8 },
111
- contextWindow: 1048576,
112
- maxOutput: 65536,
110
+ pricing: { input: 3e-7, output: 0.000_002_5, cacheRead: 7.5e-8 },
111
+ contextWindow: 1_048_576,
112
+ maxOutput: 65_536,
113
113
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
114
114
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },
115
115
  },
@@ -118,9 +118,9 @@ export const GOOGLE_MODELS = [
118
118
  name: "Gemini 3.1 Flash Image (Preview)",
119
119
  provider: "google",
120
120
  family: "gemini-flash",
121
- pricing: { input: 2.5e-7, output: 0.00006 },
122
- contextWindow: 131072,
123
- maxOutput: 32768,
121
+ pricing: { input: 2.5e-7, output: 0.000_06 },
122
+ contextWindow: 131_072,
123
+ maxOutput: 32_768,
124
124
  modalities: { input: ["text", "image", "pdf"], output: ["text", "image"] },
125
125
  capabilities: { reasoning: true, toolCall: false, attachment: true, structuredOutput: false },
126
126
  },
@@ -129,9 +129,9 @@ export const GOOGLE_MODELS = [
129
129
  name: "Gemini 3.1 Flash Lite Preview",
130
130
  provider: "google",
131
131
  family: "gemini-flash-lite",
132
- pricing: { input: 2.5e-7, output: 0.0000015, cacheRead: 2.5e-8, cacheWrite: 0.000001 },
133
- contextWindow: 1048576,
134
- maxOutput: 65536,
132
+ pricing: { input: 2.5e-7, output: 0.000_001_5, cacheRead: 2.5e-8, cacheWrite: 0.000_001 },
133
+ contextWindow: 1_048_576,
134
+ maxOutput: 65_536,
135
135
  modalities: { input: ["text", "image", "video", "audio", "pdf"], output: ["text"] },
136
136
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },
137
137
  },
@@ -140,8 +140,8 @@ export const GOOGLE_MODELS = [
140
140
  name: "Gemini Live 2.5 Flash",
141
141
  provider: "google",
142
142
  family: "gemini-flash",
143
- pricing: { input: 5e-7, output: 0.000002 },
144
- contextWindow: 128000,
143
+ pricing: { input: 5e-7, output: 0.000_002 },
144
+ contextWindow: 128_000,
145
145
  maxOutput: 8000,
146
146
  modalities: { input: ["text", "image", "audio", "video"], output: ["text", "audio"] },
147
147
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },
@@ -151,9 +151,9 @@ export const GOOGLE_MODELS = [
151
151
  name: "Gemini 3 Flash Preview",
152
152
  provider: "google",
153
153
  family: "gemini-flash",
154
- pricing: { input: 5e-7, output: 0.000003, cacheRead: 5e-8 },
155
- contextWindow: 1048576,
156
- maxOutput: 65536,
154
+ pricing: { input: 5e-7, output: 0.000_003, cacheRead: 5e-8 },
155
+ contextWindow: 1_048_576,
156
+ maxOutput: 65_536,
157
157
  modalities: { input: ["text", "image", "video", "audio", "pdf"], output: ["text"] },
158
158
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },
159
159
  },
@@ -162,9 +162,9 @@ export const GOOGLE_MODELS = [
162
162
  name: "Gemini Live 2.5 Flash Preview Native Audio",
163
163
  provider: "google",
164
164
  family: "gemini-flash",
165
- pricing: { input: 5e-7, output: 0.000002 },
166
- contextWindow: 131072,
167
- maxOutput: 65536,
165
+ pricing: { input: 5e-7, output: 0.000_002 },
166
+ contextWindow: 131_072,
167
+ maxOutput: 65_536,
168
168
  modalities: { input: ["text", "audio", "video"], output: ["text", "audio"] },
169
169
  capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },
170
170
  },
@@ -174,8 +174,8 @@ export const GOOGLE_MODELS = [
174
174
  provider: "google",
175
175
  family: "gemini-flash-lite",
176
176
  pricing: { input: 1e-7, output: 4e-7, cacheRead: 2.5e-8 },
177
- contextWindow: 1048576,
178
- maxOutput: 65536,
177
+ contextWindow: 1_048_576,
178
+ maxOutput: 65_536,
179
179
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
180
180
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },
181
181
  },
@@ -184,9 +184,9 @@ export const GOOGLE_MODELS = [
184
184
  name: "Gemini 2.5 Flash Preview TTS",
185
185
  provider: "google",
186
186
  family: "gemini-flash",
187
- pricing: { input: 5e-7, output: 0.00001 },
187
+ pricing: { input: 5e-7, output: 0.000_01 },
188
188
  contextWindow: 8000,
189
- maxOutput: 16000,
189
+ maxOutput: 16_000,
190
190
  modalities: { input: ["text"], output: ["audio"] },
191
191
  capabilities: { reasoning: false, toolCall: false, attachment: false, structuredOutput: false },
192
192
  },
@@ -195,9 +195,9 @@ export const GOOGLE_MODELS = [
195
195
  name: "Gemini 3.1 Pro Preview",
196
196
  provider: "google",
197
197
  family: "gemini-pro",
198
- pricing: { input: 0.000002, output: 0.000012, cacheRead: 2e-7 },
199
- contextWindow: 1048576,
200
- maxOutput: 65536,
198
+ pricing: { input: 0.000_002, output: 0.000_012, cacheRead: 2e-7 },
199
+ contextWindow: 1_048_576,
200
+ maxOutput: 65_536,
201
201
  modalities: { input: ["text", "image", "video", "audio", "pdf"], output: ["text"] },
202
202
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },
203
203
  },
@@ -206,9 +206,9 @@ export const GOOGLE_MODELS = [
206
206
  name: "Gemini Flash Latest",
207
207
  provider: "google",
208
208
  family: "gemini-flash",
209
- pricing: { input: 3e-7, output: 0.0000025, cacheRead: 7.5e-8 },
210
- contextWindow: 1048576,
211
- maxOutput: 65536,
209
+ pricing: { input: 3e-7, output: 0.000_002_5, cacheRead: 7.5e-8 },
210
+ contextWindow: 1_048_576,
211
+ maxOutput: 65_536,
212
212
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
213
213
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },
214
214
  },
@@ -218,8 +218,8 @@ export const GOOGLE_MODELS = [
218
218
  provider: "google",
219
219
  family: "gemini-flash-lite",
220
220
  pricing: { input: 1e-7, output: 4e-7, cacheRead: 2.5e-8 },
221
- contextWindow: 1048576,
222
- maxOutput: 65536,
221
+ contextWindow: 1_048_576,
222
+ maxOutput: 65_536,
223
223
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
224
224
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },
225
225
  },
@@ -228,9 +228,9 @@ export const GOOGLE_MODELS = [
228
228
  name: "Gemini 2.5 Flash Image",
229
229
  provider: "google",
230
230
  family: "gemini-flash",
231
- pricing: { input: 3e-7, output: 0.00003, cacheRead: 7.5e-8 },
232
- contextWindow: 32768,
233
- maxOutput: 32768,
231
+ pricing: { input: 3e-7, output: 0.000_03, cacheRead: 7.5e-8 },
232
+ contextWindow: 32_768,
233
+ maxOutput: 32_768,
234
234
  modalities: { input: ["text", "image"], output: ["text", "image"] },
235
235
  capabilities: { reasoning: true, toolCall: false, attachment: true, structuredOutput: false },
236
236
  },
@@ -239,9 +239,9 @@ export const GOOGLE_MODELS = [
239
239
  name: "Gemini 2.5 Pro Preview TTS",
240
240
  provider: "google",
241
241
  family: "gemini-flash",
242
- pricing: { input: 0.000001, output: 0.00002 },
242
+ pricing: { input: 0.000_001, output: 0.000_02 },
243
243
  contextWindow: 8000,
244
- maxOutput: 16000,
244
+ maxOutput: 16_000,
245
245
  modalities: { input: ["text"], output: ["audio"] },
246
246
  capabilities: { reasoning: false, toolCall: false, attachment: false, structuredOutput: false },
247
247
  },
@@ -250,9 +250,9 @@ export const GOOGLE_MODELS = [
250
250
  name: "Gemini 2.5 Flash Image (Preview)",
251
251
  provider: "google",
252
252
  family: "gemini-flash",
253
- pricing: { input: 3e-7, output: 0.00003, cacheRead: 7.5e-8 },
254
- contextWindow: 32768,
255
- maxOutput: 32768,
253
+ pricing: { input: 3e-7, output: 0.000_03, cacheRead: 7.5e-8 },
254
+ contextWindow: 32_768,
255
+ maxOutput: 32_768,
256
256
  modalities: { input: ["text", "image"], output: ["text", "image"] },
257
257
  capabilities: { reasoning: true, toolCall: false, attachment: true, structuredOutput: false },
258
258
  },
@@ -262,7 +262,7 @@ export const GOOGLE_MODELS = [
262
262
  provider: "google",
263
263
  family: "gemini-flash",
264
264
  pricing: { input: 3.75e-8, output: 1.5e-7, cacheRead: 1e-8 },
265
- contextWindow: 1000000,
265
+ contextWindow: 1_000_000,
266
266
  maxOutput: 8192,
267
267
  modalities: { input: ["text", "image", "audio", "video"], output: ["text"] },
268
268
  capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: false },
@@ -272,9 +272,9 @@ export const GOOGLE_MODELS = [
272
272
  name: "Gemini 3 Pro Preview",
273
273
  provider: "google",
274
274
  family: "gemini-pro",
275
- pricing: { input: 0.000002, output: 0.000012, cacheRead: 2e-7 },
276
- contextWindow: 1000000,
277
- maxOutput: 64000,
275
+ pricing: { input: 0.000_002, output: 0.000_012, cacheRead: 2e-7 },
276
+ contextWindow: 1_000_000,
277
+ maxOutput: 64_000,
278
278
  modalities: { input: ["text", "image", "video", "audio", "pdf"], output: ["text"] },
279
279
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },
280
280
  },
@@ -284,7 +284,7 @@ export const GOOGLE_MODELS = [
284
284
  provider: "google",
285
285
  family: "gemini-flash-lite",
286
286
  pricing: { input: 7.5e-8, output: 3e-7 },
287
- contextWindow: 1048576,
287
+ contextWindow: 1_048_576,
288
288
  maxOutput: 8192,
289
289
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
290
290
  capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: true },
@@ -295,7 +295,7 @@ export const GOOGLE_MODELS = [
295
295
  provider: "google",
296
296
  family: "gemini-flash",
297
297
  pricing: { input: 7.5e-8, output: 3e-7, cacheRead: 1.875e-8 },
298
- contextWindow: 1000000,
298
+ contextWindow: 1_000_000,
299
299
  maxOutput: 8192,
300
300
  modalities: { input: ["text", "image", "audio", "video"], output: ["text"] },
301
301
  capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: false },
@@ -306,8 +306,8 @@ export const GOOGLE_MODELS = [
306
306
  provider: "google",
307
307
  family: "gemini-flash-lite",
308
308
  pricing: { input: 1e-7, output: 4e-7, cacheRead: 2.5e-8 },
309
- contextWindow: 1048576,
310
- maxOutput: 65536,
309
+ contextWindow: 1_048_576,
310
+ maxOutput: 65_536,
311
311
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
312
312
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },
313
313
  },
@@ -316,9 +316,9 @@ export const GOOGLE_MODELS = [
316
316
  name: "Gemini 2.5 Pro",
317
317
  provider: "google",
318
318
  family: "gemini-pro",
319
- pricing: { input: 0.00000125, output: 0.00001, cacheRead: 3.1e-7 },
320
- contextWindow: 1048576,
321
- maxOutput: 65536,
319
+ pricing: { input: 0.000_001_25, output: 0.000_01, cacheRead: 3.1e-7 },
320
+ contextWindow: 1_048_576,
321
+ maxOutput: 65_536,
322
322
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
323
323
  capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },
324
324
  },
@@ -328,7 +328,7 @@ export const GOOGLE_MODELS = [
328
328
  provider: "google",
329
329
  family: "gemini-flash",
330
330
  pricing: { input: 1e-7, output: 4e-7, cacheRead: 2.5e-8 },
331
- contextWindow: 1048576,
331
+ contextWindow: 1_048_576,
332
332
  maxOutput: 8192,
333
333
  modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["text"] },
334
334
  capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: true },
@@ -338,8 +338,8 @@ export const GOOGLE_MODELS = [
338
338
  name: "Gemini 1.5 Pro",
339
339
  provider: "google",
340
340
  family: "gemini-pro",
341
- pricing: { input: 0.00000125, output: 0.000005, cacheRead: 3.125e-7 },
342
- contextWindow: 1000000,
341
+ pricing: { input: 0.000_001_25, output: 0.000_005, cacheRead: 3.125e-7 },
342
+ contextWindow: 1_000_000,
343
343
  maxOutput: 8192,
344
344
  modalities: { input: ["text", "image", "audio", "video"], output: ["text"] },
345
345
  capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: false },