@funkai/models 0.1.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 (213) hide show
  1. package/.generated/entries.json +23 -0
  2. package/.generated/req.txt +1 -0
  3. package/.turbo/turbo-build.log +145 -0
  4. package/.turbo/turbo-typecheck.log +4 -0
  5. package/CHANGELOG.md +23 -0
  6. package/README.md +95 -0
  7. package/dist/alibaba-B6q4Ng1R.mjs +957 -0
  8. package/dist/alibaba-B6q4Ng1R.mjs.map +1 -0
  9. package/dist/amazon-bedrock-Cv9AHQBH.mjs +2070 -0
  10. package/dist/amazon-bedrock-Cv9AHQBH.mjs.map +1 -0
  11. package/dist/anthropic-yB7ST97_.mjs +651 -0
  12. package/dist/anthropic-yB7ST97_.mjs.map +1 -0
  13. package/dist/cerebras-COfl7XM-.mjs +95 -0
  14. package/dist/cerebras-COfl7XM-.mjs.map +1 -0
  15. package/dist/cohere-B7TgO0hT.mjs +271 -0
  16. package/dist/cohere-B7TgO0hT.mjs.map +1 -0
  17. package/dist/deepinfra-B0GxUwCG.mjs +636 -0
  18. package/dist/deepinfra-B0GxUwCG.mjs.map +1 -0
  19. package/dist/deepseek-D64ZEsvS.mjs +50 -0
  20. package/dist/deepseek-D64ZEsvS.mjs.map +1 -0
  21. package/dist/fireworks-ai-DJYvdAi_.mjs +304 -0
  22. package/dist/fireworks-ai-DJYvdAi_.mjs.map +1 -0
  23. package/dist/google-BypRl349.mjs +833 -0
  24. package/dist/google-BypRl349.mjs.map +1 -0
  25. package/dist/google-vertex-DbS-zTGD.mjs +730 -0
  26. package/dist/google-vertex-DbS-zTGD.mjs.map +1 -0
  27. package/dist/groq-ei_PerYi.mjs +381 -0
  28. package/dist/groq-ei_PerYi.mjs.map +1 -0
  29. package/dist/huggingface-DaM1EeLP.mjs +456 -0
  30. package/dist/huggingface-DaM1EeLP.mjs.map +1 -0
  31. package/dist/inception-CspEzqNV.mjs +101 -0
  32. package/dist/inception-CspEzqNV.mjs.map +1 -0
  33. package/dist/index.d.mts +30314 -0
  34. package/dist/index.d.mts.map +1 -0
  35. package/dist/index.mjs +271 -0
  36. package/dist/index.mjs.map +1 -0
  37. package/dist/llama-Cf3-koap.mjs +161 -0
  38. package/dist/llama-Cf3-koap.mjs.map +1 -0
  39. package/dist/mistral-BI9MdAO4.mjs +579 -0
  40. package/dist/mistral-BI9MdAO4.mjs.map +1 -0
  41. package/dist/nvidia-COHacuoa.mjs +1625 -0
  42. package/dist/nvidia-COHacuoa.mjs.map +1 -0
  43. package/dist/openai-C0nCfZUq.mjs +1023 -0
  44. package/dist/openai-C0nCfZUq.mjs.map +1 -0
  45. package/dist/openrouter-DSFzxKQb.mjs +4608 -0
  46. package/dist/openrouter-DSFzxKQb.mjs.map +1 -0
  47. package/dist/perplexity-zeZ2WlBU.mjs +96 -0
  48. package/dist/perplexity-zeZ2WlBU.mjs.map +1 -0
  49. package/dist/providers/alibaba.d.mts +1795 -0
  50. package/dist/providers/alibaba.d.mts.map +1 -0
  51. package/dist/providers/alibaba.mjs +39 -0
  52. package/dist/providers/alibaba.mjs.map +1 -0
  53. package/dist/providers/amazon-bedrock.d.mts +3713 -0
  54. package/dist/providers/amazon-bedrock.d.mts.map +1 -0
  55. package/dist/providers/amazon-bedrock.mjs +39 -0
  56. package/dist/providers/amazon-bedrock.mjs.map +1 -0
  57. package/dist/providers/anthropic.d.mts +1109 -0
  58. package/dist/providers/anthropic.d.mts.map +1 -0
  59. package/dist/providers/anthropic.mjs +39 -0
  60. package/dist/providers/anthropic.mjs.map +1 -0
  61. package/dist/providers/cerebras.d.mts +219 -0
  62. package/dist/providers/cerebras.d.mts.map +1 -0
  63. package/dist/providers/cerebras.mjs +39 -0
  64. package/dist/providers/cerebras.mjs.map +1 -0
  65. package/dist/providers/cohere.d.mts +555 -0
  66. package/dist/providers/cohere.d.mts.map +1 -0
  67. package/dist/providers/cohere.mjs +39 -0
  68. package/dist/providers/cohere.mjs.map +1 -0
  69. package/dist/providers/deepinfra.d.mts +1245 -0
  70. package/dist/providers/deepinfra.d.mts.map +1 -0
  71. package/dist/providers/deepinfra.mjs +39 -0
  72. package/dist/providers/deepinfra.mjs.map +1 -0
  73. package/dist/providers/deepseek.d.mts +139 -0
  74. package/dist/providers/deepseek.d.mts.map +1 -0
  75. package/dist/providers/deepseek.mjs +39 -0
  76. package/dist/providers/deepseek.mjs.map +1 -0
  77. package/dist/providers/fireworks-ai.d.mts +611 -0
  78. package/dist/providers/fireworks-ai.d.mts.map +1 -0
  79. package/dist/providers/fireworks-ai.mjs +39 -0
  80. package/dist/providers/fireworks-ai.mjs.map +1 -0
  81. package/dist/providers/google-vertex.d.mts +1227 -0
  82. package/dist/providers/google-vertex.d.mts.map +1 -0
  83. package/dist/providers/google-vertex.mjs +39 -0
  84. package/dist/providers/google-vertex.mjs.map +1 -0
  85. package/dist/providers/google.d.mts +1359 -0
  86. package/dist/providers/google.d.mts.map +1 -0
  87. package/dist/providers/google.mjs +39 -0
  88. package/dist/providers/google.mjs.map +1 -0
  89. package/dist/providers/groq.d.mts +765 -0
  90. package/dist/providers/groq.d.mts.map +1 -0
  91. package/dist/providers/groq.mjs +39 -0
  92. package/dist/providers/groq.mjs.map +1 -0
  93. package/dist/providers/huggingface.d.mts +901 -0
  94. package/dist/providers/huggingface.d.mts.map +1 -0
  95. package/dist/providers/huggingface.mjs +39 -0
  96. package/dist/providers/huggingface.mjs.map +1 -0
  97. package/dist/providers/inception.d.mts +231 -0
  98. package/dist/providers/inception.d.mts.map +1 -0
  99. package/dist/providers/inception.mjs +39 -0
  100. package/dist/providers/inception.mjs.map +1 -0
  101. package/dist/providers/llama.d.mts +345 -0
  102. package/dist/providers/llama.d.mts.map +1 -0
  103. package/dist/providers/llama.mjs +39 -0
  104. package/dist/providers/llama.mjs.map +1 -0
  105. package/dist/providers/mistral.d.mts +1143 -0
  106. package/dist/providers/mistral.d.mts.map +1 -0
  107. package/dist/providers/mistral.mjs +39 -0
  108. package/dist/providers/mistral.mjs.map +1 -0
  109. package/dist/providers/nvidia.d.mts +3117 -0
  110. package/dist/providers/nvidia.d.mts.map +1 -0
  111. package/dist/providers/nvidia.mjs +39 -0
  112. package/dist/providers/nvidia.mjs.map +1 -0
  113. package/dist/providers/openai.d.mts +1963 -0
  114. package/dist/providers/openai.d.mts.map +1 -0
  115. package/dist/providers/openai.mjs +39 -0
  116. package/dist/providers/openai.mjs.map +1 -0
  117. package/dist/providers/openrouter.d.mts +8531 -0
  118. package/dist/providers/openrouter.d.mts.map +1 -0
  119. package/dist/providers/openrouter.mjs +39 -0
  120. package/dist/providers/openrouter.mjs.map +1 -0
  121. package/dist/providers/perplexity.d.mts +221 -0
  122. package/dist/providers/perplexity.d.mts.map +1 -0
  123. package/dist/providers/perplexity.mjs +39 -0
  124. package/dist/providers/perplexity.mjs.map +1 -0
  125. package/dist/providers/togetherai.d.mts +767 -0
  126. package/dist/providers/togetherai.d.mts.map +1 -0
  127. package/dist/providers/togetherai.mjs +39 -0
  128. package/dist/providers/togetherai.mjs.map +1 -0
  129. package/dist/providers/xai.d.mts +1161 -0
  130. package/dist/providers/xai.d.mts.map +1 -0
  131. package/dist/providers/xai.mjs +39 -0
  132. package/dist/providers/xai.mjs.map +1 -0
  133. package/dist/togetherai-BvcxUfPE.mjs +382 -0
  134. package/dist/togetherai-BvcxUfPE.mjs.map +1 -0
  135. package/dist/types-DjdaZckF.d.mts +71 -0
  136. package/dist/types-DjdaZckF.d.mts.map +1 -0
  137. package/dist/xai-fSuAkQJo.mjs +587 -0
  138. package/dist/xai-fSuAkQJo.mjs.map +1 -0
  139. package/docs/catalog/filtering.md +102 -0
  140. package/docs/catalog/overview.md +168 -0
  141. package/docs/catalog/providers.md +73 -0
  142. package/docs/cost/overview.md +125 -0
  143. package/docs/guides/filter-models.md +113 -0
  144. package/docs/guides/setup-resolver.md +106 -0
  145. package/docs/guides/track-costs.md +133 -0
  146. package/docs/overview.md +139 -0
  147. package/docs/provider/configuration.md +100 -0
  148. package/docs/provider/openrouter.md +105 -0
  149. package/docs/provider/overview.md +131 -0
  150. package/docs/troubleshooting.md +100 -0
  151. package/package.json +142 -0
  152. package/providers.json +39 -0
  153. package/scripts/generate-models.ts +392 -0
  154. package/src/catalog/index.test.ts +124 -0
  155. package/src/catalog/index.ts +65 -0
  156. package/src/catalog/providers/alibaba.ts +468 -0
  157. package/src/catalog/providers/amazon-bedrock.ts +941 -0
  158. package/src/catalog/providers/anthropic.ts +270 -0
  159. package/src/catalog/providers/cerebras.ts +61 -0
  160. package/src/catalog/providers/cohere.ts +149 -0
  161. package/src/catalog/providers/deepinfra.ts +325 -0
  162. package/src/catalog/providers/deepseek.ts +39 -0
  163. package/src/catalog/providers/fireworks-ai.ts +160 -0
  164. package/src/catalog/providers/google-vertex.ts +314 -0
  165. package/src/catalog/providers/google.ts +347 -0
  166. package/src/catalog/providers/groq.ts +204 -0
  167. package/src/catalog/providers/huggingface.ts +237 -0
  168. package/src/catalog/providers/inception.ts +61 -0
  169. package/src/catalog/providers/index.ts +59 -0
  170. package/src/catalog/providers/llama.ts +94 -0
  171. package/src/catalog/providers/mistral.ts +303 -0
  172. package/src/catalog/providers/nvidia.ts +820 -0
  173. package/src/catalog/providers/openai.ts +501 -0
  174. package/src/catalog/providers/openrouter.ts +2201 -0
  175. package/src/catalog/providers/perplexity.ts +61 -0
  176. package/src/catalog/providers/togetherai.ts +204 -0
  177. package/src/catalog/providers/xai.ts +292 -0
  178. package/src/catalog/types.ts +86 -0
  179. package/src/cost/calculate.test.ts +157 -0
  180. package/src/cost/calculate.ts +43 -0
  181. package/src/cost/index.ts +2 -0
  182. package/src/cost/types.ts +25 -0
  183. package/src/index.ts +25 -0
  184. package/src/provider/index.ts +9 -0
  185. package/src/provider/openrouter.test.ts +125 -0
  186. package/src/provider/openrouter.ts +110 -0
  187. package/src/provider/resolver.test.ts +138 -0
  188. package/src/provider/resolver.ts +125 -0
  189. package/src/provider/types.ts +39 -0
  190. package/src/providers/alibaba.ts +65 -0
  191. package/src/providers/amazon-bedrock.ts +67 -0
  192. package/src/providers/anthropic.ts +65 -0
  193. package/src/providers/cerebras.ts +65 -0
  194. package/src/providers/cohere.ts +65 -0
  195. package/src/providers/deepinfra.ts +65 -0
  196. package/src/providers/deepseek.ts +65 -0
  197. package/src/providers/fireworks-ai.ts +65 -0
  198. package/src/providers/google-vertex.ts +67 -0
  199. package/src/providers/google.ts +65 -0
  200. package/src/providers/groq.ts +65 -0
  201. package/src/providers/huggingface.ts +67 -0
  202. package/src/providers/inception.ts +65 -0
  203. package/src/providers/llama.ts +65 -0
  204. package/src/providers/mistral.ts +65 -0
  205. package/src/providers/nvidia.ts +65 -0
  206. package/src/providers/openai.ts +65 -0
  207. package/src/providers/openrouter.ts +67 -0
  208. package/src/providers/perplexity.ts +67 -0
  209. package/src/providers/togetherai.ts +65 -0
  210. package/src/providers/xai.ts +65 -0
  211. package/tsconfig.json +25 -0
  212. package/tsdown.config.ts +23 -0
  213. package/vitest.config.ts +29 -0
