PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 3.4.9
AI Engine – The Chatbot, AI Framework & MCP for WordPress v3.4.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 1 month ago init.php 1 month ago models.php 1 month ago types.php 1 year ago
models.php
1441 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.5
8 Latest flagship: tool-heavy agents, grounded assistants, long-context retrieval
9 https://developers.openai.com/api/docs/models/gpt-5.5
10 */
11 [
12 'model' => 'gpt-5.5',
13 'name' => 'GPT-5.5',
14 'family' => 'gpt-5',
15 'features' => ['completion'],
16 'price' => [
17 'in' => 5.00,
18 'out' => 30.00,
19 'cached' => 0.50,
20 ],
21 'type' => 'token',
22 'unit' => 1 / 1000000,
23 'maxCompletionTokens' => 128000,
24 'maxContextualTokens' => 1050000,
25 'finetune' => false,
26 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp', 'reasoning', 'verbosity', 'latest'],
27 'tools' => ['web_search', 'image_generation', 'file_search', 'code_interpreter'],
28 'params' => [
29 'reasoning' => ['none', 'low', 'medium', 'high', 'xhigh'],
30 'verbosity' => ['low', 'medium', 'high']
31 ]
32 ],
33 /*
34 GPT-5.4
35 Our most capable model for professional work
36 https://platform.openai.com/docs/models/gpt-5.4
37 */
38 [
39 'model' => 'gpt-5.4',
40 'name' => 'GPT-5.4',
41 'family' => 'gpt-5',
42 'features' => ['completion'],
43 'price' => [
44 'in' => 2.50,
45 'out' => 15.00,
46 ],
47 'type' => 'token',
48 'unit' => 1 / 1000000,
49 'maxCompletionTokens' => 128000,
50 'maxContextualTokens' => 1050000,
51 'finetune' => false,
52 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp', 'reasoning', 'verbosity'],
53 'tools' => ['web_search', 'image_generation', 'file_search', 'code_interpreter'],
54 'params' => [
55 'reasoning' => ['none', 'low', 'medium', 'high', 'xhigh'],
56 'verbosity' => ['low', 'medium', 'high']
57 ]
58 ],
59 /*
60 GPT-5.4 Pro
61 Most advanced model with enhanced reasoning for complex tasks
62 https://developers.openai.com/api/docs/models/gpt-5.4-pro
63 */
64 [
65 'model' => 'gpt-5.4-pro',
66 'name' => 'GPT-5.4 Pro',
67 'family' => 'gpt-5',
68 'features' => ['completion'],
69 'price' => [
70 'in' => 30.00,
71 'out' => 180.00,
72 ],
73 'type' => 'token',
74 'unit' => 1 / 1000000,
75 'maxCompletionTokens' => 128000,
76 'maxContextualTokens' => 1050000,
77 'finetune' => false,
78 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'responses', 'mcp', 'reasoning'],
79 'tools' => ['web_search', 'image_generation', 'file_search'],
80 'params' => [
81 'reasoning' => ['medium', 'high', 'xhigh'],
82 ]
83 ],
84 /*
85 GPT-5.4 Mini
86 Fast and cost-effective GPT-5.4 variant
87 https://developers.openai.com/api/docs/models/gpt-5.4-mini
88 */
89 [
90 'model' => 'gpt-5.4-mini',
91 'name' => 'GPT-5.4 Mini',
92 'family' => 'gpt-5',
93 'features' => ['completion'],
94 'price' => [
95 'in' => 0.75,
96 'out' => 4.50,
97 ],
98 'type' => 'token',
99 'unit' => 1 / 1000000,
100 'maxCompletionTokens' => 128000,
101 'maxContextualTokens' => 400000,
102 'finetune' => false,
103 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp', 'reasoning', 'verbosity'],
104 'tools' => ['web_search', 'image_generation', 'file_search', 'code_interpreter'],
105 'params' => [
106 'reasoning' => ['none', 'low', 'medium', 'high', 'xhigh'],
107 'verbosity' => ['low', 'medium', 'high']
108 ]
109 ],
110 /*
111 GPT-5.4 Nano
112 Ultra-fast and lightweight GPT-5.4 model
113 https://developers.openai.com/api/docs/models/gpt-5.4-nano
114 */
115 [
116 'model' => 'gpt-5.4-nano',
117 'name' => 'GPT-5.4 Nano',
118 'family' => 'gpt-5',
119 'features' => ['completion'],
120 'price' => [
121 'in' => 0.20,
122 'out' => 1.25,
123 ],
124 'type' => 'token',
125 'unit' => 1 / 1000000,
126 'maxCompletionTokens' => 128000,
127 'maxContextualTokens' => 400000,
128 'finetune' => false,
129 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp', 'reasoning', 'verbosity'],
130 'tools' => ['web_search', 'image_generation', 'file_search', 'code_interpreter'],
131 'params' => [
132 'reasoning' => ['none', 'low', 'medium', 'high', 'xhigh'],
133 'verbosity' => ['low', 'medium', 'high']
134 ]
135 ],
136 /*
137 GPT-5.3 Chat
138 GPT-5.3 model used in ChatGPT
139 https://developers.openai.com/api/docs/models/gpt-5.3-chat-latest
140 */
141 [
142 'model' => 'gpt-5.3-chat-latest',
143 'name' => 'GPT-5.3 Chat',
144 'family' => 'gpt-5',
145 'features' => ['completion'],
146 'price' => [
147 'in' => 1.75,
148 'out' => 14.00,
149 ],
150 'type' => 'token',
151 'unit' => 1 / 1000000,
152 'maxCompletionTokens' => 16384,
153 'maxContextualTokens' => 128000,
154 'finetune' => false,
155 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp'],
156 'tools' => ['image_generation', 'code_interpreter']
157 ],
158 /*
159 GPT-5.2
160 The best model for coding and agentic tasks across industries
161 https://platform.openai.com/docs/models/gpt-5.2
162 */
163 [
164 'model' => 'gpt-5.2',
165 'name' => 'GPT-5.2',
166 'family' => 'gpt-5',
167 'features' => ['completion'],
168 'price' => [
169 'in' => 1.75,
170 'out' => 14.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', 'low', 'medium', 'high', 'xhigh'],
181 'verbosity' => ['low', 'medium', 'high']
182 ]
183 ],
184 /*
185 GPT-5.2 Chat
186 GPT-5.2 model used in ChatGPT
187 https://platform.openai.com/docs/models/gpt-5.2
188 */
189 [
190 'model' => 'gpt-5.2-chat-latest',
191 'name' => 'GPT-5.2 Chat',
192 'family' => 'gpt-5',
193 'features' => ['completion'],
194 'price' => [
195 'in' => 1.75,
196 'out' => 14.00,
197 ],
198 'type' => 'token',
199 'unit' => 1 / 1000000,
200 'maxCompletionTokens' => 128000,
201 'maxContextualTokens' => 400000,
202 'finetune' => false,
203 'tags' => ['core', 'chat', 'vision', 'files', 'responses', 'mcp'],
204 'tools' => ['web_search', 'file_search', 'code_interpreter']
205 ],
206 /*
207 GPT-5.2 Pro
208 Version of GPT-5.2 that produces smarter and more precise responses
209 https://platform.openai.com/docs/models/gpt-5.2-pro
210 */
211 [
212 'model' => 'gpt-5.2-pro',
213 'name' => 'GPT-5.2 Pro',
214 'family' => 'gpt-5',
215 'features' => ['completion'],
216 'price' => [
217 'in' => 21.00,
218 'out' => 168.00,
219 ],
220 'type' => 'token',
221 'unit' => 1 / 1000000,
222 'maxCompletionTokens' => 128000,
223 'maxContextualTokens' => 400000,
224 'finetune' => false,
225 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp', 'reasoning', 'verbosity'],
226 'tools' => ['web_search', 'image_generation', 'file_search', 'code_interpreter'],
227 'params' => [
228 'reasoning' => ['medium', 'high', 'xhigh'],
229 'verbosity' => ['low', 'medium', 'high']
230 ]
231 ],
232 /*
233 GPT-5.1
234 Demo model with enhanced capabilities
235 https://platform.openai.com/docs/models/gpt-5.1
236 */
237 [
238 'model' => 'gpt-5.1',
239 'name' => 'GPT-5.1',
240 'family' => 'gpt-5',
241 'features' => ['completion'],
242 'price' => [
243 'in' => 1.25,
244 'out' => 10.00,
245 ],
246 'type' => 'token',
247 'unit' => 1 / 1000000,
248 'maxCompletionTokens' => 128000,
249 'maxContextualTokens' => 400000,
250 'finetune' => false,
251 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp', 'reasoning', 'verbosity'],
252 'tools' => ['web_search', 'image_generation', 'file_search', 'code_interpreter'],
253 'params' => [
254 'reasoning' => ['none', 'minimal', 'low', 'medium', 'high'],
255 'verbosity' => ['low', 'medium', 'high']
256 ]
257 ],
258 /*
259 GPT-5
260 The best model for coding and agentic tasks across domains
261 https://platform.openai.com/docs/models/gpt-5
262 */
263 [
264 'model' => 'gpt-5',
265 'name' => 'GPT-5',
266 'family' => 'gpt-5',
267 'features' => ['completion'],
268 'price' => [
269 'in' => 1.25,
270 'out' => 10.00,
271 ],
272 'type' => 'token',
273 'unit' => 1 / 1000000,
274 'maxCompletionTokens' => 128000,
275 'maxContextualTokens' => 400000,
276 'finetune' => false,
277 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp', 'reasoning', 'verbosity'],
278 'tools' => ['web_search', 'image_generation', 'file_search', 'code_interpreter'],
279 'params' => [
280 'reasoning' => ['none', 'minimal', 'low', 'medium', 'high'],
281 'verbosity' => ['low', 'medium', 'high']
282 ]
283 ],
284 /*
285 GPT-5 Mini
286 Efficient and cost-effective GPT-5 variant
287 https://platform.openai.com/docs/models/gpt-5-mini
288 */
289 [
290 'model' => 'gpt-5-mini',
291 'name' => 'GPT-5 Mini',
292 'family' => 'gpt-5',
293 'features' => ['completion'],
294 'price' => [
295 'in' => 0.25,
296 'out' => 2.00,
297 ],
298 'type' => 'token',
299 'unit' => 1 / 1000000,
300 'maxCompletionTokens' => 128000,
301 'maxContextualTokens' => 400000,
302 'finetune' => false,
303 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp', 'reasoning', 'verbosity'],
304 'tools' => ['web_search', 'image_generation', 'file_search', 'code_interpreter'],
305 'params' => [
306 'reasoning' => ['none', 'minimal', 'low', 'medium', 'high'],
307 'verbosity' => ['low', 'medium', 'high']
308 ]
309 ],
310 /*
311 GPT-5 Nano
312 Ultra-fast and lightweight GPT-5 model
313 https://platform.openai.com/docs/models/gpt-5-nano
314 */
315 [
316 'model' => 'gpt-5-nano',
317 'name' => 'GPT-5 Nano',
318 'family' => 'gpt-5',
319 'features' => ['completion'],
320 'price' => [
321 'in' => 0.05,
322 'out' => 0.40,
323 ],
324 'type' => 'token',
325 'unit' => 1 / 1000000,
326 'maxCompletionTokens' => 128000,
327 'maxContextualTokens' => 400000,
328 'finetune' => false,
329 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp', 'reasoning', 'verbosity'],
330 'tools' => ['web_search', 'image_generation', 'file_search', 'code_interpreter'],
331 'params' => [
332 'reasoning' => ['none', 'minimal', 'low', 'medium', 'high'],
333 'verbosity' => ['low', 'medium', 'high']
334 ]
335 ],
336 /*
337 GPT-5 Chat
338 GPT-5 model used in ChatGPT
339 https://platform.openai.com/docs/models/gpt-5
340 */
341 [
342 'model' => 'gpt-5-chat-latest',
343 'name' => 'GPT-5 Chat',
344 'family' => 'gpt-5',
345 'features' => ['completion'],
346 'price' => [
347 'in' => 1.25,
348 'out' => 10.00,
349 ],
350 'type' => 'token',
351 'unit' => 1 / 1000000,
352 'maxCompletionTokens' => 16384,
353 'maxContextualTokens' => 128000,
354 'finetune' => false,
355 // Shutdown: July 23, 2026.
356 'tags' => ['core', 'chat', 'vision', 'files', 'responses', 'mcp', 'deprecated'],
357 'tools' => ['web_search', 'file_search', 'code_interpreter'],
358 'params' => [
359 'verbosity' => ['low', 'medium', 'high']
360 ]
361 ],
362 /*
363 GPT-5 Pro
364 Version of GPT-5 that produces smarter and more precise responses
365 https://platform.openai.com/docs/models/gpt-5
366 */
367 [
368 'model' => 'gpt-5-pro',
369 'name' => 'GPT-5 Pro',
370 'family' => 'gpt-5',
371 'features' => ['completion'],
372 'price' => [
373 'in' => 15.00,
374 'out' => 120.00,
375 ],
376 'type' => 'token',
377 'unit' => 1 / 1000000,
378 'maxCompletionTokens' => 272000,
379 'maxContextualTokens' => 400000,
380 'finetune' => false,
381 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'json', 'responses', 'mcp', 'reasoning', 'verbosity'],
382 'tools' => ['web_search', 'image_generation', 'file_search', 'code_interpreter'],
383 'params' => [
384 'reasoning' => ['none', 'minimal', 'low', 'medium', 'high'],
385 'verbosity' => ['low', 'medium', 'high']
386 ]
387 ],
388 /*
389 GPT 4.1
390 Flagship GPT model for complex tasks
391 https://platform.openai.com/docs/models/gpt-4.1
392 */
393 [
394 'model' => 'gpt-4.1',
395 'name' => 'GPT-4.1',
396 'family' => 'gpt-4',
397 'features' => ['completion'],
398 'price' => [
399 'in' => 2.00,
400 'out' => 8.00,
401 ],
402 'type' => 'token',
403 'unit' => 1 / 1000000,
404 'maxCompletionTokens' => 32768,
405 'maxContextualTokens' => 1047576,
406 'finetune' => false,
407 'tags' => ['core', 'chat', 'vision', 'functions', 'json', 'finetune', 'responses', 'mcp', 'deprecated'],
408 'tools' => ['web_search', 'image_generation', 'code_interpreter']
409 ],
410 /*
411 GPT-4.1 mini
412 Balanced for intelligence, speed, and cost
413 https://platform.openai.com/docs/models/gpt-4.1-mini
414 */
415 [
416 'model' => 'gpt-4.1-mini',
417 'name' => 'GPT-4.1 Mini',
418 'family' => 'gpt-4',
419 'features' => ['completion'],
420 'price' => [
421 'in' => 0.40,
422 'out' => 1.60,
423 ],
424 'type' => 'token',
425 'unit' => 1 / 1000000,
426 'maxCompletionTokens' => 32768,
427 'maxContextualTokens' => 1047576,
428 'finetune' => false,
429 'tags' => ['core', 'chat', 'vision', 'functions', 'json', 'finetune', 'responses', 'mcp', 'deprecated'],
430 'tools' => ['web_search', 'image_generation', 'code_interpreter']
431 ],
432 /*
433 GPT-4.1 nano
434 Fastest, most cost-effective GPT-4.1 model
435 https://platform.openai.com/docs/models/gpt-4.1-nano
436 */
437 [
438 'model' => 'gpt-4.1-nano',
439 'name' => 'GPT-4.1 Nano',
440 'family' => 'gpt-4',
441 'features' => ['completion'],
442 'price' => [
443 'in' => 0.10,
444 'out' => 0.40,
445 ],
446 'type' => 'token',
447 'unit' => 1 / 1000000,
448 'maxCompletionTokens' => 32768,
449 'maxContextualTokens' => 1047576,
450 'finetune' => false,
451 // Shutdown: October 23, 2026.
452 'tags' => ['core', 'chat', 'vision', 'functions', 'json', 'finetune', 'responses', 'mcp', 'deprecated'],
453 'tools' => ['image_generation']
454 ],
455 /*
456 GPT-4o
457 Fast, intelligent, flexible GPT model
458 https://platform.openai.com/docs/models/gpt-4o
459 */
460 [
461 'model' => 'gpt-4o',
462 'name' => 'GPT-4o',
463 'family' => 'gpt-4',
464 'features' => ['completion'],
465 'price' => [
466 'in' => 2.50,
467 'out' => 10.00,
468 ],
469 'type' => 'token',
470 'unit' => 1 / 1000000,
471 'maxCompletionTokens' => 16384,
472 'maxContextualTokens' => 128000,
473 'finetune' => false,
474 'tags' => ['core', 'chat', 'vision', 'functions', 'json', 'finetune', 'mcp', 'responses', 'deprecated'],
475 'tools' => ['web_search', 'image_generation', 'code_interpreter']
476 ],
477 /*
478 GPT-4o mini
479 Fast, affordable small model for focused tasks
480 https://platform.openai.com/docs/models/gpt-4o-mini
481 */
482 [
483 'model' => 'gpt-4o-mini',
484 'name' => 'GPT-4o Mini',
485 'family' => 'gpt-4',
486 'features' => ['completion'],
487 'price' => [
488 'in' => 0.15,
489 'out' => 0.60,
490 ],
491 'type' => 'token',
492 'unit' => 1 / 1000000,
493 'maxCompletionTokens' => 16384,
494 'maxContextualTokens' => 128000,
495 'finetune' => [
496 'in' => 0.15,
497 'out' => 0.60,
498 'train' => 3.00
499 ],
500 'tags' => ['core', 'chat', 'vision', 'functions', 'json', 'finetune', 'mcp', 'responses', 'deprecated'],
501 'tools' => ['web_search', 'image_generation', 'code_interpreter']
502 ],
503 /*
504 o3
505 Advanced reasoning model
506 https://platform.openai.com/docs/models/o3
507 */
508 [
509 'model' => 'o3',
510 'name' => 'o3',
511 'family' => 'o3',
512 'features' => ['completion'],
513 'price' => [
514 'in' => 15.00,
515 'out' => 60.00,
516 ],
517 'type' => 'token',
518 'unit' => 1 / 1000000,
519 'maxCompletionTokens' => 100000,
520 'maxContextualTokens' => 200000,
521 'tags' => ['core', 'chat', 'o1-model', 'reasoning', 'responses', 'mcp'],
522 'tools' => ['web_search', 'image_generation', 'code_interpreter']
523 ],
524 /*
525 o3-mini
526 Fast, flexible, intelligent reasoning model
527 https://platform.openai.com/docs/models/o3-mini
528 */
529 [
530 'model' => 'o3-mini',
531 'name' => 'o3 Mini',
532 'family' => 'o3',
533 'features' => ['completion'],
534 'price' => [
535 'in' => 1.10,
536 'out' => 4.40,
537 ],
538 'type' => 'token',
539 'unit' => 1 / 1000000,
540 'maxCompletionTokens' => 100000,
541 'maxContextualTokens' => 200000,
542 // Shutdown: October 23, 2026.
543 'tags' => ['core', 'chat', 'o1-model', 'reasoning', 'responses', 'mcp', 'deprecated'],
544 'tools' => ['web_search', 'image_generation', 'code_interpreter']
545 ],
546 /*
547 GPT Realtime 2
548 Voice model with GPT-5-class reasoning, stronger instruction following, and multilingual support.
549 https://platform.openai.com/docs/models/gpt-realtime-2
550 */
551 [
552 'model' => 'gpt-realtime-2',
553 'name' => 'GPT Realtime 2',
554 'family' => 'realtime',
555 'features' => ['core', 'realtime', 'functions'],
556 'price' => [
557 'text' => [
558 'in' => 4.00,
559 'cache' => 0.40,
560 'out' => 16.00,
561 ],
562 'audio' => [
563 'in' => 32.00,
564 'cache' => 0.40,
565 'out' => 64.00,
566 ],
567 'image' => [
568 'in' => 5.00,
569 'cache' => 0.50,
570 ]
571 ],
572 'type' => 'token',
573 'unit' => 1 / 1000000,
574 'maxCompletionTokens' => 4096,
575 'maxContextualTokens' => 128000,
576 'finetune' => false,
577 'tags' => ['core', 'realtime', 'functions', 'vision', 'mcp']
578 ],
579 /*
580 GPT Realtime
581 Production-ready speech-to-speech model with MCP, image input, and SIP support
582 https://platform.openai.com/docs/models/gpt-realtime
583 */
584 [
585 'model' => 'gpt-realtime',
586 'name' => 'GPT Realtime',
587 'family' => 'realtime',
588 'features' => ['core', 'realtime', 'functions'],
589 'price' => [
590 'text' => [
591 'in' => 4.00,
592 'cache' => 0.40,
593 'out' => 16.00,
594 ],
595 'audio' => [
596 'in' => 32.00,
597 'cache' => 0.40,
598 'out' => 64.00,
599 ],
600 'image' => [
601 'in' => 5.00,
602 'cache' => 0.50,
603 ]
604 ],
605 'type' => 'token',
606 'unit' => 1 / 1000000,
607 'maxCompletionTokens' => 4096,
608 'maxContextualTokens' => 128000,
609 'finetune' => false,
610 'tags' => ['core', 'realtime', 'functions', 'vision', 'mcp']
611 ],
612 /*
613 GPT Realtime Mini
614 Cost-efficient version of GPT Realtime
615 https://platform.openai.com/docs/models/gpt-realtime-mini
616 */
617 [
618 'model' => 'gpt-realtime-mini',
619 'name' => 'GPT Realtime Mini',
620 'family' => 'realtime',
621 'features' => ['core', 'realtime', 'functions'],
622 'price' => [
623 'text' => [
624 'in' => 0.60,
625 'cache' => 0.06,
626 'out' => 2.40,
627 ],
628 'audio' => [
629 'in' => 10.00,
630 'cache' => 0.06,
631 'out' => 20.00,
632 ]
633 ],
634 'type' => 'token',
635 'unit' => 1 / 1000000,
636 'maxCompletionTokens' => 4096,
637 'maxContextualTokens' => 32000,
638 'finetune' => false,
639 'tags' => ['core', 'realtime', 'functions', 'vision', 'deprecated']
640 ],
641 // TODO: gpt-realtime-translate and gpt-realtime-whisper are intentionally
642 // not exposed yet. Both run on their own OpenAI endpoints
643 // (/v1/realtime/translations/client_secrets and the realtime transcription
644 // session) with a one-way streaming contract, no tools, no conversation,
645 // and a different event prefix. They do not fit the chatbot session shape
646 // in premium/realtime.php and would warrant their own "Live Translation"
647 // and "Live Transcription" modes if a clear WordPress use case shows up.
648 /*
649 GPT Image
650 OpenAI's image generation models (token-based pricing)
651 https://platform.openai.com/docs/models/gpt-image-1
652 */
653 [
654 'model' => 'gpt-image-2',
655 'name' => 'GPT Image 2',
656 'family' => 'gpt-image',
657 'features' => ['text-to-image'],
658 'resolutions' => [
659 [
660 'name' => '1024x1024',
661 'label' => '1024x1024'
662 ],
663 [
664 'name' => '1024x1536',
665 'label' => '1024x1536'
666 ],
667 [
668 'name' => '1536x1024',
669 'label' => '1536x1024'
670 ]
671 ],
672 'qualities' => [
673 [ 'name' => 'auto', 'label' => 'Auto' ],
674 [ 'name' => 'low', 'label' => 'Low' ],
675 [ 'name' => 'medium', 'label' => 'Medium' ],
676 [ 'name' => 'high', 'label' => 'High' ]
677 ],
678 'type' => 'token',
679 'mode' => 'image',
680 'price' => [
681 'in' => 8.00,
682 'out' => 30.00,
683 'cached' => 2.00
684 ],
685 'unit' => 1 / 1000000,
686 'finetune' => false,
687 'tags' => ['core', 'image', 'image-edit', 'responses']
688 ],
689 [
690 'model' => 'gpt-image-1.5',
691 'name' => 'GPT Image 1.5',
692 'family' => 'gpt-image',
693 'features' => ['text-to-image'],
694 'resolutions' => [
695 [
696 'name' => '1024x1024',
697 'label' => '1024x1024'
698 ],
699 [
700 'name' => '1024x1536',
701 'label' => '1024x1536'
702 ],
703 [
704 'name' => '1536x1024',
705 'label' => '1536x1024'
706 ]
707 ],
708 'qualities' => [
709 [ 'name' => 'auto', 'label' => 'Auto' ],
710 [ 'name' => 'low', 'label' => 'Low' ],
711 [ 'name' => 'medium', 'label' => 'Medium' ],
712 [ 'name' => 'high', 'label' => 'High' ]
713 ],
714 'type' => 'token',
715 'mode' => 'image',
716 'price' => [
717 'in' => 8.00,
718 'out' => 32.00,
719 'cached' => 2.00
720 ],
721 'unit' => 1 / 1000000,
722 'finetune' => false,
723 'tags' => ['core', 'image', 'image-edit', 'responses']
724 ],
725 [
726 'model' => 'gpt-image-1',
727 'name' => 'GPT Image 1',
728 'family' => 'gpt-image',
729 'features' => ['text-to-image'],
730 'resolutions' => [
731 [
732 'name' => '1024x1024',
733 'label' => '1024x1024'
734 ],
735 [
736 'name' => '1024x1536',
737 'label' => '1024x1536'
738 ],
739 [
740 'name' => '1536x1024',
741 'label' => '1536x1024'
742 ]
743 ],
744 'qualities' => [
745 [ 'name' => 'auto', 'label' => 'Auto' ],
746 [ 'name' => 'low', 'label' => 'Low' ],
747 [ 'name' => 'medium', 'label' => 'Medium' ],
748 [ 'name' => 'high', 'label' => 'High' ]
749 ],
750 'type' => 'token',
751 'mode' => 'image',
752 'price' => [
753 'in' => 10.00,
754 'out' => 40.00,
755 'cached' => 2.50
756 ],
757 'unit' => 1 / 1000000,
758 'finetune' => false,
759 // Shutdown: October 23, 2026.
760 'tags' => ['core', 'image', 'image-edit', 'responses', 'deprecated']
761 ],
762 [
763 'model' => 'gpt-image-1-mini',
764 'name' => 'GPT Image 1 Mini',
765 'family' => 'gpt-image',
766 'features' => ['text-to-image'],
767 'resolutions' => [
768 [
769 'name' => '1024x1024',
770 'label' => '1024x1024'
771 ],
772 [
773 'name' => '1024x1536',
774 'label' => '1024x1536'
775 ],
776 [
777 'name' => '1536x1024',
778 'label' => '1536x1024'
779 ]
780 ],
781 'qualities' => [
782 [ 'name' => 'auto', 'label' => 'Auto' ],
783 [ 'name' => 'low', 'label' => 'Low' ],
784 [ 'name' => 'medium', 'label' => 'Medium' ],
785 [ 'name' => 'high', 'label' => 'High' ]
786 ],
787 'type' => 'token',
788 'mode' => 'image',
789 'price' => [
790 'in' => 2.50,
791 'out' => 8.00,
792 'cached' => 0.25
793 ],
794 'unit' => 1 / 1000000,
795 'finetune' => false,
796 'tags' => ['core', 'image', 'image-edit', 'responses']
797 ],
798 /*
799 Sora 2
800 Flagship video generation with synced audio
801 https://platform.openai.com/docs/models/sora-2
802 */
803 [
804 'model' => 'sora-2',
805 'name' => 'Sora 2',
806 'family' => 'sora',
807 'features' => ['text-to-video'],
808 'resolutions' => [
809 [
810 'name' => '720x1280',
811 'label' => 'Portrait (720x1280)',
812 'price' => 0.10
813 ],
814 [
815 'name' => '1280x720',
816 'label' => 'Landscape (1280x720)',
817 'price' => 0.10
818 ]
819 ],
820 'durations' => [ 4, 8, 12 ],
821 'type' => 'video',
822 'unit' => 'second',
823 'finetune' => false,
824 // Shutdown: September 24, 2026.
825 'tags' => ['core', 'video', 'deprecated']
826 ],
827 [
828 'model' => 'sora-2-pro',
829 'name' => 'Sora 2 Pro',
830 'family' => 'sora',
831 'features' => ['text-to-video'],
832 'resolutions' => [
833 [
834 'name' => '720x1280',
835 'label' => 'Portrait (720x1280)',
836 'price' => 0.30
837 ],
838 [
839 'name' => '1280x720',
840 'label' => 'Landscape (1280x720)',
841 'price' => 0.30
842 ],
843 [
844 'name' => '1024x1792',
845 'label' => 'Portrait High (1024x1792)',
846 'price' => 0.50
847 ],
848 [
849 'name' => '1792x1024',
850 'label' => 'Landscape High (1792x1024)',
851 'price' => 0.50
852 ]
853 ],
854 'durations' => [ 4, 8, 12 ],
855 'type' => 'video',
856 'unit' => 'second',
857 'finetune' => false,
858 // Shutdown: September 24, 2026.
859 'tags' => ['core', 'video', 'deprecated']
860 ],
861 // Embedding models:
862 // OpenAI v3 models support Matryoshka embeddings (MRL) allowing dimension truncation
863 // while preserving semantic meaning. The dimensions array lists native + recommended sizes.
864 // See: https://huggingface.co/blog/matryoshka
865 [
866 'model' => 'text-embedding-3-small',
867 'name' => 'Embedding 3-Small',
868 'family' => 'text-embedding',
869 'features' => ['embedding'],
870 'price' => 0.02,
871 'type' => 'token',
872 'unit' => 1 / 1000000,
873 'finetune' => false,
874 'dimensions' => 1536, // Native output dimension
875 'tags' => ['core', 'embedding', 'matryoshka'],
876 ],
877 [
878 'model' => 'text-embedding-3-large',
879 'name' => 'Embedding 3-Large',
880 'family' => 'text-embedding',
881 'features' => ['embedding'],
882 'price' => 0.13,
883 'type' => 'token',
884 'unit' => 1 / 1000000,
885 'finetune' => false,
886 'dimensions' => 3072, // Native output dimension
887 'tags' => ['core', 'embedding', 'matryoshka'],
888 ],
889 // Ada-002 is a legacy model with fixed dimensions (no truncation support)
890 [
891 'model' => 'text-embedding-ada-002',
892 'name' => 'Embedding Ada-002',
893 'family' => 'text-embedding',
894 'features' => ['embedding'],
895 'price' => 0.10,
896 'type' => 'token',
897 'unit' => 1 / 1000000,
898 'finetune' => false,
899 'dimensions' => 1536, // Fixed dimension (no matryoshka support)
900 'tags' => ['core', 'embedding'],
901 ],
902 // Audio Models:
903 [
904 'model' => 'gpt-4o-transcribe',
905 'name' => 'GPT-4o Transcribe',
906 'family' => 'whisper',
907 'features' => ['speech-to-text'],
908 'price' => 0.006,
909 'type' => 'second',
910 'unit' => 1,
911 'finetune' => false,
912 'tags' => ['core', 'audio', 'deprecated'],
913 ],
914 [
915 'model' => 'gpt-4o-mini-transcribe',
916 'name' => 'GPT-4o Mini Transcribe',
917 'family' => 'whisper',
918 'features' => ['speech-to-text'],
919 'price' => 0.003,
920 'type' => 'second',
921 'unit' => 1,
922 'finetune' => false,
923 'tags' => ['core', 'audio', 'deprecated'],
924 ],
925 [
926 'model' => 'whisper-1',
927 'name' => 'Whisper',
928 'family' => 'whisper',
929 'features' => ['speech-to-text'],
930 'price' => 0.006,
931 'type' => 'second',
932 'unit' => 1,
933 'finetune' => false,
934 'tags' => ['core', 'audio'],
935 ],
936 ] );
937
938 define( 'MWAI_ANTHROPIC_MODELS', [
939 [
940 'model' => 'claude-opus-4-7',
941 'name' => 'Claude Opus 4.7',
942 'family' => 'claude-4',
943 'features' => ['completion'],
944 'price' => [
945 'in' => 5.00,
946 'out' => 25.00,
947 ],
948 'type' => 'token',
949 'unit' => 1 / 1000000,
950 'maxCompletionTokens' => 128000,
951 'maxContextualTokens' => 1000000,
952 'finetune' => false,
953 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp', 'no-temperature', 'latest'],
954 'tools' => ['code_interpreter', 'thinking']
955 ],
956 [
957 'model' => 'claude-opus-4-6',
958 'name' => 'Claude Opus 4.6',
959 'family' => 'claude-4',
960 'features' => ['completion'],
961 'price' => [
962 'in' => 5.00,
963 'out' => 25.00,
964 ],
965 'type' => 'token',
966 'unit' => 1 / 1000000,
967 'maxCompletionTokens' => 128000,
968 'maxContextualTokens' => 1000000,
969 'finetune' => false,
970 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
971 'tools' => ['code_interpreter', 'thinking']
972 ],
973 [
974 'model' => 'claude-opus-4-5',
975 'name' => 'Claude Opus 4.5',
976 'family' => 'claude-4',
977 'features' => ['completion'],
978 'price' => [
979 'in' => 5.00,
980 'out' => 25.00,
981 ],
982 'type' => 'token',
983 'unit' => 1 / 1000000,
984 'maxCompletionTokens' => 64000,
985 'maxContextualTokens' => 200000,
986 'finetune' => false,
987 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
988 'tools' => ['code_interpreter', 'thinking']
989 ],
990 [
991 'model' => 'claude-sonnet-4-6',
992 'name' => 'Claude Sonnet 4.6',
993 'family' => 'claude-4',
994 'features' => ['completion'],
995 'price' => [
996 'in' => 3.00,
997 'out' => 15.00,
998 ],
999 'type' => 'token',
1000 'unit' => 1 / 1000000,
1001 'maxCompletionTokens' => 64000,
1002 'maxContextualTokens' => 1000000,
1003 'finetune' => false,
1004 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp', 'latest'],
1005 'tools' => ['code_interpreter', 'thinking']
1006 ],
1007 [
1008 'model' => 'claude-sonnet-4-5-20250929',
1009 'name' => 'Claude Sonnet 4.5 (2025/09/29)',
1010 'family' => 'claude-4',
1011 'features' => ['completion'],
1012 'price' => [
1013 'in' => 3.00,
1014 'out' => 15.00,
1015 ],
1016 'type' => 'token',
1017 'unit' => 1 / 1000000,
1018 'maxCompletionTokens' => 64000,
1019 'maxContextualTokens' => 200000,
1020 'finetune' => false,
1021 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
1022 'tools' => ['code_interpreter', 'thinking']
1023 ],
1024 [
1025 'model' => 'claude-sonnet-4-5',
1026 'name' => 'Claude Sonnet 4.5',
1027 'family' => 'claude-4',
1028 'features' => ['completion'],
1029 'price' => [
1030 'in' => 3.00,
1031 'out' => 15.00,
1032 ],
1033 'type' => 'token',
1034 'unit' => 1 / 1000000,
1035 'maxCompletionTokens' => 64000,
1036 'maxContextualTokens' => 200000,
1037 'finetune' => false,
1038 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
1039 'tools' => ['code_interpreter', 'thinking']
1040 ],
1041 [
1042 'model' => 'claude-opus-4-1-20250805',
1043 'name' => 'Claude Opus 4.1 (2025/08/05)',
1044 'family' => 'claude-4',
1045 'features' => ['completion'],
1046 'price' => [
1047 'in' => 15.00,
1048 'out' => 75.00,
1049 ],
1050 'type' => 'token',
1051 'unit' => 1 / 1000000,
1052 'maxCompletionTokens' => 32000,
1053 'maxContextualTokens' => 200000,
1054 'finetune' => false,
1055 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
1056 'tools' => ['code_interpreter', 'thinking']
1057 ],
1058 [
1059 'model' => 'claude-opus-4-1',
1060 'name' => 'Claude Opus 4.1',
1061 'family' => 'claude-4',
1062 'features' => ['completion'],
1063 'price' => [
1064 'in' => 15.00,
1065 'out' => 75.00,
1066 ],
1067 'type' => 'token',
1068 'unit' => 1 / 1000000,
1069 'maxCompletionTokens' => 32000,
1070 'maxContextualTokens' => 200000,
1071 'finetune' => false,
1072 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
1073 'tools' => ['code_interpreter', 'thinking']
1074 ],
1075 [
1076 'model' => 'claude-opus-4-20250514',
1077 'name' => 'Claude Opus 4 (2025/05/14)',
1078 'family' => 'claude-4',
1079 'features' => ['completion'],
1080 'price' => [
1081 'in' => 15.00,
1082 'out' => 75.00,
1083 ],
1084 'type' => 'token',
1085 'unit' => 1 / 1000000,
1086 'maxCompletionTokens' => 32000,
1087 'maxContextualTokens' => 200000,
1088 'finetune' => false,
1089 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
1090 'tools' => ['code_interpreter', 'thinking']
1091 ],
1092 [
1093 'model' => 'claude-opus-4-0',
1094 'name' => 'Claude Opus 4',
1095 'family' => 'claude-4',
1096 'features' => ['completion'],
1097 'price' => [
1098 'in' => 15.00,
1099 'out' => 75.00,
1100 ],
1101 'type' => 'token',
1102 'unit' => 1 / 1000000,
1103 'maxCompletionTokens' => 32000,
1104 'maxContextualTokens' => 200000,
1105 'finetune' => false,
1106 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp', 'latest'],
1107 'tools' => ['code_interpreter', 'thinking']
1108 ],
1109 [
1110 'model' => 'claude-sonnet-4-20250514',
1111 'name' => 'Claude Sonnet 4 (2025/05/14)',
1112 'family' => 'claude-4',
1113 'features' => ['completion'],
1114 'price' => [
1115 'in' => 3.00,
1116 'out' => 15.00,
1117 ],
1118 'type' => 'token',
1119 'unit' => 1 / 1000000,
1120 'maxCompletionTokens' => 64000,
1121 'maxContextualTokens' => 200000,
1122 'finetune' => false,
1123 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
1124 'tools' => ['code_interpreter', 'thinking']
1125 ],
1126 [
1127 'model' => 'claude-sonnet-4-0',
1128 'name' => 'Claude Sonnet 4',
1129 'family' => 'claude-4',
1130 'features' => ['completion'],
1131 'price' => [
1132 'in' => 3.00,
1133 'out' => 15.00,
1134 ],
1135 'type' => 'token',
1136 'unit' => 1 / 1000000,
1137 'maxCompletionTokens' => 64000,
1138 'maxContextualTokens' => 200000,
1139 'finetune' => false,
1140 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp', 'latest'],
1141 'tools' => ['code_interpreter', 'thinking']
1142 ],
1143 [
1144 'model' => 'claude-haiku-4-5-20251001',
1145 'name' => 'Claude-4.5 Haiku (2025/10/01)',
1146 'family' => 'claude-4',
1147 'features' => ['completion'],
1148 'price' => [
1149 'in' => 1.00,
1150 'out' => 5.00,
1151 ],
1152 'type' => 'token',
1153 'unit' => 1 / 1000000,
1154 'maxCompletionTokens' => 64000,
1155 'maxContextualTokens' => 200000,
1156 'finetune' => false,
1157 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
1158 'tools' => ['code_interpreter', 'thinking']
1159 ],
1160 [
1161 'model' => 'claude-haiku-4-5',
1162 'name' => 'Claude-4.5 Haiku',
1163 'family' => 'claude-4',
1164 'features' => ['completion'],
1165 'price' => [
1166 'in' => 1.00,
1167 'out' => 5.00,
1168 ],
1169 'type' => 'token',
1170 'unit' => 1 / 1000000,
1171 'maxCompletionTokens' => 64000,
1172 'maxContextualTokens' => 200000,
1173 'finetune' => false,
1174 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp', 'latest'],
1175 'tools' => ['code_interpreter', 'thinking']
1176 ],
1177 [
1178 'model' => 'claude-3-7-sonnet-latest',
1179 'name' => 'Claude-3.7 Sonnet',
1180 'family' => 'claude-3',
1181 'features' => ['completion'],
1182 'price' => [
1183 'in' => 3.00,
1184 'out' => 15.00,
1185 ],
1186 'type' => 'token',
1187 'unit' => 1 / 1000000,
1188 'maxCompletionTokens' => 64000,
1189 'maxContextualTokens' => 200000,
1190 'finetune' => false,
1191 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'reasoning', 'mcp'],
1192 'tools' => ['code_interpreter', 'thinking']
1193 ],
1194 [
1195 'model' => 'claude-3-5-sonnet-latest',
1196 'name' => 'Claude-3.5 Sonnet',
1197 'family' => 'claude-3',
1198 'features' => ['completion'],
1199 'price' => [
1200 'in' => 3.00,
1201 'out' => 15.00,
1202 ],
1203 'type' => 'token',
1204 'unit' => 1 / 1000000,
1205 'maxCompletionTokens' => 4096,
1206 'maxContextualTokens' => 200000,
1207 'finetune' => false,
1208 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'mcp']
1209 ],
1210 [
1211 'model' => 'claude-3-5-sonnet-20241022',
1212 'name' => 'Claude-3.5 Sonnet (2024/10/22)',
1213 'family' => 'claude-3',
1214 'features' => ['completion'],
1215 'price' => [
1216 'in' => 3.00,
1217 'out' => 15.00,
1218 ],
1219 'type' => 'token',
1220 'unit' => 1 / 1000000,
1221 'maxCompletionTokens' => 4096,
1222 'maxContextualTokens' => 200000,
1223 'finetune' => false,
1224 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'mcp']
1225 ],
1226 [
1227 'model' => 'claude-3-5-sonnet-20240620',
1228 'name' => 'Claude-3.5 Sonnet (2024/06/20)',
1229 'family' => 'claude-3',
1230 'features' => ['completion'],
1231 'price' => [
1232 'in' => 3.00,
1233 'out' => 15.00,
1234 ],
1235 'type' => 'token',
1236 'unit' => 1 / 1000000,
1237 'maxCompletionTokens' => 4096,
1238 'maxContextualTokens' => 200000,
1239 'finetune' => false,
1240 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'mcp']
1241 ],
1242 [
1243 'model' => 'claude-3-sonnet-20240229',
1244 'name' => 'Claude-3 Sonnet (2024/02/29)',
1245 'family' => 'claude-3',
1246 'features' => ['completion'],
1247 'price' => [
1248 'in' => 3.00,
1249 'out' => 15.00,
1250 ],
1251 'type' => 'token',
1252 'unit' => 1 / 1000000,
1253 'maxCompletionTokens' => 4096,
1254 'maxContextualTokens' => 200000,
1255 'finetune' => false,
1256 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'deprecated']
1257 ],
1258 [
1259 // Deprecated: Anthropic retired Claude 3 Opus on January 5, 2026.
1260 'model' => 'claude-3-opus-latest',
1261 'name' => 'Claude-3 Opus (Latest)',
1262 'family' => 'claude-3',
1263 'features' => ['completion'],
1264 'price' => [
1265 'in' => 15.00,
1266 'out' => 75.00,
1267 ],
1268 'type' => 'token',
1269 'unit' => 1 / 1000000,
1270 'maxCompletionTokens' => 4096,
1271 'maxContextualTokens' => 200000,
1272 'finetune' => false,
1273 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'deprecated']
1274 ],
1275 [
1276 // Deprecated: Anthropic retired Claude 3 Opus on January 5, 2026.
1277 'model' => 'claude-3-opus-20240229',
1278 'name' => 'Claude-3 Opus (2024/02/29)',
1279 'family' => 'claude-3',
1280 'features' => ['completion'],
1281 'price' => [
1282 'in' => 15.00,
1283 'out' => 75.00,
1284 ],
1285 'type' => 'token',
1286 'unit' => 1 / 1000000,
1287 'maxCompletionTokens' => 4096,
1288 'maxContextualTokens' => 200000,
1289 'finetune' => false,
1290 'tags' => ['core', 'chat', 'vision', 'files', 'functions', 'deprecated']
1291 ],
1292 [
1293 'model' => 'claude-3-5-haiku-20241022',
1294 'name' => 'Claude-3.5 Haiku (2024/10/22)',
1295 'family' => 'claude-3',
1296 'features' => ['completion'],
1297 'price' => [
1298 'in' => 0.80,
1299 'out' => 4.00,
1300 ],
1301 'type' => 'token',
1302 'unit' => 1 / 1000000,
1303 'maxCompletionTokens' => 8192,
1304 'maxContextualTokens' => 200000,
1305 'finetune' => false,
1306 'tags' => ['core', 'chat', 'vision', 'files'],
1307 'tools' => ['code_interpreter']
1308 ],
1309 [
1310 'model' => 'claude-3-5-haiku-latest',
1311 'name' => 'Claude-3.5 Haiku',
1312 'family' => 'claude-3',
1313 'features' => ['completion'],
1314 'price' => [
1315 'in' => 0.80,
1316 'out' => 4.00,
1317 ],
1318 'type' => 'token',
1319 'unit' => 1 / 1000000,
1320 'maxCompletionTokens' => 8192,
1321 'maxContextualTokens' => 200000,
1322 'finetune' => false,
1323 'tags' => ['core', 'chat', 'vision', 'files', 'latest'],
1324 'tools' => ['code_interpreter']
1325 ],
1326 [
1327 'model' => 'claude-3-haiku-20240307',
1328 'name' => 'Claude-3 Haiku (2024/03/07)',
1329 'family' => 'claude-3',
1330 'features' => ['completion'],
1331 'price' => [
1332 'in' => 0.25,
1333 'out' => 1.25,
1334 ],
1335 'type' => 'token',
1336 'unit' => 1 / 1000000,
1337 'maxCompletionTokens' => 4096,
1338 'maxContextualTokens' => 200000,
1339 'finetune' => false,
1340 'tags' => ['core', 'chat', 'vision', 'files', 'functions']
1341 ]
1342 ] );
1343
1344 define( 'MWAI_PERPLEXITY_MODELS', [
1345 [
1346 'model' => 'sonar-pro',
1347 'name' => 'Sonar Pro',
1348 'family' => 'sonar',
1349 'features' => ['completion'],
1350 'price' => [
1351 'in' => 3.00,
1352 'out' => 15.00,
1353 'search' => 5.00,
1354 ],
1355 'type' => 'token',
1356 'unit' => 1 / 1000000,
1357 'searchUnit' => 1 / 1000,
1358 'maxCompletionTokens' => 8192,
1359 'maxContextualTokens' => 200000,
1360 'finetune' => false,
1361 'tags' => ['core', 'chat'],
1362 ],
1363 [
1364 'model' => 'sonar',
1365 'name' => 'Sonar',
1366 'family' => 'sonar',
1367 'features' => ['completion'],
1368 'price' => [
1369 'in' => 1.00,
1370 'out' => 1.00,
1371 'search' => 5.00,
1372 ],
1373 'type' => 'token',
1374 'unit' => 1 / 1000000,
1375 'searchUnit' => 1 / 1000,
1376 'maxCompletionTokens' => 4096,
1377 'maxContextualTokens' => 127000,
1378 'finetune' => false,
1379 'tags' => ['core', 'chat'],
1380 ],
1381 ] );
1382
1383 // Mistral AI Models
1384 // Models are fetched dynamically from the Mistral API
1385 define( 'MWAI_MISTRAL_MODELS', [] );
1386
1387 // xAI (Grok) Models
1388 // Models are fetched dynamically from the xAI API. The fallback list below mirrors the
1389 // chat-capable models that xAI publishes on https://docs.x.ai/docs/models, used only when
1390 // the dynamic fetch fails (e.g. invalid key during preflight).
1391 define( 'MWAI_XAI_MODELS', [
1392 [
1393 'model' => 'grok-4',
1394 'name' => 'Grok 4',
1395 'family' => 'grok',
1396 'features' => [ 'completion', 'functions' ],
1397 'price' => [ 'in' => 3.00, 'out' => 15.00 ],
1398 'type' => 'token',
1399 'unit' => 1 / 1000000,
1400 'maxCompletionTokens' => 16384,
1401 'maxContextualTokens' => 256000,
1402 'tags' => [ 'core', 'chat', 'functions', 'vision', 'reasoning' ],
1403 ],
1404 [
1405 'model' => 'grok-4-fast',
1406 'name' => 'Grok 4 Fast',
1407 'family' => 'grok',
1408 'features' => [ 'completion', 'functions' ],
1409 'price' => [ 'in' => 0.20, 'out' => 0.50 ],
1410 'type' => 'token',
1411 'unit' => 1 / 1000000,
1412 'maxCompletionTokens' => 16384,
1413 'maxContextualTokens' => 256000,
1414 'tags' => [ 'core', 'chat', 'functions', 'vision', 'reasoning' ],
1415 ],
1416 [
1417 'model' => 'grok-code-fast-1',
1418 'name' => 'Grok Code Fast',
1419 'family' => 'grok',
1420 'features' => [ 'completion', 'functions' ],
1421 'price' => [ 'in' => 0.20, 'out' => 1.50 ],
1422 'type' => 'token',
1423 'unit' => 1 / 1000000,
1424 'maxCompletionTokens' => 16384,
1425 'maxContextualTokens' => 256000,
1426 'tags' => [ 'core', 'chat', 'functions' ],
1427 ],
1428 [
1429 'model' => 'grok-3-mini',
1430 'name' => 'Grok 3 Mini',
1431 'family' => 'grok',
1432 'features' => [ 'completion', 'functions' ],
1433 'price' => [ 'in' => 0.30, 'out' => 0.50 ],
1434 'type' => 'token',
1435 'unit' => 1 / 1000000,
1436 'maxCompletionTokens' => 16384,
1437 'maxContextualTokens' => 131072,
1438 'tags' => [ 'core', 'chat', 'functions', 'reasoning' ],
1439 ],
1440 ] );
1441