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