PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 3.4.2
AI Engine – The Chatbot, AI Framework & MCP for WordPress v3.4.2
3.5.7 3.5.6 3.5.5 3.5.4 3.5.3 3.5.2 3.5.1 3.5.0 3.4.9 3.4.8 3.4.7 0.2.1 1.6.91 0.2.2 1.6.92 0.2.3 1.6.93 0.2.4 1.6.94 0.2.5 1.6.95 0.2.6 1.6.96 0.2.7 1.6.97 0.2.8 1.6.98 0.2.9 1.6.99 0.3.0 1.7.0 0.3.1 1.7.1 0.3.2 1.7.2 0.3.3 1.7.3 0.3.4 1.7.4 0.3.5 1.7.5 0.3.6 1.7.6 0.4.0 1.7.7 0.4.1 1.7.8 0.4.2 1.7.9 0.4.3 1.8.0 0.4.4 1.8.1 0.4.5 1.8.2 0.4.6 1.8.3 0.4.7 1.8.4 0.4.8 1.8.5 0.4.9 1.8.6 0.5.0 1.8.7 0.5.1 1.8.8 0.5.2 1.8.9 0.5.3 1.9.0 0.5.4 1.9.1 0.5.5 1.9.2 0.5.6 1.9.3 0.5.7 1.9.4 0.5.8 1.9.5 0.5.9 1.9.6 0.6.0 1.9.7 0.6.1 1.9.8 0.6.2 1.9.81 0.6.3 1.9.82 0.6.4 1.9.83 0.6.5 1.9.84 0.6.6 1.9.85 0.6.7 1.9.86 0.6.8 1.9.87 0.6.9 1.9.88 0.7.0 1.9.89 0.7.1 1.9.90 0.7.2 1.9.91 0.7.3 1.9.92 0.7.4 1.9.93 0.7.5 1.9.94 0.7.6 1.9.95 0.7.7 1.9.96 0.7.8 1.9.97 0.7.9 1.9.98 0.8.0 1.9.99 0.8.1 2.0.0 0.8.2 2.0.1 0.8.3 2.0.2 0.8.4 2.0.3 0.8.5 2.0.4 0.8.6 2.0.5 0.8.7 2.0.6 0.8.8 2.0.7 0.8.9 2.0.8 0.9.0 2.0.9 0.9.2 2.1.0 0.9.3 2.1.1 0.9.4 2.1.2 0.9.5 2.1.3 0.9.6 2.1.4 0.9.7 2.1.5 0.9.8 2.1.6 0.9.81 2.1.7 0.9.82 2.1.8 0.9.83 2.1.9 0.9.84 2.2.0 0.9.85 2.2.1 0.9.86 2.2.2 0.9.87 2.2.3 0.9.88 2.2.4 0.9.89 2.2.5 0.9.9 2.2.51 0.9.91 2.2.52 0.9.92 2.2.53 0.9.93 2.2.54 0.9.94 2.2.56 0.9.95 2.2.57 0.9.96 2.2.6 0.9.97 2.2.60 0.9.98 2.2.61 0.9.99 2.2.62 1.0.0 2.2.63 1.0.01 2.2.70 1.0.1 2.2.80 1.0.2 2.2.81 1.0.3 2.2.90 1.0.4 2.2.91 1.0.5 2.2.92 1.0.6 2.2.93 1.0.7 2.2.94 1.0.8 2.2.95 1.0.9 2.3.0 1.1.0 2.3.1 1.1.1 2.3.2 1.1.2 2.3.3 1.1.3 2.3.4 1.1.4 2.3.5 1.1.5 2.3.6 1.1.6 2.3.7 1.1.7 2.3.8 1.1.8 2.3.9 1.1.9 2.4.0 1.2.0 2.4.1 1.2.1 2.4.2 1.2.2 2.4.3 1.2.21 2.4.4 1.2.3 2.4.5 1.2.30 2.4.6 1.3.0 2.4.7 1.3.1 2.4.8 1.3.2 2.4.9 1.3.3 2.5.0 1.3.31 2.5.1 1.3.32 2.5.2 1.3.33 2.5.3 1.3.34 2.5.4 1.3.35 2.5.5 1.3.36 2.5.6 1.3.37 2.5.7 1.3.38 2.5.8 1.3.39 2.5.9 1.3.40 2.6.0 1.3.41 2.6.1 1.3.42 2.6.2 1.3.43 2.6.3 1.3.44 2.6.5 1.3.45 2.6.6 1.3.46 2.6.7 1.3.47 2.6.8 1.3.48 2.6.9 1.3.49 2.7.0 1.3.50 2.7.1 1.3.51 2.7.2 1.3.52 2.7.3 1.3.53 2.7.4 1.3.54 2.7.5 1.3.56 2.7.6 1.3.57 2.7.7 1.3.58 2.7.8 1.3.59 2.7.9 1.3.60 2.8.0 1.3.61 2.8.1 1.3.62 2.8.2 1.3.63 2.8.3 1.3.64 2.8.4 1.3.65 2.8.5 1.3.66 2.8.6 1.3.67 2.8.7 1.3.68 2.8.8 1.3.69 2.8.9 1.3.70 2.9.0 1.3.71 2.9.1 1.3.72 2.9.2 1.3.73 2.9.3 1.3.74 2.9.4 1.3.75 2.9.5 1.3.76 2.9.6 1.3.77 2.9.7 1.3.78 2.9.8 1.3.79 2.9.9 1.3.80 3.0.0 1.3.81 3.0.1 1.3.82 3.0.2 1.3.83 3.0.3 1.3.84 3.0.4 1.3.85 3.0.5 1.3.86 3.0.6 1.3.87 3.0.7 1.3.88 3.0.8 1.3.89 3.0.9 1.3.90 3.1.0 1.3.91 3.1.1 1.3.92 3.1.2 1.3.93 3.1.3 1.3.94 3.1.4 1.3.95 3.1.5 1.3.96 3.1.6 1.3.97 3.1.7 1.3.98 3.1.8 1.3.99 3.1.9 1.4.0 3.2.0 1.4.1 3.2.1 1.4.2 3.2.2 1.4.3 3.2.3 1.4.4 3.2.4 1.4.5 3.2.5 1.4.6 3.2.6 1.4.7 3.2.7 1.4.8 3.2.8 1.4.9 3.2.9 1.5.0 3.3.0 1.5.1 3.3.1 1.5.2 3.3.2 1.5.3 3.3.3 1.5.4 3.3.4 1.5.5 3.3.5 1.5.6 3.3.6 1.5.7 3.3.7 1.5.8 3.3.8 1.5.9 3.3.9 1.6.0 3.4.0 1.6.1 3.4.1 1.6.2 3.4.2 1.6.3 3.4.3 1.6.5 3.4.4 1.6.51 3.4.5 1.6.52 3.4.6 1.6.53 1.6.54 1.6.55 1.6.56 1.6.57 1.6.58 1.6.59 1.6.60 1.6.61 1.6.62 1.6.63 1.6.64 1.6.65 1.6.66 1.6.67 1.6.68 trunk 1.6.69 0.0.1 1.6.70 0.0.2 1.6.71 0.0.3 1.6.72 0.0.4 1.6.73 0.0.5 1.6.74 0.0.6 1.6.75 0.0.7 1.6.76 0.0.8 1.6.77 0.0.9 1.6.78 0.1.0 1.6.79 0.1.1 1.6.81 0.1.2 1.6.82 0.1.3 1.6.83 0.1.4 1.6.84 0.1.5 1.6.85 0.1.6 1.6.86 0.1.7 1.6.87 0.1.8 1.6.88 0.1.9 1.6.89 0.2.0 1.6.90
ai-engine / constants / models.php
ai-engine / constants Last commit date
engines.php 7 months ago init.php 3 months ago models.php 3 months ago types.php 1 year ago
models.php
1285 lines
1 <?php
2
3 // Price as of June 2024: https://openai.com/api/pricing/
4
5 define( 'MWAI_OPENAI_MODELS', [
6 /*
7 GPT-5.4
8 Our most capable model for professional work
9 https://platform.openai.com/docs/models/gpt-5.4
10 */
11 [
12 'model' => 'gpt-5.4',
13 'name' => 'GPT-5.4',
14 'family' => 'gpt-5',
15 'features' => ['completion'],
16 'price' => [
17 'in' => 2.50,
18 'out' => 15.00,
19 ],
20 'type' => 'token',
21 'unit' => 1 / 1000000,
22 'maxCompletionTokens' => 128000,
23 'maxContextualTokens' => 1050000,
24 'finetune' => false,
25 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp', 'reasoning', 'verbosity'],
26 'tools' => ['web_search', 'image_generation', 'file_search', 'code_interpreter'],
27 'params' => [
28 'reasoning' => ['none', 'low', 'medium', 'high', 'xhigh'],
29 'verbosity' => ['low', 'medium', 'high']
30 ]
31 ],
32 /*
33 GPT-5.2
34 The best model for coding and agentic tasks across industries
35 https://platform.openai.com/docs/models/gpt-5.2
36 */
37 [
38 'model' => 'gpt-5.2',
39 'name' => 'GPT-5.2',
40 'family' => 'gpt-5',
41 'features' => ['completion'],
42 'price' => [
43 'in' => 1.75,
44 'out' => 14.00,
45 ],
46 'type' => 'token',
47 'unit' => 1 / 1000000,
48 'maxCompletionTokens' => 128000,
49 'maxContextualTokens' => 400000,
50 'finetune' => false,
51 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp', 'reasoning', 'verbosity'],
52 'tools' => ['web_search', 'image_generation', 'file_search', 'code_interpreter'],
53 'params' => [
54 'reasoning' => ['none', 'low', 'medium', 'high', 'xhigh'],
55 'verbosity' => ['low', 'medium', 'high']
56 ]
57 ],
58 /*
59 GPT-5.2 Chat
60 GPT-5.2 model used in ChatGPT
61 https://platform.openai.com/docs/models/gpt-5.2
62 */
63 [
64 'model' => 'gpt-5.2-chat-latest',
65 'name' => 'GPT-5.2 Chat',
66 'family' => 'gpt-5',
67 'features' => ['completion'],
68 'price' => [
69 'in' => 1.75,
70 'out' => 14.00,
71 ],
72 'type' => 'token',
73 'unit' => 1 / 1000000,
74 'maxCompletionTokens' => 128000,
75 'maxContextualTokens' => 400000,
76 'finetune' => false,
77 'tags' => ['core', 'chat', 'vision', 'files', 'responses', 'mcp'],
78 'tools' => ['web_search', 'file_search', 'code_interpreter']
79 ],
80 /*
81 GPT-5.2 Pro
82 Version of GPT-5.2 that produces smarter and more precise responses
83 https://platform.openai.com/docs/models/gpt-5.2-pro
84 */
85 [
86 'model' => 'gpt-5.2-pro',
87 'name' => 'GPT-5.2 Pro',
88 'family' => 'gpt-5',
89 'features' => ['completion'],
90 'price' => [
91 'in' => 21.00,
92 'out' => 168.00,
93 ],
94 'type' => 'token',
95 'unit' => 1 / 1000000,
96 'maxCompletionTokens' => 128000,
97 'maxContextualTokens' => 400000,
98 'finetune' => false,
99 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp', 'reasoning', 'verbosity'],
100 'tools' => ['web_search', 'image_generation', 'file_search', 'code_interpreter'],
101 'params' => [
102 'reasoning' => ['medium', 'high', 'xhigh'],
103 'verbosity' => ['low', 'medium', 'high']
104 ]
105 ],
106 /*
107 GPT-5.1
108 Demo model with enhanced capabilities
109 https://platform.openai.com/docs/models/gpt-5.1
110 */
111 [
112 'model' => 'gpt-5.1',
113 'name' => 'GPT-5.1',
114 'family' => 'gpt-5',
115 'features' => ['completion'],
116 'price' => [
117 'in' => 1.25,
118 'out' => 10.00,
119 ],
120 'type' => 'token',
121 'unit' => 1 / 1000000,
122 'maxCompletionTokens' => 128000,
123 'maxContextualTokens' => 400000,
124 'finetune' => false,
125 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp', 'reasoning', 'verbosity'],
126 'tools' => ['web_search', 'image_generation', 'file_search', 'code_interpreter'],
127 'params' => [
128 'reasoning' => ['none', 'minimal', 'low', 'medium', 'high'],
129 'verbosity' => ['low', 'medium', 'high']
130 ]
131 ],
132 /*
133 GPT-5
134 The best model for coding and agentic tasks across domains
135 https://platform.openai.com/docs/models/gpt-5
136 */
137 [
138 'model' => 'gpt-5',
139 'name' => 'GPT-5',
140 'family' => 'gpt-5',
141 'features' => ['completion'],
142 'price' => [
143 'in' => 1.25,
144 'out' => 10.00,
145 ],
146 'type' => 'token',
147 'unit' => 1 / 1000000,
148 'maxCompletionTokens' => 128000,
149 'maxContextualTokens' => 400000,
150 'finetune' => false,
151 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp', 'reasoning', 'verbosity'],
152 'tools' => ['web_search', 'image_generation', 'file_search', 'code_interpreter'],
153 'params' => [
154 'reasoning' => ['none', 'minimal', 'low', 'medium', 'high'],
155 'verbosity' => ['low', 'medium', 'high']
156 ]
157 ],
158 /*
159 GPT-5 Mini
160 Efficient and cost-effective GPT-5 variant
161 https://platform.openai.com/docs/models/gpt-5-mini
162 */
163 [
164 'model' => 'gpt-5-mini',
165 'name' => 'GPT-5 Mini',
166 'family' => 'gpt-5',
167 'features' => ['completion'],
168 'price' => [
169 'in' => 0.25,
170 'out' => 2.00,
171 ],
172 'type' => 'token',
173 'unit' => 1 / 1000000,
174 'maxCompletionTokens' => 128000,
175 'maxContextualTokens' => 400000,
176 'finetune' => false,
177 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp', 'reasoning', 'verbosity'],
178 'tools' => ['web_search', 'image_generation', 'file_search', 'code_interpreter'],
179 'params' => [
180 'reasoning' => ['none', 'minimal', 'low', 'medium', 'high'],
181 'verbosity' => ['low', 'medium', 'high']
182 ]
183 ],
184 /*
185 GPT-5 Nano
186 Ultra-fast and lightweight GPT-5 model
187 https://platform.openai.com/docs/models/gpt-5-nano
188 */
189 [
190 'model' => 'gpt-5-nano',
191 'name' => 'GPT-5 Nano',
192 'family' => 'gpt-5',
193 'features' => ['completion'],
194 'price' => [
195 'in' => 0.05,
196 'out' => 0.40,
197 ],
198 'type' => 'token',
199 'unit' => 1 / 1000000,
200 'maxCompletionTokens' => 128000,
201 'maxContextualTokens' => 400000,
202 'finetune' => false,
203 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp', 'reasoning', 'verbosity'],
204 'tools' => ['web_search', 'image_generation', 'file_search', 'code_interpreter'],
205 'params' => [
206 'reasoning' => ['none', 'minimal', 'low', 'medium', 'high'],
207 'verbosity' => ['low', 'medium', 'high']
208 ]
209 ],
210 /*
211 GPT-5 Chat
212 GPT-5 model used in ChatGPT
213 https://platform.openai.com/docs/models/gpt-5
214 */
215 [
216 'model' => 'gpt-5-chat-latest',
217 'name' => 'GPT-5 Chat',
218 'family' => 'gpt-5',
219 'features' => ['completion'],
220 'price' => [
221 'in' => 1.25,
222 'out' => 10.00,
223 ],
224 'type' => 'token',
225 'unit' => 1 / 1000000,
226 'maxCompletionTokens' => 16384,
227 'maxContextualTokens' => 128000,
228 'finetune' => false,
229 'tags' => ['core', 'chat', 'vision', 'files', 'responses', 'mcp'],
230 'tools' => ['web_search', 'file_search', 'code_interpreter'],
231 'params' => [
232 'verbosity' => ['low', 'medium', 'high']
233 ]
234 ],
235 /*
236 GPT-5 Pro
237 Version of GPT-5 that produces smarter and more precise responses
238 https://platform.openai.com/docs/models/gpt-5
239 */
240 [
241 'model' => 'gpt-5-pro',
242 'name' => 'GPT-5 Pro',
243 'family' => 'gpt-5',
244 'features' => ['completion'],
245 'price' => [
246 'in' => 15.00,
247 'out' => 120.00,
248 ],
249 'type' => 'token',
250 'unit' => 1 / 1000000,
251 'maxCompletionTokens' => 272000,
252 'maxContextualTokens' => 400000,
253 'finetune' => false,
254 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp', 'reasoning', 'verbosity'],
255 'tools' => ['web_search', 'image_generation', 'file_search', 'code_interpreter'],
256 'params' => [
257 'reasoning' => ['none', 'minimal', 'low', 'medium', 'high'],
258 'verbosity' => ['low', 'medium', 'high']
259 ]
260 ],
261 /*
262 GPT 4.1
263 Flagship GPT model for complex tasks
264 https://platform.openai.com/docs/models/gpt-4.1
265 */
266 [
267 'model' => 'gpt-4.1',
268 'name' => 'GPT-4.1',
269 'family' => 'gpt-4',
270 'features' => ['completion'],
271 'price' => [
272 'in' => 2.00,
273 'out' => 8.00,
274 ],
275 'type' => 'token',
276 'unit' => 1 / 1000000,
277 'maxCompletionTokens' => 32768,
278 'maxContextualTokens' => 1047576,
279 'finetune' => false,
280 'tags' => ['core', 'chat', 'vision', 'functions', 'json', 'finetune', 'responses', 'mcp', 'deprecated'],
281 'tools' => ['web_search', 'image_generation', 'code_interpreter']
282 ],
283 /*
284 GPT-4.1 mini
285 Balanced for intelligence, speed, and cost
286 https://platform.openai.com/docs/models/gpt-4.1-mini
287 */
288 [
289 'model' => 'gpt-4.1-mini',
290 'name' => 'GPT-4.1 Mini',
291 'family' => 'gpt-4',
292 'features' => ['completion'],
293 'price' => [
294 'in' => 0.40,
295 'out' => 1.60,
296 ],
297 'type' => 'token',
298 'unit' => 1 / 1000000,
299 'maxCompletionTokens' => 32768,
300 'maxContextualTokens' => 1047576,
301 'finetune' => false,
302 'tags' => ['core', 'chat', 'vision', 'functions', 'json', 'finetune', 'responses', 'mcp', 'deprecated'],
303 'tools' => ['web_search', 'image_generation', 'code_interpreter']
304 ],
305 /*
306 GPT-4.1 nano
307 Fastest, most cost-effective GPT-4.1 model
308 https://platform.openai.com/docs/models/gpt-4.1-nano
309 */
310 [
311 'model' => 'gpt-4.1-nano',
312 'name' => 'GPT-4.1 Nano',
313 'family' => 'gpt-4',
314 'features' => ['completion'],
315 'price' => [
316 'in' => 0.10,
317 'out' => 0.40,
318 ],
319 'type' => 'token',
320 'unit' => 1 / 1000000,
321 'maxCompletionTokens' => 32768,
322 'maxContextualTokens' => 1047576,
323 'finetune' => false,
324 'tags' => ['core', 'chat', 'vision', 'functions', 'json', 'finetune', 'responses', 'mcp'],
325 'tools' => ['image_generation']
326 ],
327 /*
328 GPT-4o
329 Fast, intelligent, flexible GPT model
330 https://platform.openai.com/docs/models/gpt-4o
331 */
332 [
333 'model' => 'gpt-4o',
334 'name' => 'GPT-4o',
335 'family' => 'gpt-4',
336 'features' => ['completion'],
337 'price' => [
338 'in' => 2.50,
339 'out' => 10.00,
340 ],
341 'type' => 'token',
342 'unit' => 1 / 1000000,
343 'maxCompletionTokens' => 16384,
344 'maxContextualTokens' => 128000,
345 'finetune' => false,
346 'tags' => ['core', 'chat', 'vision', 'functions', 'json', 'finetune', 'mcp', 'responses', 'deprecated'],
347 'tools' => ['web_search', 'image_generation', 'code_interpreter']
348 ],
349 /*
350 GPT-4o mini
351 Fast, affordable small model for focused tasks
352 https://platform.openai.com/docs/models/gpt-4o-mini
353 */
354 [
355 'model' => 'gpt-4o-mini',
356 'name' => 'GPT-4o Mini',
357 'family' => 'gpt-4',
358 'features' => ['completion'],
359 'price' => [
360 'in' => 0.15,
361 'out' => 0.60,
362 ],
363 'type' => 'token',
364 'unit' => 1 / 1000000,
365 'maxCompletionTokens' => 16384,
366 'maxContextualTokens' => 128000,
367 'finetune' => [
368 'in' => 0.15,
369 'out' => 0.60,
370 'train' => 3.00
371 ],
372 'tags' => ['core', 'chat', 'vision', 'functions', 'json', 'finetune', 'mcp', 'responses', 'deprecated'],
373 'tools' => ['web_search', 'image_generation', 'code_interpreter']
374 ],
375 /*
376 o3
377 Advanced reasoning model
378 https://platform.openai.com/docs/models/o3
379 */
380 [
381 'model' => 'o3',
382 'name' => 'o3',
383 'family' => 'o3',
384 'features' => ['completion'],
385 'price' => [
386 'in' => 15.00,
387 'out' => 60.00,
388 ],
389 'type' => 'token',
390 'unit' => 1 / 1000000,
391 'maxCompletionTokens' => 100000,
392 'maxContextualTokens' => 200000,
393 'tags' => ['core', 'chat', 'o1-model', 'reasoning', 'responses', 'mcp'],
394 'tools' => ['web_search', 'image_generation', 'code_interpreter']
395 ],
396 /*
397 o3-mini
398 Fast, flexible, intelligent reasoning model
399 https://platform.openai.com/docs/models/o3-mini
400 */
401 [
402 'model' => 'o3-mini',
403 'name' => 'o3 Mini',
404 'family' => 'o3',
405 'features' => ['completion'],
406 'price' => [
407 'in' => 1.10,
408 'out' => 4.40,
409 ],
410 'type' => 'token',
411 'unit' => 1 / 1000000,
412 'maxCompletionTokens' => 100000,
413 'maxContextualTokens' => 200000,
414 'tags' => ['core', 'chat', 'o1-model', 'reasoning', 'responses', 'mcp'],
415 'tools' => ['web_search', 'image_generation', 'code_interpreter']
416 ],
417 /*
418 GPT Realtime
419 Production-ready speech-to-speech model with MCP, image input, and SIP support
420 https://platform.openai.com/docs/models/gpt-realtime
421 */
422 [
423 'model' => 'gpt-realtime',
424 'name' => 'GPT Realtime',
425 'family' => 'realtime',
426 'features' => ['core', 'realtime', 'functions'],
427 'price' => [
428 'text' => [
429 'in' => 4.00,
430 'cache' => 0.40,
431 'out' => 16.00,
432 ],
433 'audio' => [
434 'in' => 32.00,
435 'cache' => 0.40,
436 'out' => 64.00,
437 ],
438 'image' => [
439 'in' => 5.00,
440 'cache' => 0.50,
441 ]
442 ],
443 'type' => 'token',
444 'unit' => 1 / 1000000,
445 'maxCompletionTokens' => 4096,
446 'maxContextualTokens' => 128000,
447 'finetune' => false,
448 'tags' => ['core', 'realtime', 'functions', 'vision', 'mcp']
449 ],
450 /*
451 GPT Realtime Mini
452 Cost-efficient version of GPT Realtime
453 https://platform.openai.com/docs/models/gpt-realtime-mini
454 */
455 [
456 'model' => 'gpt-realtime-mini',
457 'name' => 'GPT Realtime Mini',
458 'family' => 'realtime',
459 'features' => ['core', 'realtime', 'functions'],
460 'price' => [
461 'text' => [
462 'in' => 0.60,
463 'cache' => 0.06,
464 'out' => 2.40,
465 ],
466 'audio' => [
467 'in' => 10.00,
468 'cache' => 0.06,
469 'out' => 20.00,
470 ]
471 ],
472 'type' => 'token',
473 'unit' => 1 / 1000000,
474 'maxCompletionTokens' => 4096,
475 'maxContextualTokens' => 32000,
476 'finetune' => false,
477 'tags' => ['core', 'realtime', 'functions', 'vision']
478 ],
479 /*
480 GPT-4o Realtime
481 Model capable of realtime text and audio inputs and outputs
482 https://platform.openai.com/docs/models/gpt-4o-realtime-preview
483 */
484 [
485 'model' => 'gpt-4o-realtime-preview',
486 'name' => 'GPT-4o Realtime (Preview)',
487 'family' => 'realtime',
488 'features' => ['core', 'realtime', 'functions'],
489 'price' => [
490 'text' => [
491 'in' => 5.00,
492 'cache' => 2.50,
493 'out' => 20.00,
494 ],
495 'audio' => [
496 'in' => 40.00,
497 'cache' => 2.50,
498 'out' => 80.00,
499 ]
500 ],
501 'type' => 'token',
502 'unit' => 1 / 1000000,
503 'maxCompletionTokens' => 4096,
504 'maxContextualTokens' => 128000,
505 'finetune' => false,
506 'tags' => ['core', 'realtime', 'functions', 'vision', 'deprecated']
507 ],
508 /*
509 GPT-4o mini Realtime
510 Smaller realtime model for text and audio inputs and outputs
511 https://platform.openai.com/docs/models/gpt-4o-mini-realtime-preview
512 */
513 [
514 'model' => 'gpt-4o-mini-realtime-preview',
515 'name' => 'GPT-4o Mini Realtime (Preview)',
516 'family' => 'realtime',
517 'features' => ['core', 'realtime', 'functions'],
518 'price' => [
519 'text' => [
520 'in' => 0.60,
521 'cache' => 0.30,
522 'out' => 2.40,
523 ],
524 'audio' => [
525 'in' => 10.00,
526 'cache' => 0.30,
527 'out' => 20.00,
528 ]
529 ],
530 'type' => 'token',
531 'unit' => 1 / 1000000,
532 'maxCompletionTokens' => 4096,
533 'maxContextualTokens' => 128000,
534 'finetune' => false,
535 'tags' => ['core', 'realtime', 'functions', 'vision', 'deprecated']
536 ],
537 /*
538 DALL·E 3
539 Our latest image generation model
540 https://platform.openai.com/docs/models/dall-e-3
541 */
542 [
543 'model' => 'gpt-image-1.5',
544 'name' => 'GPT Image 1.5',
545 'family' => 'gpt-image',
546 'features' => ['text-to-image'],
547 'resolutions' => [
548 [
549 'name' => '1024x1024',
550 'label' => '1024x1024'
551 ],
552 [
553 'name' => '1024x1536',
554 'label' => '1024x1536'
555 ],
556 [
557 'name' => '1536x1024',
558 'label' => '1536x1024'
559 ]
560 ],
561 'type' => 'token',
562 'mode' => 'image',
563 'price' => [
564 'in' => 8.00,
565 'out' => 32.00,
566 'cached' => 2.00
567 ],
568 'unit' => 1 / 1000000,
569 'finetune' => false,
570 'tags' => ['core', 'image', 'image-edit', 'responses']
571 ],
572 [
573 'model' => 'gpt-image-1',
574 'name' => 'GPT Image 1',
575 'family' => 'gpt-image',
576 'features' => ['text-to-image'],
577 'resolutions' => [
578 [
579 'name' => '1024x1024',
580 'label' => '1024x1024'
581 ],
582 [
583 'name' => '1024x1536',
584 'label' => '1024x1536'
585 ],
586 [
587 'name' => '1536x1024',
588 'label' => '1536x1024'
589 ]
590 ],
591 'type' => 'token',
592 'mode' => 'image',
593 'price' => [
594 'in' => 10.00,
595 'out' => 40.00,
596 'cached' => 2.50
597 ],
598 'unit' => 1 / 1000000,
599 'finetune' => false,
600 'tags' => ['core', 'image', 'image-edit', 'responses']
601 ],
602 [
603 'model' => 'gpt-image-1-mini',
604 'name' => 'GPT Image 1 Mini',
605 'family' => 'gpt-image',
606 'features' => ['text-to-image'],
607 'resolutions' => [
608 [
609 'name' => '1024x1024',
610 'label' => '1024x1024'
611 ],
612 [
613 'name' => '1024x1536',
614 'label' => '1024x1536'
615 ],
616 [
617 'name' => '1536x1024',
618 'label' => '1536x1024'
619 ]
620 ],
621 'type' => 'token',
622 'mode' => 'image',
623 'price' => [
624 'in' => 2.50,
625 'out' => 8.00,
626 'cached' => 0.25
627 ],
628 'unit' => 1 / 1000000,
629 'finetune' => false,
630 'tags' => ['core', 'image', 'image-edit', 'responses']
631 ],
632 [
633 'model' => 'dall-e-3',
634 'name' => 'DALL-E 3',
635 'family' => 'dall-e',
636 'features' => ['text-to-image'],
637 'resolutions' => [
638 [
639 'name' => '1024x1024',
640 'label' => '1024x1024',
641 'price' => 0.040
642 ],
643 [
644 'name' => '1024x1792',
645 'label' => '1024x1792',
646 'price' => 0.080
647 ],
648 [
649 'name' => '1792x1024',
650 'label' => '1792x1024',
651 'price' => 0.080
652 ]
653 ],
654 'type' => 'image',
655 'unit' => 1,
656 'finetune' => false,
657 'tags' => ['core', 'image']
658 ],
659 [
660 'model' => 'dall-e-3-hd',
661 'name' => 'DALL-E 3 (HD)',
662 'family' => 'dall-e',
663 'features' => ['text-to-image'],
664 'resolutions' => [
665 [
666 'name' => '1024x1024',
667 'label' => '1024x1024',
668 'price' => 0.080
669 ],
670 [
671 'name' => '1024x1792',
672 'label' => '1024x1792',
673 'price' => 0.120
674 ],
675 [
676 'name' => '1792x1024',
677 'label' => '1792x1024',
678 'price' => 0.120
679 ]
680 ],
681 'type' => 'image',
682 'unit' => 1,
683 'finetune' => false,
684 'tags' => ['core', 'image']
685 ],
686 /*
687 Sora 2
688 Flagship video generation with synced audio
689 https://platform.openai.com/docs/models/sora-2
690 */
691 [
692 'model' => 'sora-2',
693 'name' => 'Sora 2',
694 'family' => 'sora',
695 'features' => ['text-to-video'],
696 'resolutions' => [
697 [
698 'name' => '720x1280',
699 'label' => 'Portrait (720x1280)',
700 'price' => 0.10
701 ],
702 [
703 'name' => '1280x720',
704 'label' => 'Landscape (1280x720)',
705 'price' => 0.10
706 ]
707 ],
708 'durations' => [ 4, 8, 12 ],
709 'type' => 'video',
710 'unit' => 'second',
711 'finetune' => false,
712 'tags' => ['core', 'video']
713 ],
714 [
715 'model' => 'sora-2-pro',
716 'name' => 'Sora 2 Pro',
717 'family' => 'sora',
718 'features' => ['text-to-video'],
719 'resolutions' => [
720 [
721 'name' => '720x1280',
722 'label' => 'Portrait (720x1280)',
723 'price' => 0.30
724 ],
725 [
726 'name' => '1280x720',
727 'label' => 'Landscape (1280x720)',
728 'price' => 0.30
729 ],
730 [
731 'name' => '1024x1792',
732 'label' => 'Portrait High (1024x1792)',
733 'price' => 0.50
734 ],
735 [
736 'name' => '1792x1024',
737 'label' => 'Landscape High (1792x1024)',
738 'price' => 0.50
739 ]
740 ],
741 'durations' => [ 4, 8, 12 ],
742 'type' => 'video',
743 'unit' => 'second',
744 'finetune' => false,
745 'tags' => ['core', 'video']
746 ],
747 // Embedding models:
748 // OpenAI v3 models support Matryoshka embeddings (MRL) allowing dimension truncation
749 // while preserving semantic meaning. The dimensions array lists native + recommended sizes.
750 // See: https://huggingface.co/blog/matryoshka
751 [
752 'model' => 'text-embedding-3-small',
753 'name' => 'Embedding 3-Small',
754 'family' => 'text-embedding',
755 'features' => ['embedding'],
756 'price' => 0.02,
757 'type' => 'token',
758 'unit' => 1 / 1000000,
759 'finetune' => false,
760 'dimensions' => 1536, // Native output dimension
761 'tags' => ['core', 'embedding', 'matryoshka'],
762 ],
763 [
764 'model' => 'text-embedding-3-large',
765 'name' => 'Embedding 3-Large',
766 'family' => 'text-embedding',
767 'features' => ['embedding'],
768 'price' => 0.13,
769 'type' => 'token',
770 'unit' => 1 / 1000000,
771 'finetune' => false,
772 'dimensions' => 3072, // Native output dimension
773 'tags' => ['core', 'embedding', 'matryoshka'],
774 ],
775 // Ada-002 is a legacy model with fixed dimensions (no truncation support)
776 [
777 'model' => 'text-embedding-ada-002',
778 'name' => 'Embedding Ada-002',
779 'family' => 'text-embedding',
780 'features' => ['embedding'],
781 'price' => 0.10,
782 'type' => 'token',
783 'unit' => 1 / 1000000,
784 'finetune' => false,
785 'dimensions' => 1536, // Fixed dimension (no matryoshka support)
786 'tags' => ['core', 'embedding'],
787 ],
788 // Audio Models:
789 [
790 'model' => 'gpt-4o-transcribe',
791 'name' => 'GPT-4o Transcribe',
792 'family' => 'whisper',
793 'features' => ['speech-to-text'],
794 'price' => 0.006,
795 'type' => 'second',
796 'unit' => 1,
797 'finetune' => false,
798 'tags' => ['core', 'audio', 'deprecated'],
799 ],
800 [
801 'model' => 'gpt-4o-mini-transcribe',
802 'name' => 'GPT-4o Mini Transcribe',
803 'family' => 'whisper',
804 'features' => ['speech-to-text'],
805 'price' => 0.003,
806 'type' => 'second',
807 'unit' => 1,
808 'finetune' => false,
809 'tags' => ['core', 'audio', 'deprecated'],
810 ],
811 [
812 'model' => 'whisper-1',
813 'name' => 'Whisper',
814 'family' => 'whisper',
815 'features' => ['speech-to-text'],
816 'price' => 0.006,
817 'type' => 'second',
818 'unit' => 1,
819 'finetune' => false,
820 'tags' => ['core', 'audio'],
821 ],
822 /*
823 Deprecated Models
824 */
825 [
826 'model' => 'dall-e',
827 'name' => 'DALL-E 2',
828 'family' => 'dall-e',
829 'features' => ['text-to-image'],
830 'resolutions' => [
831 [
832 'name' => '256x256',
833 'label' => '256x256',
834 'price' => 0.016
835 ],
836 [
837 'name' => '512x512',
838 'label' => '512x512',
839 'price' => 0.018
840 ],
841 [
842 'name' => '1024x1024',
843 'label' => '1024x1024',
844 'price' => 0.020
845 ]
846 ],
847 'type' => 'image',
848 'unit' => 1,
849 'finetune' => false,
850 'tags' => ['core', 'image', 'deprecated']
851 ],
852 ] );
853
854 define( 'MWAI_ANTHROPIC_MODELS', [
855 [
856 'model' => 'claude-opus-4-6',
857 'name' => 'Claude Opus 4.6',
858 'family' => 'claude-4',
859 'features' => ['completion'],
860 'price' => [
861 'in' => 5.00,
862 'out' => 25.00,
863 ],
864 'type' => 'token',
865 'unit' => 1 / 1000000,
866 'maxCompletionTokens' => 128000,
867 'maxContextualTokens' => 200000,
868 'finetune' => false,
869 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp', 'latest'],
870 'tools' => ['code_interpreter', 'thinking']
871 ],
872 [
873 'model' => 'claude-opus-4-5',
874 'name' => 'Claude Opus 4.5',
875 'family' => 'claude-4',
876 'features' => ['completion'],
877 'price' => [
878 'in' => 5.00,
879 'out' => 25.00,
880 ],
881 'type' => 'token',
882 'unit' => 1 / 1000000,
883 'maxCompletionTokens' => 64000,
884 'maxContextualTokens' => 200000,
885 'finetune' => false,
886 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
887 'tools' => ['code_interpreter', 'thinking']
888 ],
889 [
890 'model' => 'claude-sonnet-4-6',
891 'name' => 'Claude Sonnet 4.6',
892 'family' => 'claude-4',
893 'features' => ['completion'],
894 'price' => [
895 'in' => 3.00,
896 'out' => 15.00,
897 ],
898 'type' => 'token',
899 'unit' => 1 / 1000000,
900 'maxCompletionTokens' => 64000,
901 'maxContextualTokens' => 200000,
902 'finetune' => false,
903 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp', 'latest'],
904 'tools' => ['code_interpreter', 'thinking']
905 ],
906 [
907 'model' => 'claude-sonnet-4-5-20250929',
908 'name' => 'Claude Sonnet 4.5 (2025/09/29)',
909 'family' => 'claude-4',
910 'features' => ['completion'],
911 'price' => [
912 'in' => 3.00,
913 'out' => 15.00,
914 ],
915 'type' => 'token',
916 'unit' => 1 / 1000000,
917 'maxCompletionTokens' => 64000,
918 'maxContextualTokens' => 200000,
919 'finetune' => false,
920 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
921 'tools' => ['code_interpreter', 'thinking']
922 ],
923 [
924 'model' => 'claude-sonnet-4-5',
925 'name' => 'Claude Sonnet 4.5',
926 'family' => 'claude-4',
927 'features' => ['completion'],
928 'price' => [
929 'in' => 3.00,
930 'out' => 15.00,
931 ],
932 'type' => 'token',
933 'unit' => 1 / 1000000,
934 'maxCompletionTokens' => 64000,
935 'maxContextualTokens' => 200000,
936 'finetune' => false,
937 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
938 'tools' => ['code_interpreter', 'thinking']
939 ],
940 [
941 'model' => 'claude-opus-4-1-20250805',
942 'name' => 'Claude Opus 4.1 (2025/08/05)',
943 'family' => 'claude-4',
944 'features' => ['completion'],
945 'price' => [
946 'in' => 15.00,
947 'out' => 75.00,
948 ],
949 'type' => 'token',
950 'unit' => 1 / 1000000,
951 'maxCompletionTokens' => 32000,
952 'maxContextualTokens' => 200000,
953 'finetune' => false,
954 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
955 'tools' => ['code_interpreter', 'thinking']
956 ],
957 [
958 'model' => 'claude-opus-4-1',
959 'name' => 'Claude Opus 4.1',
960 'family' => 'claude-4',
961 'features' => ['completion'],
962 'price' => [
963 'in' => 15.00,
964 'out' => 75.00,
965 ],
966 'type' => 'token',
967 'unit' => 1 / 1000000,
968 'maxCompletionTokens' => 32000,
969 'maxContextualTokens' => 200000,
970 'finetune' => false,
971 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
972 'tools' => ['code_interpreter', 'thinking']
973 ],
974 [
975 'model' => 'claude-opus-4-20250514',
976 'name' => 'Claude Opus 4 (2025/05/14)',
977 'family' => 'claude-4',
978 'features' => ['completion'],
979 'price' => [
980 'in' => 15.00,
981 'out' => 75.00,
982 ],
983 'type' => 'token',
984 'unit' => 1 / 1000000,
985 'maxCompletionTokens' => 32000,
986 'maxContextualTokens' => 200000,
987 'finetune' => false,
988 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
989 'tools' => ['code_interpreter', 'thinking']
990 ],
991 [
992 'model' => 'claude-opus-4-0',
993 'name' => 'Claude Opus 4',
994 'family' => 'claude-4',
995 'features' => ['completion'],
996 'price' => [
997 'in' => 15.00,
998 'out' => 75.00,
999 ],
1000 'type' => 'token',
1001 'unit' => 1 / 1000000,
1002 'maxCompletionTokens' => 32000,
1003 'maxContextualTokens' => 200000,
1004 'finetune' => false,
1005 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp', 'latest'],
1006 'tools' => ['code_interpreter', 'thinking']
1007 ],
1008 [
1009 'model' => 'claude-sonnet-4-20250514',
1010 'name' => 'Claude Sonnet 4 (2025/05/14)',
1011 'family' => 'claude-4',
1012 'features' => ['completion'],
1013 'price' => [
1014 'in' => 3.00,
1015 'out' => 15.00,
1016 ],
1017 'type' => 'token',
1018 'unit' => 1 / 1000000,
1019 'maxCompletionTokens' => 64000,
1020 'maxContextualTokens' => 200000,
1021 'finetune' => false,
1022 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
1023 'tools' => ['code_interpreter', 'thinking']
1024 ],
1025 [
1026 'model' => 'claude-sonnet-4-0',
1027 'name' => 'Claude Sonnet 4',
1028 'family' => 'claude-4',
1029 'features' => ['completion'],
1030 'price' => [
1031 'in' => 3.00,
1032 'out' => 15.00,
1033 ],
1034 'type' => 'token',
1035 'unit' => 1 / 1000000,
1036 'maxCompletionTokens' => 64000,
1037 'maxContextualTokens' => 200000,
1038 'finetune' => false,
1039 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp', 'latest'],
1040 'tools' => ['code_interpreter', 'thinking']
1041 ],
1042 [
1043 'model' => 'claude-haiku-4-5-20251001',
1044 'name' => 'Claude-4.5 Haiku (2025/10/01)',
1045 'family' => 'claude-4',
1046 'features' => ['completion'],
1047 'price' => [
1048 'in' => 1.00,
1049 'out' => 5.00,
1050 ],
1051 'type' => 'token',
1052 'unit' => 1 / 1000000,
1053 'maxCompletionTokens' => 64000,
1054 'maxContextualTokens' => 200000,
1055 'finetune' => false,
1056 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
1057 'tools' => ['code_interpreter', 'thinking']
1058 ],
1059 [
1060 'model' => 'claude-haiku-4-5',
1061 'name' => 'Claude-4.5 Haiku',
1062 'family' => 'claude-4',
1063 'features' => ['completion'],
1064 'price' => [
1065 'in' => 1.00,
1066 'out' => 5.00,
1067 ],
1068 'type' => 'token',
1069 'unit' => 1 / 1000000,
1070 'maxCompletionTokens' => 64000,
1071 'maxContextualTokens' => 200000,
1072 'finetune' => false,
1073 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp', 'latest'],
1074 'tools' => ['code_interpreter', 'thinking']
1075 ],
1076 [
1077 'model' => 'claude-3-7-sonnet-latest',
1078 'name' => 'Claude-3.7 Sonnet',
1079 'family' => 'claude-3',
1080 'features' => ['completion'],
1081 'price' => [
1082 'in' => 3.00,
1083 'out' => 15.00,
1084 ],
1085 'type' => 'token',
1086 'unit' => 1 / 1000000,
1087 'maxCompletionTokens' => 64000,
1088 'maxContextualTokens' => 200000,
1089 'finetune' => false,
1090 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
1091 'tools' => ['code_interpreter', 'thinking']
1092 ],
1093 [
1094 'model' => 'claude-3-5-sonnet-latest',
1095 'name' => 'Claude-3.5 Sonnet',
1096 'family' => 'claude-3',
1097 'features' => ['completion'],
1098 'price' => [
1099 'in' => 3.00,
1100 'out' => 15.00,
1101 ],
1102 'type' => 'token',
1103 'unit' => 1 / 1000000,
1104 'maxCompletionTokens' => 4096,
1105 'maxContextualTokens' => 200000,
1106 'finetune' => false,
1107 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'mcp']
1108 ],
1109 [
1110 'model' => 'claude-3-5-sonnet-20241022',
1111 'name' => 'Claude-3.5 Sonnet (2024/10/22)',
1112 'family' => 'claude-3',
1113 'features' => ['completion'],
1114 'price' => [
1115 'in' => 3.00,
1116 'out' => 15.00,
1117 ],
1118 'type' => 'token',
1119 'unit' => 1 / 1000000,
1120 'maxCompletionTokens' => 4096,
1121 'maxContextualTokens' => 200000,
1122 'finetune' => false,
1123 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'mcp']
1124 ],
1125 [
1126 'model' => 'claude-3-5-sonnet-20240620',
1127 'name' => 'Claude-3.5 Sonnet (2024/06/20)',
1128 'family' => 'claude-3',
1129 'features' => ['completion'],
1130 'price' => [
1131 'in' => 3.00,
1132 'out' => 15.00,
1133 ],
1134 'type' => 'token',
1135 'unit' => 1 / 1000000,
1136 'maxCompletionTokens' => 4096,
1137 'maxContextualTokens' => 200000,
1138 'finetune' => false,
1139 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'mcp']
1140 ],
1141 [
1142 'model' => 'claude-3-sonnet-20240229',
1143 'name' => 'Claude-3 Sonnet (2024/02/29)',
1144 'family' => 'claude-3',
1145 'features' => ['completion'],
1146 'price' => [
1147 'in' => 3.00,
1148 'out' => 15.00,
1149 ],
1150 'type' => 'token',
1151 'unit' => 1 / 1000000,
1152 'maxCompletionTokens' => 4096,
1153 'maxContextualTokens' => 200000,
1154 'finetune' => false,
1155 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'deprecated']
1156 ],
1157 [
1158 // Deprecated: Anthropic retired Claude 3 Opus on January 5, 2026.
1159 'model' => 'claude-3-opus-latest',
1160 'name' => 'Claude-3 Opus (Latest)',
1161 'family' => 'claude-3',
1162 'features' => ['completion'],
1163 'price' => [
1164 'in' => 15.00,
1165 'out' => 75.00,
1166 ],
1167 'type' => 'token',
1168 'unit' => 1 / 1000000,
1169 'maxCompletionTokens' => 4096,
1170 'maxContextualTokens' => 200000,
1171 'finetune' => false,
1172 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'deprecated']
1173 ],
1174 [
1175 // Deprecated: Anthropic retired Claude 3 Opus on January 5, 2026.
1176 'model' => 'claude-3-opus-20240229',
1177 'name' => 'Claude-3 Opus (2024/02/29)',
1178 'family' => 'claude-3',
1179 'features' => ['completion'],
1180 'price' => [
1181 'in' => 15.00,
1182 'out' => 75.00,
1183 ],
1184 'type' => 'token',
1185 'unit' => 1 / 1000000,
1186 'maxCompletionTokens' => 4096,
1187 'maxContextualTokens' => 200000,
1188 'finetune' => false,
1189 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'deprecated']
1190 ],
1191 [
1192 'model' => 'claude-3-5-haiku-20241022',
1193 'name' => 'Claude-3.5 Haiku (2024/10/22)',
1194 'family' => 'claude-3',
1195 'features' => ['completion'],
1196 'price' => [
1197 'in' => 0.80,
1198 'out' => 4.00,
1199 ],
1200 'type' => 'token',
1201 'unit' => 1 / 1000000,
1202 'maxCompletionTokens' => 8192,
1203 'maxContextualTokens' => 200000,
1204 'finetune' => false,
1205 'tags' => ['core', 'chat', 'vision', 'files'],
1206 'tools' => ['code_interpreter']
1207 ],
1208 [
1209 'model' => 'claude-3-5-haiku-latest',
1210 'name' => 'Claude-3.5 Haiku',
1211 'family' => 'claude-3',
1212 'features' => ['completion'],
1213 'price' => [
1214 'in' => 0.80,
1215 'out' => 4.00,
1216 ],
1217 'type' => 'token',
1218 'unit' => 1 / 1000000,
1219 'maxCompletionTokens' => 8192,
1220 'maxContextualTokens' => 200000,
1221 'finetune' => false,
1222 'tags' => ['core', 'chat', 'vision', 'files', 'latest'],
1223 'tools' => ['code_interpreter']
1224 ],
1225 [
1226 'model' => 'claude-3-haiku-20240307',
1227 'name' => 'Claude-3 Haiku (2024/03/07)',
1228 'family' => 'claude-3',
1229 'features' => ['completion'],
1230 'price' => [
1231 'in' => 0.25,
1232 'out' => 1.25,
1233 ],
1234 'type' => 'token',
1235 'unit' => 1 / 1000000,
1236 'maxCompletionTokens' => 4096,
1237 'maxContextualTokens' => 200000,
1238 'finetune' => false,
1239 'tags' => ['core', 'chat', 'vision', 'files', 'functions']
1240 ]
1241 ] );
1242
1243 define( 'MWAI_PERPLEXITY_MODELS', [
1244 [
1245 'model' => 'sonar-pro',
1246 'name' => 'Sonar Pro',
1247 'family' => 'sonar',
1248 'features' => ['completion'],
1249 'price' => [
1250 'in' => 3.00,
1251 'out' => 15.00,
1252 'search' => 5.00,
1253 ],
1254 'type' => 'token',
1255 'unit' => 1 / 1000000,
1256 'searchUnit' => 1 / 1000,
1257 'maxCompletionTokens' => 8192,
1258 'maxContextualTokens' => 200000,
1259 'finetune' => false,
1260 'tags' => ['core', 'chat'],
1261 ],
1262 [
1263 'model' => 'sonar',
1264 'name' => 'Sonar',
1265 'family' => 'sonar',
1266 'features' => ['completion'],
1267 'price' => [
1268 'in' => 1.00,
1269 'out' => 1.00,
1270 'search' => 5.00,
1271 ],
1272 'type' => 'token',
1273 'unit' => 1 / 1000000,
1274 'searchUnit' => 1 / 1000,
1275 'maxCompletionTokens' => 4096,
1276 'maxContextualTokens' => 127000,
1277 'finetune' => false,
1278 'tags' => ['core', 'chat'],
1279 ],
1280 ] );
1281
1282 // Mistral AI Models
1283 // Models are fetched dynamically from the Mistral API
1284 define( 'MWAI_MISTRAL_MODELS', [] );
1285