PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 3.3.9
AI Engine – The Chatbot, AI Framework & MCP for WordPress v3.3.9
3.5.9 3.5.8 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 4 months ago models.php 4 months ago types.php 1 year ago
models.php
1259 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.2
8 The best model for coding and agentic tasks across industries
9 https://platform.openai.com/docs/models/gpt-5.2
10 */
11 [
12 'model' => 'gpt-5.2',
13 'name' => 'GPT-5.2',
14 'family' => 'gpt-5',
15 'features' => ['completion'],
16 'price' => [
17 'in' => 1.75,
18 'out' => 14.00,
19 ],
20 'type' => 'token',
21 'unit' => 1 / 1000000,
22 'maxCompletionTokens' => 128000,
23 'maxContextualTokens' => 400000,
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 Chat
34 GPT-5.2 model used in ChatGPT
35 https://platform.openai.com/docs/models/gpt-5.2
36 */
37 [
38 'model' => 'gpt-5.2-chat-latest',
39 'name' => 'GPT-5.2 Chat',
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', 'responses', 'mcp'],
52 'tools' => ['web_search', 'file_search', 'code_interpreter']
53 ],
54 /*
55 GPT-5.2 Pro
56 Version of GPT-5.2 that produces smarter and more precise responses
57 https://platform.openai.com/docs/models/gpt-5.2-pro
58 */
59 [
60 'model' => 'gpt-5.2-pro',
61 'name' => 'GPT-5.2 Pro',
62 'family' => 'gpt-5',
63 'features' => ['completion'],
64 'price' => [
65 'in' => 21.00,
66 'out' => 168.00,
67 ],
68 'type' => 'token',
69 'unit' => 1 / 1000000,
70 'maxCompletionTokens' => 128000,
71 'maxContextualTokens' => 400000,
72 'finetune' => false,
73 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp', 'reasoning', 'verbosity'],
74 'tools' => ['web_search', 'image_generation', 'file_search', 'code_interpreter'],
75 'params' => [
76 'reasoning' => ['medium', 'high', 'xhigh'],
77 'verbosity' => ['low', 'medium', 'high']
78 ]
79 ],
80 /*
81 GPT-5.1
82 Demo model with enhanced capabilities
83 https://platform.openai.com/docs/models/gpt-5.1
84 */
85 [
86 'model' => 'gpt-5.1',
87 'name' => 'GPT-5.1',
88 'family' => 'gpt-5',
89 'features' => ['completion'],
90 'price' => [
91 'in' => 1.25,
92 'out' => 10.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' => ['none', 'minimal', 'low', 'medium', 'high'],
103 'verbosity' => ['low', 'medium', 'high']
104 ]
105 ],
106 /*
107 GPT-5
108 The best model for coding and agentic tasks across domains
109 https://platform.openai.com/docs/models/gpt-5
110 */
111 [
112 'model' => 'gpt-5',
113 'name' => 'GPT-5',
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 Mini
134 Efficient and cost-effective GPT-5 variant
135 https://platform.openai.com/docs/models/gpt-5-mini
136 */
137 [
138 'model' => 'gpt-5-mini',
139 'name' => 'GPT-5 Mini',
140 'family' => 'gpt-5',
141 'features' => ['completion'],
142 'price' => [
143 'in' => 0.25,
144 'out' => 2.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 Nano
160 Ultra-fast and lightweight GPT-5 model
161 https://platform.openai.com/docs/models/gpt-5-nano
162 */
163 [
164 'model' => 'gpt-5-nano',
165 'name' => 'GPT-5 Nano',
166 'family' => 'gpt-5',
167 'features' => ['completion'],
168 'price' => [
169 'in' => 0.05,
170 'out' => 0.40,
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 Chat
186 GPT-5 model used in ChatGPT
187 https://platform.openai.com/docs/models/gpt-5
188 */
189 [
190 'model' => 'gpt-5-chat-latest',
191 'name' => 'GPT-5 Chat',
192 'family' => 'gpt-5',
193 'features' => ['completion'],
194 'price' => [
195 'in' => 1.25,
196 'out' => 10.00,
197 ],
198 'type' => 'token',
199 'unit' => 1 / 1000000,
200 'maxCompletionTokens' => 16384,
201 'maxContextualTokens' => 128000,
202 'finetune' => false,
203 'tags' => ['core', 'chat', 'vision', 'files', 'responses', 'mcp'],
204 'tools' => ['web_search', 'file_search', 'code_interpreter'],
205 'params' => [
206 'verbosity' => ['low', 'medium', 'high']
207 ]
208 ],
209 /*
210 GPT-5 Pro
211 Version of GPT-5 that produces smarter and more precise responses
212 https://platform.openai.com/docs/models/gpt-5
213 */
214 [
215 'model' => 'gpt-5-pro',
216 'name' => 'GPT-5 Pro',
217 'family' => 'gpt-5',
218 'features' => ['completion'],
219 'price' => [
220 'in' => 15.00,
221 'out' => 120.00,
222 ],
223 'type' => 'token',
224 'unit' => 1 / 1000000,
225 'maxCompletionTokens' => 272000,
226 'maxContextualTokens' => 400000,
227 'finetune' => false,
228 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp', 'reasoning', 'verbosity'],
229 'tools' => ['web_search', 'image_generation', 'file_search', 'code_interpreter'],
230 'params' => [
231 'reasoning' => ['none', 'minimal', 'low', 'medium', 'high'],
232 'verbosity' => ['low', 'medium', 'high']
233 ]
234 ],
235 /*
236 GPT 4.1
237 Flagship GPT model for complex tasks
238 https://platform.openai.com/docs/models/gpt-4.1
239 */
240 [
241 'model' => 'gpt-4.1',
242 'name' => 'GPT-4.1',
243 'family' => 'gpt-4',
244 'features' => ['completion'],
245 'price' => [
246 'in' => 2.00,
247 'out' => 8.00,
248 ],
249 'type' => 'token',
250 'unit' => 1 / 1000000,
251 'maxCompletionTokens' => 32768,
252 'maxContextualTokens' => 1047576,
253 'finetune' => false,
254 'tags' => ['core', 'chat', 'vision', 'functions', 'json', 'finetune', 'responses', 'mcp', 'deprecated'],
255 'tools' => ['web_search', 'image_generation', 'code_interpreter']
256 ],
257 /*
258 GPT-4.1 mini
259 Balanced for intelligence, speed, and cost
260 https://platform.openai.com/docs/models/gpt-4.1-mini
261 */
262 [
263 'model' => 'gpt-4.1-mini',
264 'name' => 'GPT-4.1 Mini',
265 'family' => 'gpt-4',
266 'features' => ['completion'],
267 'price' => [
268 'in' => 0.40,
269 'out' => 1.60,
270 ],
271 'type' => 'token',
272 'unit' => 1 / 1000000,
273 'maxCompletionTokens' => 32768,
274 'maxContextualTokens' => 1047576,
275 'finetune' => false,
276 'tags' => ['core', 'chat', 'vision', 'functions', 'json', 'finetune', 'responses', 'mcp', 'deprecated'],
277 'tools' => ['web_search', 'image_generation', 'code_interpreter']
278 ],
279 /*
280 GPT-4.1 nano
281 Fastest, most cost-effective GPT-4.1 model
282 https://platform.openai.com/docs/models/gpt-4.1-nano
283 */
284 [
285 'model' => 'gpt-4.1-nano',
286 'name' => 'GPT-4.1 Nano',
287 'family' => 'gpt-4',
288 'features' => ['completion'],
289 'price' => [
290 'in' => 0.10,
291 'out' => 0.40,
292 ],
293 'type' => 'token',
294 'unit' => 1 / 1000000,
295 'maxCompletionTokens' => 32768,
296 'maxContextualTokens' => 1047576,
297 'finetune' => false,
298 'tags' => ['core', 'chat', 'vision', 'functions', 'json', 'finetune', 'responses', 'mcp'],
299 'tools' => ['image_generation']
300 ],
301 /*
302 GPT-4o
303 Fast, intelligent, flexible GPT model
304 https://platform.openai.com/docs/models/gpt-4o
305 */
306 [
307 'model' => 'gpt-4o',
308 'name' => 'GPT-4o',
309 'family' => 'gpt-4',
310 'features' => ['completion'],
311 'price' => [
312 'in' => 2.50,
313 'out' => 10.00,
314 ],
315 'type' => 'token',
316 'unit' => 1 / 1000000,
317 'maxCompletionTokens' => 16384,
318 'maxContextualTokens' => 128000,
319 'finetune' => false,
320 'tags' => ['core', 'chat', 'vision', 'functions', 'json', 'finetune', 'mcp', 'responses', 'deprecated'],
321 'tools' => ['web_search', 'image_generation', 'code_interpreter']
322 ],
323 /*
324 GPT-4o mini
325 Fast, affordable small model for focused tasks
326 https://platform.openai.com/docs/models/gpt-4o-mini
327 */
328 [
329 'model' => 'gpt-4o-mini',
330 'name' => 'GPT-4o Mini',
331 'family' => 'gpt-4',
332 'features' => ['completion'],
333 'price' => [
334 'in' => 0.15,
335 'out' => 0.60,
336 ],
337 'type' => 'token',
338 'unit' => 1 / 1000000,
339 'maxCompletionTokens' => 16384,
340 'maxContextualTokens' => 128000,
341 'finetune' => [
342 'in' => 0.15,
343 'out' => 0.60,
344 'train' => 3.00
345 ],
346 'tags' => ['core', 'chat', 'vision', 'functions', 'json', 'finetune', 'mcp', 'responses', 'deprecated'],
347 'tools' => ['web_search', 'image_generation', 'code_interpreter']
348 ],
349 /*
350 o3
351 Advanced reasoning model
352 https://platform.openai.com/docs/models/o3
353 */
354 [
355 'model' => 'o3',
356 'name' => 'o3',
357 'family' => 'o3',
358 'features' => ['completion'],
359 'price' => [
360 'in' => 15.00,
361 'out' => 60.00,
362 ],
363 'type' => 'token',
364 'unit' => 1 / 1000000,
365 'maxCompletionTokens' => 100000,
366 'maxContextualTokens' => 200000,
367 'tags' => ['core', 'chat', 'o1-model', 'reasoning', 'responses', 'mcp'],
368 'tools' => ['web_search', 'image_generation', 'code_interpreter']
369 ],
370 /*
371 o3-mini
372 Fast, flexible, intelligent reasoning model
373 https://platform.openai.com/docs/models/o3-mini
374 */
375 [
376 'model' => 'o3-mini',
377 'name' => 'o3 Mini',
378 'family' => 'o3',
379 'features' => ['completion'],
380 'price' => [
381 'in' => 1.10,
382 'out' => 4.40,
383 ],
384 'type' => 'token',
385 'unit' => 1 / 1000000,
386 'maxCompletionTokens' => 100000,
387 'maxContextualTokens' => 200000,
388 'tags' => ['core', 'chat', 'o1-model', 'reasoning', 'responses', 'mcp'],
389 'tools' => ['web_search', 'image_generation', 'code_interpreter']
390 ],
391 /*
392 GPT Realtime
393 Production-ready speech-to-speech model with MCP, image input, and SIP support
394 https://platform.openai.com/docs/models/gpt-realtime
395 */
396 [
397 'model' => 'gpt-realtime',
398 'name' => 'GPT Realtime',
399 'family' => 'realtime',
400 'features' => ['core', 'realtime', 'functions'],
401 'price' => [
402 'text' => [
403 'in' => 4.00,
404 'cache' => 0.40,
405 'out' => 16.00,
406 ],
407 'audio' => [
408 'in' => 32.00,
409 'cache' => 0.40,
410 'out' => 64.00,
411 ],
412 'image' => [
413 'in' => 5.00,
414 'cache' => 0.50,
415 ]
416 ],
417 'type' => 'token',
418 'unit' => 1 / 1000000,
419 'maxCompletionTokens' => 4096,
420 'maxContextualTokens' => 128000,
421 'finetune' => false,
422 'tags' => ['core', 'realtime', 'functions', 'vision', 'mcp']
423 ],
424 /*
425 GPT Realtime Mini
426 Cost-efficient version of GPT Realtime
427 https://platform.openai.com/docs/models/gpt-realtime-mini
428 */
429 [
430 'model' => 'gpt-realtime-mini',
431 'name' => 'GPT Realtime Mini',
432 'family' => 'realtime',
433 'features' => ['core', 'realtime', 'functions'],
434 'price' => [
435 'text' => [
436 'in' => 0.60,
437 'cache' => 0.06,
438 'out' => 2.40,
439 ],
440 'audio' => [
441 'in' => 10.00,
442 'cache' => 0.06,
443 'out' => 20.00,
444 ]
445 ],
446 'type' => 'token',
447 'unit' => 1 / 1000000,
448 'maxCompletionTokens' => 4096,
449 'maxContextualTokens' => 32000,
450 'finetune' => false,
451 'tags' => ['core', 'realtime', 'functions', 'vision']
452 ],
453 /*
454 GPT-4o Realtime
455 Model capable of realtime text and audio inputs and outputs
456 https://platform.openai.com/docs/models/gpt-4o-realtime-preview
457 */
458 [
459 'model' => 'gpt-4o-realtime-preview',
460 'name' => 'GPT-4o Realtime (Preview)',
461 'family' => 'realtime',
462 'features' => ['core', 'realtime', 'functions'],
463 'price' => [
464 'text' => [
465 'in' => 5.00,
466 'cache' => 2.50,
467 'out' => 20.00,
468 ],
469 'audio' => [
470 'in' => 40.00,
471 'cache' => 2.50,
472 'out' => 80.00,
473 ]
474 ],
475 'type' => 'token',
476 'unit' => 1 / 1000000,
477 'maxCompletionTokens' => 4096,
478 'maxContextualTokens' => 128000,
479 'finetune' => false,
480 'tags' => ['core', 'realtime', 'functions', 'vision', 'deprecated']
481 ],
482 /*
483 GPT-4o mini Realtime
484 Smaller realtime model for text and audio inputs and outputs
485 https://platform.openai.com/docs/models/gpt-4o-mini-realtime-preview
486 */
487 [
488 'model' => 'gpt-4o-mini-realtime-preview',
489 'name' => 'GPT-4o Mini Realtime (Preview)',
490 'family' => 'realtime',
491 'features' => ['core', 'realtime', 'functions'],
492 'price' => [
493 'text' => [
494 'in' => 0.60,
495 'cache' => 0.30,
496 'out' => 2.40,
497 ],
498 'audio' => [
499 'in' => 10.00,
500 'cache' => 0.30,
501 'out' => 20.00,
502 ]
503 ],
504 'type' => 'token',
505 'unit' => 1 / 1000000,
506 'maxCompletionTokens' => 4096,
507 'maxContextualTokens' => 128000,
508 'finetune' => false,
509 'tags' => ['core', 'realtime', 'functions', 'vision', 'deprecated']
510 ],
511 /*
512 DALL·E 3
513 Our latest image generation model
514 https://platform.openai.com/docs/models/dall-e-3
515 */
516 [
517 'model' => 'gpt-image-1.5',
518 'name' => 'GPT Image 1.5',
519 'family' => 'gpt-image',
520 'features' => ['text-to-image'],
521 'resolutions' => [
522 [
523 'name' => '1024x1024',
524 'label' => '1024x1024'
525 ],
526 [
527 'name' => '1024x1536',
528 'label' => '1024x1536'
529 ],
530 [
531 'name' => '1536x1024',
532 'label' => '1536x1024'
533 ]
534 ],
535 'type' => 'token',
536 'mode' => 'image',
537 'price' => [
538 'in' => 8.00,
539 'out' => 32.00,
540 'cached' => 2.00
541 ],
542 'unit' => 1 / 1000000,
543 'finetune' => false,
544 'tags' => ['core', 'image', 'image-edit', 'responses']
545 ],
546 [
547 'model' => 'gpt-image-1',
548 'name' => 'GPT Image 1',
549 'family' => 'gpt-image',
550 'features' => ['text-to-image'],
551 'resolutions' => [
552 [
553 'name' => '1024x1024',
554 'label' => '1024x1024'
555 ],
556 [
557 'name' => '1024x1536',
558 'label' => '1024x1536'
559 ],
560 [
561 'name' => '1536x1024',
562 'label' => '1536x1024'
563 ]
564 ],
565 'type' => 'token',
566 'mode' => 'image',
567 'price' => [
568 'in' => 10.00,
569 'out' => 40.00,
570 'cached' => 2.50
571 ],
572 'unit' => 1 / 1000000,
573 'finetune' => false,
574 'tags' => ['core', 'image', 'image-edit', 'responses']
575 ],
576 [
577 'model' => 'gpt-image-1-mini',
578 'name' => 'GPT Image 1 Mini',
579 'family' => 'gpt-image',
580 'features' => ['text-to-image'],
581 'resolutions' => [
582 [
583 'name' => '1024x1024',
584 'label' => '1024x1024'
585 ],
586 [
587 'name' => '1024x1536',
588 'label' => '1024x1536'
589 ],
590 [
591 'name' => '1536x1024',
592 'label' => '1536x1024'
593 ]
594 ],
595 'type' => 'token',
596 'mode' => 'image',
597 'price' => [
598 'in' => 2.50,
599 'out' => 8.00,
600 'cached' => 0.25
601 ],
602 'unit' => 1 / 1000000,
603 'finetune' => false,
604 'tags' => ['core', 'image', 'image-edit', 'responses']
605 ],
606 [
607 'model' => 'dall-e-3',
608 'name' => 'DALL-E 3',
609 'family' => 'dall-e',
610 'features' => ['text-to-image'],
611 'resolutions' => [
612 [
613 'name' => '1024x1024',
614 'label' => '1024x1024',
615 'price' => 0.040
616 ],
617 [
618 'name' => '1024x1792',
619 'label' => '1024x1792',
620 'price' => 0.080
621 ],
622 [
623 'name' => '1792x1024',
624 'label' => '1792x1024',
625 'price' => 0.080
626 ]
627 ],
628 'type' => 'image',
629 'unit' => 1,
630 'finetune' => false,
631 'tags' => ['core', 'image']
632 ],
633 [
634 'model' => 'dall-e-3-hd',
635 'name' => 'DALL-E 3 (HD)',
636 'family' => 'dall-e',
637 'features' => ['text-to-image'],
638 'resolutions' => [
639 [
640 'name' => '1024x1024',
641 'label' => '1024x1024',
642 'price' => 0.080
643 ],
644 [
645 'name' => '1024x1792',
646 'label' => '1024x1792',
647 'price' => 0.120
648 ],
649 [
650 'name' => '1792x1024',
651 'label' => '1792x1024',
652 'price' => 0.120
653 ]
654 ],
655 'type' => 'image',
656 'unit' => 1,
657 'finetune' => false,
658 'tags' => ['core', 'image']
659 ],
660 /*
661 Sora 2
662 Flagship video generation with synced audio
663 https://platform.openai.com/docs/models/sora-2
664 */
665 [
666 'model' => 'sora-2',
667 'name' => 'Sora 2',
668 'family' => 'sora',
669 'features' => ['text-to-video'],
670 'resolutions' => [
671 [
672 'name' => '720x1280',
673 'label' => 'Portrait (720x1280)',
674 'price' => 0.10
675 ],
676 [
677 'name' => '1280x720',
678 'label' => 'Landscape (1280x720)',
679 'price' => 0.10
680 ]
681 ],
682 'durations' => [ 4, 8, 12 ],
683 'type' => 'video',
684 'unit' => 'second',
685 'finetune' => false,
686 'tags' => ['core', 'video']
687 ],
688 [
689 'model' => 'sora-2-pro',
690 'name' => 'Sora 2 Pro',
691 'family' => 'sora',
692 'features' => ['text-to-video'],
693 'resolutions' => [
694 [
695 'name' => '720x1280',
696 'label' => 'Portrait (720x1280)',
697 'price' => 0.30
698 ],
699 [
700 'name' => '1280x720',
701 'label' => 'Landscape (1280x720)',
702 'price' => 0.30
703 ],
704 [
705 'name' => '1024x1792',
706 'label' => 'Portrait High (1024x1792)',
707 'price' => 0.50
708 ],
709 [
710 'name' => '1792x1024',
711 'label' => 'Landscape High (1792x1024)',
712 'price' => 0.50
713 ]
714 ],
715 'durations' => [ 4, 8, 12 ],
716 'type' => 'video',
717 'unit' => 'second',
718 'finetune' => false,
719 'tags' => ['core', 'video']
720 ],
721 // Embedding models:
722 // OpenAI v3 models support Matryoshka embeddings (MRL) allowing dimension truncation
723 // while preserving semantic meaning. The dimensions array lists native + recommended sizes.
724 // See: https://huggingface.co/blog/matryoshka
725 [
726 'model' => 'text-embedding-3-small',
727 'name' => 'Embedding 3-Small',
728 'family' => 'text-embedding',
729 'features' => ['embedding'],
730 'price' => 0.02,
731 'type' => 'token',
732 'unit' => 1 / 1000000,
733 'finetune' => false,
734 'dimensions' => 1536, // Native output dimension
735 'tags' => ['core', 'embedding', 'matryoshka'],
736 ],
737 [
738 'model' => 'text-embedding-3-large',
739 'name' => 'Embedding 3-Large',
740 'family' => 'text-embedding',
741 'features' => ['embedding'],
742 'price' => 0.13,
743 'type' => 'token',
744 'unit' => 1 / 1000000,
745 'finetune' => false,
746 'dimensions' => 3072, // Native output dimension
747 'tags' => ['core', 'embedding', 'matryoshka'],
748 ],
749 // Ada-002 is a legacy model with fixed dimensions (no truncation support)
750 [
751 'model' => 'text-embedding-ada-002',
752 'name' => 'Embedding Ada-002',
753 'family' => 'text-embedding',
754 'features' => ['embedding'],
755 'price' => 0.10,
756 'type' => 'token',
757 'unit' => 1 / 1000000,
758 'finetune' => false,
759 'dimensions' => 1536, // Fixed dimension (no matryoshka support)
760 'tags' => ['core', 'embedding'],
761 ],
762 // Audio Models:
763 [
764 'model' => 'gpt-4o-transcribe',
765 'name' => 'GPT-4o Transcribe',
766 'family' => 'whisper',
767 'features' => ['speech-to-text'],
768 'price' => 0.006,
769 'type' => 'second',
770 'unit' => 1,
771 'finetune' => false,
772 'tags' => ['core', 'audio', 'deprecated'],
773 ],
774 [
775 'model' => 'gpt-4o-mini-transcribe',
776 'name' => 'GPT-4o Mini Transcribe',
777 'family' => 'whisper',
778 'features' => ['speech-to-text'],
779 'price' => 0.003,
780 'type' => 'second',
781 'unit' => 1,
782 'finetune' => false,
783 'tags' => ['core', 'audio', 'deprecated'],
784 ],
785 [
786 'model' => 'whisper-1',
787 'name' => 'Whisper',
788 'family' => 'whisper',
789 'features' => ['speech-to-text'],
790 'price' => 0.006,
791 'type' => 'second',
792 'unit' => 1,
793 'finetune' => false,
794 'tags' => ['core', 'audio'],
795 ],
796 /*
797 Deprecated Models
798 */
799 [
800 'model' => 'dall-e',
801 'name' => 'DALL-E 2',
802 'family' => 'dall-e',
803 'features' => ['text-to-image'],
804 'resolutions' => [
805 [
806 'name' => '256x256',
807 'label' => '256x256',
808 'price' => 0.016
809 ],
810 [
811 'name' => '512x512',
812 'label' => '512x512',
813 'price' => 0.018
814 ],
815 [
816 'name' => '1024x1024',
817 'label' => '1024x1024',
818 'price' => 0.020
819 ]
820 ],
821 'type' => 'image',
822 'unit' => 1,
823 'finetune' => false,
824 'tags' => ['core', 'image', 'deprecated']
825 ],
826 ] );
827
828 define( 'MWAI_ANTHROPIC_MODELS', [
829 [
830 'model' => 'claude-opus-4-6',
831 'name' => 'Claude Opus 4.6',
832 'family' => 'claude-4',
833 'features' => ['completion'],
834 'price' => [
835 'in' => 5.00,
836 'out' => 25.00,
837 ],
838 'type' => 'token',
839 'unit' => 1 / 1000000,
840 'maxCompletionTokens' => 128000,
841 'maxContextualTokens' => 200000,
842 'finetune' => false,
843 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp', 'latest'],
844 'tools' => ['code_interpreter', 'thinking']
845 ],
846 [
847 'model' => 'claude-opus-4-5',
848 'name' => 'Claude Opus 4.5',
849 'family' => 'claude-4',
850 'features' => ['completion'],
851 'price' => [
852 'in' => 5.00,
853 'out' => 25.00,
854 ],
855 'type' => 'token',
856 'unit' => 1 / 1000000,
857 'maxCompletionTokens' => 64000,
858 'maxContextualTokens' => 200000,
859 'finetune' => false,
860 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
861 'tools' => ['code_interpreter', 'thinking']
862 ],
863 [
864 'model' => 'claude-sonnet-4-6',
865 'name' => 'Claude Sonnet 4.6',
866 'family' => 'claude-4',
867 'features' => ['completion'],
868 'price' => [
869 'in' => 3.00,
870 'out' => 15.00,
871 ],
872 'type' => 'token',
873 'unit' => 1 / 1000000,
874 'maxCompletionTokens' => 64000,
875 'maxContextualTokens' => 200000,
876 'finetune' => false,
877 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp', 'latest'],
878 'tools' => ['code_interpreter', 'thinking']
879 ],
880 [
881 'model' => 'claude-sonnet-4-5-20250929',
882 'name' => 'Claude Sonnet 4.5 (2025/09/29)',
883 'family' => 'claude-4',
884 'features' => ['completion'],
885 'price' => [
886 'in' => 3.00,
887 'out' => 15.00,
888 ],
889 'type' => 'token',
890 'unit' => 1 / 1000000,
891 'maxCompletionTokens' => 64000,
892 'maxContextualTokens' => 200000,
893 'finetune' => false,
894 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
895 'tools' => ['code_interpreter', 'thinking']
896 ],
897 [
898 'model' => 'claude-sonnet-4-5',
899 'name' => 'Claude Sonnet 4.5',
900 'family' => 'claude-4',
901 'features' => ['completion'],
902 'price' => [
903 'in' => 3.00,
904 'out' => 15.00,
905 ],
906 'type' => 'token',
907 'unit' => 1 / 1000000,
908 'maxCompletionTokens' => 64000,
909 'maxContextualTokens' => 200000,
910 'finetune' => false,
911 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
912 'tools' => ['code_interpreter', 'thinking']
913 ],
914 [
915 'model' => 'claude-opus-4-1-20250805',
916 'name' => 'Claude Opus 4.1 (2025/08/05)',
917 'family' => 'claude-4',
918 'features' => ['completion'],
919 'price' => [
920 'in' => 15.00,
921 'out' => 75.00,
922 ],
923 'type' => 'token',
924 'unit' => 1 / 1000000,
925 'maxCompletionTokens' => 32000,
926 'maxContextualTokens' => 200000,
927 'finetune' => false,
928 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
929 'tools' => ['code_interpreter', 'thinking']
930 ],
931 [
932 'model' => 'claude-opus-4-1',
933 'name' => 'Claude Opus 4.1',
934 'family' => 'claude-4',
935 'features' => ['completion'],
936 'price' => [
937 'in' => 15.00,
938 'out' => 75.00,
939 ],
940 'type' => 'token',
941 'unit' => 1 / 1000000,
942 'maxCompletionTokens' => 32000,
943 'maxContextualTokens' => 200000,
944 'finetune' => false,
945 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
946 'tools' => ['code_interpreter', 'thinking']
947 ],
948 [
949 'model' => 'claude-opus-4-20250514',
950 'name' => 'Claude Opus 4 (2025/05/14)',
951 'family' => 'claude-4',
952 'features' => ['completion'],
953 'price' => [
954 'in' => 15.00,
955 'out' => 75.00,
956 ],
957 'type' => 'token',
958 'unit' => 1 / 1000000,
959 'maxCompletionTokens' => 32000,
960 'maxContextualTokens' => 200000,
961 'finetune' => false,
962 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
963 'tools' => ['code_interpreter', 'thinking']
964 ],
965 [
966 'model' => 'claude-opus-4-0',
967 'name' => 'Claude Opus 4',
968 'family' => 'claude-4',
969 'features' => ['completion'],
970 'price' => [
971 'in' => 15.00,
972 'out' => 75.00,
973 ],
974 'type' => 'token',
975 'unit' => 1 / 1000000,
976 'maxCompletionTokens' => 32000,
977 'maxContextualTokens' => 200000,
978 'finetune' => false,
979 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp', 'latest'],
980 'tools' => ['code_interpreter', 'thinking']
981 ],
982 [
983 'model' => 'claude-sonnet-4-20250514',
984 'name' => 'Claude Sonnet 4 (2025/05/14)',
985 'family' => 'claude-4',
986 'features' => ['completion'],
987 'price' => [
988 'in' => 3.00,
989 'out' => 15.00,
990 ],
991 'type' => 'token',
992 'unit' => 1 / 1000000,
993 'maxCompletionTokens' => 64000,
994 'maxContextualTokens' => 200000,
995 'finetune' => false,
996 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
997 'tools' => ['code_interpreter', 'thinking']
998 ],
999 [
1000 'model' => 'claude-sonnet-4-0',
1001 'name' => 'Claude Sonnet 4',
1002 'family' => 'claude-4',
1003 'features' => ['completion'],
1004 'price' => [
1005 'in' => 3.00,
1006 'out' => 15.00,
1007 ],
1008 'type' => 'token',
1009 'unit' => 1 / 1000000,
1010 'maxCompletionTokens' => 64000,
1011 'maxContextualTokens' => 200000,
1012 'finetune' => false,
1013 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp', 'latest'],
1014 'tools' => ['code_interpreter', 'thinking']
1015 ],
1016 [
1017 'model' => 'claude-haiku-4-5-20251001',
1018 'name' => 'Claude-4.5 Haiku (2025/10/01)',
1019 'family' => 'claude-4',
1020 'features' => ['completion'],
1021 'price' => [
1022 'in' => 1.00,
1023 'out' => 5.00,
1024 ],
1025 'type' => 'token',
1026 'unit' => 1 / 1000000,
1027 'maxCompletionTokens' => 64000,
1028 'maxContextualTokens' => 200000,
1029 'finetune' => false,
1030 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
1031 'tools' => ['code_interpreter', 'thinking']
1032 ],
1033 [
1034 'model' => 'claude-haiku-4-5',
1035 'name' => 'Claude-4.5 Haiku',
1036 'family' => 'claude-4',
1037 'features' => ['completion'],
1038 'price' => [
1039 'in' => 1.00,
1040 'out' => 5.00,
1041 ],
1042 'type' => 'token',
1043 'unit' => 1 / 1000000,
1044 'maxCompletionTokens' => 64000,
1045 'maxContextualTokens' => 200000,
1046 'finetune' => false,
1047 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp', 'latest'],
1048 'tools' => ['code_interpreter', 'thinking']
1049 ],
1050 [
1051 'model' => 'claude-3-7-sonnet-latest',
1052 'name' => 'Claude-3.7 Sonnet',
1053 'family' => 'claude-3',
1054 'features' => ['completion'],
1055 'price' => [
1056 'in' => 3.00,
1057 'out' => 15.00,
1058 ],
1059 'type' => 'token',
1060 'unit' => 1 / 1000000,
1061 'maxCompletionTokens' => 64000,
1062 'maxContextualTokens' => 200000,
1063 'finetune' => false,
1064 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
1065 'tools' => ['code_interpreter', 'thinking']
1066 ],
1067 [
1068 'model' => 'claude-3-5-sonnet-latest',
1069 'name' => 'Claude-3.5 Sonnet',
1070 'family' => 'claude-3',
1071 'features' => ['completion'],
1072 'price' => [
1073 'in' => 3.00,
1074 'out' => 15.00,
1075 ],
1076 'type' => 'token',
1077 'unit' => 1 / 1000000,
1078 'maxCompletionTokens' => 4096,
1079 'maxContextualTokens' => 200000,
1080 'finetune' => false,
1081 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'mcp']
1082 ],
1083 [
1084 'model' => 'claude-3-5-sonnet-20241022',
1085 'name' => 'Claude-3.5 Sonnet (2024/10/22)',
1086 'family' => 'claude-3',
1087 'features' => ['completion'],
1088 'price' => [
1089 'in' => 3.00,
1090 'out' => 15.00,
1091 ],
1092 'type' => 'token',
1093 'unit' => 1 / 1000000,
1094 'maxCompletionTokens' => 4096,
1095 'maxContextualTokens' => 200000,
1096 'finetune' => false,
1097 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'mcp']
1098 ],
1099 [
1100 'model' => 'claude-3-5-sonnet-20240620',
1101 'name' => 'Claude-3.5 Sonnet (2024/06/20)',
1102 'family' => 'claude-3',
1103 'features' => ['completion'],
1104 'price' => [
1105 'in' => 3.00,
1106 'out' => 15.00,
1107 ],
1108 'type' => 'token',
1109 'unit' => 1 / 1000000,
1110 'maxCompletionTokens' => 4096,
1111 'maxContextualTokens' => 200000,
1112 'finetune' => false,
1113 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'mcp']
1114 ],
1115 [
1116 'model' => 'claude-3-sonnet-20240229',
1117 'name' => 'Claude-3 Sonnet (2024/02/29)',
1118 'family' => 'claude-3',
1119 'features' => ['completion'],
1120 'price' => [
1121 'in' => 3.00,
1122 'out' => 15.00,
1123 ],
1124 'type' => 'token',
1125 'unit' => 1 / 1000000,
1126 'maxCompletionTokens' => 4096,
1127 'maxContextualTokens' => 200000,
1128 'finetune' => false,
1129 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'deprecated']
1130 ],
1131 [
1132 // Deprecated: Anthropic retired Claude 3 Opus on January 5, 2026.
1133 'model' => 'claude-3-opus-latest',
1134 'name' => 'Claude-3 Opus (Latest)',
1135 'family' => 'claude-3',
1136 'features' => ['completion'],
1137 'price' => [
1138 'in' => 15.00,
1139 'out' => 75.00,
1140 ],
1141 'type' => 'token',
1142 'unit' => 1 / 1000000,
1143 'maxCompletionTokens' => 4096,
1144 'maxContextualTokens' => 200000,
1145 'finetune' => false,
1146 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'deprecated']
1147 ],
1148 [
1149 // Deprecated: Anthropic retired Claude 3 Opus on January 5, 2026.
1150 'model' => 'claude-3-opus-20240229',
1151 'name' => 'Claude-3 Opus (2024/02/29)',
1152 'family' => 'claude-3',
1153 'features' => ['completion'],
1154 'price' => [
1155 'in' => 15.00,
1156 'out' => 75.00,
1157 ],
1158 'type' => 'token',
1159 'unit' => 1 / 1000000,
1160 'maxCompletionTokens' => 4096,
1161 'maxContextualTokens' => 200000,
1162 'finetune' => false,
1163 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'deprecated']
1164 ],
1165 [
1166 'model' => 'claude-3-5-haiku-20241022',
1167 'name' => 'Claude-3.5 Haiku (2024/10/22)',
1168 'family' => 'claude-3',
1169 'features' => ['completion'],
1170 'price' => [
1171 'in' => 0.80,
1172 'out' => 4.00,
1173 ],
1174 'type' => 'token',
1175 'unit' => 1 / 1000000,
1176 'maxCompletionTokens' => 8192,
1177 'maxContextualTokens' => 200000,
1178 'finetune' => false,
1179 'tags' => ['core', 'chat', 'vision', 'files'],
1180 'tools' => ['code_interpreter']
1181 ],
1182 [
1183 'model' => 'claude-3-5-haiku-latest',
1184 'name' => 'Claude-3.5 Haiku',
1185 'family' => 'claude-3',
1186 'features' => ['completion'],
1187 'price' => [
1188 'in' => 0.80,
1189 'out' => 4.00,
1190 ],
1191 'type' => 'token',
1192 'unit' => 1 / 1000000,
1193 'maxCompletionTokens' => 8192,
1194 'maxContextualTokens' => 200000,
1195 'finetune' => false,
1196 'tags' => ['core', 'chat', 'vision', 'files', 'latest'],
1197 'tools' => ['code_interpreter']
1198 ],
1199 [
1200 'model' => 'claude-3-haiku-20240307',
1201 'name' => 'Claude-3 Haiku (2024/03/07)',
1202 'family' => 'claude-3',
1203 'features' => ['completion'],
1204 'price' => [
1205 'in' => 0.25,
1206 'out' => 1.25,
1207 ],
1208 'type' => 'token',
1209 'unit' => 1 / 1000000,
1210 'maxCompletionTokens' => 4096,
1211 'maxContextualTokens' => 200000,
1212 'finetune' => false,
1213 'tags' => ['core', 'chat', 'vision', 'files', 'functions']
1214 ]
1215 ] );
1216
1217 define( 'MWAI_PERPLEXITY_MODELS', [
1218 [
1219 'model' => 'sonar-pro',
1220 'name' => 'Sonar Pro',
1221 'family' => 'sonar',
1222 'features' => ['completion'],
1223 'price' => [
1224 'in' => 3.00,
1225 'out' => 15.00,
1226 'search' => 5.00,
1227 ],
1228 'type' => 'token',
1229 'unit' => 1 / 1000000,
1230 'searchUnit' => 1 / 1000,
1231 'maxCompletionTokens' => 8192,
1232 'maxContextualTokens' => 200000,
1233 'finetune' => false,
1234 'tags' => ['core', 'chat'],
1235 ],
1236 [
1237 'model' => 'sonar',
1238 'name' => 'Sonar',
1239 'family' => 'sonar',
1240 'features' => ['completion'],
1241 'price' => [
1242 'in' => 1.00,
1243 'out' => 1.00,
1244 'search' => 5.00,
1245 ],
1246 'type' => 'token',
1247 'unit' => 1 / 1000000,
1248 'searchUnit' => 1 / 1000,
1249 'maxCompletionTokens' => 4096,
1250 'maxContextualTokens' => 127000,
1251 'finetune' => false,
1252 'tags' => ['core', 'chat'],
1253 ],
1254 ] );
1255
1256 // Mistral AI Models
1257 // Models are fetched dynamically from the Mistral API
1258 define( 'MWAI_MISTRAL_MODELS', [] );
1259