openai.json

  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}