@@ -0,0 +1,1963 @@
1
+ import { n as ModelDefinition } from "../types-DjdaZckF.mjs";
2
+ import { LiteralUnion } from "type-fest";
3
+
4
+ //#region src/catalog/providers/openai.d.ts
5
+ declare const OPENAI_MODELS: readonly [{
6
+ readonly id: "gpt-4o-2024-11-20";
7
+ readonly name: "GPT-4o (2024-11-20)";
8
+ readonly provider: "openai";
9
+ readonly family: "gpt";
10
+ readonly pricing: {
11
+ readonly input: 0.0000025;
12
+ readonly output: 0.00001;
13
+ readonly cacheRead: 0.00000125;
14
+ };
15
+ readonly contextWindow: 128000;
16
+ readonly maxOutput: 16384;
17
+ readonly modalities: {
18
+ readonly input: readonly ["text", "image"];
19
+ readonly output: readonly ["text"];
20
+ };
21
+ readonly capabilities: {
22
+ readonly reasoning: false;
23
+ readonly toolCall: true;
24
+ readonly attachment: true;
25
+ readonly structuredOutput: true;
26
+ };
27
+ }, {
28
+ readonly id: "gpt-5.3-codex";
29
+ readonly name: "GPT-5.3 Codex";
30
+ readonly provider: "openai";
31
+ readonly family: "gpt-codex";
32
+ readonly pricing: {
33
+ readonly input: 0.00000175;
34
+ readonly output: 0.000014;
35
+ readonly cacheRead: 1.75e-7;
36
+ };
37
+ readonly contextWindow: 400000;
38
+ readonly maxOutput: 128000;
39
+ readonly modalities: {
40
+ readonly input: readonly ["text", "image", "pdf"];
41
+ readonly output: readonly ["text"];
42
+ };
43
+ readonly capabilities: {
44
+ readonly reasoning: true;
45
+ readonly toolCall: true;
46
+ readonly attachment: true;
47
+ readonly structuredOutput: true;
48
+ };
49
+ }, {
50
+ readonly id: "gpt-5-codex";
51
+ readonly name: "GPT-5-Codex";
52
+ readonly provider: "openai";
53
+ readonly family: "gpt-codex";
54
+ readonly pricing: {
55
+ readonly input: 0.00000125;
56
+ readonly output: 0.00001;
57
+ readonly cacheRead: 1.25e-7;
58
+ };
59
+ readonly contextWindow: 400000;
60
+ readonly maxOutput: 128000;
61
+ readonly modalities: {
62
+ readonly input: readonly ["text", "image"];
63
+ readonly output: readonly ["text"];
64
+ };
65
+ readonly capabilities: {
66
+ readonly reasoning: true;
67
+ readonly toolCall: true;
68
+ readonly attachment: false;
69
+ readonly structuredOutput: true;
70
+ };
71
+ }, {
72
+ readonly id: "gpt-5-pro";
73
+ readonly name: "GPT-5 Pro";
74
+ readonly provider: "openai";
75
+ readonly family: "gpt-pro";
76
+ readonly pricing: {
77
+ readonly input: 0.000015;
78
+ readonly output: 0.00012;
79
+ };
80
+ readonly contextWindow: 400000;
81
+ readonly maxOutput: 272000;
82
+ readonly modalities: {
83
+ readonly input: readonly ["text", "image"];
84
+ readonly output: readonly ["text"];
85
+ };
86
+ readonly capabilities: {
87
+ readonly reasoning: true;
88
+ readonly toolCall: true;
89
+ readonly attachment: true;
90
+ readonly structuredOutput: true;
91
+ };
92
+ }, {
93
+ readonly id: "gpt-4o-mini";
94
+ readonly name: "GPT-4o mini";
95
+ readonly provider: "openai";
96
+ readonly family: "gpt-mini";
97
+ readonly pricing: {
98
+ readonly input: 1.5e-7;
99
+ readonly output: 6e-7;
100
+ readonly cacheRead: 8e-8;
101
+ };
102
+ readonly contextWindow: 128000;
103
+ readonly maxOutput: 16384;
104
+ readonly modalities: {
105
+ readonly input: readonly ["text", "image"];
106
+ readonly output: readonly ["text"];
107
+ };
108
+ readonly capabilities: {
109
+ readonly reasoning: false;
110
+ readonly toolCall: true;
111
+ readonly attachment: true;
112
+ readonly structuredOutput: true;
113
+ };
114
+ }, {
115
+ readonly id: "text-embedding-ada-002";
116
+ readonly name: "text-embedding-ada-002";
117
+ readonly provider: "openai";
118
+ readonly family: "text-embedding";
119
+ readonly pricing: {
120
+ readonly input: 1e-7;
121
+ readonly output: 0;
122
+ };
123
+ readonly contextWindow: 8192;
124
+ readonly maxOutput: 1536;
125
+ readonly modalities: {
126
+ readonly input: readonly ["text"];
127
+ readonly output: readonly ["text"];
128
+ };
129
+ readonly capabilities: {
130
+ readonly reasoning: false;
131
+ readonly toolCall: false;
132
+ readonly attachment: false;
133
+ readonly structuredOutput: false;
134
+ };
135
+ }, {
136
+ readonly id: "gpt-5-chat-latest";
137
+ readonly name: "GPT-5 Chat (latest)";
138
+ readonly provider: "openai";
139
+ readonly family: "gpt-codex";
140
+ readonly pricing: {
141
+ readonly input: 0.00000125;
142
+ readonly output: 0.00001;
143
+ };
144
+ readonly contextWindow: 400000;
145
+ readonly maxOutput: 128000;
146
+ readonly modalities: {
147
+ readonly input: readonly ["text", "image"];
148
+ readonly output: readonly ["text"];
149
+ };
150
+ readonly capabilities: {
151
+ readonly reasoning: true;
152
+ readonly toolCall: false;
153
+ readonly attachment: true;
154
+ readonly structuredOutput: true;
155
+ };
156
+ }, {
157
+ readonly id: "codex-mini-latest";
158
+ readonly name: "Codex Mini";
159
+ readonly provider: "openai";
160
+ readonly family: "gpt-codex-mini";
161
+ readonly pricing: {
162
+ readonly input: 0.0000015;
163
+ readonly output: 0.000006;
164
+ readonly cacheRead: 3.75e-7;
165
+ };
166
+ readonly contextWindow: 200000;
167
+ readonly maxOutput: 100000;
168
+ readonly modalities: {
169
+ readonly input: readonly ["text"];
170
+ readonly output: readonly ["text"];
171
+ };
172
+ readonly capabilities: {
173
+ readonly reasoning: true;
174
+ readonly toolCall: true;
175
+ readonly attachment: true;
176
+ readonly structuredOutput: false;
177
+ };
178
+ }, {
179
+ readonly id: "gpt-5.1-codex-max";
180
+ readonly name: "GPT-5.1 Codex Max";
181
+ readonly provider: "openai";
182
+ readonly family: "gpt-codex";
183
+ readonly pricing: {
184
+ readonly input: 0.00000125;
185
+ readonly output: 0.00001;
186
+ readonly cacheRead: 1.25e-7;
187
+ };
188
+ readonly contextWindow: 400000;
189
+ readonly maxOutput: 128000;
190
+ readonly modalities: {
191
+ readonly input: readonly ["text", "image"];
192
+ readonly output: readonly ["text"];
193
+ };
194
+ readonly capabilities: {
195
+ readonly reasoning: true;
196
+ readonly toolCall: true;
197
+ readonly attachment: true;
198
+ readonly structuredOutput: true;
199
+ };
200
+ }, {
201
+ readonly id: "gpt-4o-2024-05-13";
202
+ readonly name: "GPT-4o (2024-05-13)";
203
+ readonly provider: "openai";
204
+ readonly family: "gpt";
205
+ readonly pricing: {
206
+ readonly input: 0.000005;
207
+ readonly output: 0.000015;
208
+ };
209
+ readonly contextWindow: 128000;
210
+ readonly maxOutput: 4096;
211
+ readonly modalities: {
212
+ readonly input: readonly ["text", "image"];
213
+ readonly output: readonly ["text"];
214
+ };
215
+ readonly capabilities: {
216
+ readonly reasoning: false;
217
+ readonly toolCall: true;
218
+ readonly attachment: true;
219
+ readonly structuredOutput: true;
220
+ };
221
+ }, {
222
+ readonly id: "gpt-5.2-chat-latest";
223
+ readonly name: "GPT-5.2 Chat";
224
+ readonly provider: "openai";
225
+ readonly family: "gpt-codex";
226
+ readonly pricing: {
227
+ readonly input: 0.00000175;
228
+ readonly output: 0.000014;
229
+ readonly cacheRead: 1.75e-7;
230
+ };
231
+ readonly contextWindow: 128000;
232
+ readonly maxOutput: 16384;
233
+ readonly modalities: {
234
+ readonly input: readonly ["text", "image"];
235
+ readonly output: readonly ["text"];
236
+ };
237
+ readonly capabilities: {
238
+ readonly reasoning: true;
239
+ readonly toolCall: true;
240
+ readonly attachment: true;
241
+ readonly structuredOutput: true;
242
+ };
243
+ }, {
244
+ readonly id: "gpt-5.2-codex";
245
+ readonly name: "GPT-5.2 Codex";
246
+ readonly provider: "openai";
247
+ readonly family: "gpt-codex";
248
+ readonly pricing: {
249
+ readonly input: 0.00000175;
250
+ readonly output: 0.000014;
251
+ readonly cacheRead: 1.75e-7;
252
+ };
253
+ readonly contextWindow: 400000;
254
+ readonly maxOutput: 128000;
255
+ readonly modalities: {
256
+ readonly input: readonly ["text", "image", "pdf"];
257
+ readonly output: readonly ["text"];
258
+ };
259
+ readonly capabilities: {
260
+ readonly reasoning: true;
261
+ readonly toolCall: true;
262
+ readonly attachment: true;
263
+ readonly structuredOutput: true;
264
+ };
265
+ }, {
266
+ readonly id: "o3-deep-research";
267
+ readonly name: "o3-deep-research";
268
+ readonly provider: "openai";
269
+ readonly family: "o";
270
+ readonly pricing: {
271
+ readonly input: 0.00001;
272
+ readonly output: 0.00004;
273
+ readonly cacheRead: 0.0000025;
274
+ };
275
+ readonly contextWindow: 200000;
276
+ readonly maxOutput: 100000;
277
+ readonly modalities: {
278
+ readonly input: readonly ["text", "image"];
279
+ readonly output: readonly ["text"];
280
+ };
281
+ readonly capabilities: {
282
+ readonly reasoning: true;
283
+ readonly toolCall: true;
284
+ readonly attachment: true;
285
+ readonly structuredOutput: false;
286
+ };
287
+ }, {
288
+ readonly id: "o1";
289
+ readonly name: "o1";
290
+ readonly provider: "openai";
291
+ readonly family: "o";
292
+ readonly pricing: {
293
+ readonly input: 0.000015;
294
+ readonly output: 0.00006;
295
+ readonly cacheRead: 0.0000075;
296
+ };
297
+ readonly contextWindow: 200000;
298
+ readonly maxOutput: 100000;
299
+ readonly modalities: {
300
+ readonly input: readonly ["text", "image"];
301
+ readonly output: readonly ["text"];
302
+ };
303
+ readonly capabilities: {
304
+ readonly reasoning: true;
305
+ readonly toolCall: true;
306
+ readonly attachment: true;
307
+ readonly structuredOutput: true;
308
+ };
309
+ }, {
310
+ readonly id: "gpt-5.1";
311
+ readonly name: "GPT-5.1";
312
+ readonly provider: "openai";
313
+ readonly family: "gpt";
314
+ readonly pricing: {
315
+ readonly input: 0.00000125;
316
+ readonly output: 0.00001;
317
+ readonly cacheRead: 1.3e-7;
318
+ };
319
+ readonly contextWindow: 400000;
320
+ readonly maxOutput: 128000;
321
+ readonly modalities: {
322
+ readonly input: readonly ["text", "image"];
323
+ readonly output: readonly ["text"];
324
+ };
325
+ readonly capabilities: {
326
+ readonly reasoning: true;
327
+ readonly toolCall: true;
328
+ readonly attachment: true;
329
+ readonly structuredOutput: true;
330
+ };
331
+ }, {
332
+ readonly id: "o4-mini-deep-research";
333
+ readonly name: "o4-mini-deep-research";
334
+ readonly provider: "openai";
335
+ readonly family: "o-mini";
336
+ readonly pricing: {
337
+ readonly input: 0.000002;
338
+ readonly output: 0.000008;
339
+ readonly cacheRead: 5e-7;
340
+ };
341
+ readonly contextWindow: 200000;
342
+ readonly maxOutput: 100000;
343
+ readonly modalities: {
344
+ readonly input: readonly ["text", "image"];
345
+ readonly output: readonly ["text"];
346
+ };
347
+ readonly capabilities: {
348
+ readonly reasoning: true;
349
+ readonly toolCall: true;
350
+ readonly attachment: true;
351
+ readonly structuredOutput: false;
352
+ };
353
+ }, {
354
+ readonly id: "gpt-5.3-codex-spark";
355
+ readonly name: "GPT-5.3 Codex Spark";
356
+ readonly provider: "openai";
357
+ readonly family: "gpt-codex-spark";
358
+ readonly pricing: {
359
+ readonly input: 0.00000175;
360
+ readonly output: 0.000014;
361
+ readonly cacheRead: 1.75e-7;
362
+ };
363
+ readonly contextWindow: 128000;
364
+ readonly maxOutput: 32000;
365
+ readonly modalities: {
366
+ readonly input: readonly ["text", "image", "pdf"];
367
+ readonly output: readonly ["text"];
368
+ };
369
+ readonly capabilities: {
370
+ readonly reasoning: true;
371
+ readonly toolCall: true;
372
+ readonly attachment: true;
373
+ readonly structuredOutput: true;
374
+ };
375
+ }, {
376
+ readonly id: "o3";
377
+ readonly name: "o3";
378
+ readonly provider: "openai";
379
+ readonly family: "o";
380
+ readonly pricing: {
381
+ readonly input: 0.000002;
382
+ readonly output: 0.000008;
383
+ readonly cacheRead: 5e-7;
384
+ };
385
+ readonly contextWindow: 200000;
386
+ readonly maxOutput: 100000;
387
+ readonly modalities: {
388
+ readonly input: readonly ["text", "image"];
389
+ readonly output: readonly ["text"];
390
+ };
391
+ readonly capabilities: {
392
+ readonly reasoning: true;
393
+ readonly toolCall: true;
394
+ readonly attachment: true;
395
+ readonly structuredOutput: true;
396
+ };
397
+ }, {
398
+ readonly id: "text-embedding-3-small";
399
+ readonly name: "text-embedding-3-small";
400
+ readonly provider: "openai";
401
+ readonly family: "text-embedding";
402
+ readonly pricing: {
403
+ readonly input: 2e-8;
404
+ readonly output: 0;
405
+ };
406
+ readonly contextWindow: 8191;
407
+ readonly maxOutput: 1536;
408
+ readonly modalities: {
409
+ readonly input: readonly ["text"];
410
+ readonly output: readonly ["text"];
411
+ };
412
+ readonly capabilities: {
413
+ readonly reasoning: false;
414
+ readonly toolCall: false;
415
+ readonly attachment: false;
416
+ readonly structuredOutput: false;
417
+ };
418
+ }, {
419
+ readonly id: "gpt-4.1-nano";
420
+ readonly name: "GPT-4.1 nano";
421
+ readonly provider: "openai";
422
+ readonly family: "gpt-nano";
423
+ readonly pricing: {
424
+ readonly input: 1e-7;
425
+ readonly output: 4e-7;
426
+ readonly cacheRead: 3e-8;
427
+ };
428
+ readonly contextWindow: 1047576;
429
+ readonly maxOutput: 32768;
430
+ readonly modalities: {
431
+ readonly input: readonly ["text", "image"];
432
+ readonly output: readonly ["text"];
433
+ };
434
+ readonly capabilities: {
435
+ readonly reasoning: false;
436
+ readonly toolCall: true;
437
+ readonly attachment: true;
438
+ readonly structuredOutput: true;
439
+ };
440
+ }, {
441
+ readonly id: "text-embedding-3-large";
442
+ readonly name: "text-embedding-3-large";
443
+ readonly provider: "openai";
444
+ readonly family: "text-embedding";
445
+ readonly pricing: {
446
+ readonly input: 1.3e-7;
447
+ readonly output: 0;
448
+ };
449
+ readonly contextWindow: 8191;
450
+ readonly maxOutput: 3072;
451
+ readonly modalities: {
452
+ readonly input: readonly ["text"];
453
+ readonly output: readonly ["text"];
454
+ };
455
+ readonly capabilities: {
456
+ readonly reasoning: false;
457
+ readonly toolCall: false;
458
+ readonly attachment: false;
459
+ readonly structuredOutput: false;
460
+ };
461
+ }, {
462
+ readonly id: "gpt-3.5-turbo";
463
+ readonly name: "GPT-3.5-turbo";
464
+ readonly provider: "openai";
465
+ readonly family: "gpt";
466
+ readonly pricing: {
467
+ readonly input: 5e-7;
468
+ readonly output: 0.0000015;
469
+ readonly cacheRead: 0.00000125;
470
+ };
471
+ readonly contextWindow: 16385;
472
+ readonly maxOutput: 4096;
473
+ readonly modalities: {
474
+ readonly input: readonly ["text"];
475
+ readonly output: readonly ["text"];
476
+ };
477
+ readonly capabilities: {
478
+ readonly reasoning: false;
479
+ readonly toolCall: false;
480
+ readonly attachment: false;
481
+ readonly structuredOutput: false;
482
+ };
483
+ }, {
484
+ readonly id: "gpt-5.1-codex-mini";
485
+ readonly name: "GPT-5.1 Codex mini";
486
+ readonly provider: "openai";
487
+ readonly family: "gpt-codex";
488
+ readonly pricing: {
489
+ readonly input: 2.5e-7;
490
+ readonly output: 0.000002;
491
+ readonly cacheRead: 2.5e-8;
492
+ };
493
+ readonly contextWindow: 400000;
494
+ readonly maxOutput: 128000;
495
+ readonly modalities: {
496
+ readonly input: readonly ["text", "image"];
497
+ readonly output: readonly ["text"];
498
+ };
499
+ readonly capabilities: {
500
+ readonly reasoning: true;
501
+ readonly toolCall: true;
502
+ readonly attachment: true;
503
+ readonly structuredOutput: true;
504
+ };
505
+ }, {
506
+ readonly id: "gpt-5.2";
507
+ readonly name: "GPT-5.2";
508
+ readonly provider: "openai";
509
+ readonly family: "gpt";
510
+ readonly pricing: {
511
+ readonly input: 0.00000175;
512
+ readonly output: 0.000014;
513
+ readonly cacheRead: 1.75e-7;
514
+ };
515
+ readonly contextWindow: 400000;
516
+ readonly maxOutput: 128000;
517
+ readonly modalities: {
518
+ readonly input: readonly ["text", "image"];
519
+ readonly output: readonly ["text"];
520
+ };
521
+ readonly capabilities: {
522
+ readonly reasoning: true;
523
+ readonly toolCall: true;
524
+ readonly attachment: true;
525
+ readonly structuredOutput: true;
526
+ };
527
+ }, {
528
+ readonly id: "gpt-4.1";
529
+ readonly name: "GPT-4.1";
530
+ readonly provider: "openai";
531
+ readonly family: "gpt";
532
+ readonly pricing: {
533
+ readonly input: 0.000002;
534
+ readonly output: 0.000008;
535
+ readonly cacheRead: 5e-7;
536
+ };
537
+ readonly contextWindow: 1047576;
538
+ readonly maxOutput: 32768;
539
+ readonly modalities: {
540
+ readonly input: readonly ["text", "image"];
541
+ readonly output: readonly ["text"];
542
+ };
543
+ readonly capabilities: {
544
+ readonly reasoning: false;
545
+ readonly toolCall: true;
546
+ readonly attachment: true;
547
+ readonly structuredOutput: true;
548
+ };
549
+ }, {
550
+ readonly id: "o3-pro";
551
+ readonly name: "o3-pro";
552
+ readonly provider: "openai";
553
+ readonly family: "o-pro";
554
+ readonly pricing: {
555
+ readonly input: 0.00002;
556
+ readonly output: 0.00008;
557
+ };
558
+ readonly contextWindow: 200000;
559
+ readonly maxOutput: 100000;
560
+ readonly modalities: {
561
+ readonly input: readonly ["text", "image"];
562
+ readonly output: readonly ["text"];
563
+ };
564
+ readonly capabilities: {
565
+ readonly reasoning: true;
566
+ readonly toolCall: true;
567
+ readonly attachment: true;
568
+ readonly structuredOutput: true;
569
+ };
570
+ }, {
571
+ readonly id: "gpt-4-turbo";
572
+ readonly name: "GPT-4 Turbo";
573
+ readonly provider: "openai";
574
+ readonly family: "gpt";
575
+ readonly pricing: {
576
+ readonly input: 0.00001;
577
+ readonly output: 0.00003;
578
+ };
579
+ readonly contextWindow: 128000;
580
+ readonly maxOutput: 4096;
581
+ readonly modalities: {
582
+ readonly input: readonly ["text", "image"];
583
+ readonly output: readonly ["text"];
584
+ };
585
+ readonly capabilities: {
586
+ readonly reasoning: false;
587
+ readonly toolCall: true;
588
+ readonly attachment: true;
589
+ readonly structuredOutput: false;
590
+ };
591
+ }, {
592
+ readonly id: "gpt-5";
593
+ readonly name: "GPT-5";
594
+ readonly provider: "openai";
595
+ readonly family: "gpt";
596
+ readonly pricing: {
597
+ readonly input: 0.00000125;
598
+ readonly output: 0.00001;
599
+ readonly cacheRead: 1.25e-7;
600
+ };
601
+ readonly contextWindow: 400000;
602
+ readonly maxOutput: 128000;
603
+ readonly modalities: {
604
+ readonly input: readonly ["text", "image"];
605
+ readonly output: readonly ["text"];
606
+ };
607
+ readonly capabilities: {
608
+ readonly reasoning: true;
609
+ readonly toolCall: true;
610
+ readonly attachment: true;
611
+ readonly structuredOutput: true;
612
+ };
613
+ }, {
614
+ readonly id: "o4-mini";
615
+ readonly name: "o4-mini";
616
+ readonly provider: "openai";
617
+ readonly family: "o-mini";
618
+ readonly pricing: {
619
+ readonly input: 0.0000011;
620
+ readonly output: 0.0000044;
621
+ readonly cacheRead: 2.8e-7;
622
+ };
623
+ readonly contextWindow: 200000;
624
+ readonly maxOutput: 100000;
625
+ readonly modalities: {
626
+ readonly input: readonly ["text", "image"];
627
+ readonly output: readonly ["text"];
628
+ };
629
+ readonly capabilities: {
630
+ readonly reasoning: true;
631
+ readonly toolCall: true;
632
+ readonly attachment: true;
633
+ readonly structuredOutput: true;
634
+ };
635
+ }, {
636
+ readonly id: "gpt-4.1-mini";
637
+ readonly name: "GPT-4.1 mini";
638
+ readonly provider: "openai";
639
+ readonly family: "gpt-mini";
640
+ readonly pricing: {
641
+ readonly input: 4e-7;
642
+ readonly output: 0.0000016;
643
+ readonly cacheRead: 1e-7;
644
+ };
645
+ readonly contextWindow: 1047576;
646
+ readonly maxOutput: 32768;
647
+ readonly modalities: {
648
+ readonly input: readonly ["text", "image"];
649
+ readonly output: readonly ["text"];
650
+ };
651
+ readonly capabilities: {
652
+ readonly reasoning: false;
653
+ readonly toolCall: true;
654
+ readonly attachment: true;
655
+ readonly structuredOutput: true;
656
+ };
657
+ }, {
658
+ readonly id: "gpt-5.4";
659
+ readonly name: "GPT-5.4";
660
+ readonly provider: "openai";
661
+ readonly family: "gpt";
662
+ readonly pricing: {
663
+ readonly input: 0.0000025;
664
+ readonly output: 0.000015;
665
+ readonly cacheRead: 2.5e-7;
666
+ };
667
+ readonly contextWindow: 1050000;
668
+ readonly maxOutput: 128000;
669
+ readonly modalities: {
670
+ readonly input: readonly ["text", "image", "pdf"];
671
+ readonly output: readonly ["text"];
672
+ };
673
+ readonly capabilities: {
674
+ readonly reasoning: true;
675
+ readonly toolCall: true;
676
+ readonly attachment: true;
677
+ readonly structuredOutput: true;
678
+ };
679
+ }, {
680
+ readonly id: "o1-preview";
681
+ readonly name: "o1-preview";
682
+ readonly provider: "openai";
683
+ readonly family: "o";
684
+ readonly pricing: {
685
+ readonly input: 0.000015;
686
+ readonly output: 0.00006;
687
+ readonly cacheRead: 0.0000075;
688
+ };
689
+ readonly contextWindow: 128000;
690
+ readonly maxOutput: 32768;
691
+ readonly modalities: {
692
+ readonly input: readonly ["text"];
693
+ readonly output: readonly ["text"];
694
+ };
695
+ readonly capabilities: {
696
+ readonly reasoning: true;
697
+ readonly toolCall: false;
698
+ readonly attachment: false;
699
+ readonly structuredOutput: false;
700
+ };
701
+ }, {
702
+ readonly id: "gpt-5.4-pro";
703
+ readonly name: "GPT-5.4 Pro";
704
+ readonly provider: "openai";
705
+ readonly family: "gpt-pro";
706
+ readonly pricing: {
707
+ readonly input: 0.00003;
708
+ readonly output: 0.00018;
709
+ };
710
+ readonly contextWindow: 1050000;
711
+ readonly maxOutput: 128000;
712
+ readonly modalities: {
713
+ readonly input: readonly ["text", "image"];
714
+ readonly output: readonly ["text"];
715
+ };
716
+ readonly capabilities: {
717
+ readonly reasoning: true;
718
+ readonly toolCall: true;
719
+ readonly attachment: true;
720
+ readonly structuredOutput: false;
721
+ };
722
+ }, {
723
+ readonly id: "o1-pro";
724
+ readonly name: "o1-pro";
725
+ readonly provider: "openai";
726
+ readonly family: "o-pro";
727
+ readonly pricing: {
728
+ readonly input: 0.00015;
729
+ readonly output: 0.0006;
730
+ };
731
+ readonly contextWindow: 200000;
732
+ readonly maxOutput: 100000;
733
+ readonly modalities: {
734
+ readonly input: readonly ["text", "image"];
735
+ readonly output: readonly ["text"];
736
+ };
737
+ readonly capabilities: {
738
+ readonly reasoning: true;
739
+ readonly toolCall: true;
740
+ readonly attachment: true;
741
+ readonly structuredOutput: true;
742
+ };
743
+ }, {
744
+ readonly id: "gpt-5.1-codex";
745
+ readonly name: "GPT-5.1 Codex";
746
+ readonly provider: "openai";
747
+ readonly family: "gpt-codex";
748
+ readonly pricing: {
749
+ readonly input: 0.00000125;
750
+ readonly output: 0.00001;
751
+ readonly cacheRead: 1.25e-7;
752
+ };
753
+ readonly contextWindow: 400000;
754
+ readonly maxOutput: 128000;
755
+ readonly modalities: {
756
+ readonly input: readonly ["text", "image"];
757
+ readonly output: readonly ["text"];
758
+ };
759
+ readonly capabilities: {
760
+ readonly reasoning: true;
761
+ readonly toolCall: true;
762
+ readonly attachment: true;
763
+ readonly structuredOutput: true;
764
+ };
765
+ }, {
766
+ readonly id: "gpt-5.2-pro";
767
+ readonly name: "GPT-5.2 Pro";
768
+ readonly provider: "openai";
769
+ readonly family: "gpt-pro";
770
+ readonly pricing: {
771
+ readonly input: 0.000021;
772
+ readonly output: 0.000168;
773
+ };
774
+ readonly contextWindow: 400000;
775
+ readonly maxOutput: 128000;
776
+ readonly modalities: {
777
+ readonly input: readonly ["text", "image"];
778
+ readonly output: readonly ["text"];
779
+ };
780
+ readonly capabilities: {
781
+ readonly reasoning: true;
782
+ readonly toolCall: true;
783
+ readonly attachment: true;
784
+ readonly structuredOutput: false;
785
+ };
786
+ }, {
787
+ readonly id: "o3-mini";
788
+ readonly name: "o3-mini";
789
+ readonly provider: "openai";
790
+ readonly family: "o-mini";
791
+ readonly pricing: {
792
+ readonly input: 0.0000011;
793
+ readonly output: 0.0000044;
794
+ readonly cacheRead: 5.5e-7;
795
+ };
796
+ readonly contextWindow: 200000;
797
+ readonly maxOutput: 100000;
798
+ readonly modalities: {
799
+ readonly input: readonly ["text"];
800
+ readonly output: readonly ["text"];
801
+ };
802
+ readonly capabilities: {
803
+ readonly reasoning: true;
804
+ readonly toolCall: true;
805
+ readonly attachment: false;
806
+ readonly structuredOutput: true;
807
+ };
808
+ }, {
809
+ readonly id: "gpt-4o-2024-08-06";
810
+ readonly name: "GPT-4o (2024-08-06)";
811
+ readonly provider: "openai";
812
+ readonly family: "gpt";
813
+ readonly pricing: {
814
+ readonly input: 0.0000025;
815
+ readonly output: 0.00001;
816
+ readonly cacheRead: 0.00000125;
817
+ };
818
+ readonly contextWindow: 128000;
819
+ readonly maxOutput: 16384;
820
+ readonly modalities: {
821
+ readonly input: readonly ["text", "image"];
822
+ readonly output: readonly ["text"];
823
+ };
824
+ readonly capabilities: {
825
+ readonly reasoning: false;
826
+ readonly toolCall: true;
827
+ readonly attachment: true;
828
+ readonly structuredOutput: true;
829
+ };
830
+ }, {
831
+ readonly id: "gpt-5-mini";
832
+ readonly name: "GPT-5 Mini";
833
+ readonly provider: "openai";
834
+ readonly family: "gpt-mini";
835
+ readonly pricing: {
836
+ readonly input: 2.5e-7;
837
+ readonly output: 0.000002;
838
+ readonly cacheRead: 2.5e-8;
839
+ };
840
+ readonly contextWindow: 400000;
841
+ readonly maxOutput: 128000;
842
+ readonly modalities: {
843
+ readonly input: readonly ["text", "image"];
844
+ readonly output: readonly ["text"];
845
+ };
846
+ readonly capabilities: {
847
+ readonly reasoning: true;
848
+ readonly toolCall: true;
849
+ readonly attachment: true;
850
+ readonly structuredOutput: true;
851
+ };
852
+ }, {
853
+ readonly id: "gpt-5.1-chat-latest";
854
+ readonly name: "GPT-5.1 Chat";
855
+ readonly provider: "openai";
856
+ readonly family: "gpt-codex";
857
+ readonly pricing: {
858
+ readonly input: 0.00000125;
859
+ readonly output: 0.00001;
860
+ readonly cacheRead: 1.25e-7;
861
+ };
862
+ readonly contextWindow: 128000;
863
+ readonly maxOutput: 16384;
864
+ readonly modalities: {
865
+ readonly input: readonly ["text", "image"];
866
+ readonly output: readonly ["text"];
867
+ };
868
+ readonly capabilities: {
869
+ readonly reasoning: true;
870
+ readonly toolCall: true;
871
+ readonly attachment: true;
872
+ readonly structuredOutput: true;
873
+ };
874
+ }, {
875
+ readonly id: "gpt-4";
876
+ readonly name: "GPT-4";
877
+ readonly provider: "openai";
878
+ readonly family: "gpt";
879
+ readonly pricing: {
880
+ readonly input: 0.00003;
881
+ readonly output: 0.00006;
882
+ };
883
+ readonly contextWindow: 8192;
884
+ readonly maxOutput: 8192;
885
+ readonly modalities: {
886
+ readonly input: readonly ["text"];
887
+ readonly output: readonly ["text"];
888
+ };
889
+ readonly capabilities: {
890
+ readonly reasoning: false;
891
+ readonly toolCall: true;
892
+ readonly attachment: true;
893
+ readonly structuredOutput: false;
894
+ };
895
+ }, {
896
+ readonly id: "gpt-5-nano";
897
+ readonly name: "GPT-5 Nano";
898
+ readonly provider: "openai";
899
+ readonly family: "gpt-nano";
900
+ readonly pricing: {
901
+ readonly input: 5e-8;
902
+ readonly output: 4e-7;
903
+ readonly cacheRead: 5e-9;
904
+ };
905
+ readonly contextWindow: 400000;
906
+ readonly maxOutput: 128000;
907
+ readonly modalities: {
908
+ readonly input: readonly ["text", "image"];
909
+ readonly output: readonly ["text"];
910
+ };
911
+ readonly capabilities: {
912
+ readonly reasoning: true;
913
+ readonly toolCall: true;
914
+ readonly attachment: true;
915
+ readonly structuredOutput: true;
916
+ };
917
+ }, {
918
+ readonly id: "o1-mini";
919
+ readonly name: "o1-mini";
920
+ readonly provider: "openai";
921
+ readonly family: "o-mini";
922
+ readonly pricing: {
923
+ readonly input: 0.0000011;
924
+ readonly output: 0.0000044;
925
+ readonly cacheRead: 5.5e-7;
926
+ };
927
+ readonly contextWindow: 128000;
928
+ readonly maxOutput: 65536;
929
+ readonly modalities: {
930
+ readonly input: readonly ["text"];
931
+ readonly output: readonly ["text"];
932
+ };
933
+ readonly capabilities: {
934
+ readonly reasoning: true;
935
+ readonly toolCall: false;
936
+ readonly attachment: false;
937
+ readonly structuredOutput: true;
938
+ };
939
+ }, {
940
+ readonly id: "gpt-4o";
941
+ readonly name: "GPT-4o";
942
+ readonly provider: "openai";
943
+ readonly family: "gpt";
944
+ readonly pricing: {
945
+ readonly input: 0.0000025;
946
+ readonly output: 0.00001;
947
+ readonly cacheRead: 0.00000125;
948
+ };
949
+ readonly contextWindow: 128000;
950
+ readonly maxOutput: 16384;
951
+ readonly modalities: {
952
+ readonly input: readonly ["text", "image"];
953
+ readonly output: readonly ["text"];
954
+ };
955
+ readonly capabilities: {
956
+ readonly reasoning: false;
957
+ readonly toolCall: true;
958
+ readonly attachment: true;
959
+ readonly structuredOutput: true;
960
+ };
961
+ }];
962
+ //#endregion
963
+ //#region src/providers/openai.d.ts
964
+ /**
965
+ * Known model identifiers for OpenAI.
966
+ *
967
+ * @example
968
+ * ```typescript
969
+ * import type { OpenAIModelId } from '@funkai/models/openai'
970
+ *
971
+ * const id: OpenAIModelId = 'gpt-4o-2024-11-20'
972
+ * ```
973
+ */
974
+ type OpenAIModelId = (typeof OPENAI_MODELS)[number]["id"];
975
+ /**
976
+ * All OpenAI models in the catalog.
977
+ *
978
+ * @example
979
+ * ```typescript
980
+ * import { openAIModels } from '@funkai/models/openai'
981
+ *
982
+ * for (const m of openAIModels) {
983
+ * console.log(m.id, m.pricing.input)
984
+ * }
985
+ * ```
986
+ */
987
+ declare const openAIModels: readonly [{
988
+ readonly id: "gpt-4o-2024-11-20";
989
+ readonly name: "GPT-4o (2024-11-20)";
990
+ readonly provider: "openai";
991
+ readonly family: "gpt";
992
+ readonly pricing: {
993
+ readonly input: 0.0000025;
994
+ readonly output: 0.00001;
995
+ readonly cacheRead: 0.00000125;
996
+ };
997
+ readonly contextWindow: 128000;
998
+ readonly maxOutput: 16384;
999
+ readonly modalities: {
1000
+ readonly input: readonly ["text", "image"];
1001
+ readonly output: readonly ["text"];
1002
+ };
1003
+ readonly capabilities: {
1004
+ readonly reasoning: false;
1005
+ readonly toolCall: true;
1006
+ readonly attachment: true;
1007
+ readonly structuredOutput: true;
1008
+ };
1009
+ }, {
1010
+ readonly id: "gpt-5.3-codex";
1011
+ readonly name: "GPT-5.3 Codex";
1012
+ readonly provider: "openai";
1013
+ readonly family: "gpt-codex";
1014
+ readonly pricing: {
1015
+ readonly input: 0.00000175;
1016
+ readonly output: 0.000014;
1017
+ readonly cacheRead: 1.75e-7;
1018
+ };
1019
+ readonly contextWindow: 400000;
1020
+ readonly maxOutput: 128000;
1021
+ readonly modalities: {
1022
+ readonly input: readonly ["text", "image", "pdf"];
1023
+ readonly output: readonly ["text"];
1024
+ };
1025
+ readonly capabilities: {
1026
+ readonly reasoning: true;
1027
+ readonly toolCall: true;
1028
+ readonly attachment: true;
1029
+ readonly structuredOutput: true;
1030
+ };
1031
+ }, {
1032
+ readonly id: "gpt-5-codex";
1033
+ readonly name: "GPT-5-Codex";
1034
+ readonly provider: "openai";
1035
+ readonly family: "gpt-codex";
1036
+ readonly pricing: {
1037
+ readonly input: 0.00000125;
1038
+ readonly output: 0.00001;
1039
+ readonly cacheRead: 1.25e-7;
1040
+ };
1041
+ readonly contextWindow: 400000;
1042
+ readonly maxOutput: 128000;
1043
+ readonly modalities: {
1044
+ readonly input: readonly ["text", "image"];
1045
+ readonly output: readonly ["text"];
1046
+ };
1047
+ readonly capabilities: {
1048
+ readonly reasoning: true;
1049
+ readonly toolCall: true;
1050
+ readonly attachment: false;
1051
+ readonly structuredOutput: true;
1052
+ };
1053
+ }, {
1054
+ readonly id: "gpt-5-pro";
1055
+ readonly name: "GPT-5 Pro";
1056
+ readonly provider: "openai";
1057
+ readonly family: "gpt-pro";
1058
+ readonly pricing: {
1059
+ readonly input: 0.000015;
1060
+ readonly output: 0.00012;
1061
+ };
1062
+ readonly contextWindow: 400000;
1063
+ readonly maxOutput: 272000;
1064
+ readonly modalities: {
1065
+ readonly input: readonly ["text", "image"];
1066
+ readonly output: readonly ["text"];
1067
+ };
1068
+ readonly capabilities: {
1069
+ readonly reasoning: true;
1070
+ readonly toolCall: true;
1071
+ readonly attachment: true;
1072
+ readonly structuredOutput: true;
1073
+ };
1074
+ }, {
1075
+ readonly id: "gpt-4o-mini";
1076
+ readonly name: "GPT-4o mini";
1077
+ readonly provider: "openai";
1078
+ readonly family: "gpt-mini";
1079
+ readonly pricing: {
1080
+ readonly input: 1.5e-7;
1081
+ readonly output: 6e-7;
1082
+ readonly cacheRead: 8e-8;
1083
+ };
1084
+ readonly contextWindow: 128000;
1085
+ readonly maxOutput: 16384;
1086
+ readonly modalities: {
1087
+ readonly input: readonly ["text", "image"];
1088
+ readonly output: readonly ["text"];
1089
+ };
1090
+ readonly capabilities: {
1091
+ readonly reasoning: false;
1092
+ readonly toolCall: true;
1093
+ readonly attachment: true;
1094
+ readonly structuredOutput: true;
1095
+ };
1096
+ }, {
1097
+ readonly id: "text-embedding-ada-002";
1098
+ readonly name: "text-embedding-ada-002";
1099
+ readonly provider: "openai";
1100
+ readonly family: "text-embedding";
1101
+ readonly pricing: {
1102
+ readonly input: 1e-7;
1103
+ readonly output: 0;
1104
+ };
1105
+ readonly contextWindow: 8192;
1106
+ readonly maxOutput: 1536;
1107
+ readonly modalities: {
1108
+ readonly input: readonly ["text"];
1109
+ readonly output: readonly ["text"];
1110
+ };
1111
+ readonly capabilities: {
1112
+ readonly reasoning: false;
1113
+ readonly toolCall: false;
1114
+ readonly attachment: false;
1115
+ readonly structuredOutput: false;
1116
+ };
1117
+ }, {
1118
+ readonly id: "gpt-5-chat-latest";
1119
+ readonly name: "GPT-5 Chat (latest)";
1120
+ readonly provider: "openai";
1121
+ readonly family: "gpt-codex";
1122
+ readonly pricing: {
1123
+ readonly input: 0.00000125;
1124
+ readonly output: 0.00001;
1125
+ };
1126
+ readonly contextWindow: 400000;
1127
+ readonly maxOutput: 128000;
1128
+ readonly modalities: {
1129
+ readonly input: readonly ["text", "image"];
1130
+ readonly output: readonly ["text"];
1131
+ };
1132
+ readonly capabilities: {
1133
+ readonly reasoning: true;
1134
+ readonly toolCall: false;
1135
+ readonly attachment: true;
1136
+ readonly structuredOutput: true;
1137
+ };
1138
+ }, {
1139
+ readonly id: "codex-mini-latest";
1140
+ readonly name: "Codex Mini";
1141
+ readonly provider: "openai";
1142
+ readonly family: "gpt-codex-mini";
1143
+ readonly pricing: {
1144
+ readonly input: 0.0000015;
1145
+ readonly output: 0.000006;
1146
+ readonly cacheRead: 3.75e-7;
1147
+ };
1148
+ readonly contextWindow: 200000;
1149
+ readonly maxOutput: 100000;
1150
+ readonly modalities: {
1151
+ readonly input: readonly ["text"];
1152
+ readonly output: readonly ["text"];
1153
+ };
1154
+ readonly capabilities: {
1155
+ readonly reasoning: true;
1156
+ readonly toolCall: true;
1157
+ readonly attachment: true;
1158
+ readonly structuredOutput: false;
1159
+ };
1160
+ }, {
1161
+ readonly id: "gpt-5.1-codex-max";
1162
+ readonly name: "GPT-5.1 Codex Max";
1163
+ readonly provider: "openai";
1164
+ readonly family: "gpt-codex";
1165
+ readonly pricing: {
1166
+ readonly input: 0.00000125;
1167
+ readonly output: 0.00001;
1168
+ readonly cacheRead: 1.25e-7;
1169
+ };
1170
+ readonly contextWindow: 400000;
1171
+ readonly maxOutput: 128000;
1172
+ readonly modalities: {
1173
+ readonly input: readonly ["text", "image"];
1174
+ readonly output: readonly ["text"];
1175
+ };
1176
+ readonly capabilities: {
1177
+ readonly reasoning: true;
1178
+ readonly toolCall: true;
1179
+ readonly attachment: true;
1180
+ readonly structuredOutput: true;
1181
+ };
1182
+ }, {
1183
+ readonly id: "gpt-4o-2024-05-13";
1184
+ readonly name: "GPT-4o (2024-05-13)";
1185
+ readonly provider: "openai";
1186
+ readonly family: "gpt";
1187
+ readonly pricing: {
1188
+ readonly input: 0.000005;
1189
+ readonly output: 0.000015;
1190
+ };
1191
+ readonly contextWindow: 128000;
1192
+ readonly maxOutput: 4096;
1193
+ readonly modalities: {
1194
+ readonly input: readonly ["text", "image"];
1195
+ readonly output: readonly ["text"];
1196
+ };
1197
+ readonly capabilities: {
1198
+ readonly reasoning: false;
1199
+ readonly toolCall: true;
1200
+ readonly attachment: true;
1201
+ readonly structuredOutput: true;
1202
+ };
1203
+ }, {
1204
+ readonly id: "gpt-5.2-chat-latest";
1205
+ readonly name: "GPT-5.2 Chat";
1206
+ readonly provider: "openai";
1207
+ readonly family: "gpt-codex";
1208
+ readonly pricing: {
1209
+ readonly input: 0.00000175;
1210
+ readonly output: 0.000014;
1211
+ readonly cacheRead: 1.75e-7;
1212
+ };
1213
+ readonly contextWindow: 128000;
1214
+ readonly maxOutput: 16384;
1215
+ readonly modalities: {
1216
+ readonly input: readonly ["text", "image"];
1217
+ readonly output: readonly ["text"];
1218
+ };
1219
+ readonly capabilities: {
1220
+ readonly reasoning: true;
1221
+ readonly toolCall: true;
1222
+ readonly attachment: true;
1223
+ readonly structuredOutput: true;
1224
+ };
1225
+ }, {
1226
+ readonly id: "gpt-5.2-codex";
1227
+ readonly name: "GPT-5.2 Codex";
1228
+ readonly provider: "openai";
1229
+ readonly family: "gpt-codex";
1230
+ readonly pricing: {
1231
+ readonly input: 0.00000175;
1232
+ readonly output: 0.000014;
1233
+ readonly cacheRead: 1.75e-7;
1234
+ };
1235
+ readonly contextWindow: 400000;
1236
+ readonly maxOutput: 128000;
1237
+ readonly modalities: {
1238
+ readonly input: readonly ["text", "image", "pdf"];
1239
+ readonly output: readonly ["text"];
1240
+ };
1241
+ readonly capabilities: {
1242
+ readonly reasoning: true;
1243
+ readonly toolCall: true;
1244
+ readonly attachment: true;
1245
+ readonly structuredOutput: true;
1246
+ };
1247
+ }, {
1248
+ readonly id: "o3-deep-research";
1249
+ readonly name: "o3-deep-research";
1250
+ readonly provider: "openai";
1251
+ readonly family: "o";
1252
+ readonly pricing: {
1253
+ readonly input: 0.00001;
1254
+ readonly output: 0.00004;
1255
+ readonly cacheRead: 0.0000025;
1256
+ };
1257
+ readonly contextWindow: 200000;
1258
+ readonly maxOutput: 100000;
1259
+ readonly modalities: {
1260
+ readonly input: readonly ["text", "image"];
1261
+ readonly output: readonly ["text"];
1262
+ };
1263
+ readonly capabilities: {
1264
+ readonly reasoning: true;
1265
+ readonly toolCall: true;
1266
+ readonly attachment: true;
1267
+ readonly structuredOutput: false;
1268
+ };
1269
+ }, {
1270
+ readonly id: "o1";
1271
+ readonly name: "o1";
1272
+ readonly provider: "openai";
1273
+ readonly family: "o";
1274
+ readonly pricing: {
1275
+ readonly input: 0.000015;
1276
+ readonly output: 0.00006;
1277
+ readonly cacheRead: 0.0000075;
1278
+ };
1279
+ readonly contextWindow: 200000;
1280
+ readonly maxOutput: 100000;
1281
+ readonly modalities: {
1282
+ readonly input: readonly ["text", "image"];
1283
+ readonly output: readonly ["text"];
1284
+ };
1285
+ readonly capabilities: {
1286
+ readonly reasoning: true;
1287
+ readonly toolCall: true;
1288
+ readonly attachment: true;
1289
+ readonly structuredOutput: true;
1290
+ };
1291
+ }, {
1292
+ readonly id: "gpt-5.1";
1293
+ readonly name: "GPT-5.1";
1294
+ readonly provider: "openai";
1295
+ readonly family: "gpt";
1296
+ readonly pricing: {
1297
+ readonly input: 0.00000125;
1298
+ readonly output: 0.00001;
1299
+ readonly cacheRead: 1.3e-7;
1300
+ };
1301
+ readonly contextWindow: 400000;
1302
+ readonly maxOutput: 128000;
1303
+ readonly modalities: {
1304
+ readonly input: readonly ["text", "image"];
1305
+ readonly output: readonly ["text"];
1306
+ };
1307
+ readonly capabilities: {
1308
+ readonly reasoning: true;
1309
+ readonly toolCall: true;
1310
+ readonly attachment: true;
1311
+ readonly structuredOutput: true;
1312
+ };
1313
+ }, {
1314
+ readonly id: "o4-mini-deep-research";
1315
+ readonly name: "o4-mini-deep-research";
1316
+ readonly provider: "openai";
1317
+ readonly family: "o-mini";
1318
+ readonly pricing: {
1319
+ readonly input: 0.000002;
1320
+ readonly output: 0.000008;
1321
+ readonly cacheRead: 5e-7;
1322
+ };
1323
+ readonly contextWindow: 200000;
1324
+ readonly maxOutput: 100000;
1325
+ readonly modalities: {
1326
+ readonly input: readonly ["text", "image"];
1327
+ readonly output: readonly ["text"];
1328
+ };
1329
+ readonly capabilities: {
1330
+ readonly reasoning: true;
1331
+ readonly toolCall: true;
1332
+ readonly attachment: true;
1333
+ readonly structuredOutput: false;
1334
+ };
1335
+ }, {
1336
+ readonly id: "gpt-5.3-codex-spark";
1337
+ readonly name: "GPT-5.3 Codex Spark";
1338
+ readonly provider: "openai";
1339
+ readonly family: "gpt-codex-spark";
1340
+ readonly pricing: {
1341
+ readonly input: 0.00000175;
1342
+ readonly output: 0.000014;
1343
+ readonly cacheRead: 1.75e-7;
1344
+ };
1345
+ readonly contextWindow: 128000;
1346
+ readonly maxOutput: 32000;
1347
+ readonly modalities: {
1348
+ readonly input: readonly ["text", "image", "pdf"];
1349
+ readonly output: readonly ["text"];
1350
+ };
1351
+ readonly capabilities: {
1352
+ readonly reasoning: true;
1353
+ readonly toolCall: true;
1354
+ readonly attachment: true;
1355
+ readonly structuredOutput: true;
1356
+ };
1357
+ }, {
1358
+ readonly id: "o3";
1359
+ readonly name: "o3";
1360
+ readonly provider: "openai";
1361
+ readonly family: "o";
1362
+ readonly pricing: {
1363
+ readonly input: 0.000002;
1364
+ readonly output: 0.000008;
1365
+ readonly cacheRead: 5e-7;
1366
+ };
1367
+ readonly contextWindow: 200000;
1368
+ readonly maxOutput: 100000;
1369
+ readonly modalities: {
1370
+ readonly input: readonly ["text", "image"];
1371
+ readonly output: readonly ["text"];
1372
+ };
1373
+ readonly capabilities: {
1374
+ readonly reasoning: true;
1375
+ readonly toolCall: true;
1376
+ readonly attachment: true;
1377
+ readonly structuredOutput: true;
1378
+ };
1379
+ }, {
1380
+ readonly id: "text-embedding-3-small";
1381
+ readonly name: "text-embedding-3-small";
1382
+ readonly provider: "openai";
1383
+ readonly family: "text-embedding";
1384
+ readonly pricing: {
1385
+ readonly input: 2e-8;
1386
+ readonly output: 0;
1387
+ };
1388
+ readonly contextWindow: 8191;
1389
+ readonly maxOutput: 1536;
1390
+ readonly modalities: {
1391
+ readonly input: readonly ["text"];
1392
+ readonly output: readonly ["text"];
1393
+ };
1394
+ readonly capabilities: {
1395
+ readonly reasoning: false;
1396
+ readonly toolCall: false;
1397
+ readonly attachment: false;
1398
+ readonly structuredOutput: false;
1399
+ };
1400
+ }, {
1401
+ readonly id: "gpt-4.1-nano";
1402
+ readonly name: "GPT-4.1 nano";
1403
+ readonly provider: "openai";
1404
+ readonly family: "gpt-nano";
1405
+ readonly pricing: {
1406
+ readonly input: 1e-7;
1407
+ readonly output: 4e-7;
1408
+ readonly cacheRead: 3e-8;
1409
+ };
1410
+ readonly contextWindow: 1047576;
1411
+ readonly maxOutput: 32768;
1412
+ readonly modalities: {
1413
+ readonly input: readonly ["text", "image"];
1414
+ readonly output: readonly ["text"];
1415
+ };
1416
+ readonly capabilities: {
1417
+ readonly reasoning: false;
1418
+ readonly toolCall: true;
1419
+ readonly attachment: true;
1420
+ readonly structuredOutput: true;
1421
+ };
1422
+ }, {
1423
+ readonly id: "text-embedding-3-large";
1424
+ readonly name: "text-embedding-3-large";
1425
+ readonly provider: "openai";
1426
+ readonly family: "text-embedding";
1427
+ readonly pricing: {
1428
+ readonly input: 1.3e-7;
1429
+ readonly output: 0;
1430
+ };
1431
+ readonly contextWindow: 8191;
1432
+ readonly maxOutput: 3072;
1433
+ readonly modalities: {
1434
+ readonly input: readonly ["text"];
1435
+ readonly output: readonly ["text"];
1436
+ };
1437
+ readonly capabilities: {
1438
+ readonly reasoning: false;
1439
+ readonly toolCall: false;
1440
+ readonly attachment: false;
1441
+ readonly structuredOutput: false;
1442
+ };
1443
+ }, {
1444
+ readonly id: "gpt-3.5-turbo";
1445
+ readonly name: "GPT-3.5-turbo";
1446
+ readonly provider: "openai";
1447
+ readonly family: "gpt";
1448
+ readonly pricing: {
1449
+ readonly input: 5e-7;
1450
+ readonly output: 0.0000015;
1451
+ readonly cacheRead: 0.00000125;
1452
+ };
1453
+ readonly contextWindow: 16385;
1454
+ readonly maxOutput: 4096;
1455
+ readonly modalities: {
1456
+ readonly input: readonly ["text"];
1457
+ readonly output: readonly ["text"];
1458
+ };
1459
+ readonly capabilities: {
1460
+ readonly reasoning: false;
1461
+ readonly toolCall: false;
1462
+ readonly attachment: false;
1463
+ readonly structuredOutput: false;
1464
+ };
1465
+ }, {
1466
+ readonly id: "gpt-5.1-codex-mini";
1467
+ readonly name: "GPT-5.1 Codex mini";
1468
+ readonly provider: "openai";
1469
+ readonly family: "gpt-codex";
1470
+ readonly pricing: {
1471
+ readonly input: 2.5e-7;
1472
+ readonly output: 0.000002;
1473
+ readonly cacheRead: 2.5e-8;
1474
+ };
1475
+ readonly contextWindow: 400000;
1476
+ readonly maxOutput: 128000;
1477
+ readonly modalities: {
1478
+ readonly input: readonly ["text", "image"];
1479
+ readonly output: readonly ["text"];
1480
+ };
1481
+ readonly capabilities: {
1482
+ readonly reasoning: true;
1483
+ readonly toolCall: true;
1484
+ readonly attachment: true;
1485
+ readonly structuredOutput: true;
1486
+ };
1487
+ }, {
1488
+ readonly id: "gpt-5.2";
1489
+ readonly name: "GPT-5.2";
1490
+ readonly provider: "openai";
1491
+ readonly family: "gpt";
1492
+ readonly pricing: {
1493
+ readonly input: 0.00000175;
1494
+ readonly output: 0.000014;
1495
+ readonly cacheRead: 1.75e-7;
1496
+ };
1497
+ readonly contextWindow: 400000;
1498
+ readonly maxOutput: 128000;
1499
+ readonly modalities: {
1500
+ readonly input: readonly ["text", "image"];
1501
+ readonly output: readonly ["text"];
1502
+ };
1503
+ readonly capabilities: {
1504
+ readonly reasoning: true;
1505
+ readonly toolCall: true;
1506
+ readonly attachment: true;
1507
+ readonly structuredOutput: true;
1508
+ };
1509
+ }, {
1510
+ readonly id: "gpt-4.1";
1511
+ readonly name: "GPT-4.1";
1512
+ readonly provider: "openai";
1513
+ readonly family: "gpt";
1514
+ readonly pricing: {
1515
+ readonly input: 0.000002;
1516
+ readonly output: 0.000008;
1517
+ readonly cacheRead: 5e-7;
1518
+ };
1519
+ readonly contextWindow: 1047576;
1520
+ readonly maxOutput: 32768;
1521
+ readonly modalities: {
1522
+ readonly input: readonly ["text", "image"];
1523
+ readonly output: readonly ["text"];
1524
+ };
1525
+ readonly capabilities: {
1526
+ readonly reasoning: false;
1527
+ readonly toolCall: true;
1528
+ readonly attachment: true;
1529
+ readonly structuredOutput: true;
1530
+ };
1531
+ }, {
1532
+ readonly id: "o3-pro";
1533
+ readonly name: "o3-pro";
1534
+ readonly provider: "openai";
1535
+ readonly family: "o-pro";
1536
+ readonly pricing: {
1537
+ readonly input: 0.00002;
1538
+ readonly output: 0.00008;
1539
+ };
1540
+ readonly contextWindow: 200000;
1541
+ readonly maxOutput: 100000;
1542
+ readonly modalities: {
1543
+ readonly input: readonly ["text", "image"];
1544
+ readonly output: readonly ["text"];
1545
+ };
1546
+ readonly capabilities: {
1547
+ readonly reasoning: true;
1548
+ readonly toolCall: true;
1549
+ readonly attachment: true;
1550
+ readonly structuredOutput: true;
1551
+ };
1552
+ }, {
1553
+ readonly id: "gpt-4-turbo";
1554
+ readonly name: "GPT-4 Turbo";
1555
+ readonly provider: "openai";
1556
+ readonly family: "gpt";
1557
+ readonly pricing: {
1558
+ readonly input: 0.00001;
1559
+ readonly output: 0.00003;
1560
+ };
1561
+ readonly contextWindow: 128000;
1562
+ readonly maxOutput: 4096;
1563
+ readonly modalities: {
1564
+ readonly input: readonly ["text", "image"];
1565
+ readonly output: readonly ["text"];
1566
+ };
1567
+ readonly capabilities: {
1568
+ readonly reasoning: false;
1569
+ readonly toolCall: true;
1570
+ readonly attachment: true;
1571
+ readonly structuredOutput: false;
1572
+ };
1573
+ }, {
1574
+ readonly id: "gpt-5";
1575
+ readonly name: "GPT-5";
1576
+ readonly provider: "openai";
1577
+ readonly family: "gpt";
1578
+ readonly pricing: {
1579
+ readonly input: 0.00000125;
1580
+ readonly output: 0.00001;
1581
+ readonly cacheRead: 1.25e-7;
1582
+ };
1583
+ readonly contextWindow: 400000;
1584
+ readonly maxOutput: 128000;
1585
+ readonly modalities: {
1586
+ readonly input: readonly ["text", "image"];
1587
+ readonly output: readonly ["text"];
1588
+ };
1589
+ readonly capabilities: {
1590
+ readonly reasoning: true;
1591
+ readonly toolCall: true;
1592
+ readonly attachment: true;
1593
+ readonly structuredOutput: true;
1594
+ };
1595
+ }, {
1596
+ readonly id: "o4-mini";
1597
+ readonly name: "o4-mini";
1598
+ readonly provider: "openai";
1599
+ readonly family: "o-mini";
1600
+ readonly pricing: {
1601
+ readonly input: 0.0000011;
1602
+ readonly output: 0.0000044;
1603
+ readonly cacheRead: 2.8e-7;
1604
+ };
1605
+ readonly contextWindow: 200000;
1606
+ readonly maxOutput: 100000;
1607
+ readonly modalities: {
1608
+ readonly input: readonly ["text", "image"];
1609
+ readonly output: readonly ["text"];
1610
+ };
1611
+ readonly capabilities: {
1612
+ readonly reasoning: true;
1613
+ readonly toolCall: true;
1614
+ readonly attachment: true;
1615
+ readonly structuredOutput: true;
1616
+ };
1617
+ }, {
1618
+ readonly id: "gpt-4.1-mini";
1619
+ readonly name: "GPT-4.1 mini";
1620
+ readonly provider: "openai";
1621
+ readonly family: "gpt-mini";
1622
+ readonly pricing: {
1623
+ readonly input: 4e-7;
1624
+ readonly output: 0.0000016;
1625
+ readonly cacheRead: 1e-7;
1626
+ };
1627
+ readonly contextWindow: 1047576;
1628
+ readonly maxOutput: 32768;
1629
+ readonly modalities: {
1630
+ readonly input: readonly ["text", "image"];
1631
+ readonly output: readonly ["text"];
1632
+ };
1633
+ readonly capabilities: {
1634
+ readonly reasoning: false;
1635
+ readonly toolCall: true;
1636
+ readonly attachment: true;
1637
+ readonly structuredOutput: true;
1638
+ };
1639
+ }, {
1640
+ readonly id: "gpt-5.4";
1641
+ readonly name: "GPT-5.4";
1642
+ readonly provider: "openai";
1643
+ readonly family: "gpt";
1644
+ readonly pricing: {
1645
+ readonly input: 0.0000025;
1646
+ readonly output: 0.000015;
1647
+ readonly cacheRead: 2.5e-7;
1648
+ };
1649
+ readonly contextWindow: 1050000;
1650
+ readonly maxOutput: 128000;
1651
+ readonly modalities: {
1652
+ readonly input: readonly ["text", "image", "pdf"];
1653
+ readonly output: readonly ["text"];
1654
+ };
1655
+ readonly capabilities: {
1656
+ readonly reasoning: true;
1657
+ readonly toolCall: true;
1658
+ readonly attachment: true;
1659
+ readonly structuredOutput: true;
1660
+ };
1661
+ }, {
1662
+ readonly id: "o1-preview";
1663
+ readonly name: "o1-preview";
1664
+ readonly provider: "openai";
1665
+ readonly family: "o";
1666
+ readonly pricing: {
1667
+ readonly input: 0.000015;
1668
+ readonly output: 0.00006;
1669
+ readonly cacheRead: 0.0000075;
1670
+ };
1671
+ readonly contextWindow: 128000;
1672
+ readonly maxOutput: 32768;
1673
+ readonly modalities: {
1674
+ readonly input: readonly ["text"];
1675
+ readonly output: readonly ["text"];
1676
+ };
1677
+ readonly capabilities: {
1678
+ readonly reasoning: true;
1679
+ readonly toolCall: false;
1680
+ readonly attachment: false;
1681
+ readonly structuredOutput: false;
1682
+ };
1683
+ }, {
1684
+ readonly id: "gpt-5.4-pro";
1685
+ readonly name: "GPT-5.4 Pro";
1686
+ readonly provider: "openai";
1687
+ readonly family: "gpt-pro";
1688
+ readonly pricing: {
1689
+ readonly input: 0.00003;
1690
+ readonly output: 0.00018;
1691
+ };
1692
+ readonly contextWindow: 1050000;
1693
+ readonly maxOutput: 128000;
1694
+ readonly modalities: {
1695
+ readonly input: readonly ["text", "image"];
1696
+ readonly output: readonly ["text"];
1697
+ };
1698
+ readonly capabilities: {
1699
+ readonly reasoning: true;
1700
+ readonly toolCall: true;
1701
+ readonly attachment: true;
1702
+ readonly structuredOutput: false;
1703
+ };
1704
+ }, {
1705
+ readonly id: "o1-pro";
1706
+ readonly name: "o1-pro";
1707
+ readonly provider: "openai";
1708
+ readonly family: "o-pro";
1709
+ readonly pricing: {
1710
+ readonly input: 0.00015;
1711
+ readonly output: 0.0006;
1712
+ };
1713
+ readonly contextWindow: 200000;
1714
+ readonly maxOutput: 100000;
1715
+ readonly modalities: {
1716
+ readonly input: readonly ["text", "image"];
1717
+ readonly output: readonly ["text"];
1718
+ };
1719
+ readonly capabilities: {
1720
+ readonly reasoning: true;
1721
+ readonly toolCall: true;
1722
+ readonly attachment: true;
1723
+ readonly structuredOutput: true;
1724
+ };
1725
+ }, {
1726
+ readonly id: "gpt-5.1-codex";
1727
+ readonly name: "GPT-5.1 Codex";
1728
+ readonly provider: "openai";
1729
+ readonly family: "gpt-codex";
1730
+ readonly pricing: {
1731
+ readonly input: 0.00000125;
1732
+ readonly output: 0.00001;
1733
+ readonly cacheRead: 1.25e-7;
1734
+ };
1735
+ readonly contextWindow: 400000;
1736
+ readonly maxOutput: 128000;
1737
+ readonly modalities: {
1738
+ readonly input: readonly ["text", "image"];
1739
+ readonly output: readonly ["text"];
1740
+ };
1741
+ readonly capabilities: {
1742
+ readonly reasoning: true;
1743
+ readonly toolCall: true;
1744
+ readonly attachment: true;
1745
+ readonly structuredOutput: true;
1746
+ };
1747
+ }, {
1748
+ readonly id: "gpt-5.2-pro";
1749
+ readonly name: "GPT-5.2 Pro";
1750
+ readonly provider: "openai";
1751
+ readonly family: "gpt-pro";
1752
+ readonly pricing: {
1753
+ readonly input: 0.000021;
1754
+ readonly output: 0.000168;
1755
+ };
1756
+ readonly contextWindow: 400000;
1757
+ readonly maxOutput: 128000;
1758
+ readonly modalities: {
1759
+ readonly input: readonly ["text", "image"];
1760
+ readonly output: readonly ["text"];
1761
+ };
1762
+ readonly capabilities: {
1763
+ readonly reasoning: true;
1764
+ readonly toolCall: true;
1765
+ readonly attachment: true;
1766
+ readonly structuredOutput: false;
1767
+ };
1768
+ }, {
1769
+ readonly id: "o3-mini";
1770
+ readonly name: "o3-mini";
1771
+ readonly provider: "openai";
1772
+ readonly family: "o-mini";
1773
+ readonly pricing: {
1774
+ readonly input: 0.0000011;
1775
+ readonly output: 0.0000044;
1776
+ readonly cacheRead: 5.5e-7;
1777
+ };
1778
+ readonly contextWindow: 200000;
1779
+ readonly maxOutput: 100000;
1780
+ readonly modalities: {
1781
+ readonly input: readonly ["text"];
1782
+ readonly output: readonly ["text"];
1783
+ };
1784
+ readonly capabilities: {
1785
+ readonly reasoning: true;
1786
+ readonly toolCall: true;
1787
+ readonly attachment: false;
1788
+ readonly structuredOutput: true;
1789
+ };
1790
+ }, {
1791
+ readonly id: "gpt-4o-2024-08-06";
1792
+ readonly name: "GPT-4o (2024-08-06)";
1793
+ readonly provider: "openai";
1794
+ readonly family: "gpt";
1795
+ readonly pricing: {
1796
+ readonly input: 0.0000025;
1797
+ readonly output: 0.00001;
1798
+ readonly cacheRead: 0.00000125;
1799
+ };
1800
+ readonly contextWindow: 128000;
1801
+ readonly maxOutput: 16384;
1802
+ readonly modalities: {
1803
+ readonly input: readonly ["text", "image"];
1804
+ readonly output: readonly ["text"];
1805
+ };
1806
+ readonly capabilities: {
1807
+ readonly reasoning: false;
1808
+ readonly toolCall: true;
1809
+ readonly attachment: true;
1810
+ readonly structuredOutput: true;
1811
+ };
1812
+ }, {
1813
+ readonly id: "gpt-5-mini";
1814
+ readonly name: "GPT-5 Mini";
1815
+ readonly provider: "openai";
1816
+ readonly family: "gpt-mini";
1817
+ readonly pricing: {
1818
+ readonly input: 2.5e-7;
1819
+ readonly output: 0.000002;
1820
+ readonly cacheRead: 2.5e-8;
1821
+ };
1822
+ readonly contextWindow: 400000;
1823
+ readonly maxOutput: 128000;
1824
+ readonly modalities: {
1825
+ readonly input: readonly ["text", "image"];
1826
+ readonly output: readonly ["text"];
1827
+ };
1828
+ readonly capabilities: {
1829
+ readonly reasoning: true;
1830
+ readonly toolCall: true;
1831
+ readonly attachment: true;
1832
+ readonly structuredOutput: true;
1833
+ };
1834
+ }, {
1835
+ readonly id: "gpt-5.1-chat-latest";
1836
+ readonly name: "GPT-5.1 Chat";
1837
+ readonly provider: "openai";
1838
+ readonly family: "gpt-codex";
1839
+ readonly pricing: {
1840
+ readonly input: 0.00000125;
1841
+ readonly output: 0.00001;
1842
+ readonly cacheRead: 1.25e-7;
1843
+ };
1844
+ readonly contextWindow: 128000;
1845
+ readonly maxOutput: 16384;
1846
+ readonly modalities: {
1847
+ readonly input: readonly ["text", "image"];
1848
+ readonly output: readonly ["text"];
1849
+ };
1850
+ readonly capabilities: {
1851
+ readonly reasoning: true;
1852
+ readonly toolCall: true;
1853
+ readonly attachment: true;
1854
+ readonly structuredOutput: true;
1855
+ };
1856
+ }, {
1857
+ readonly id: "gpt-4";
1858
+ readonly name: "GPT-4";
1859
+ readonly provider: "openai";
1860
+ readonly family: "gpt";
1861
+ readonly pricing: {
1862
+ readonly input: 0.00003;
1863
+ readonly output: 0.00006;
1864
+ };
1865
+ readonly contextWindow: 8192;
1866
+ readonly maxOutput: 8192;
1867
+ readonly modalities: {
1868
+ readonly input: readonly ["text"];
1869
+ readonly output: readonly ["text"];
1870
+ };
1871
+ readonly capabilities: {
1872
+ readonly reasoning: false;
1873
+ readonly toolCall: true;
1874
+ readonly attachment: true;
1875
+ readonly structuredOutput: false;
1876
+ };
1877
+ }, {
1878
+ readonly id: "gpt-5-nano";
1879
+ readonly name: "GPT-5 Nano";
1880
+ readonly provider: "openai";
1881
+ readonly family: "gpt-nano";
1882
+ readonly pricing: {
1883
+ readonly input: 5e-8;
1884
+ readonly output: 4e-7;
1885
+ readonly cacheRead: 5e-9;
1886
+ };
1887
+ readonly contextWindow: 400000;
1888
+ readonly maxOutput: 128000;
1889
+ readonly modalities: {
1890
+ readonly input: readonly ["text", "image"];
1891
+ readonly output: readonly ["text"];
1892
+ };
1893
+ readonly capabilities: {
1894
+ readonly reasoning: true;
1895
+ readonly toolCall: true;
1896
+ readonly attachment: true;
1897
+ readonly structuredOutput: true;
1898
+ };
1899
+ }, {
1900
+ readonly id: "o1-mini";
1901
+ readonly name: "o1-mini";
1902
+ readonly provider: "openai";
1903
+ readonly family: "o-mini";
1904
+ readonly pricing: {
1905
+ readonly input: 0.0000011;
1906
+ readonly output: 0.0000044;
1907
+ readonly cacheRead: 5.5e-7;
1908
+ };
1909
+ readonly contextWindow: 128000;
1910
+ readonly maxOutput: 65536;
1911
+ readonly modalities: {
1912
+ readonly input: readonly ["text"];
1913
+ readonly output: readonly ["text"];
1914
+ };
1915
+ readonly capabilities: {
1916
+ readonly reasoning: true;
1917
+ readonly toolCall: false;
1918
+ readonly attachment: false;
1919
+ readonly structuredOutput: true;
1920
+ };
1921
+ }, {
1922
+ readonly id: "gpt-4o";
1923
+ readonly name: "GPT-4o";
1924
+ readonly provider: "openai";
1925
+ readonly family: "gpt";
1926
+ readonly pricing: {
1927
+ readonly input: 0.0000025;
1928
+ readonly output: 0.00001;
1929
+ readonly cacheRead: 0.00000125;
1930
+ };
1931
+ readonly contextWindow: 128000;
1932
+ readonly maxOutput: 16384;
1933
+ readonly modalities: {
1934
+ readonly input: readonly ["text", "image"];
1935
+ readonly output: readonly ["text"];
1936
+ };
1937
+ readonly capabilities: {
1938
+ readonly reasoning: false;
1939
+ readonly toolCall: true;
1940
+ readonly attachment: true;
1941
+ readonly structuredOutput: true;
1942
+ };
1943
+ }];
1944
+ /**
1945
+ * Look up an OpenAI model by ID.
1946
+ *
1947
+ * @param id - The provider-native model identifier.
1948
+ * @returns The matching model definition, or `null`.
1949
+ *
1950
+ * @example
1951
+ * ```typescript
1952
+ * import { openAIModel } from '@funkai/models/openai'
1953
+ *
1954
+ * const m = openAIModel('gpt-4o-2024-11-20')
1955
+ * if (m) {
1956
+ * console.log(m.pricing.input)
1957
+ * }
1958
+ * ```
1959
+ */
1960
+ declare function openAIModel(id: LiteralUnion<OpenAIModelId, string>): ModelDefinition | null;
1961
+ //#endregion
1962
+ export { OpenAIModelId, openAIModel, openAIModels };
1963
+ //# sourceMappingURL=openai.d.mts.map