1{
2 "name": "OpenAI",
3 "id": "openai",
4 "type": "openai",
5 "api_key": "$OPENAI_API_KEY",
6 "api_endpoint": "$OPENAI_API_ENDPOINT",
7 "default_large_model_id": "gpt-5.4",
8 "default_small_model_id": "gpt-5.4-nano",
9 "models": [
10 {
11 "id": "gpt-5.4",
12 "name": "GPT-5.4",
13 "cost_per_1m_in": 2.5,
14 "cost_per_1m_out": 15,
15 "cost_per_1m_in_cached": 0.25,
16 "cost_per_1m_out_cached": 0,
17 "context_window": 1050000,
18 "default_max_tokens": 128000,
19 "can_reason": true,
20 "reasoning_levels": ["low", "medium", "high", "xhigh"],
21 "default_reasoning_effort": "medium",
22 "supports_attachments": true
23 },
24 {
25 "id": "gpt-5.4-pro",
26 "name": "GPT-5.4 Pro",
27 "cost_per_1m_in": 30,
28 "cost_per_1m_out": 180,
29 "cost_per_1m_in_cached": 0,
30 "cost_per_1m_out_cached": 0,
31 "context_window": 1050000,
32 "default_max_tokens": 128000,
33 "can_reason": true,
34 "reasoning_levels": ["medium", "high", "xhigh"],
35 "default_reasoning_effort": "medium",
36 "supports_attachments": true
37 },
38 {
39 "id": "gpt-5.4-mini",
40 "name": "GPT-5.4 Mini",
41 "cost_per_1m_in": 0.75,
42 "cost_per_1m_out": 180,
43 "cost_per_1m_in_cached": 0,
44 "cost_per_1m_out_cached": 0,
45 "context_window": 400000,
46 "default_max_tokens": 128000,
47 "can_reason": true,
48 "reasoning_levels": ["low", "medium", "high", "xhigh"],
49 "default_reasoning_effort": "medium",
50 "supports_attachments": true
51 },
52 {
53 "id": "gpt-5.4-nano",
54 "name": "GPT-5.4 Nano",
55 "cost_per_1m_in": 0.20,
56 "cost_per_1m_out": 1.25,
57 "cost_per_1m_in_cached": 0.02,
58 "cost_per_1m_out_cached": 0,
59 "context_window": 400000,
60 "default_max_tokens": 128000,
61 "can_reason": true,
62 "reasoning_levels": ["low", "medium", "high", "xhigh"],
63 "default_reasoning_effort": "medium",
64 "supports_attachments": true
65 },
66 {
67 "id": "gpt-5.3-codex",
68 "name": "GPT-5.3 Codex",
69 "cost_per_1m_in": 1.75,
70 "cost_per_1m_out": 14,
71 "cost_per_1m_in_cached": 0.175,
72 "cost_per_1m_out_cached": 0.175,
73 "context_window": 400000,
74 "default_max_tokens": 128000,
75 "can_reason": true,
76 "reasoning_levels": ["minimal", "low", "medium", "high"],
77 "default_reasoning_effort": "medium",
78 "supports_attachments": true
79 },
80 {
81 "id": "gpt-5.2",
82 "name": "GPT-5.2",
83 "cost_per_1m_in": 1.75,
84 "cost_per_1m_out": 14,
85 "cost_per_1m_in_cached": 0.175,
86 "cost_per_1m_out_cached": 0.175,
87 "context_window": 400000,
88 "default_max_tokens": 128000,
89 "can_reason": true,
90 "reasoning_levels": ["minimal", "low", "medium", "high"],
91 "default_reasoning_effort": "medium",
92 "supports_attachments": true
93 },
94 {
95 "id": "gpt-5.2-codex",
96 "name": "GPT-5.2 Codex",
97 "cost_per_1m_in": 1.75,
98 "cost_per_1m_out": 14,
99 "cost_per_1m_in_cached": 0.175,
100 "cost_per_1m_out_cached": 0.175,
101 "context_window": 400000,
102 "default_max_tokens": 128000,
103 "can_reason": true,
104 "reasoning_levels": ["minimal", "low", "medium", "high"],
105 "default_reasoning_effort": "medium",
106 "supports_attachments": true
107 },
108 {
109 "id": "gpt-5.1",
110 "name": "GPT-5.1",
111 "cost_per_1m_in": 1.25,
112 "cost_per_1m_out": 10,
113 "cost_per_1m_in_cached": 0.125,
114 "cost_per_1m_out_cached": 0.125,
115 "context_window": 400000,
116 "default_max_tokens": 128000,
117 "can_reason": true,
118 "reasoning_levels": ["minimal", "low", "medium", "high"],
119 "default_reasoning_effort": "medium",
120 "supports_attachments": true
121 },
122 {
123 "id": "gpt-5.1-codex",
124 "name": "GPT-5.1 Codex",
125 "cost_per_1m_in": 1.25,
126 "cost_per_1m_out": 10,
127 "cost_per_1m_in_cached": 0.125,
128 "cost_per_1m_out_cached": 0.125,
129 "context_window": 400000,
130 "default_max_tokens": 128000,
131 "can_reason": true,
132 "reasoning_levels": ["minimal", "low", "medium", "high"],
133 "default_reasoning_effort": "medium",
134 "supports_attachments": true
135 },
136 {
137 "id": "gpt-5.1-codex-max",
138 "name": "GPT-5.1 Codex Max",
139 "cost_per_1m_in": 1.25,
140 "cost_per_1m_out": 10,
141 "cost_per_1m_in_cached": 0.125,
142 "cost_per_1m_out_cached": 0.125,
143 "context_window": 400000,
144 "default_max_tokens": 128000,
145 "can_reason": true,
146 "reasoning_levels": ["minimal", "low", "medium", "high"],
147 "default_reasoning_effort": "medium",
148 "supports_attachments": true
149 },
150 {
151 "id": "gpt-5.1-codex-mini",
152 "name": "GPT-5.1 Codex Mini",
153 "cost_per_1m_in": 0.25,
154 "cost_per_1m_out": 2,
155 "cost_per_1m_in_cached": 0.025,
156 "cost_per_1m_out_cached": 0.025,
157 "context_window": 400000,
158 "default_max_tokens": 128000,
159 "can_reason": true,
160 "reasoning_levels": ["low", "medium", "high"],
161 "default_reasoning_effort": "medium",
162 "supports_attachments": true
163 },
164 {
165 "id": "gpt-5-codex",
166 "name": "GPT-5 Codex",
167 "cost_per_1m_in": 1.25,
168 "cost_per_1m_out": 10,
169 "cost_per_1m_in_cached": 0.125,
170 "cost_per_1m_out_cached": 0.125,
171 "context_window": 400000,
172 "default_max_tokens": 128000,
173 "can_reason": true,
174 "reasoning_levels": ["minimal", "low", "medium", "high"],
175 "default_reasoning_effort": "medium",
176 "supports_attachments": true
177 },
178 {
179 "id": "gpt-5",
180 "name": "GPT-5",
181 "cost_per_1m_in": 1.25,
182 "cost_per_1m_out": 10,
183 "cost_per_1m_in_cached": 0.125,
184 "cost_per_1m_out_cached": 0.125,
185 "context_window": 400000,
186 "default_max_tokens": 128000,
187 "can_reason": true,
188 "reasoning_levels": ["minimal", "low", "medium", "high"],
189 "default_reasoning_effort": "medium",
190 "supports_attachments": true
191 },
192 {
193 "id": "gpt-5-mini",
194 "name": "GPT-5 Mini",
195 "cost_per_1m_in": 0.25,
196 "cost_per_1m_out": 2,
197 "cost_per_1m_in_cached": 0.025,
198 "cost_per_1m_out_cached": 0.025,
199 "context_window": 400000,
200 "default_max_tokens": 128000,
201 "can_reason": true,
202 "reasoning_levels": ["low", "medium", "high"],
203 "default_reasoning_effort": "medium",
204 "supports_attachments": true
205 },
206 {
207 "id": "gpt-5-nano",
208 "name": "GPT-5 Nano",
209 "cost_per_1m_in": 0.05,
210 "cost_per_1m_out": 0.4,
211 "cost_per_1m_in_cached": 0.005,
212 "cost_per_1m_out_cached": 0.005,
213 "context_window": 400000,
214 "default_max_tokens": 128000,
215 "can_reason": true,
216 "reasoning_levels": ["low", "medium", "high"],
217 "default_reasoning_effort": "medium",
218 "supports_attachments": true
219 },
220 {
221 "id": "o4-mini",
222 "name": "o4 Mini",
223 "cost_per_1m_in": 1.1,
224 "cost_per_1m_out": 4.4,
225 "cost_per_1m_in_cached": 0,
226 "cost_per_1m_out_cached": 0.275,
227 "context_window": 200000,
228 "default_max_tokens": 50000,
229 "can_reason": true,
230 "reasoning_levels": ["low", "medium", "high"],
231 "default_reasoning_effort": "medium",
232 "supports_attachments": true
233 },
234 {
235 "id": "o3",
236 "name": "o3",
237 "cost_per_1m_in": 2,
238 "cost_per_1m_out": 8,
239 "cost_per_1m_in_cached": 0,
240 "cost_per_1m_out_cached": 0.5,
241 "context_window": 200000,
242 "default_max_tokens": 50000,
243 "can_reason": true,
244 "reasoning_levels": ["low", "medium", "high"],
245 "default_reasoning_effort": "medium",
246 "supports_attachments": true
247 },
248 {
249 "id": "gpt-4.1",
250 "name": "GPT-4.1",
251 "cost_per_1m_in": 2,
252 "cost_per_1m_out": 8,
253 "cost_per_1m_in_cached": 0,
254 "cost_per_1m_out_cached": 0.5,
255 "context_window": 1047576,
256 "default_max_tokens": 16384,
257 "can_reason": false,
258 "supports_attachments": true
259 },
260 {
261 "id": "gpt-4.1-mini",
262 "name": "GPT-4.1 Mini",
263 "cost_per_1m_in": 0.39999999999999997,
264 "cost_per_1m_out": 1.5999999999999999,
265 "cost_per_1m_in_cached": 0,
266 "cost_per_1m_out_cached": 0.09999999999999999,
267 "context_window": 1047576,
268 "default_max_tokens": 16384,
269 "can_reason": false,
270 "supports_attachments": true
271 },
272 {
273 "id": "gpt-4.1-nano",
274 "name": "GPT-4.1 Nano",
275 "cost_per_1m_in": 0.09999999999999999,
276 "cost_per_1m_out": 0.39999999999999997,
277 "cost_per_1m_in_cached": 0,
278 "cost_per_1m_out_cached": 0.024999999999999998,
279 "context_window": 1047576,
280 "default_max_tokens": 16384,
281 "can_reason": false,
282 "supports_attachments": true
283 },
284 {
285 "id": "o3-mini",
286 "name": "o3 Mini",
287 "cost_per_1m_in": 1.1,
288 "cost_per_1m_out": 4.4,
289 "cost_per_1m_in_cached": 0,
290 "cost_per_1m_out_cached": 0.55,
291 "context_window": 200000,
292 "default_max_tokens": 50000,
293 "can_reason": true,
294 "reasoning_levels": ["low", "medium", "high"],
295 "default_reasoning_effort": "medium",
296 "supports_attachments": false
297 },
298 {
299 "id": "gpt-4o",
300 "name": "GPT-4o",
301 "cost_per_1m_in": 2.5,
302 "cost_per_1m_out": 10,
303 "cost_per_1m_in_cached": 0,
304 "cost_per_1m_out_cached": 1.25,
305 "context_window": 128000,
306 "default_max_tokens": 8192,
307 "can_reason": false,
308 "supports_attachments": true
309 },
310 {
311 "id": "gpt-4o-mini",
312 "name": "GPT-4o-mini",
313 "cost_per_1m_in": 0.15,
314 "cost_per_1m_out": 0.6,
315 "cost_per_1m_in_cached": 0,
316 "cost_per_1m_out_cached": 0.075,
317 "context_window": 128000,
318 "default_max_tokens": 8192,
319 "can_reason": false,
320 "reasoning_effort": "",
321 "supports_attachments": true
322 }
323 ]
324}