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-1-codex",
  8  "default_small_model_id": "gpt-4o",
  9  "models": [
 10    {
 11      "id": "gpt-5.1",
 12      "name": "GPT-5.1",
 13      "cost_per_1m_in": 1.25,
 14      "cost_per_1m_out": 10,
 15      "cost_per_1m_in_cached": 0.13,
 16      "cost_per_1m_out_cached": 0.13,
 17      "context_window": 400000,
 18      "default_max_tokens": 128000,
 19      "can_reason": true,
 20      "reasoning_levels": [
 21        "minimal",
 22        "low",
 23        "medium",
 24        "high"
 25      ],
 26      "default_reasoning_effort": "medium",
 27      "supports_attachments": true
 28    },
 29    {
 30      "id": "gpt-5.1-codex",
 31      "name": "GPT-5.1 Codex",
 32      "cost_per_1m_in": 1.25,
 33      "cost_per_1m_out": 10,
 34      "cost_per_1m_in_cached": 0.25,
 35      "cost_per_1m_out_cached": 0.25,
 36      "context_window": 400000,
 37      "default_max_tokens": 128000,
 38      "can_reason": true,
 39      "reasoning_levels": [
 40        "minimal",
 41        "low",
 42        "medium",
 43        "high"
 44      ],
 45      "default_reasoning_effort": "medium",
 46      "supports_attachments": true
 47    },
 48    {
 49      "id": "gpt-5.1-codex-mini",
 50      "name": "GPT-5.1 Codex Mini",
 51      "cost_per_1m_in": 0.25,
 52      "cost_per_1m_out": 2,
 53      "cost_per_1m_in_cached": 0.03,
 54      "cost_per_1m_out_cached": 0.03,
 55      "context_window": 400000,
 56      "default_max_tokens": 128000,
 57      "can_reason": true,
 58      "reasoning_levels": [
 59        "low",
 60        "medium",
 61        "high"
 62      ],
 63      "default_reasoning_effort": "medium",
 64      "supports_attachments": true
 65    },
 66    {
 67      "id": "gpt-5-codex",
 68      "name": "GPT-5 Codex",
 69      "cost_per_1m_in": 1.25,
 70      "cost_per_1m_out": 10,
 71      "cost_per_1m_in_cached": 0.25,
 72      "cost_per_1m_out_cached": 0.25,
 73      "context_window": 400000,
 74      "default_max_tokens": 128000,
 75      "can_reason": true,
 76      "reasoning_levels": [
 77        "minimal",
 78        "low",
 79        "medium",
 80        "high"
 81      ],
 82      "default_reasoning_effort": "medium",
 83      "supports_attachments": true
 84    },
 85    {
 86      "id": "gpt-5",
 87      "name": "GPT-5",
 88      "cost_per_1m_in": 1.25,
 89      "cost_per_1m_out": 10,
 90      "cost_per_1m_in_cached": 0.13,
 91      "cost_per_1m_out_cached": 0.13,
 92      "context_window": 400000,
 93      "default_max_tokens": 128000,
 94      "can_reason": true,
 95      "reasoning_levels": [
 96        "minimal",
 97        "low",
 98        "medium",
 99        "high"
100      ],
101      "default_reasoning_effort": "medium",
102      "supports_attachments": true
103    },
104    {
105      "id": "gpt-5-mini",
106      "name": "GPT-5 Mini",
107      "cost_per_1m_in": 0.25,
108      "cost_per_1m_out": 2,
109      "cost_per_1m_in_cached": 0.025,
110      "cost_per_1m_out_cached": 0.025,
111      "context_window": 400000,
112      "default_max_tokens": 128000,
113      "can_reason": true,
114      "reasoning_levels": [
115        "low",
116        "medium",
117        "high"
118      ],
119      "default_reasoning_effort": "medium",
120      "supports_attachments": true
121    },
122    {
123      "id": "gpt-5-nano",
124      "name": "GPT-5 Nano",
125      "cost_per_1m_in": 0.05,
126      "cost_per_1m_out": 0.4,
127      "cost_per_1m_in_cached": 0.005,
128      "cost_per_1m_out_cached": 0.005,
129      "context_window": 400000,
130      "default_max_tokens": 128000,
131      "can_reason": true,
132      "reasoning_levels": [
133        "low",
134        "medium",
135        "high"
136      ],
137      "default_reasoning_effort": "medium",
138      "supports_attachments": true
139    },
140    {
141      "id": "o4-mini",
142      "name": "o4 Mini",
143      "cost_per_1m_in": 1.1,
144      "cost_per_1m_out": 4.4,
145      "cost_per_1m_in_cached": 0,
146      "cost_per_1m_out_cached": 0.275,
147      "context_window": 200000,
148      "default_max_tokens": 50000,
149      "can_reason": true,
150      "reasoning_levels": [
151        "low",
152        "medium",
153        "high"
154      ],
155      "default_reasoning_effort": "medium",
156      "supports_attachments": true
157    },
158    {
159      "id": "o3",
160      "name": "o3",
161      "cost_per_1m_in": 2,
162      "cost_per_1m_out": 8,
163      "cost_per_1m_in_cached": 0,
164      "cost_per_1m_out_cached": 0.5,
165      "context_window": 200000,
166      "default_max_tokens": 50000,
167      "can_reason": true,
168      "reasoning_levels": [
169        "low",
170        "medium",
171        "high"
172      ],
173      "default_reasoning_effort": "medium",
174      "supports_attachments": true
175    },
176    {
177      "id": "gpt-4.1",
178      "name": "GPT-4.1",
179      "cost_per_1m_in": 2,
180      "cost_per_1m_out": 8,
181      "cost_per_1m_in_cached": 0,
182      "cost_per_1m_out_cached": 0.5,
183      "context_window": 1047576,
184      "default_max_tokens": 16384,
185      "can_reason": false,
186      "supports_attachments": true
187    },
188    {
189      "id": "gpt-4.1-mini",
190      "name": "GPT-4.1 Mini",
191      "cost_per_1m_in": 0.39999999999999997,
192      "cost_per_1m_out": 1.5999999999999999,
193      "cost_per_1m_in_cached": 0,
194      "cost_per_1m_out_cached": 0.09999999999999999,
195      "context_window": 1047576,
196      "default_max_tokens": 16384,
197      "can_reason": false,
198      "supports_attachments": true
199    },
200    {
201      "id": "gpt-4.1-nano",
202      "name": "GPT-4.1 Nano",
203      "cost_per_1m_in": 0.09999999999999999,
204      "cost_per_1m_out": 0.39999999999999997,
205      "cost_per_1m_in_cached": 0,
206      "cost_per_1m_out_cached": 0.024999999999999998,
207      "context_window": 1047576,
208      "default_max_tokens": 16384,
209      "can_reason": false,
210      "supports_attachments": true
211    },
212    {
213      "id": "o3-mini",
214      "name": "o3 Mini",
215      "cost_per_1m_in": 1.1,
216      "cost_per_1m_out": 4.4,
217      "cost_per_1m_in_cached": 0,
218      "cost_per_1m_out_cached": 0.55,
219      "context_window": 200000,
220      "default_max_tokens": 50000,
221      "can_reason": true,
222      "reasoning_levels": [
223        "low",
224        "medium",
225        "high"
226      ],
227      "default_reasoning_effort": "medium",
228      "supports_attachments": false
229    },
230    {
231      "id": "gpt-4o",
232      "name": "GPT-4o",
233      "cost_per_1m_in": 2.5,
234      "cost_per_1m_out": 10,
235      "cost_per_1m_in_cached": 0,
236      "cost_per_1m_out_cached": 1.25,
237      "context_window": 128000,
238      "default_max_tokens": 8192,
239      "can_reason": false,
240      "supports_attachments": true
241    },
242    {
243      "id": "gpt-4o-mini",
244      "name": "GPT-4o-mini",
245      "cost_per_1m_in": 0.15,
246      "cost_per_1m_out": 0.6,
247      "cost_per_1m_in_cached": 0,
248      "cost_per_1m_out_cached": 0.075,
249      "context_window": 128000,
250      "default_max_tokens": 8192,
251      "can_reason": false,
252      "reasoning_effort": "",
253      "supports_attachments": true
254    }
255  ]
256}