@oar-sh/oar 0.9.2 → 0.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/.github/extensions/web-relay/extension.mjs +6 -1
  2. package/.github/extensions/web-relay/skills/tool-activity.mjs +7 -0
  3. package/CHANGELOG.md +336 -0
  4. package/README.md +455 -423
  5. package/bin/oar.js +25 -10
  6. package/package.json +11 -5
  7. package/server/README.md +44 -4
  8. package/server/claude-worker/claude-remote-relay-tool.mjs +99 -0
  9. package/server/claude-worker/claude-sdk-adapter.mjs +26 -4
  10. package/server/claude-worker/claude-session-process.mjs +1073 -69
  11. package/server/claude-worker/claude-session-worker.mjs +45 -4
  12. package/server/claude-worker/claude-turn-publisher.mjs +81 -20
  13. package/server/claude-worker/claude-worker-link-wiring.mjs +9 -0
  14. package/server/claude-worker/sdk-message-normalizer.mjs +7 -0
  15. package/server/copilot-worker/copilot-ask-user-tool.mjs +89 -0
  16. package/server/copilot-worker/copilot-continuation-signals.mjs +55 -0
  17. package/server/copilot-worker/copilot-question-bridge.mjs +34 -12
  18. package/server/copilot-worker/copilot-remote-relay-tool.mjs +59 -0
  19. package/server/copilot-worker/copilot-sdk-event-normalizer.mjs +113 -14
  20. package/server/copilot-worker/copilot-sdk-session-process.mjs +2349 -498
  21. package/server/copilot-worker/copilot-sdk-session-worker.mjs +82 -20
  22. package/server/cursor-worker/cursor-remote-relay-tool.mjs +65 -0
  23. package/server/cursor-worker/cursor-turn-runner.mjs +45 -2
  24. package/server/cursor-worker/sdk-message-normalizer.mjs +25 -0
  25. package/server/db-schema.mjs +28 -0
  26. package/server/grok-worker/acp-client.mjs +92 -6
  27. package/server/grok-worker/grok-turn-runner.mjs +59 -8
  28. package/server/grok-worker/sdk-message-normalizer.mjs +13 -0
  29. package/server/mcp/oar-mcp-server.mjs +473 -0
  30. package/server/migrations/0004-steer-settle-markers.mjs +119 -0
  31. package/server/migrations/0005-remote-relays.mjs +90 -0
  32. package/server/public/app/action-confirmations.js +141 -13
  33. package/server/public/app/api-client.js +125 -2
  34. package/server/public/app/ask-user-view.js +102 -13
  35. package/server/public/app/attachments-view.js +37 -2
  36. package/server/public/app/background-task-timeout-options.mjs +9 -0
  37. package/server/public/app/background-tasks-view.mjs +33 -18
  38. package/server/public/app/bootstrap.js +55 -14
  39. package/server/public/app/composer-control-state.mjs +52 -34
  40. package/server/public/app/conversation-deep-link.mjs +42 -0
  41. package/server/public/app/conversation-draft-sync.mjs +187 -0
  42. package/server/public/app/conversation-list-filter.mjs +86 -0
  43. package/server/public/app/conversation-provider-indicator.mjs +8 -0
  44. package/server/public/app/conversation-view.js +1016 -200
  45. package/server/public/app/emoji-view.js +2 -0
  46. package/server/public/app/font-scaling.js +4 -37
  47. package/server/public/app/host-suspend-ui.js +272 -0
  48. package/server/public/app/journal-view.js +149 -6
  49. package/server/public/app/mention-autocomplete.mjs +298 -0
  50. package/server/public/app/model-selector-options.mjs +1 -1
  51. package/server/public/app/push-settings.js +1 -0
  52. package/server/public/app/pwa-install.js +8 -3
  53. package/server/public/app/question-multi-select.mjs +52 -0
  54. package/server/public/app/relay-prompt-sanitizer.mjs +61 -3
  55. package/server/public/app/remote-relay-origin-view.mjs +76 -0
  56. package/server/public/app/remote-relay-shared.mjs +85 -0
  57. package/server/public/app/remote-relays-settings.js +618 -0
  58. package/server/public/app/remote-relays-store.mjs +126 -0
  59. package/server/public/app/settings-modal.js +12 -8
  60. package/server/public/app/settings-tabs.js +1 -1
  61. package/server/public/app/socket-handlers.js +37 -1
  62. package/server/public/app/steered-turn-merge.mjs +100 -0
  63. package/server/public/app/store.js +126 -15
  64. package/server/public/app/sync-outbox.mjs +16 -8
  65. package/server/public/app/thinking-follow.js +260 -0
  66. package/server/public/app/tool-activity-emoji.mjs +40 -0
  67. package/server/public/app/transcript-viewport-anchor.mjs +210 -0
  68. package/server/public/index.html +463 -17
  69. package/server/public/sw.js +7 -0
  70. package/server/relay-tools.md +7 -1
  71. package/server/repositories/message-repository.mjs +68 -18
  72. package/server/repositories/question-repository.mjs +18 -0
  73. package/server/repositories/remote-relay-repository.mjs +75 -0
  74. package/server/repositories/session-repository.mjs +13 -32
  75. package/server/routes/ask-user-routes.mjs +42 -2
  76. package/server/routes/messages-routes.mjs +572 -56
  77. package/server/routes/remote-relay-routes.mjs +133 -0
  78. package/server/routes/sessions-routes.mjs +378 -84
  79. package/server/server-runtime.mjs +303 -25
  80. package/server/services/github-ci-activity-service.mjs +199 -0
  81. package/server/services/host-suspend-command.mjs +38 -0
  82. package/server/services/host-suspend-service.mjs +254 -0
  83. package/server/services/live-turn-picker.mjs +47 -0
  84. package/server/services/push-dispatch-service.mjs +37 -4
  85. package/server/services/relay-prompt-sanitizer.mjs +17 -2
  86. package/server/services/relay-question-context.mjs +46 -0
  87. package/server/services/remote-relay-caller-context.mjs +341 -0
  88. package/server/services/remote-relay-client.mjs +332 -0
  89. package/server/services/remote-relay-dispatcher.mjs +1500 -0
  90. package/server/services/remote-relay-inbound.mjs +187 -0
  91. package/server/services/remote-relay-pairing.mjs +189 -0
  92. package/server/services/remote-relay-registry-service.mjs +581 -0
  93. package/server/services/sdk-session-import-service.mjs +49 -7
  94. package/server/services/session-worker-launch-service.mjs +131 -12
  95. package/server/services/session-worker-registry-service.mjs +75 -0
  96. package/server/services/session-worker-supervisor-service.mjs +7 -1
  97. package/server/services/session-worker-websocket-service.mjs +23 -1
  98. package/server/services/steer-resend.mjs +45 -0
  99. package/shared/background-task-timeout.mjs +12 -4
  100. package/shared/control-poller.mjs +4 -1
  101. package/shared/question-multi-select.mjs +16 -0
  102. package/shared/relay-stop-failure.mjs +15 -0
  103. package/shared/remote-relay-contract.mjs +539 -0
  104. package/shared/remote-relay-mentions.mjs +129 -0
  105. package/shared/remote-relay-tool-core.mjs +314 -0
  106. package/shared/slash-command-guard.mjs +76 -0
  107. package/shared/steer-note.mjs +66 -0
  108. package/shared/steer-settle-failure.mjs +89 -0
  109. package/shared/steer-settle-markers.mjs +18 -0
  110. package/shared/worker-crash-guard.mjs +40 -25
  111. package/shared/worker-runtime/api-client.mjs +112 -22
  112. package/shared/worker-runtime/heartbeat.mjs +55 -1
  113. package/shared/worker-runtime/runner-link-wiring.mjs +44 -0
  114. package/shared/worker-runtime/worker-websocket-link.mjs +119 -8
  115. package/server/claude-worker/claude-session-test-harness.mjs +0 -250
  116. package/server/claude-worker/fixtures/workflow-run-record.json +0 -1
  117. package/server/copilot-worker/copilot-sdk-test-harness.mjs +0 -382
  118. package/server/copilot-worker/fixtures/abort-turn.json +0 -588
  119. package/server/copilot-worker/fixtures/ask-user-turn.json +0 -1154
  120. package/server/copilot-worker/fixtures/background-timer-continuation.json +0 -445
  121. package/server/copilot-worker/fixtures/background-timer-turn.json +0 -497
  122. package/server/copilot-worker/fixtures/happy-turn.json +0 -566
  123. package/server/copilot-worker/fixtures/quota-turn.json +0 -647
  124. package/server/copilot-worker/fixtures/reasoning-turn.json +0 -625
  125. package/server/copilot-worker/fixtures/resume-turn.json +0 -700
  126. package/server/copilot-worker/fixtures/subagent-turn.json +0 -1378
  127. package/server/copilot-worker/fixtures/tool-permission-turn.json +0 -1293
  128. package/server/routes/messages-routes-test-harness.mjs +0 -111
  129. package/server/services/fixtures/claude-auth-stub.cmd +0 -1
  130. package/server/services/fixtures/claude-auth-stub.mjs +0 -76
  131. package/server/services/fixtures/claude-auth-stub.sh +0 -4
  132. package/server/services/fixtures/cli-install-stub.cmd +0 -1
  133. package/server/services/fixtures/cli-install-stub.mjs +0 -98
  134. package/server/services/fixtures/cli-install-stub.sh +0 -4
  135. package/server/services/fixtures/grok-stub.cmd +0 -1
  136. package/server/services/fixtures/grok-stub.mjs +0 -89
  137. package/server/services/fixtures/grok-stub.sh +0 -4
  138. package/shared/fixtures/copilot-catalog-raw-2026-09-07.json +0 -2363
