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.1-codex",
8 "default_small_model_id": "gpt-4o",
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.3-codex",
40 "name": "GPT-5.3 Codex",
41 "cost_per_1m_in": 1.75,
42 "cost_per_1m_out": 14,
43 "cost_per_1m_in_cached": 0.175,
44 "cost_per_1m_out_cached": 0.175,
45 "context_window": 400000,
46 "default_max_tokens": 128000,
47 "can_reason": true,
48 "reasoning_levels": ["minimal", "low", "medium", "high"],
49 "default_reasoning_effort": "medium",
50 "supports_attachments": true
51 },
52 {
53 "id": "gpt-5.2",
54 "name": "GPT-5.2",
55 "cost_per_1m_in": 1.75,
56 "cost_per_1m_out": 14,
57 "cost_per_1m_in_cached": 0.175,
58 "cost_per_1m_out_cached": 0.175,
59 "context_window": 400000,
60 "default_max_tokens": 128000,
61 "can_reason": true,
62 "reasoning_levels": ["minimal", "low", "medium", "high"],
63 "default_reasoning_effort": "medium",
64 "supports_attachments": true
65 },
66 {
67 "id": "gpt-5.2-codex",
68 "name": "GPT-5.2 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.1",
82 "name": "GPT-5.1",
83 "cost_per_1m_in": 1.25,
84 "cost_per_1m_out": 10,
85 "cost_per_1m_in_cached": 0.125,
86 "cost_per_1m_out_cached": 0.125,
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.1-codex",
96 "name": "GPT-5.1 Codex",
97 "cost_per_1m_in": 1.25,
98 "cost_per_1m_out": 10,
99 "cost_per_1m_in_cached": 0.125,
100 "cost_per_1m_out_cached": 0.125,
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-codex-max",
110 "name": "GPT-5.1 Codex Max",
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-mini",
124 "name": "GPT-5.1 Codex Mini",
125 "cost_per_1m_in": 0.25,
126 "cost_per_1m_out": 2,
127 "cost_per_1m_in_cached": 0.025,
128 "cost_per_1m_out_cached": 0.025,
129 "context_window": 400000,
130 "default_max_tokens": 128000,
131 "can_reason": true,
132 "reasoning_levels": ["low", "medium", "high"],
133 "default_reasoning_effort": "medium",
134 "supports_attachments": true
135 },
136 {
137 "id": "gpt-5-codex",
138 "name": "GPT-5 Codex",
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",
152 "name": "GPT-5",
153 "cost_per_1m_in": 1.25,
154 "cost_per_1m_out": 10,
155 "cost_per_1m_in_cached": 0.125,
156 "cost_per_1m_out_cached": 0.125,
157 "context_window": 400000,
158 "default_max_tokens": 128000,
159 "can_reason": true,
160 "reasoning_levels": ["minimal", "low", "medium", "high"],
161 "default_reasoning_effort": "medium",
162 "supports_attachments": true
163 },
164 {
165 "id": "gpt-5-mini",
166 "name": "GPT-5 Mini",
167 "cost_per_1m_in": 0.25,
168 "cost_per_1m_out": 2,
169 "cost_per_1m_in_cached": 0.025,
170 "cost_per_1m_out_cached": 0.025,
171 "context_window": 400000,
172 "default_max_tokens": 128000,
173 "can_reason": true,
174 "reasoning_levels": ["low", "medium", "high"],
175 "default_reasoning_effort": "medium",
176 "supports_attachments": true
177 },
178 {
179 "id": "gpt-5-nano",
180 "name": "GPT-5 Nano",
181 "cost_per_1m_in": 0.05,
182 "cost_per_1m_out": 0.4,
183 "cost_per_1m_in_cached": 0.005,
184 "cost_per_1m_out_cached": 0.005,
185 "context_window": 400000,
186 "default_max_tokens": 128000,
187 "can_reason": true,
188 "reasoning_levels": ["low", "medium", "high"],
189 "default_reasoning_effort": "medium",
190 "supports_attachments": true
191 },
192 {
193 "id": "o4-mini",
194 "name": "o4 Mini",
195 "cost_per_1m_in": 1.1,
196 "cost_per_1m_out": 4.4,
197 "cost_per_1m_in_cached": 0,
198 "cost_per_1m_out_cached": 0.275,
199 "context_window": 200000,
200 "default_max_tokens": 50000,
201 "can_reason": true,
202 "reasoning_levels": ["low", "medium", "high"],
203 "default_reasoning_effort": "medium",
204 "supports_attachments": true
205 },
206 {
207 "id": "o3",
208 "name": "o3",
209 "cost_per_1m_in": 2,
210 "cost_per_1m_out": 8,
211 "cost_per_1m_in_cached": 0,
212 "cost_per_1m_out_cached": 0.5,
213 "context_window": 200000,
214 "default_max_tokens": 50000,
215 "can_reason": true,
216 "reasoning_levels": ["low", "medium", "high"],
217 "default_reasoning_effort": "medium",
218 "supports_attachments": true
219 },
220 {
221 "id": "gpt-4.1",
222 "name": "GPT-4.1",
223 "cost_per_1m_in": 2,
224 "cost_per_1m_out": 8,
225 "cost_per_1m_in_cached": 0,
226 "cost_per_1m_out_cached": 0.5,
227 "context_window": 1047576,
228 "default_max_tokens": 16384,
229 "can_reason": false,
230 "supports_attachments": true
231 },
232 {
233 "id": "gpt-4.1-mini",
234 "name": "GPT-4.1 Mini",
235 "cost_per_1m_in": 0.39999999999999997,
236 "cost_per_1m_out": 1.5999999999999999,
237 "cost_per_1m_in_cached": 0,
238 "cost_per_1m_out_cached": 0.09999999999999999,
239 "context_window": 1047576,
240 "default_max_tokens": 16384,
241 "can_reason": false,
242 "supports_attachments": true
243 },
244 {
245 "id": "gpt-4.1-nano",
246 "name": "GPT-4.1 Nano",
247 "cost_per_1m_in": 0.09999999999999999,
248 "cost_per_1m_out": 0.39999999999999997,
249 "cost_per_1m_in_cached": 0,
250 "cost_per_1m_out_cached": 0.024999999999999998,
251 "context_window": 1047576,
252 "default_max_tokens": 16384,
253 "can_reason": false,
254 "supports_attachments": true
255 },
256 {
257 "id": "o3-mini",
258 "name": "o3 Mini",
259 "cost_per_1m_in": 1.1,
260 "cost_per_1m_out": 4.4,
261 "cost_per_1m_in_cached": 0,
262 "cost_per_1m_out_cached": 0.55,
263 "context_window": 200000,
264 "default_max_tokens": 50000,
265 "can_reason": true,
266 "reasoning_levels": ["low", "medium", "high"],
267 "default_reasoning_effort": "medium",
268 "supports_attachments": false
269 },
270 {
271 "id": "gpt-4o",
272 "name": "GPT-4o",
273 "cost_per_1m_in": 2.5,
274 "cost_per_1m_out": 10,
275 "cost_per_1m_in_cached": 0,
276 "cost_per_1m_out_cached": 1.25,
277 "context_window": 128000,
278 "default_max_tokens": 8192,
279 "can_reason": false,
280 "supports_attachments": true
281 },
282 {
283 "id": "gpt-4o-mini",
284 "name": "GPT-4o-mini",
285 "cost_per_1m_in": 0.15,
286 "cost_per_1m_out": 0.6,
287 "cost_per_1m_in_cached": 0,
288 "cost_per_1m_out_cached": 0.075,
289 "context_window": 128000,
290 "default_max_tokens": 8192,
291 "can_reason": false,
292 "reasoning_effort": "",
293 "supports_attachments": true
294 }
295 ]
296}