@@ -1,2363 +0,0 @@
1
- {
2
- "list": [
3
- {
4
- "billing": {
5
- "auto_discount": 0.3,
6
- "restricted_to": [
7
- "pro",
8
- "pro_plus",
9
- "business",
10
- "enterprise",
11
- "max"
12
- ],
13
- "token_prices": {
14
- "batch_size": 1000000,
15
- "default": {
16
- "cache_read_price": 20,
17
- "cache_write_1h_price": 400,
18
- "cache_write_price": 250,
19
- "input_price": 200,
20
- "max_prompt_tokens": 200000,
21
- "output_price": 1000
22
- },
23
- "long_context": {
24
- "cache_read_price": 20,
25
- "cache_write_1h_price": 400,
26
- "cache_write_price": 250,
27
- "input_price": 200,
28
- "max_prompt_tokens": 936000,
29
- "output_price": 1000
30
- }
31
- }
32
- },
33
- "capabilities": {
34
- "family": "claude-sonnet-5",
35
- "limits": {
36
- "max_context_window_tokens": 1000000,
37
- "max_non_streaming_output_tokens": 16000,
38
- "max_output_tokens": 64000,
39
- "max_prompt_tokens": 936000,
40
- "vision": {
41
- "max_prompt_image_size": 3145728,
42
- "max_prompt_images": 5,
43
- "supported_media_types": [
44
- "image/jpeg",
45
- "image/png",
46
- "image/webp",
47
- "image/gif",
48
- "application/pdf"
49
- ]
50
- }
51
- },
52
- "object": "model_capabilities",
53
- "supports": {
54
- "adaptive_thinking": "required",
55
- "max_thinking_budget": 32000,
56
- "min_thinking_budget": 1024,
57
- "parallel_tool_calls": true,
58
- "reasoning_effort": [
59
- "low",
60
- "medium",
61
- "high",
62
- "xhigh",
63
- "max"
64
- ],
65
- "streaming": true,
66
- "structured_outputs": true,
67
- "tool_calls": true,
68
- "vision": true
69
- },
70
- "tokenizer": "o200k_base",
71
- "type": "chat"
72
- },
73
- "id": "claude-sonnet-5",
74
- "is_chat_default": false,
75
- "is_chat_fallback": false,
76
- "model_picker_category": "versatile",
77
- "model_picker_enabled": true,
78
- "model_picker_price_category": "medium",
79
- "name": "Claude Sonnet 5",
80
- "object": "model",
81
- "policy": {
82
- "state": "enabled",
83
- "terms": "Enable access to the latest Claude model from Anthropic. [Learn more about how GitHub Copilot serves Claude](https://gh.io/copilot-claude-opus)."
84
- },
85
- "preview": false,
86
- "supported_endpoints": [
87
- "/v1/messages",
88
- "/chat/completions"
89
- ],
90
- "vendor": "Anthropic",
91
- "version": "claude-sonnet-5"
92
- },
93
- {
94
- "billing": {
95
- "restricted_to": [
96
- "pro_plus",
97
- "business",
98
- "enterprise",
99
- "max"
100
- ],
101
- "token_prices": {
102
- "batch_size": 1000000,
103
- "default": {
104
- "cache_read_price": 25,
105
- "cache_write_1h_price": 2000,
106
- "cache_write_price": 1250,
107
- "input_price": 1000,
108
- "max_prompt_tokens": 200000,
109
- "output_price": 5000
110
- },
111
- "long_context": {
112
- "cache_read_price": 25,
113
- "cache_write_1h_price": 2000,
114
- "cache_write_price": 1250,
115
- "input_price": 1000,
116
- "max_prompt_tokens": 936000,
117
- "output_price": 5000
118
- }
119
- }
120
- },
121
- "capabilities": {
122
- "family": "claude-fable-5.1",
123
- "limits": {
124
- "max_context_window_tokens": 1000000,
125
- "max_non_streaming_output_tokens": 16000,
126
- "max_output_tokens": 64000,
127
- "max_prompt_tokens": 936000,
128
- "vision": {
129
- "max_prompt_image_size": 3145728,
130
- "max_prompt_images": 1,
131
- "supported_media_types": [
132
- "image/jpeg",
133
- "image/png",
134
- "image/webp",
135
- "image/gif",
136
- "application/pdf"
137
- ]
138
- }
139
- },
140
- "object": "model_capabilities",
141
- "supports": {
142
- "adaptive_thinking": "required",
143
- "max_thinking_budget": 32000,
144
- "min_thinking_budget": 1024,
145
- "parallel_tool_calls": true,
146
- "reasoning_effort": [
147
- "low",
148
- "medium",
149
- "high",
150
- "xhigh",
151
- "max"
152
- ],
153
- "streaming": true,
154
- "structured_outputs": true,
155
- "tool_calls": true,
156
- "vision": true
157
- },
158
- "tokenizer": "o200k_base",
159
- "type": "chat"
160
- },
161
- "id": "claude-fable-5.1",
162
- "is_chat_default": false,
163
- "is_chat_fallback": false,
164
- "model_picker_category": "powerful",
165
- "model_picker_enabled": true,
166
- "model_picker_price_category": "very_high",
167
- "name": "Claude Fable 5.1",
168
- "object": "model",
169
- "policy": {
170
- "state": "enabled",
171
- "terms": "Enable access to the latest Claude Fable 5.1 model from Anthropic. [Learn more about how GitHub Copilot serves Claude Fable 5.1](https://gh.io/copilot-claude-opus)."
172
- },
173
- "preview": false,
174
- "supported_endpoints": [
175
- "/v1/messages",
176
- "/chat/completions"
177
- ],
178
- "vendor": "Anthropic",
179
- "version": "claude-fable-5.1",
180
- "warning_text": {
181
- "data_retention": "When Claude Fable 5.1 is used, Anthropic retains data, including prompts and outputs, by default to operate safety classifiers that detect harmful use. Certain eligible Copilot Business and Copilot Enterprise customers may be approved for Zero Data Retention access. To learn whether your organization qualifies, contact your GitHub account team. GitHub Support cannot determine eligibility or enable access."
182
- }
183
- },
184
- {
185
- "billing": {
186
- "restricted_to": [
187
- "pro_plus",
188
- "business",
189
- "enterprise",
190
- "max"
191
- ],
192
- "token_prices": {
193
- "batch_size": 1000000,
194
- "default": {
195
- "cache_read_price": 100,
196
- "cache_write_1h_price": 2000,
197
- "cache_write_price": 1250,
198
- "input_price": 1000,
199
- "max_prompt_tokens": 200000,
200
- "output_price": 5000
201
- },
202
- "long_context": {
203
- "cache_read_price": 100,
204
- "cache_write_1h_price": 2000,
205
- "cache_write_price": 1250,
206
- "input_price": 1000,
207
- "max_prompt_tokens": 936000,
208
- "output_price": 5000
209
- }
210
- }
211
- },
212
- "capabilities": {
213
- "family": "claude-fable-5",
214
- "limits": {
215
- "max_context_window_tokens": 1000000,
216
- "max_non_streaming_output_tokens": 16000,
217
- "max_output_tokens": 64000,
218
- "max_prompt_tokens": 936000,
219
- "vision": {
220
- "max_prompt_image_size": 3145728,
221
- "max_prompt_images": 1,
222
- "supported_media_types": [
223
- "image/jpeg",
224
- "image/png",
225
- "image/webp",
226
- "image/gif",
227
- "application/pdf"
228
- ]
229
- }
230
- },
231
- "object": "model_capabilities",
232
- "supports": {
233
- "adaptive_thinking": "required",
234
- "max_thinking_budget": 32000,
235
- "min_thinking_budget": 1024,
236
- "parallel_tool_calls": true,
237
- "reasoning_effort": [
238
- "low",
239
- "medium",
240
- "high",
241
- "xhigh",
242
- "max"
243
- ],
244
- "streaming": true,
245
- "structured_outputs": true,
246
- "tool_calls": true,
247
- "vision": true
248
- },
249
- "tokenizer": "o200k_base",
250
- "type": "chat"
251
- },
252
- "id": "claude-fable-5",
253
- "is_chat_default": false,
254
- "is_chat_fallback": false,
255
- "model_picker_category": "powerful",
256
- "model_picker_enabled": true,
257
- "model_picker_price_category": "very_high",
258
- "name": "Claude Fable 5",
259
- "object": "model",
260
- "policy": {
261
- "state": "enabled",
262
- "terms": "Enable access to the latest Claude Fable 5 model from Anthropic. [Learn more about how GitHub Copilot serves Claude Fable 5](https://gh.io/copilot-claude-opus)."
263
- },
264
- "preview": false,
265
- "supported_endpoints": [
266
- "/v1/messages",
267
- "/chat/completions"
268
- ],
269
- "vendor": "Anthropic",
270
- "version": "claude-fable-5",
271
- "warning_text": {
272
- "data_retention": "When Claude Fable 5 is used, Anthropic retains data, including prompts and outputs, by default to operate safety classifiers that detect harmful use. Certain eligible Copilot Business and Copilot Enterprise customers may be approved for Zero Data Retention access. To learn whether your organization qualifies, contact your GitHub account team. GitHub Support cannot determine eligibility or enable access."
273
- }
274
- },
275
- {
276
- "billing": {
277
- "auto_discount": 0.3,
278
- "restricted_to": [
279
- "pro_plus",
280
- "business",
281
- "enterprise",
282
- "max"
283
- ],
284
- "token_prices": {
285
- "batch_size": 1000000,
286
- "default": {
287
- "cache_read_price": 50,
288
- "cache_write_1h_price": 1000,
289
- "cache_write_price": 625,
290
- "input_price": 500,
291
- "max_prompt_tokens": 200000,
292
- "output_price": 2500
293
- },
294
- "long_context": {
295
- "cache_read_price": 50,
296
- "cache_write_1h_price": 1000,
297
- "cache_write_price": 625,
298
- "input_price": 500,
299
- "max_prompt_tokens": 936000,
300
- "output_price": 2500
301
- }
302
- }
303
- },
304
- "capabilities": {
305
- "family": "claude-opus-5",
306
- "limits": {
307
- "max_context_window_tokens": 1000000,
308
- "max_non_streaming_output_tokens": 16000,
309
- "max_output_tokens": 64000,
310
- "max_prompt_tokens": 936000,
311
- "vision": {
312
- "max_prompt_image_size": 3145728,
313
- "max_prompt_images": 1,
314
- "supported_media_types": [
315
- "image/jpeg",
316
- "image/png",
317
- "image/webp",
318
- "image/gif",
319
- "application/pdf"
320
- ]
321
- }
322
- },
323
- "object": "model_capabilities",
324
- "supports": {
325
- "adaptive_thinking": "required",
326
- "max_thinking_budget": 32000,
327
- "min_thinking_budget": 1024,
328
- "parallel_tool_calls": true,
329
- "reasoning_effort": [
330
- "low",
331
- "medium",
332
- "high",
333
- "xhigh",
334
- "max"
335
- ],
336
- "streaming": true,
337
- "structured_outputs": true,
338
- "tool_calls": true,
339
- "vision": true
340
- },
341
- "tokenizer": "o200k_base",
342
- "type": "chat"
343
- },
344
- "id": "claude-opus-5",
345
- "is_chat_default": false,
346
- "is_chat_fallback": false,
347
- "model_picker_category": "powerful",
348
- "model_picker_enabled": true,
349
- "model_picker_price_category": "high",
350
- "name": "Claude Opus 5",
351
- "object": "model",
352
- "policy": {
353
- "state": "enabled",
354
- "terms": "Enable access to the latest Claude Opus 5 model from Anthropic. [Learn more about how GitHub Copilot serves Claude Opus 5](https://gh.io/copilot-claude-opus)."
355
- },
356
- "preview": false,
357
- "supported_endpoints": [
358
- "/v1/messages",
359
- "/chat/completions"
360
- ],
361
- "vendor": "Anthropic",
362
- "version": "claude-opus-5"
363
- },
364
- {
365
- "billing": {
366
- "restricted_to": [
367
- "pro_plus",
368
- "business",
369
- "enterprise",
370
- "max"
371
- ],
372
- "token_prices": {
373
- "batch_size": 1000000,
374
- "default": {
375
- "cache_read_price": 50,
376
- "cache_write_1h_price": 1000,
377
- "cache_write_price": 625,
378
- "input_price": 500,
379
- "max_prompt_tokens": 200000,
380
- "output_price": 2500
381
- },
382
- "long_context": {
383
- "cache_read_price": 50,
384
- "cache_write_1h_price": 1000,
385
- "cache_write_price": 625,
386
- "input_price": 500,
387
- "max_prompt_tokens": 936000,
388
- "output_price": 2500
389
- }
390
- }
391
- },
392
- "capabilities": {
393
- "family": "claude-opus-4.8",
394
- "limits": {
395
- "max_context_window_tokens": 1000000,
396
- "max_non_streaming_output_tokens": 16000,
397
- "max_output_tokens": 64000,
398
- "max_prompt_tokens": 936000,
399
- "vision": {
400
- "max_prompt_image_size": 3145728,
401
- "max_prompt_images": 1,
402
- "supported_media_types": [
403
- "image/jpeg",
404
- "image/png",
405
- "image/webp",
406
- "image/gif",
407
- "application/pdf"
408
- ]
409
- }
410
- },
411
- "object": "model_capabilities",
412
- "supports": {
413
- "adaptive_thinking": "required",
414
- "max_thinking_budget": 32000,
415
- "min_thinking_budget": 1024,
416
- "parallel_tool_calls": true,
417
- "reasoning_effort": [
418
- "low",
419
- "medium",
420
- "high",
421
- "xhigh",
422
- "max"
423
- ],
424
- "streaming": true,
425
- "structured_outputs": true,
426
- "tool_calls": true,
427
- "vision": true
428
- },
429
- "tokenizer": "o200k_base",
430
- "type": "chat"
431
- },
432
- "id": "claude-opus-4.8",
433
- "is_chat_default": false,
434
- "is_chat_fallback": false,
435
- "model_picker_category": "powerful",
436
- "model_picker_enabled": true,
437
- "model_picker_price_category": "high",
438
- "name": "Claude Opus 4.8",
439
- "object": "model",
440
- "policy": {
441
- "state": "enabled",
442
- "terms": "Enable access to the latest Claude Opus 4.8 model from Anthropic. [Learn more about how GitHub Copilot serves Claude Opus 4.8](https://gh.io/copilot-claude-opus)."
443
- },
444
- "preview": false,
445
- "supported_endpoints": [
446
- "/v1/messages",
447
- "/chat/completions"
448
- ],
449
- "vendor": "Anthropic",
450
- "version": "claude-opus-4.8"
451
- },
452
- {
453
- "billing": {
454
- "restricted_to": [
455
- "pro_plus",
456
- "business",
457
- "enterprise",
458
- "max"
459
- ],
460
- "token_prices": {
461
- "batch_size": 1000000,
462
- "default": {
463
- "cache_read_price": 100,
464
- "cache_write_1h_price": 2000,
465
- "cache_write_price": 1250,
466
- "input_price": 1000,
467
- "max_prompt_tokens": 200000,
468
- "output_price": 5000
469
- },
470
- "long_context": {
471
- "cache_read_price": 100,
472
- "cache_write_1h_price": 2000,
473
- "cache_write_price": 1250,
474
- "input_price": 1000,
475
- "max_prompt_tokens": 936000,
476
- "output_price": 5000
477
- }
478
- }
479
- },
480
- "capabilities": {
481
- "family": "claude-opus-4.8-fast",
482
- "limits": {
483
- "max_context_window_tokens": 1000000,
484
- "max_non_streaming_output_tokens": 16000,
485
- "max_output_tokens": 64000,
486
- "max_prompt_tokens": 936000,
487
- "vision": {
488
- "max_prompt_image_size": 3145728,
489
- "max_prompt_images": 1,
490
- "supported_media_types": [
491
- "image/jpeg",
492
- "image/png",
493
- "image/webp",
494
- "image/gif",
495
- "application/pdf"
496
- ]
497
- }
498
- },
499
- "object": "model_capabilities",
500
- "supports": {
501
- "adaptive_thinking": "required",
502
- "max_thinking_budget": 32000,
503
- "min_thinking_budget": 1024,
504
- "parallel_tool_calls": true,
505
- "reasoning_effort": [
506
- "low",
507
- "medium",
508
- "high",
509
- "xhigh",
510
- "max"
511
- ],
512
- "streaming": true,
513
- "structured_outputs": true,
514
- "tool_calls": true,
515
- "vision": true
516
- },
517
- "tokenizer": "o200k_base",
518
- "type": "chat"
519
- },
520
- "id": "claude-opus-4.8-fast",
521
- "is_chat_default": false,
522
- "is_chat_fallback": false,
523
- "model_picker_category": "powerful",
524
- "model_picker_enabled": true,
525
- "model_picker_price_category": "very_high",
526
- "name": "Claude Opus 4.8 (fast mode)",
527
- "object": "model",
528
- "policy": {
529
- "state": "enabled",
530
- "terms": "Enable access to the latest Claude Opus 4.8 fast model from Anthropic. [Learn more about how GitHub Copilot serves Claude Opus 4.8 fast](https://gh.io/copilot-claude-opus)."
531
- },
532
- "preview": true,
533
- "supported_endpoints": [
534
- "/v1/messages",
535
- "/chat/completions"
536
- ],
537
- "vendor": "Anthropic",
538
- "version": "claude-opus-4.8-fast"
539
- },
540
- {
541
- "billing": {
542
- "restricted_to": [
543
- "pro_plus",
544
- "business",
545
- "enterprise",
546
- "max"
547
- ],
548
- "token_prices": {
549
- "batch_size": 1000000,
550
- "default": {
551
- "cache_read_price": 50,
552
- "cache_write_1h_price": 1000,
553
- "cache_write_price": 625,
554
- "input_price": 500,
555
- "max_prompt_tokens": 200000,
556
- "output_price": 2500
557
- },
558
- "long_context": {
559
- "cache_read_price": 50,
560
- "cache_write_1h_price": 1000,
561
- "cache_write_price": 625,
562
- "input_price": 500,
563
- "max_prompt_tokens": 936000,
564
- "output_price": 2500
565
- }
566
- }
567
- },
568
- "capabilities": {
569
- "family": "claude-opus-4.7",
570
- "limits": {
571
- "max_context_window_tokens": 1000000,
572
- "max_non_streaming_output_tokens": 16000,
573
- "max_output_tokens": 64000,
574
- "max_prompt_tokens": 936000,
575
- "vision": {
576
- "max_prompt_image_size": 3145728,
577
- "max_prompt_images": 1,
578
- "supported_media_types": [
579
- "image/jpeg",
580
- "image/png",
581
- "image/webp",
582
- "image/gif",
583
- "application/pdf"
584
- ]
585
- }
586
- },
587
- "object": "model_capabilities",
588
- "supports": {
589
- "adaptive_thinking": "required",
590
- "max_thinking_budget": 32000,
591
- "min_thinking_budget": 1024,
592
- "parallel_tool_calls": true,
593
- "reasoning_effort": [
594
- "low",
595
- "medium",
596
- "high",
597
- "xhigh",
598
- "max"
599
- ],
600
- "streaming": true,
601
- "structured_outputs": true,
602
- "tool_calls": true,
603
- "vision": true
604
- },
605
- "tokenizer": "o200k_base",
606
- "type": "chat"
607
- },
608
- "id": "claude-opus-4.7",
609
- "is_chat_default": false,
610
- "is_chat_fallback": false,
611
- "model_picker_category": "powerful",
612
- "model_picker_enabled": true,
613
- "model_picker_price_category": "high",
614
- "name": "Claude Opus 4.7",
615
- "object": "model",
616
- "policy": {
617
- "state": "enabled",
618
- "terms": "Enable access to the latest Claude Opus 4.7 model from Anthropic. [Learn more about how GitHub Copilot serves Claude Opus 4.7](https://gh.io/copilot-claude-opus)."
619
- },
620
- "preview": false,
621
- "supported_endpoints": [
622
- "/v1/messages",
623
- "/chat/completions"
624
- ],
625
- "vendor": "Anthropic",
626
- "version": "claude-opus-4.7"
627
- },
628
- {
629
- "billing": {
630
- "auto_discount": 0.3,
631
- "token_prices": {
632
- "batch_size": 1000000,
633
- "default": {
634
- "cache_read_price": 10,
635
- "cache_write_price": 125,
636
- "input_price": 100,
637
- "output_price": 500
638
- }
639
- }
640
- },
641
- "capabilities": {
642
- "family": "claude-haiku-4.5",
643
- "limits": {
644
- "max_context_window_tokens": 144000,
645
- "max_non_streaming_output_tokens": 16000,
646
- "max_output_tokens": 32000,
647
- "max_prompt_tokens": 128000,
648
- "vision": {
649
- "max_prompt_image_size": 3145728,
650
- "max_prompt_images": 5,
651
- "supported_media_types": [
652
- "image/jpeg",
653
- "image/png",
654
- "image/webp",
655
- "application/pdf"
656
- ]
657
- }
658
- },
659
- "object": "model_capabilities",
660
- "supports": {
661
- "max_thinking_budget": 32000,
662
- "min_thinking_budget": 1024,
663
- "parallel_tool_calls": true,
664
- "streaming": true,
665
- "tool_calls": true,
666
- "vision": true,
667
- "adaptive_thinking": "unsupported"
668
- },
669
- "tokenizer": "o200k_base",
670
- "type": "chat"
671
- },
672
- "id": "claude-haiku-4.5",
673
- "is_chat_default": false,
674
- "is_chat_fallback": false,
675
- "model_picker_category": "lightweight",
676
- "model_picker_enabled": true,
677
- "model_picker_price_category": "low",
678
- "name": "Claude Haiku 4.5",
679
- "object": "model",
680
- "policy": {
681
- "state": "enabled",
682
- "terms": "Enable access to the latest Claude Haiku 4.5 model from Anthropic. [Learn more about how GitHub Copilot serves Claude Haiku 4.5](https://gh.io/copilot-anthropic)."
683
- },
684
- "preview": false,
685
- "supported_endpoints": [
686
- "/chat/completions",
687
- "/v1/messages"
688
- ],
689
- "vendor": "Anthropic",
690
- "version": "claude-haiku-4.5"
691
- },
692
- {
693
- "billing": {
694
- "auto_discount": 0.3,
695
- "restricted_to": [
696
- "pro_plus",
697
- "business",
698
- "enterprise",
699
- "max"
700
- ],
701
- "token_prices": {
702
- "batch_size": 1000000,
703
- "default": {
704
- "cache_read_price": 40,
705
- "cache_write_price": 500,
706
- "input_price": 400,
707
- "max_prompt_tokens": 272000,
708
- "output_price": 2000
709
- },
710
- "long_context": {
711
- "cache_read_price": 80,
712
- "cache_write_price": 1000,
713
- "input_price": 800,
714
- "max_prompt_tokens": 922000,
715
- "output_price": 3000
716
- }
717
- }
718
- },
719
- "capabilities": {
720
- "family": "gpt-5.6-sol",
721
- "limits": {
722
- "max_context_window_tokens": 1050000,
723
- "max_output_tokens": 128000,
724
- "max_prompt_tokens": 922000,
725
- "vision": {
726
- "max_prompt_image_size": 3145728,
727
- "max_prompt_images": 1,
728
- "supported_media_types": [
729
- "image/jpeg",
730
- "image/png",
731
- "image/webp",
732
- "image/gif",
733
- "application/pdf"
734
- ]
735
- }
736
- },
737
- "object": "model_capabilities",
738
- "supports": {
739
- "parallel_tool_calls": true,
740
- "reasoning_effort": [
741
- "none",
742
- "low",
743
- "medium",
744
- "high",
745
- "xhigh",
746
- "max"
747
- ],
748
- "streaming": true,
749
- "structured_outputs": true,
750
- "tool_calls": true,
751
- "vision": true,
752
- "adaptive_thinking": "unsupported"
753
- },
754
- "tokenizer": "o200k_base",
755
- "type": "chat"
756
- },
757
- "id": "gpt-5.6-sol",
758
- "is_chat_default": false,
759
- "is_chat_fallback": false,
760
- "model_picker_category": "powerful",
761
- "model_picker_enabled": true,
762
- "model_picker_price_category": "high",
763
- "name": "GPT-5.6 Sol",
764
- "object": "model",
765
- "policy": {
766
- "state": "enabled",
767
- "terms": "Enable access to the latest GPT-5.6 Sol model from OpenAI. [Learn more about how GitHub Copilot serves GPT-5.6 Sol](https://gh.io/copilot-openai)."
768
- },
769
- "preview": false,
770
- "supported_endpoints": [
771
- "/responses",
772
- "ws:/responses"
773
- ],
774
- "vendor": "OpenAI",
775
- "version": "gpt-5.6-sol"
776
- },
777
- {
778
- "billing": {
779
- "auto_discount": 0.3,
780
- "restricted_to": [
781
- "pro",
782
- "pro_plus",
783
- "business",
784
- "enterprise",
785
- "max"
786
- ],
787
- "token_prices": {
788
- "batch_size": 1000000,
789
- "default": {
790
- "cache_read_price": 20,
791
- "cache_write_price": 250,
792
- "input_price": 200,
793
- "max_prompt_tokens": 272000,
794
- "output_price": 1200
795
- },
796
- "long_context": {
797
- "cache_read_price": 40,
798
- "cache_write_price": 500,
799
- "input_price": 400,
800
- "max_prompt_tokens": 922000,
801
- "output_price": 1800
802
- }
803
- }
804
- },
805
- "capabilities": {
806
- "family": "gpt-5.6-terra",
807
- "limits": {
808
- "max_context_window_tokens": 1050000,
809
- "max_output_tokens": 128000,
810
- "max_prompt_tokens": 922000,
811
- "vision": {
812
- "max_prompt_image_size": 3145728,
813
- "max_prompt_images": 1,
814
- "supported_media_types": [
815
- "image/jpeg",
816
- "image/png",
817
- "image/webp",
818
- "image/gif",
819
- "application/pdf"
820
- ]
821
- }
822
- },
823
- "object": "model_capabilities",
824
- "supports": {
825
- "parallel_tool_calls": true,
826
- "reasoning_effort": [
827
- "none",
828
- "low",
829
- "medium",
830
- "high",
831
- "xhigh",
832
- "max"
833
- ],
834
- "streaming": true,
835
- "structured_outputs": true,
836
- "tool_calls": true,
837
- "vision": true,
838
- "adaptive_thinking": "unsupported"
839
- },
840
- "tokenizer": "o200k_base",
841
- "type": "chat"
842
- },
843
- "id": "gpt-5.6-terra",
844
- "is_chat_default": false,
845
- "is_chat_fallback": false,
846
- "model_picker_category": "versatile",
847
- "model_picker_enabled": true,
848
- "model_picker_price_category": "medium",
849
- "name": "GPT-5.6 Terra",
850
- "object": "model",
851
- "policy": {
852
- "state": "enabled",
853
- "terms": "Enable access to the latest GPT-5.6 Terra model from OpenAI. [Learn more about how GitHub Copilot serves GPT-5.6 Terra](https://gh.io/copilot-openai)."
854
- },
855
- "preview": false,
856
- "supported_endpoints": [
857
- "/responses",
858
- "ws:/responses"
859
- ],
860
- "vendor": "OpenAI",
861
- "version": "gpt-5.6-terra"
862
- },
863
- {
864
- "billing": {
865
- "auto_discount": 0.3,
866
- "restricted_to": [
867
- "free",
868
- "edu",
869
- "pro",
870
- "pro_plus",
871
- "business",
872
- "enterprise",
873
- "max"
874
- ],
875
- "token_prices": {
876
- "batch_size": 1000000,
877
- "default": {
878
- "cache_read_price": 2,
879
- "cache_write_price": 25,
880
- "input_price": 20,
881
- "max_prompt_tokens": 200000,
882
- "output_price": 120
883
- },
884
- "long_context": {
885
- "cache_read_price": 4,
886
- "cache_write_price": 50,
887
- "input_price": 40,
888
- "max_prompt_tokens": 922000,
889
- "output_price": 180
890
- }
891
- }
892
- },
893
- "capabilities": {
894
- "family": "gpt-5.6-luna",
895
- "limits": {
896
- "max_context_window_tokens": 1050000,
897
- "max_output_tokens": 128000,
898
- "max_prompt_tokens": 922000,
899
- "vision": {
900
- "max_prompt_image_size": 3145728,
901
- "max_prompt_images": 1,
902
- "supported_media_types": [
903
- "image/jpeg",
904
- "image/png",
905
- "image/webp",
906
- "image/gif",
907
- "application/pdf"
908
- ]
909
- }
910
- },
911
- "object": "model_capabilities",
912
- "supports": {
913
- "parallel_tool_calls": true,
914
- "reasoning_effort": [
915
- "none",
916
- "low",
917
- "medium",
918
- "high",
919
- "xhigh",
920
- "max"
921
- ],
922
- "streaming": true,
923
- "structured_outputs": true,
924
- "tool_calls": true,
925
- "vision": true,
926
- "adaptive_thinking": "unsupported"
927
- },
928
- "tokenizer": "o200k_base",
929
- "type": "chat"
930
- },
931
- "id": "gpt-5.6-luna",
932
- "is_chat_default": false,
933
- "is_chat_fallback": false,
934
- "model_picker_category": "lightweight",
935
- "model_picker_enabled": true,
936
- "model_picker_price_category": "low",
937
- "name": "GPT-5.6 Luna",
938
- "object": "model",
939
- "policy": {
940
- "state": "enabled",
941
- "terms": "Enable access to the latest GPT-5.6 Luna model from OpenAI. [Learn more about how GitHub Copilot serves GPT-5.6 Luna](https://gh.io/copilot-openai)."
942
- },
943
- "preview": false,
944
- "supported_endpoints": [
945
- "/responses",
946
- "ws:/responses"
947
- ],
948
- "vendor": "OpenAI",
949
- "version": "gpt-5.6-luna"
950
- },
951
- {
952
- "billing": {
953
- "auto_discount": 0.3,
954
- "restricted_to": [
955
- "pro_plus",
956
- "business",
957
- "enterprise",
958
- "max"
959
- ],
960
- "token_prices": {
961
- "batch_size": 1000000,
962
- "default": {
963
- "cache_read_price": 50,
964
- "cache_write_price": 0,
965
- "input_price": 500,
966
- "max_prompt_tokens": 272000,
967
- "output_price": 3000
968
- },
969
- "long_context": {
970
- "cache_read_price": 100,
971
- "cache_write_price": 0,
972
- "input_price": 1000,
973
- "max_prompt_tokens": 922000,
974
- "output_price": 4500
975
- }
976
- }
977
- },
978
- "capabilities": {
979
- "family": "gpt-5.5",
980
- "limits": {
981
- "max_context_window_tokens": 1050000,
982
- "max_output_tokens": 128000,
983
- "max_prompt_tokens": 922000,
984
- "vision": {
985
- "max_prompt_image_size": 3145728,
986
- "max_prompt_images": 1,
987
- "supported_media_types": [
988
- "image/jpeg",
989
- "image/png",
990
- "image/webp",
991
- "image/gif",
992
- "application/pdf"
993
- ]
994
- }
995
- },
996
- "object": "model_capabilities",
997
- "supports": {
998
- "parallel_tool_calls": true,
999
- "reasoning_effort": [
1000
- "none",
1001
- "low",
1002
- "medium",
1003
- "high",
1004
- "xhigh"
1005
- ],
1006
- "streaming": true,
1007
- "structured_outputs": true,
1008
- "tool_calls": true,
1009
- "vision": true,
1010
- "adaptive_thinking": "unsupported"
1011
- },
1012
- "tokenizer": "o200k_base",
1013
- "type": "chat"
1014
- },
1015
- "id": "gpt-5.5",
1016
- "is_chat_default": false,
1017
- "is_chat_fallback": false,
1018
- "model_picker_category": "powerful",
1019
- "model_picker_enabled": true,
1020
- "model_picker_price_category": "high",
1021
- "name": "GPT-5.5",
1022
- "object": "model",
1023
- "policy": {
1024
- "state": "enabled",
1025
- "terms": "Enable access to the latest GPT-5.5 model from OpenAI. [Learn more about how GitHub Copilot serves GPT-5.5](https://gh.io/copilot-openai)."
1026
- },
1027
- "preview": false,
1028
- "supported_endpoints": [
1029
- "/responses",
1030
- "ws:/responses"
1031
- ],
1032
- "vendor": "OpenAI",
1033
- "version": "gpt-5.5"
1034
- },
1035
- {
1036
- "billing": {
1037
- "auto_discount": 0.3,
1038
- "restricted_to": [
1039
- "pro",
1040
- "pro_plus",
1041
- "individual_trial",
1042
- "business",
1043
- "enterprise",
1044
- "max"
1045
- ],
1046
- "token_prices": {
1047
- "batch_size": 1000000,
1048
- "default": {
1049
- "cache_read_price": 25,
1050
- "cache_write_price": 0,
1051
- "input_price": 250,
1052
- "max_prompt_tokens": 272000,
1053
- "output_price": 1500
1054
- },
1055
- "long_context": {
1056
- "cache_read_price": 50,
1057
- "cache_write_price": 0,
1058
- "input_price": 500,
1059
- "max_prompt_tokens": 922000,
1060
- "output_price": 2250
1061
- }
1062
- }
1063
- },
1064
- "capabilities": {
1065
- "family": "gpt-5.4",
1066
- "limits": {
1067
- "max_context_window_tokens": 1050000,
1068
- "max_output_tokens": 128000,
1069
- "max_prompt_tokens": 922000,
1070
- "vision": {
1071
- "max_prompt_image_size": 3145728,
1072
- "max_prompt_images": 1,
1073
- "supported_media_types": [
1074
- "image/jpeg",
1075
- "image/png",
1076
- "image/webp",
1077
- "image/gif",
1078
- "application/pdf"
1079
- ]
1080
- }
1081
- },
1082
- "object": "model_capabilities",
1083
- "supports": {
1084
- "parallel_tool_calls": true,
1085
- "reasoning_effort": [
1086
- "none",
1087
- "low",
1088
- "medium",
1089
- "high",
1090
- "xhigh"
1091
- ],
1092
- "streaming": true,
1093
- "structured_outputs": true,
1094
- "tool_calls": true,
1095
- "vision": true,
1096
- "adaptive_thinking": "unsupported"
1097
- },
1098
- "tokenizer": "o200k_base",
1099
- "type": "chat"
1100
- },
1101
- "id": "gpt-5.4",
1102
- "is_chat_default": false,
1103
- "is_chat_fallback": false,
1104
- "model_picker_category": "powerful",
1105
- "model_picker_enabled": true,
1106
- "model_picker_price_category": "medium",
1107
- "name": "GPT-5.4",
1108
- "object": "model",
1109
- "policy": {
1110
- "state": "enabled",
1111
- "terms": "Enable access to the latest GPT-5.4 model from OpenAI. [Learn more about how GitHub Copilot serves GPT-5.4](https://gh.io/copilot-openai)."
1112
- },
1113
- "preview": false,
1114
- "supported_endpoints": [
1115
- "/responses",
1116
- "/chat/completions",
1117
- "ws:/responses"
1118
- ],
1119
- "vendor": "OpenAI",
1120
- "version": "gpt-5.4"
1121
- },
1122
- {
1123
- "billing": {
1124
- "auto_discount": 0.3,
1125
- "restricted_to": [
1126
- "pro",
1127
- "pro_plus",
1128
- "individual_trial",
1129
- "edu",
1130
- "business",
1131
- "enterprise",
1132
- "max"
1133
- ],
1134
- "token_prices": {
1135
- "batch_size": 1000000,
1136
- "default": {
1137
- "cache_read_price": 7.5,
1138
- "cache_write_price": 0,
1139
- "input_price": 75,
1140
- "max_prompt_tokens": 272000,
1141
- "output_price": 450
1142
- }
1143
- }
1144
- },
1145
- "capabilities": {
1146
- "family": "gpt-5.4-mini",
1147
- "limits": {
1148
- "max_context_window_tokens": 400000,
1149
- "max_output_tokens": 128000,
1150
- "max_prompt_tokens": 272000,
1151
- "vision": {
1152
- "max_prompt_image_size": 3145728,
1153
- "max_prompt_images": 1,
1154
- "supported_media_types": [
1155
- "image/jpeg",
1156
- "image/png",
1157
- "image/webp",
1158
- "image/gif",
1159
- "application/pdf"
1160
- ]
1161
- }
1162
- },
1163
- "object": "model_capabilities",
1164
- "supports": {
1165
- "parallel_tool_calls": true,
1166
- "reasoning_effort": [
1167
- "none",
1168
- "low",
1169
- "medium",
1170
- "high",
1171
- "xhigh"
1172
- ],
1173
- "streaming": true,
1174
- "structured_outputs": true,
1175
- "tool_calls": true,
1176
- "vision": true,
1177
- "adaptive_thinking": "unsupported"
1178
- },
1179
- "tokenizer": "o200k_base",
1180
- "type": "chat"
1181
- },
1182
- "id": "gpt-5.4-mini",
1183
- "is_chat_default": false,
1184
- "is_chat_fallback": false,
1185
- "model_picker_category": "lightweight",
1186
- "model_picker_enabled": true,
1187
- "model_picker_price_category": "low",
1188
- "name": "GPT-5.4 mini",
1189
- "object": "model",
1190
- "policy": {
1191
- "state": "enabled",
1192
- "terms": "Enable access to the latest GPT-5.4 mini model from OpenAI. [Learn more about how GitHub Copilot serves GPT-5.4 mini](https://gh.io/copilot-openai)."
1193
- },
1194
- "preview": false,
1195
- "supported_endpoints": [
1196
- "/responses",
1197
- "ws:/responses"
1198
- ],
1199
- "vendor": "OpenAI",
1200
- "version": "gpt-5.4-mini"
1201
- },
1202
- {
1203
- "billing": {
1204
- "auto_discount": 0.3,
1205
- "restricted_to": [
1206
- "pro",
1207
- "edu",
1208
- "pro_plus",
1209
- "individual_trial",
1210
- "business",
1211
- "enterprise",
1212
- "max"
1213
- ],
1214
- "token_prices": {
1215
- "batch_size": 1000000,
1216
- "default": {
1217
- "cache_read_price": 17.5,
1218
- "cache_write_price": 0,
1219
- "input_price": 175,
1220
- "max_prompt_tokens": 272000,
1221
- "output_price": 1400
1222
- }
1223
- }
1224
- },
1225
- "capabilities": {
1226
- "family": "gpt-5.3-codex",
1227
- "limits": {
1228
- "max_context_window_tokens": 400000,
1229
- "max_output_tokens": 128000,
1230
- "max_prompt_tokens": 272000,
1231
- "vision": {
1232
- "max_prompt_image_size": 3145728,
1233
- "max_prompt_images": 1,
1234
- "supported_media_types": [
1235
- "image/jpeg",
1236
- "image/png",
1237
- "image/webp",
1238
- "image/gif",
1239
- "application/pdf"
1240
- ]
1241
- }
1242
- },
1243
- "object": "model_capabilities",
1244
- "supports": {
1245
- "parallel_tool_calls": true,
1246
- "reasoning_effort": [
1247
- "low",
1248
- "medium",
1249
- "high",
1250
- "xhigh"
1251
- ],
1252
- "streaming": true,
1253
- "structured_outputs": true,
1254
- "tool_calls": true,
1255
- "vision": true,
1256
- "adaptive_thinking": "unsupported"
1257
- },
1258
- "tokenizer": "o200k_base",
1259
- "type": "chat"
1260
- },
1261
- "id": "gpt-5.3-codex",
1262
- "is_chat_default": false,
1263
- "is_chat_fallback": true,
1264
- "model_picker_category": "powerful",
1265
- "model_picker_enabled": true,
1266
- "model_picker_price_category": "medium",
1267
- "name": "GPT-5.3-Codex",
1268
- "object": "model",
1269
- "preview": false,
1270
- "supported_endpoints": [
1271
- "/responses",
1272
- "ws:/responses"
1273
- ],
1274
- "vendor": "OpenAI",
1275
- "version": "gpt-5.3-codex"
1276
- },
1277
- {
1278
- "billing": {
1279
- "auto_discount": 0.3,
1280
- "token_prices": {
1281
- "batch_size": 1000000,
1282
- "default": {
1283
- "cache_read_price": 2.5,
1284
- "cache_write_price": 0,
1285
- "input_price": 25,
1286
- "output_price": 200
1287
- }
1288
- }
1289
- },
1290
- "capabilities": {
1291
- "family": "gpt-5-mini",
1292
- "limits": {
1293
- "max_context_window_tokens": 264000,
1294
- "max_output_tokens": 64000,
1295
- "max_prompt_tokens": 128000,
1296
- "vision": {
1297
- "max_prompt_image_size": 3145728,
1298
- "max_prompt_images": 1,
1299
- "supported_media_types": [
1300
- "image/jpeg",
1301
- "image/png",
1302
- "image/webp",
1303
- "image/gif",
1304
- "application/pdf"
1305
- ]
1306
- }
1307
- },
1308
- "object": "model_capabilities",
1309
- "supports": {
1310
- "parallel_tool_calls": true,
1311
- "reasoning_effort": [
1312
- "low",
1313
- "medium",
1314
- "high"
1315
- ],
1316
- "streaming": true,
1317
- "structured_outputs": true,
1318
- "tool_calls": true,
1319
- "vision": true,
1320
- "adaptive_thinking": "unsupported"
1321
- },
1322
- "tokenizer": "o200k_base",
1323
- "type": "chat"
1324
- },
1325
- "id": "gpt-5-mini",
1326
- "is_chat_default": true,
1327
- "is_chat_fallback": false,
1328
- "model_picker_category": "lightweight",
1329
- "model_picker_enabled": true,
1330
- "model_picker_price_category": "low",
1331
- "name": "GPT-5 mini",
1332
- "object": "model",
1333
- "policy": {
1334
- "state": "enabled",
1335
- "terms": "Enable access to the latest GPT-5 mini model from OpenAI. [Learn more about how GitHub Copilot serves GPT-5 mini](https://gh.io/copilot-openai)."
1336
- },
1337
- "preview": false,
1338
- "supported_endpoints": [
1339
- "/chat/completions",
1340
- "/responses",
1341
- "ws:/responses"
1342
- ],
1343
- "vendor": "Azure OpenAI",
1344
- "version": "gpt-5-mini"
1345
- },
1346
- {
1347
- "billing": {
1348
- "auto_discount": 0.3,
1349
- "restricted_to": [
1350
- "free",
1351
- "edu",
1352
- "individual_trial",
1353
- "pro",
1354
- "pro_plus",
1355
- "max",
1356
- "business",
1357
- "enterprise"
1358
- ],
1359
- "token_prices": {
1360
- "batch_size": 1000000,
1361
- "default": {
1362
- "cache_read_price": 2,
1363
- "cache_write_price": 25,
1364
- "input_price": 20,
1365
- "max_prompt_tokens": 128000,
1366
- "output_price": 120
1367
- }
1368
- }
1369
- },
1370
- "capabilities": {
1371
- "family": "oswe-vscode-modelD",
1372
- "limits": {
1373
- "max_context_window_tokens": 256000,
1374
- "max_output_tokens": 128000,
1375
- "max_prompt_tokens": 128000,
1376
- "vision": {
1377
- "max_prompt_image_size": 3145728,
1378
- "max_prompt_images": 1,
1379
- "supported_media_types": [
1380
- "image/jpeg",
1381
- "image/png",
1382
- "image/webp",
1383
- "image/gif",
1384
- "application/pdf"
1385
- ]
1386
- }
1387
- },
1388
- "object": "model_capabilities",
1389
- "supports": {
1390
- "parallel_tool_calls": true,
1391
- "reasoning_effort": [
1392
- "low",
1393
- "medium",
1394
- "high"
1395
- ],
1396
- "streaming": true,
1397
- "structured_outputs": true,
1398
- "tool_calls": true,
1399
- "vision": true,
1400
- "adaptive_thinking": "unsupported"
1401
- },
1402
- "tokenizer": "o200k_base",
1403
- "type": "chat"
1404
- },
1405
- "id": "mai-code-1.1-flash",
1406
- "is_chat_default": false,
1407
- "is_chat_fallback": false,
1408
- "model_picker_category": "lightweight",
1409
- "model_picker_enabled": true,
1410
- "model_picker_price_category": "low",
1411
- "name": "MAI-Code-1.1-Flash",
1412
- "object": "model",
1413
- "policy": {
1414
- "state": "enabled",
1415
- "terms": ""
1416
- },
1417
- "preview": false,
1418
- "supported_endpoints": [
1419
- "/responses"
1420
- ],
1421
- "vendor": "Microsoft",
1422
- "version": "mai-code-1.1-flash"
1423
- },
1424
- {
1425
- "billing": {
1426
- "restricted_to": [
1427
- "free",
1428
- "edu",
1429
- "pro",
1430
- "pro_plus",
1431
- "max",
1432
- "business",
1433
- "enterprise"
1434
- ],
1435
- "token_prices": {
1436
- "batch_size": 1000000,
1437
- "default": {
1438
- "cache_read_price": 7.5,
1439
- "cache_write_price": 0,
1440
- "input_price": 75,
1441
- "max_prompt_tokens": 128000,
1442
- "output_price": 450
1443
- }
1444
- }
1445
- },
1446
- "capabilities": {
1447
- "family": "oswe-vscode-modelD",
1448
- "limits": {
1449
- "max_context_window_tokens": 256000,
1450
- "max_output_tokens": 128000,
1451
- "max_prompt_tokens": 128000
1452
- },
1453
- "object": "model_capabilities",
1454
- "supports": {
1455
- "parallel_tool_calls": true,
1456
- "reasoning_effort": [
1457
- "low",
1458
- "medium",
1459
- "high"
1460
- ],
1461
- "streaming": true,
1462
- "structured_outputs": true,
1463
- "tool_calls": true,
1464
- "adaptive_thinking": "unsupported"
1465
- },
1466
- "tokenizer": "o200k_base",
1467
- "type": "chat"
1468
- },
1469
- "id": "mai-code-1-flash-picker",
1470
- "info_messages": [
1471
- {
1472
- "code": "model_pending_deprecation",
1473
- "message": "MAI-Code-1-Flash has a planned deprecation date of 2026-09-10."
1474
- }
1475
- ],
1476
- "is_chat_default": false,
1477
- "is_chat_fallback": false,
1478
- "model_picker_category": "lightweight",
1479
- "model_picker_enabled": true,
1480
- "model_picker_price_category": "low",
1481
- "name": "MAI-Code-1-Flash",
1482
- "object": "model",
1483
- "policy": {
1484
- "state": "enabled",
1485
- "terms": ""
1486
- },
1487
- "preview": false,
1488
- "supported_endpoints": [
1489
- "/responses"
1490
- ],
1491
- "vendor": "Microsoft",
1492
- "version": "mai-code-1-flash-picker"
1493
- },
1494
- {
1495
- "billing": {
1496
- "restricted_to": [
1497
- "pro",
1498
- "pro_plus",
1499
- "business",
1500
- "enterprise",
1501
- "max"
1502
- ],
1503
- "token_prices": {
1504
- "batch_size": 1000000,
1505
- "default": {
1506
- "cache_read_price": 7.5,
1507
- "cache_write_price": 0,
1508
- "input_price": 75,
1509
- "max_prompt_tokens": 200000,
1510
- "output_price": 375
1511
- },
1512
- "long_context": {
1513
- "cache_read_price": 7.5,
1514
- "cache_write_price": 0,
1515
- "input_price": 75,
1516
- "max_prompt_tokens": 983040,
1517
- "output_price": 375
1518
- }
1519
- }
1520
- },
1521
- "capabilities": {
1522
- "family": "gemini-3.8-flash",
1523
- "limits": {
1524
- "max_context_window_tokens": 1048576,
1525
- "max_output_tokens": 65536,
1526
- "max_prompt_tokens": 983040,
1527
- "vision": {
1528
- "max_prompt_image_size": 3145728,
1529
- "max_prompt_images": 10,
1530
- "supported_media_types": [
1531
- "image/jpeg",
1532
- "image/png",
1533
- "image/webp",
1534
- "image/heic",
1535
- "image/heif",
1536
- "application/pdf"
1537
- ]
1538
- }
1539
- },
1540
- "object": "model_capabilities",
1541
- "supports": {
1542
- "parallel_tool_calls": true,
1543
- "reasoning_effort": [
1544
- "low",
1545
- "medium",
1546
- "high"
1547
- ],
1548
- "streaming": true,
1549
- "tool_calls": true,
1550
- "vision": true,
1551
- "adaptive_thinking": "unsupported"
1552
- },
1553
- "tokenizer": "o200k_base",
1554
- "type": "chat"
1555
- },
1556
- "id": "gemini-3.8-flash",
1557
- "is_chat_default": false,
1558
- "is_chat_fallback": false,
1559
- "model_picker_category": "versatile",
1560
- "model_picker_enabled": true,
1561
- "model_picker_price_category": "low",
1562
- "name": "Gemini 3.8 Flash",
1563
- "object": "model",
1564
- "policy": {
1565
- "state": "enabled",
1566
- "terms": "Enable access to the latest Gemini 3.8 Flash model from Google. [Learn more about how GitHub Copilot serves Gemini 3.8 Flash](https://docs.github.com/en/copilot/reference/ai-models/model-hosting#google-models)."
1567
- },
1568
- "preview": false,
1569
- "supported_endpoints": [
1570
- "/chat/completions"
1571
- ],
1572
- "vendor": "Google",
1573
- "version": "gemini-3.8-flash"
1574
- },
1575
- {
1576
- "billing": {
1577
- "auto_discount": 0.3,
1578
- "restricted_to": [
1579
- "pro",
1580
- "pro_plus",
1581
- "business",
1582
- "enterprise",
1583
- "max"
1584
- ],
1585
- "token_prices": {
1586
- "batch_size": 1000000,
1587
- "default": {
1588
- "cache_read_price": 7.5,
1589
- "cache_write_price": 0,
1590
- "input_price": 75,
1591
- "max_prompt_tokens": 200000,
1592
- "output_price": 375
1593
- },
1594
- "long_context": {
1595
- "cache_read_price": 7.5,
1596
- "cache_write_price": 0,
1597
- "input_price": 75,
1598
- "max_prompt_tokens": 936000,
1599
- "output_price": 375
1600
- }
1601
- }
1602
- },
1603
- "capabilities": {
1604
- "family": "gemini-3.7-flash",
1605
- "limits": {
1606
- "max_context_window_tokens": 1000000,
1607
- "max_output_tokens": 64000,
1608
- "max_prompt_tokens": 936000,
1609
- "vision": {
1610
- "max_prompt_image_size": 3145728,
1611
- "max_prompt_images": 10,
1612
- "supported_media_types": [
1613
- "image/jpeg",
1614
- "image/png",
1615
- "image/webp",
1616
- "image/heic",
1617
- "image/heif",
1618
- "application/pdf"
1619
- ]
1620
- }
1621
- },
1622
- "object": "model_capabilities",
1623
- "supports": {
1624
- "parallel_tool_calls": true,
1625
- "reasoning_effort": [
1626
- "low",
1627
- "medium",
1628
- "high"
1629
- ],
1630
- "streaming": true,
1631
- "tool_calls": true,
1632
- "vision": true,
1633
- "adaptive_thinking": "unsupported"
1634
- },
1635
- "tokenizer": "o200k_base",
1636
- "type": "chat"
1637
- },
1638
- "id": "gemini-3.7-flash",
1639
- "is_chat_default": false,
1640
- "is_chat_fallback": false,
1641
- "model_picker_category": "versatile",
1642
- "model_picker_enabled": true,
1643
- "model_picker_price_category": "low",
1644
- "name": "Gemini 3.7 Flash",
1645
- "object": "model",
1646
- "policy": {
1647
- "state": "enabled",
1648
- "terms": "Enable access to the latest Gemini 3.7 Flash model from Google. [Learn more about how GitHub Copilot serves Gemini 3.7 Flash](https://docs.github.com/en/copilot/reference/ai-models/model-hosting#google-models)."
1649
- },
1650
- "preview": false,
1651
- "supported_endpoints": [
1652
- "/chat/completions"
1653
- ],
1654
- "vendor": "Google",
1655
- "version": "gemini-3.7-flash"
1656
- },
1657
- {
1658
- "billing": {
1659
- "auto_discount": 0.3,
1660
- "restricted_to": [
1661
- "pro",
1662
- "pro_plus",
1663
- "business",
1664
- "enterprise",
1665
- "max"
1666
- ],
1667
- "token_prices": {
1668
- "batch_size": 1000000,
1669
- "default": {
1670
- "cache_read_price": 7.5,
1671
- "cache_write_price": 0,
1672
- "input_price": 75,
1673
- "max_prompt_tokens": 200000,
1674
- "output_price": 375
1675
- },
1676
- "long_context": {
1677
- "cache_read_price": 7.5,
1678
- "cache_write_price": 0,
1679
- "input_price": 75,
1680
- "max_prompt_tokens": 936000,
1681
- "output_price": 375
1682
- }
1683
- }
1684
- },
1685
- "capabilities": {
1686
- "family": "gemini-3.6-flash",
1687
- "limits": {
1688
- "max_context_window_tokens": 1000000,
1689
- "max_output_tokens": 64000,
1690
- "max_prompt_tokens": 936000,
1691
- "vision": {
1692
- "max_prompt_image_size": 3145728,
1693
- "max_prompt_images": 10,
1694
- "supported_media_types": [
1695
- "image/jpeg",
1696
- "image/png",
1697
- "image/webp",
1698
- "image/heic",
1699
- "image/heif",
1700
- "application/pdf"
1701
- ]
1702
- }
1703
- },
1704
- "object": "model_capabilities",
1705
- "supports": {
1706
- "max_thinking_budget": 32000,
1707
- "min_thinking_budget": 256,
1708
- "parallel_tool_calls": true,
1709
- "reasoning_effort": [
1710
- "minimal",
1711
- "low",
1712
- "medium",
1713
- "high"
1714
- ],
1715
- "streaming": true,
1716
- "tool_calls": true,
1717
- "vision": true,
1718
- "adaptive_thinking": "unsupported"
1719
- },
1720
- "tokenizer": "o200k_base",
1721
- "type": "chat"
1722
- },
1723
- "id": "gemini-3.6-flash",
1724
- "is_chat_default": false,
1725
- "is_chat_fallback": false,
1726
- "model_picker_category": "versatile",
1727
- "model_picker_enabled": true,
1728
- "model_picker_price_category": "low",
1729
- "name": "Gemini 3.6 Flash",
1730
- "object": "model",
1731
- "policy": {
1732
- "state": "enabled",
1733
- "terms": "Enable access to the latest Gemini 3.6 Flash model from Google. [Learn more about how GitHub Copilot serves Gemini 3.6 Flash](https://docs.github.com/en/copilot/reference/ai-models/model-hosting#google-models)."
1734
- },
1735
- "preview": false,
1736
- "supported_endpoints": [
1737
- "/chat/completions"
1738
- ],
1739
- "vendor": "Google",
1740
- "version": "gemini-3.6-flash"
1741
- },
1742
- {
1743
- "billing": {
1744
- "restricted_to": [
1745
- "pro",
1746
- "pro_plus",
1747
- "business",
1748
- "enterprise",
1749
- "max"
1750
- ],
1751
- "token_prices": {
1752
- "batch_size": 1000000,
1753
- "default": {
1754
- "cache_read_price": 15,
1755
- "cache_write_price": 0,
1756
- "input_price": 150,
1757
- "max_prompt_tokens": 200000,
1758
- "output_price": 900
1759
- },
1760
- "long_context": {
1761
- "cache_read_price": 15,
1762
- "cache_write_price": 0,
1763
- "input_price": 150,
1764
- "max_prompt_tokens": 936000,
1765
- "output_price": 900
1766
- }
1767
- }
1768
- },
1769
- "capabilities": {
1770
- "family": "gemini-3.5-flash",
1771
- "limits": {
1772
- "max_context_window_tokens": 1000000,
1773
- "max_output_tokens": 64000,
1774
- "max_prompt_tokens": 936000,
1775
- "vision": {
1776
- "max_prompt_image_size": 3145728,
1777
- "max_prompt_images": 10,
1778
- "supported_media_types": [
1779
- "image/jpeg",
1780
- "image/png",
1781
- "image/webp",
1782
- "image/heic",
1783
- "image/heif",
1784
- "application/pdf"
1785
- ]
1786
- }
1787
- },
1788
- "object": "model_capabilities",
1789
- "supports": {
1790
- "max_thinking_budget": 24000,
1791
- "min_thinking_budget": 256,
1792
- "parallel_tool_calls": true,
1793
- "reasoning_effort": [
1794
- "minimal",
1795
- "low",
1796
- "medium",
1797
- "high"
1798
- ],
1799
- "streaming": true,
1800
- "tool_calls": true,
1801
- "vision": true,
1802
- "adaptive_thinking": "unsupported"
1803
- },
1804
- "tokenizer": "o200k_base",
1805
- "type": "chat"
1806
- },
1807
- "id": "gemini-3.5-flash",
1808
- "is_chat_default": false,
1809
- "is_chat_fallback": false,
1810
- "model_picker_category": "lightweight",
1811
- "model_picker_enabled": true,
1812
- "model_picker_price_category": "medium",
1813
- "name": "Gemini 3.5 Flash",
1814
- "object": "model",
1815
- "policy": {
1816
- "state": "enabled",
1817
- "terms": "Enable access to the latest Gemini 3.5 Flash model from Google. [Learn more about how GitHub Copilot serves Gemini 3.5 Flash](https://docs.github.com/en/copilot/reference/ai-models/model-hosting#google-models)."
1818
- },
1819
- "preview": false,
1820
- "supported_endpoints": [
1821
- "/chat/completions"
1822
- ],
1823
- "vendor": "Google",
1824
- "version": "gemini-3.5-flash"
1825
- },
1826
- {
1827
- "billing": {
1828
- "restricted_to": [
1829
- "pro",
1830
- "pro_plus",
1831
- "business",
1832
- "enterprise",
1833
- "max"
1834
- ],
1835
- "token_prices": {
1836
- "batch_size": 1000000,
1837
- "default": {
1838
- "cache_read_price": 50,
1839
- "cache_write_price": 0,
1840
- "input_price": 200,
1841
- "max_prompt_tokens": 200000,
1842
- "output_price": 600
1843
- },
1844
- "long_context": {
1845
- "cache_read_price": 100,
1846
- "cache_write_price": 0,
1847
- "input_price": 400,
1848
- "max_prompt_tokens": 500000,
1849
- "output_price": 1200
1850
- }
1851
- }
1852
- },
1853
- "capabilities": {
1854
- "family": "grok-4.5",
1855
- "limits": {
1856
- "max_context_window_tokens": 500000,
1857
- "max_output_tokens": 128000,
1858
- "max_prompt_tokens": 372000,
1859
- "vision": {
1860
- "max_prompt_image_size": 3145728,
1861
- "max_prompt_images": 1,
1862
- "supported_media_types": [
1863
- "image/jpeg",
1864
- "image/png"
1865
- ]
1866
- }
1867
- },
1868
- "object": "model_capabilities",
1869
- "supports": {
1870
- "parallel_tool_calls": true,
1871
- "reasoning_effort": [
1872
- "low",
1873
- "medium",
1874
- "high"
1875
- ],
1876
- "streaming": true,
1877
- "structured_outputs": true,
1878
- "tool_calls": true,
1879
- "vision": true,
1880
- "adaptive_thinking": "unsupported"
1881
- },
1882
- "tokenizer": "o200k_base",
1883
- "type": "chat"
1884
- },
1885
- "id": "grok-4.5",
1886
- "is_chat_default": false,
1887
- "is_chat_fallback": false,
1888
- "model_picker_category": "versatile",
1889
- "model_picker_enabled": true,
1890
- "model_picker_price_category": "medium",
1891
- "name": "Grok 4.5",
1892
- "object": "model",
1893
- "preview": false,
1894
- "supported_endpoints": [
1895
- "/responses"
1896
- ],
1897
- "vendor": "xAI",
1898
- "version": "grok-4.5"
1899
- },
1900
- {
1901
- "billing": {
1902
- "auto_discount": 0.3,
1903
- "restricted_to": [
1904
- "pro",
1905
- "pro_plus",
1906
- "individual_trial",
1907
- "edu",
1908
- "max",
1909
- "business",
1910
- "enterprise"
1911
- ],
1912
- "token_prices": {
1913
- "batch_size": 1000000,
1914
- "default": {
1915
- "cache_read_price": 30,
1916
- "cache_write_price": 0,
1917
- "input_price": 300,
1918
- "max_prompt_tokens": 917504,
1919
- "output_price": 1500
1920
- }
1921
- }
1922
- },
1923
- "capabilities": {
1924
- "family": "kimi-k3",
1925
- "limits": {
1926
- "max_context_window_tokens": 1048576,
1927
- "max_output_tokens": 131072,
1928
- "max_prompt_tokens": 917504,
1929
- "vision": {
1930
- "max_prompt_image_size": 3145728,
1931
- "max_prompt_images": 1,
1932
- "supported_media_types": [
1933
- "image/jpeg",
1934
- "image/png",
1935
- "image/webp",
1936
- "image/gif"
1937
- ]
1938
- }
1939
- },
1940
- "object": "model_capabilities",
1941
- "supports": {
1942
- "parallel_tool_calls": true,
1943
- "reasoning_effort": [
1944
- "low",
1945
- "high",
1946
- "max"
1947
- ],
1948
- "streaming": true,
1949
- "structured_outputs": true,
1950
- "tool_calls": true,
1951
- "vision": true,
1952
- "adaptive_thinking": "unsupported"
1953
- },
1954
- "tokenizer": "o200k_base",
1955
- "type": "chat"
1956
- },
1957
- "id": "kimi-k3",
1958
- "is_chat_default": false,
1959
- "is_chat_fallback": false,
1960
- "model_picker_category": "powerful",
1961
- "model_picker_enabled": true,
1962
- "model_picker_price_category": "medium",
1963
- "name": "Kimi K3",
1964
- "object": "model",
1965
- "policy": {
1966
- "state": "enabled",
1967
- "terms": "Enable access to Kimi K3 from Moonshot AI."
1968
- },
1969
- "preview": false,
1970
- "supported_endpoints": [
1971
- "/chat/completions"
1972
- ],
1973
- "vendor": "Moonshot AI",
1974
- "version": "kimi-k3"
1975
- },
1976
- {
1977
- "billing": {
1978
- "restricted_to": [
1979
- "pro",
1980
- "pro_plus",
1981
- "individual_trial",
1982
- "edu",
1983
- "max",
1984
- "business",
1985
- "enterprise"
1986
- ],
1987
- "token_prices": {
1988
- "batch_size": 1000000,
1989
- "default": {
1990
- "cache_read_price": 19,
1991
- "cache_write_price": 0,
1992
- "input_price": 95,
1993
- "max_prompt_tokens": 224000,
1994
- "output_price": 400
1995
- }
1996
- }
1997
- },
1998
- "capabilities": {
1999
- "family": "kimi-k2.7-code",
2000
- "limits": {
2001
- "max_context_window_tokens": 256000,
2002
- "max_output_tokens": 32000,
2003
- "max_prompt_tokens": 224000,
2004
- "vision": {
2005
- "max_prompt_image_size": 3145728,
2006
- "max_prompt_images": 1,
2007
- "supported_media_types": [
2008
- "image/jpeg",
2009
- "image/png",
2010
- "image/webp",
2011
- "image/gif"
2012
- ]
2013
- }
2014
- },
2015
- "object": "model_capabilities",
2016
- "supports": {
2017
- "parallel_tool_calls": true,
2018
- "streaming": true,
2019
- "structured_outputs": true,
2020
- "tool_calls": true,
2021
- "vision": true,
2022
- "adaptive_thinking": "unsupported"
2023
- },
2024
- "tokenizer": "o200k_base",
2025
- "type": "chat"
2026
- },
2027
- "id": "kimi-k2.7-code",
2028
- "is_chat_default": false,
2029
- "is_chat_fallback": false,
2030
- "model_picker_category": "lightweight",
2031
- "model_picker_enabled": true,
2032
- "model_picker_price_category": "low",
2033
- "name": "Kimi K2.7 Code",
2034
- "object": "model",
2035
- "policy": {
2036
- "state": "enabled",
2037
- "terms": "Enable access to Kimi-K2.7-Code from Moonshot AI."
2038
- },
2039
- "preview": false,
2040
- "supported_endpoints": [
2041
- "/chat/completions"
2042
- ],
2043
- "vendor": "Moonshot AI",
2044
- "version": "kimi-k2.7-code"
2045
- },
2046
- {
2047
- "billing": {
2048
- "restricted_to": [
2049
- "pro_plus",
2050
- "business",
2051
- "enterprise",
2052
- "max"
2053
- ],
2054
- "token_prices": {
2055
- "batch_size": 1000000,
2056
- "default": {
2057
- "cache_read_price": 100,
2058
- "cache_write_price": 1250,
2059
- "input_price": 1000,
2060
- "max_prompt_tokens": 272000,
2061
- "output_price": 5000
2062
- },
2063
- "long_context": {
2064
- "cache_read_price": 200,
2065
- "cache_write_price": 2500,
2066
- "input_price": 2000,
2067
- "max_prompt_tokens": 872000,
2068
- "output_price": 7500
2069
- }
2070
- }
2071
- },
2072
- "capabilities": {
2073
- "family": "gpt-6-astra",
2074
- "limits": {
2075
- "max_context_window_tokens": 1000000,
2076
- "max_output_tokens": 128000,
2077
- "max_prompt_tokens": 872000,
2078
- "vision": {
2079
- "max_prompt_image_size": 3145728,
2080
- "max_prompt_images": 1,
2081
- "supported_media_types": [
2082
- "image/jpeg",
2083
- "image/png",
2084
- "image/webp",
2085
- "image/gif",
2086
- "application/pdf"
2087
- ]
2088
- }
2089
- },
2090
- "object": "model_capabilities",
2091
- "supports": {
2092
- "parallel_tool_calls": true,
2093
- "reasoning_effort": [
2094
- "low",
2095
- "medium",
2096
- "high",
2097
- "xhigh",
2098
- "max"
2099
- ],
2100
- "streaming": true,
2101
- "structured_outputs": true,
2102
- "tool_calls": true,
2103
- "vision": true,
2104
- "adaptive_thinking": "unsupported"
2105
- },
2106
- "tokenizer": "o200k_base",
2107
- "type": "chat"
2108
- },
2109
- "id": "gpt-6-astra",
2110
- "is_chat_default": false,
2111
- "is_chat_fallback": false,
2112
- "model_picker_category": "powerful",
2113
- "model_picker_enabled": true,
2114
- "model_picker_price_category": "very_high",
2115
- "name": "GPT-6 Astra",
2116
- "object": "model",
2117
- "policy": {
2118
- "state": "enabled",
2119
- "terms": "Enable access to the latest GPT-6 Astra model from OpenAI. [Learn more about how GitHub Copilot serves GPT-6 Astra](https://gh.io/copilot-openai)."
2120
- },
2121
- "preview": false,
2122
- "supported_endpoints": [
2123
- "/responses",
2124
- "ws:/responses"
2125
- ],
2126
- "vendor": "OpenAI",
2127
- "version": "gpt-6-astra"
2128
- },
2129
- {
2130
- "billing": {
2131
- "restricted_to": [
2132
- "pro",
2133
- "pro_plus",
2134
- "business",
2135
- "enterprise",
2136
- "max"
2137
- ],
2138
- "token_prices": {
2139
- "batch_size": 1000000,
2140
- "default": {
2141
- "cache_read_price": 50,
2142
- "cache_write_price": 0,
2143
- "input_price": 200,
2144
- "max_prompt_tokens": 200000,
2145
- "output_price": 600
2146
- },
2147
- "long_context": {
2148
- "cache_read_price": 100,
2149
- "cache_write_price": 0,
2150
- "input_price": 400,
2151
- "max_prompt_tokens": 500000,
2152
- "output_price": 1200
2153
- }
2154
- }
2155
- },
2156
- "capabilities": {
2157
- "family": "grok-4.6",
2158
- "limits": {
2159
- "max_context_window_tokens": 500000,
2160
- "max_output_tokens": 128000,
2161
- "max_prompt_tokens": 372000,
2162
- "vision": {
2163
- "max_prompt_image_size": 3145728,
2164
- "max_prompt_images": 1,
2165
- "supported_media_types": [
2166
- "image/jpeg",
2167
- "image/png"
2168
- ]
2169
- }
2170
- },
2171
- "object": "model_capabilities",
2172
- "supports": {
2173
- "parallel_tool_calls": true,
2174
- "reasoning_effort": [
2175
- "low",
2176
- "medium",
2177
- "high",
2178
- "xhigh"
2179
- ],
2180
- "streaming": true,
2181
- "structured_outputs": true,
2182
- "tool_calls": true,
2183
- "vision": true,
2184
- "adaptive_thinking": "unsupported"
2185
- },
2186
- "tokenizer": "o200k_base",
2187
- "type": "chat"
2188
- },
2189
- "id": "grok-4.6",
2190
- "is_chat_default": false,
2191
- "is_chat_fallback": false,
2192
- "model_picker_category": "versatile",
2193
- "model_picker_enabled": true,
2194
- "model_picker_price_category": "medium",
2195
- "name": "Grok 4.6",
2196
- "object": "model",
2197
- "preview": false,
2198
- "supported_endpoints": [
2199
- "/responses"
2200
- ],
2201
- "vendor": "xAI",
2202
- "version": "grok-4.6"
2203
- }
2204
- ],
2205
- "modelPriceCategories": [
2206
- {
2207
- "id": "claude-sonnet-5",
2208
- "priceCategory": "medium"
2209
- },
2210
- {
2211
- "id": "claude-fable-5.1",
2212
- "priceCategory": "very_high"
2213
- },
2214
- {
2215
- "id": "claude-fable-5",
2216
- "priceCategory": "very_high"
2217
- },
2218
- {
2219
- "id": "claude-opus-5",
2220
- "priceCategory": "high"
2221
- },
2222
- {
2223
- "id": "claude-opus-4.8",
2224
- "priceCategory": "high"
2225
- },
2226
- {
2227
- "id": "claude-opus-4.8-fast",
2228
- "priceCategory": "very_high"
2229
- },
2230
- {
2231
- "id": "claude-opus-4.7",
2232
- "priceCategory": "high"
2233
- },
2234
- {
2235
- "id": "claude-haiku-4.5",
2236
- "priceCategory": "low"
2237
- },
2238
- {
2239
- "id": "gpt-5.6-sol",
2240
- "priceCategory": "high"
2241
- },
2242
- {
2243
- "id": "gpt-5.6-terra",
2244
- "priceCategory": "medium"
2245
- },
2246
- {
2247
- "id": "gpt-5.6-luna",
2248
- "priceCategory": "low"
2249
- },
2250
- {
2251
- "id": "gpt-5.5",
2252
- "priceCategory": "high"
2253
- },
2254
- {
2255
- "id": "gpt-5.4",
2256
- "priceCategory": "medium"
2257
- },
2258
- {
2259
- "id": "gpt-5.4-mini",
2260
- "priceCategory": "low"
2261
- },
2262
- {
2263
- "id": "gpt-5.3-codex",
2264
- "priceCategory": "medium"
2265
- },
2266
- {
2267
- "id": "gpt-5-mini",
2268
- "priceCategory": "low"
2269
- },
2270
- {
2271
- "id": "mai-code-1.1-flash",
2272
- "priceCategory": "low"
2273
- },
2274
- {
2275
- "id": "mai-code-1-flash-picker",
2276
- "priceCategory": "low"
2277
- },
2278
- {
2279
- "id": "gemini-3.8-flash",
2280
- "priceCategory": "low"
2281
- },
2282
- {
2283
- "id": "gemini-3.7-flash",
2284
- "priceCategory": "low"
2285
- },
2286
- {
2287
- "id": "gemini-3.6-flash",
2288
- "priceCategory": "low"
2289
- },
2290
- {
2291
- "id": "gemini-3.5-flash",
2292
- "priceCategory": "medium"
2293
- },
2294
- {
2295
- "id": "grok-4.5",
2296
- "priceCategory": "medium"
2297
- },
2298
- {
2299
- "id": "kimi-k3",
2300
- "priceCategory": "medium"
2301
- },
2302
- {
2303
- "id": "kimi-k2.7-code",
2304
- "priceCategory": "low"
2305
- },
2306
- {
2307
- "id": "gpt-6-astra",
2308
- "priceCategory": "very_high"
2309
- },
2310
- {
2311
- "id": "grok-4.6",
2312
- "priceCategory": "medium"
2313
- },
2314
- {
2315
- "id": "trajectory-compaction",
2316
- "priceCategory": "low"
2317
- },
2318
- {
2319
- "id": "gpt-4o-mini-2024-07-18",
2320
- "priceCategory": "low"
2321
- },
2322
- {
2323
- "id": "gpt-4o-2024-11-20",
2324
- "priceCategory": "medium"
2325
- },
2326
- {
2327
- "id": "gpt-4o-2024-08-06",
2328
- "priceCategory": "high"
2329
- },
2330
- {
2331
- "id": "gpt-3.5-turbo-0613",
2332
- "priceCategory": "medium"
2333
- },
2334
- {
2335
- "id": "gpt-4",
2336
- "priceCategory": "medium"
2337
- },
2338
- {
2339
- "id": "gpt-4-0613",
2340
- "priceCategory": "medium"
2341
- },
2342
- {
2343
- "id": "gpt-4o-2024-05-13",
2344
- "priceCategory": "medium"
2345
- },
2346
- {
2347
- "id": "gpt-4-o-preview",
2348
- "priceCategory": "high"
2349
- },
2350
- {
2351
- "id": "gpt-3.5-turbo",
2352
- "priceCategory": "medium"
2353
- },
2354
- {
2355
- "id": "gpt-4o-mini",
2356
- "priceCategory": "low"
2357
- },
2358
- {
2359
- "id": "gpt-4o",
2360
- "priceCategory": "medium"
2361
- }
2362
- ]
2363
- }