oc-chatgpt-multi-auth 4.9.0
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.
- package/LICENSE +37 -0
- package/README.md +507 -0
- package/assets/opencode-logo-ornate-dark.svg +18 -0
- package/assets/readme-hero.svg +31 -0
- package/config/README.md +110 -0
- package/config/minimal-opencode.json +13 -0
- package/config/opencode-legacy.json +572 -0
- package/config/opencode-modern.json +240 -0
- package/dist/index.d.ts +45 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +971 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/accounts.d.ts +120 -0
- package/dist/lib/accounts.d.ts.map +1 -0
- package/dist/lib/accounts.js +579 -0
- package/dist/lib/accounts.js.map +1 -0
- package/dist/lib/auth/auth.d.ts +51 -0
- package/dist/lib/auth/auth.d.ts.map +1 -0
- package/dist/lib/auth/auth.js +180 -0
- package/dist/lib/auth/auth.js.map +1 -0
- package/dist/lib/auth/browser.d.ts +17 -0
- package/dist/lib/auth/browser.d.ts.map +1 -0
- package/dist/lib/auth/browser.js +83 -0
- package/dist/lib/auth/browser.js.map +1 -0
- package/dist/lib/auth/server.d.ts +10 -0
- package/dist/lib/auth/server.d.ts.map +1 -0
- package/dist/lib/auth/server.js +85 -0
- package/dist/lib/auth/server.js.map +1 -0
- package/dist/lib/auto-update-checker.d.ts +10 -0
- package/dist/lib/auto-update-checker.d.ts.map +1 -0
- package/dist/lib/auto-update-checker.js +129 -0
- package/dist/lib/auto-update-checker.js.map +1 -0
- package/dist/lib/cli.d.ts +9 -0
- package/dist/lib/cli.d.ts.map +1 -0
- package/dist/lib/cli.js +50 -0
- package/dist/lib/cli.js.map +1 -0
- package/dist/lib/config.d.ts +17 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +102 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/constants.d.ts +74 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +74 -0
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/context-overflow.d.ts +27 -0
- package/dist/lib/context-overflow.d.ts.map +1 -0
- package/dist/lib/context-overflow.js +124 -0
- package/dist/lib/context-overflow.js.map +1 -0
- package/dist/lib/index.d.ts +13 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +13 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/logger.d.ts +22 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +175 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/oauth-success.html +712 -0
- package/dist/lib/prompts/codex-opencode-bridge.d.ts +19 -0
- package/dist/lib/prompts/codex-opencode-bridge.d.ts.map +1 -0
- package/dist/lib/prompts/codex-opencode-bridge.js +152 -0
- package/dist/lib/prompts/codex-opencode-bridge.js.map +1 -0
- package/dist/lib/prompts/codex.d.ts +32 -0
- package/dist/lib/prompts/codex.d.ts.map +1 -0
- package/dist/lib/prompts/codex.js +262 -0
- package/dist/lib/prompts/codex.js.map +1 -0
- package/dist/lib/prompts/opencode-codex.d.ts +21 -0
- package/dist/lib/prompts/opencode-codex.d.ts.map +1 -0
- package/dist/lib/prompts/opencode-codex.js +91 -0
- package/dist/lib/prompts/opencode-codex.js.map +1 -0
- package/dist/lib/recovery/constants.d.ts +12 -0
- package/dist/lib/recovery/constants.d.ts.map +1 -0
- package/dist/lib/recovery/constants.js +25 -0
- package/dist/lib/recovery/constants.js.map +1 -0
- package/dist/lib/recovery/index.d.ts +12 -0
- package/dist/lib/recovery/index.d.ts.map +1 -0
- package/dist/lib/recovery/index.js +12 -0
- package/dist/lib/recovery/index.js.map +1 -0
- package/dist/lib/recovery/storage.d.ts +24 -0
- package/dist/lib/recovery/storage.d.ts.map +1 -0
- package/dist/lib/recovery/storage.js +354 -0
- package/dist/lib/recovery/storage.js.map +1 -0
- package/dist/lib/recovery/types.d.ts +116 -0
- package/dist/lib/recovery/types.d.ts.map +1 -0
- package/dist/lib/recovery/types.js +7 -0
- package/dist/lib/recovery/types.js.map +1 -0
- package/dist/lib/recovery.d.ts +31 -0
- package/dist/lib/recovery.d.ts.map +1 -0
- package/dist/lib/recovery.js +308 -0
- package/dist/lib/recovery.js.map +1 -0
- package/dist/lib/refresh-queue.d.ts +100 -0
- package/dist/lib/refresh-queue.d.ts.map +1 -0
- package/dist/lib/refresh-queue.js +196 -0
- package/dist/lib/refresh-queue.js.map +1 -0
- package/dist/lib/request/fetch-helpers.d.ts +81 -0
- package/dist/lib/request/fetch-helpers.d.ts.map +1 -0
- package/dist/lib/request/fetch-helpers.js +325 -0
- package/dist/lib/request/fetch-helpers.js.map +1 -0
- package/dist/lib/request/helpers/input-utils.d.ts +7 -0
- package/dist/lib/request/helpers/input-utils.d.ts.map +1 -0
- package/dist/lib/request/helpers/input-utils.js +213 -0
- package/dist/lib/request/helpers/input-utils.js.map +1 -0
- package/dist/lib/request/helpers/model-map.d.ts +28 -0
- package/dist/lib/request/helpers/model-map.d.ts.map +1 -0
- package/dist/lib/request/helpers/model-map.js +109 -0
- package/dist/lib/request/helpers/model-map.js.map +1 -0
- package/dist/lib/request/rate-limit-backoff.d.ts +17 -0
- package/dist/lib/request/rate-limit-backoff.d.ts.map +1 -0
- package/dist/lib/request/rate-limit-backoff.js +74 -0
- package/dist/lib/request/rate-limit-backoff.js.map +1 -0
- package/dist/lib/request/request-transformer.d.ts +93 -0
- package/dist/lib/request/request-transformer.d.ts.map +1 -0
- package/dist/lib/request/request-transformer.js +405 -0
- package/dist/lib/request/request-transformer.js.map +1 -0
- package/dist/lib/request/response-handler.d.ts +14 -0
- package/dist/lib/request/response-handler.d.ts.map +1 -0
- package/dist/lib/request/response-handler.js +90 -0
- package/dist/lib/request/response-handler.js.map +1 -0
- package/dist/lib/rotation.d.ts +121 -0
- package/dist/lib/rotation.d.ts.map +1 -0
- package/dist/lib/rotation.js +248 -0
- package/dist/lib/rotation.js.map +1 -0
- package/dist/lib/storage.d.ts +91 -0
- package/dist/lib/storage.d.ts.map +1 -0
- package/dist/lib/storage.js +323 -0
- package/dist/lib/storage.js.map +1 -0
- package/dist/lib/types.d.ts +185 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +2 -0
- package/dist/lib/types.js.map +1 -0
- package/package.json +86 -0
- package/scripts/copy-oauth-success.js +37 -0
- package/scripts/install-opencode-codex-auth.js +193 -0
- package/scripts/test-all-models.sh +260 -0
- package/scripts/validate-model-map.sh +97 -0
package/config/README.md
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# Configuration
|
|
2
|
+
|
|
3
|
+
This directory contains the official opencode configuration files for the OpenAI Codex OAuth plugin.
|
|
4
|
+
|
|
5
|
+
## ⚠️ REQUIRED: Choose the Right Configuration
|
|
6
|
+
|
|
7
|
+
**Two configuration files are available based on your OpenCode version:**
|
|
8
|
+
|
|
9
|
+
| File | OpenCode Version | Description |
|
|
10
|
+
|------|------------------|-------------|
|
|
11
|
+
| [`opencode-modern.json`](./opencode-modern.json) | **v1.0.210+ (Jan 2026+)** | Compact config using variants system - 6 models with built-in reasoning level variants |
|
|
12
|
+
| [`opencode-legacy.json`](./opencode-legacy.json) | **v1.0.209 and below** | Extended config with separate model entries for each reasoning level - 20+ individual model definitions |
|
|
13
|
+
|
|
14
|
+
### Which one should I use?
|
|
15
|
+
|
|
16
|
+
**If you have OpenCode v1.0.210 or newer** (check with `opencode --version`):
|
|
17
|
+
```bash
|
|
18
|
+
cp config/opencode-modern.json ~/.config/opencode/opencode.json
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**If you have OpenCode v1.0.209 or older**:
|
|
22
|
+
```bash
|
|
23
|
+
cp config/opencode-legacy.json ~/.config/opencode/opencode.json
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Why two configs?
|
|
27
|
+
|
|
28
|
+
OpenCode v1.0.210+ introduced a **variants system** that allows defining reasoning effort levels as variants under a single model. This reduces config size from 572 lines to ~150 lines while maintaining the same functionality.
|
|
29
|
+
|
|
30
|
+
**What you get:**
|
|
31
|
+
|
|
32
|
+
| Config File | Model Families | Reasoning Variants | Total Models |
|
|
33
|
+
|------------|----------------|-------------------|--------------|
|
|
34
|
+
| `opencode-modern.json` | 6 | Built-in variants (low/medium/high/xhigh) | 6 base models with 19 total variants |
|
|
35
|
+
| `opencode-legacy.json` | 6 | Separate model entries | 20 individual model definitions |
|
|
36
|
+
|
|
37
|
+
Both configs provide:
|
|
38
|
+
- ✅ All supported GPT 5.2/5.1 variants: gpt-5.2, gpt-5.2-codex, gpt-5.1, gpt-5.1-codex, gpt-5.1-codex-max, gpt-5.1-codex-mini
|
|
39
|
+
- ✅ Proper reasoning effort settings for each variant (including `xhigh` for Codex Max/5.2)
|
|
40
|
+
- ✅ Context limits (272k context / 128k output for all Codex families)
|
|
41
|
+
- ✅ Required options: `store: false`, `include: ["reasoning.encrypted_content"]`
|
|
42
|
+
- ✅ Image input support for all models
|
|
43
|
+
- ✅ All required metadata for OpenCode features
|
|
44
|
+
|
|
45
|
+
### Modern Config Benefits (v1.0.210+)
|
|
46
|
+
|
|
47
|
+
- **74% smaller**: 150 lines vs 572 lines
|
|
48
|
+
- **DRY**: Common options defined once at provider level
|
|
49
|
+
- **Variant cycling**: Built-in support for `Ctrl+T` to switch reasoning levels
|
|
50
|
+
- **Easier maintenance**: Add new variants without copying model definitions
|
|
51
|
+
|
|
52
|
+
## Usage
|
|
53
|
+
|
|
54
|
+
1. **Check your OpenCode version**:
|
|
55
|
+
```bash
|
|
56
|
+
opencode --version
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
2. **Copy the appropriate config** based on your version:
|
|
60
|
+
```bash
|
|
61
|
+
# For v1.0.210+ (recommended):
|
|
62
|
+
cp config/opencode-modern.json ~/.config/opencode/opencode.json
|
|
63
|
+
|
|
64
|
+
# For older versions:
|
|
65
|
+
cp config/opencode-legacy.json ~/.config/opencode/opencode.json
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
3. **Run opencode**:
|
|
69
|
+
```bash
|
|
70
|
+
# Modern config (v1.0.210+):
|
|
71
|
+
opencode run "task" --model=openai/gpt-5.2 --variant=medium
|
|
72
|
+
opencode run "task" --model=openai/gpt-5.2 --variant=high
|
|
73
|
+
|
|
74
|
+
# Legacy config:
|
|
75
|
+
opencode run "task" --model=openai/gpt-5.2-medium
|
|
76
|
+
opencode run "task" --model=openai/gpt-5.2-high
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
> **⚠️ Important**: Use the config file appropriate for your OpenCode version. Using the modern config with an older OpenCode version (v1.0.209 or below) will not work correctly.
|
|
80
|
+
|
|
81
|
+
> **Note**: The config templates use an **unversioned** plugin entry (`oc-chatgpt-multi-auth`) so the installer can always pull the latest release. If you need reproducibility, pin a specific version manually.
|
|
82
|
+
|
|
83
|
+
### Minimal config (advanced)
|
|
84
|
+
|
|
85
|
+
A barebones example is available at [`minimal-opencode.json`](./minimal-opencode.json). It’s intended for debugging and does not include the full GPT‑5.x/Codex preset/variant definitions.
|
|
86
|
+
|
|
87
|
+
For normal usage, prefer `opencode-modern.json` (v1.0.210+) or `opencode-legacy.json` (v1.0.209 and below).
|
|
88
|
+
|
|
89
|
+
## Available Models
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
Both configs provide access to the same model families:
|
|
93
|
+
|
|
94
|
+
- **gpt-5.2** (none/low/medium/high/xhigh) - Latest GPT 5.2 model with full reasoning support
|
|
95
|
+
- **gpt-5.2-codex** (low/medium/high/xhigh) - GPT 5.2 Codex presets
|
|
96
|
+
- **gpt-5.1-codex-max** (low/medium/high/xhigh) - Codex Max presets
|
|
97
|
+
- **gpt-5.1-codex** (low/medium/high) - Codex model presets
|
|
98
|
+
- **gpt-5.1-codex-mini** (medium/high) - Codex mini tier presets
|
|
99
|
+
- **gpt-5.1** (none/low/medium/high) - General-purpose reasoning presets
|
|
100
|
+
|
|
101
|
+
All appear in the opencode model selector as "GPT 5.1 Codex Low (OAuth)", "GPT 5.1 High (OAuth)", etc.
|
|
102
|
+
|
|
103
|
+
## Configuration Options
|
|
104
|
+
|
|
105
|
+
See the main [README.md](../README.md#configuration) for detailed documentation of all configuration options.
|
|
106
|
+
|
|
107
|
+
## Version History
|
|
108
|
+
|
|
109
|
+
- **January 2026 (v1.0.210+)**: Introduced variant system support. Use `opencode-modern.json`
|
|
110
|
+
- **December 2025 and earlier**: Use `opencode-legacy.json`
|
|
@@ -0,0 +1,572 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://opencode.ai/config.json",
|
|
3
|
+
"plugin": [
|
|
4
|
+
"oc-chatgpt-multi-auth"
|
|
5
|
+
],
|
|
6
|
+
|
|
7
|
+
"provider": {
|
|
8
|
+
"openai": {
|
|
9
|
+
"options": {
|
|
10
|
+
"reasoningEffort": "medium",
|
|
11
|
+
"reasoningSummary": "auto",
|
|
12
|
+
"textVerbosity": "medium",
|
|
13
|
+
"include": [
|
|
14
|
+
"reasoning.encrypted_content"
|
|
15
|
+
],
|
|
16
|
+
"store": false
|
|
17
|
+
},
|
|
18
|
+
"models": {
|
|
19
|
+
"gpt-5.2-none": {
|
|
20
|
+
"name": "GPT 5.2 None (OAuth)",
|
|
21
|
+
"limit": {
|
|
22
|
+
"context": 272000,
|
|
23
|
+
"output": 128000
|
|
24
|
+
},
|
|
25
|
+
"modalities": {
|
|
26
|
+
"input": [
|
|
27
|
+
"text",
|
|
28
|
+
"image"
|
|
29
|
+
],
|
|
30
|
+
"output": [
|
|
31
|
+
"text"
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
"options": {
|
|
35
|
+
"reasoningEffort": "none",
|
|
36
|
+
"reasoningSummary": "auto",
|
|
37
|
+
"textVerbosity": "medium",
|
|
38
|
+
"include": [
|
|
39
|
+
"reasoning.encrypted_content"
|
|
40
|
+
],
|
|
41
|
+
"store": false
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"gpt-5.2-low": {
|
|
45
|
+
"name": "GPT 5.2 Low (OAuth)",
|
|
46
|
+
"limit": {
|
|
47
|
+
"context": 272000,
|
|
48
|
+
"output": 128000
|
|
49
|
+
},
|
|
50
|
+
"modalities": {
|
|
51
|
+
"input": [
|
|
52
|
+
"text",
|
|
53
|
+
"image"
|
|
54
|
+
],
|
|
55
|
+
"output": [
|
|
56
|
+
"text"
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
"options": {
|
|
60
|
+
"reasoningEffort": "low",
|
|
61
|
+
"reasoningSummary": "auto",
|
|
62
|
+
"textVerbosity": "medium",
|
|
63
|
+
"include": [
|
|
64
|
+
"reasoning.encrypted_content"
|
|
65
|
+
],
|
|
66
|
+
"store": false
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"gpt-5.2-medium": {
|
|
70
|
+
"name": "GPT 5.2 Medium (OAuth)",
|
|
71
|
+
"limit": {
|
|
72
|
+
"context": 272000,
|
|
73
|
+
"output": 128000
|
|
74
|
+
},
|
|
75
|
+
"modalities": {
|
|
76
|
+
"input": [
|
|
77
|
+
"text",
|
|
78
|
+
"image"
|
|
79
|
+
],
|
|
80
|
+
"output": [
|
|
81
|
+
"text"
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
"options": {
|
|
85
|
+
"reasoningEffort": "medium",
|
|
86
|
+
"reasoningSummary": "auto",
|
|
87
|
+
"textVerbosity": "medium",
|
|
88
|
+
"include": [
|
|
89
|
+
"reasoning.encrypted_content"
|
|
90
|
+
],
|
|
91
|
+
"store": false
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"gpt-5.2-high": {
|
|
95
|
+
"name": "GPT 5.2 High (OAuth)",
|
|
96
|
+
"limit": {
|
|
97
|
+
"context": 272000,
|
|
98
|
+
"output": 128000
|
|
99
|
+
},
|
|
100
|
+
"modalities": {
|
|
101
|
+
"input": [
|
|
102
|
+
"text",
|
|
103
|
+
"image"
|
|
104
|
+
],
|
|
105
|
+
"output": [
|
|
106
|
+
"text"
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
"options": {
|
|
110
|
+
"reasoningEffort": "high",
|
|
111
|
+
"reasoningSummary": "detailed",
|
|
112
|
+
"textVerbosity": "medium",
|
|
113
|
+
"include": [
|
|
114
|
+
"reasoning.encrypted_content"
|
|
115
|
+
],
|
|
116
|
+
"store": false
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
"gpt-5.2-xhigh": {
|
|
120
|
+
"name": "GPT 5.2 Extra High (OAuth)",
|
|
121
|
+
"limit": {
|
|
122
|
+
"context": 272000,
|
|
123
|
+
"output": 128000
|
|
124
|
+
},
|
|
125
|
+
"modalities": {
|
|
126
|
+
"input": [
|
|
127
|
+
"text",
|
|
128
|
+
"image"
|
|
129
|
+
],
|
|
130
|
+
"output": [
|
|
131
|
+
"text"
|
|
132
|
+
]
|
|
133
|
+
},
|
|
134
|
+
"options": {
|
|
135
|
+
"reasoningEffort": "xhigh",
|
|
136
|
+
"reasoningSummary": "detailed",
|
|
137
|
+
"textVerbosity": "medium",
|
|
138
|
+
"include": [
|
|
139
|
+
"reasoning.encrypted_content"
|
|
140
|
+
],
|
|
141
|
+
"store": false
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
"gpt-5.2-codex-low": {
|
|
145
|
+
"name": "GPT 5.2 Codex Low (OAuth)",
|
|
146
|
+
"limit": {
|
|
147
|
+
"context": 272000,
|
|
148
|
+
"output": 128000
|
|
149
|
+
},
|
|
150
|
+
"modalities": {
|
|
151
|
+
"input": [
|
|
152
|
+
"text",
|
|
153
|
+
"image"
|
|
154
|
+
],
|
|
155
|
+
"output": [
|
|
156
|
+
"text"
|
|
157
|
+
]
|
|
158
|
+
},
|
|
159
|
+
"options": {
|
|
160
|
+
"reasoningEffort": "low",
|
|
161
|
+
"reasoningSummary": "auto",
|
|
162
|
+
"textVerbosity": "medium",
|
|
163
|
+
"include": [
|
|
164
|
+
"reasoning.encrypted_content"
|
|
165
|
+
],
|
|
166
|
+
"store": false
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
"gpt-5.2-codex-medium": {
|
|
170
|
+
"name": "GPT 5.2 Codex Medium (OAuth)",
|
|
171
|
+
"limit": {
|
|
172
|
+
"context": 272000,
|
|
173
|
+
"output": 128000
|
|
174
|
+
},
|
|
175
|
+
"modalities": {
|
|
176
|
+
"input": [
|
|
177
|
+
"text",
|
|
178
|
+
"image"
|
|
179
|
+
],
|
|
180
|
+
"output": [
|
|
181
|
+
"text"
|
|
182
|
+
]
|
|
183
|
+
},
|
|
184
|
+
"options": {
|
|
185
|
+
"reasoningEffort": "medium",
|
|
186
|
+
"reasoningSummary": "auto",
|
|
187
|
+
"textVerbosity": "medium",
|
|
188
|
+
"include": [
|
|
189
|
+
"reasoning.encrypted_content"
|
|
190
|
+
],
|
|
191
|
+
"store": false
|
|
192
|
+
}
|
|
193
|
+
},
|
|
194
|
+
"gpt-5.2-codex-high": {
|
|
195
|
+
"name": "GPT 5.2 Codex High (OAuth)",
|
|
196
|
+
"limit": {
|
|
197
|
+
"context": 272000,
|
|
198
|
+
"output": 128000
|
|
199
|
+
},
|
|
200
|
+
"modalities": {
|
|
201
|
+
"input": [
|
|
202
|
+
"text",
|
|
203
|
+
"image"
|
|
204
|
+
],
|
|
205
|
+
"output": [
|
|
206
|
+
"text"
|
|
207
|
+
]
|
|
208
|
+
},
|
|
209
|
+
"options": {
|
|
210
|
+
"reasoningEffort": "high",
|
|
211
|
+
"reasoningSummary": "detailed",
|
|
212
|
+
"textVerbosity": "medium",
|
|
213
|
+
"include": [
|
|
214
|
+
"reasoning.encrypted_content"
|
|
215
|
+
],
|
|
216
|
+
"store": false
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
"gpt-5.2-codex-xhigh": {
|
|
220
|
+
"name": "GPT 5.2 Codex Extra High (OAuth)",
|
|
221
|
+
"limit": {
|
|
222
|
+
"context": 272000,
|
|
223
|
+
"output": 128000
|
|
224
|
+
},
|
|
225
|
+
"modalities": {
|
|
226
|
+
"input": [
|
|
227
|
+
"text",
|
|
228
|
+
"image"
|
|
229
|
+
],
|
|
230
|
+
"output": [
|
|
231
|
+
"text"
|
|
232
|
+
]
|
|
233
|
+
},
|
|
234
|
+
"options": {
|
|
235
|
+
"reasoningEffort": "xhigh",
|
|
236
|
+
"reasoningSummary": "detailed",
|
|
237
|
+
"textVerbosity": "medium",
|
|
238
|
+
"include": [
|
|
239
|
+
"reasoning.encrypted_content"
|
|
240
|
+
],
|
|
241
|
+
"store": false
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
"gpt-5.1-codex-max-low": {
|
|
245
|
+
"name": "GPT 5.1 Codex Max Low (OAuth)",
|
|
246
|
+
"limit": {
|
|
247
|
+
"context": 272000,
|
|
248
|
+
"output": 128000
|
|
249
|
+
},
|
|
250
|
+
"modalities": {
|
|
251
|
+
"input": [
|
|
252
|
+
"text",
|
|
253
|
+
"image"
|
|
254
|
+
],
|
|
255
|
+
"output": [
|
|
256
|
+
"text"
|
|
257
|
+
]
|
|
258
|
+
},
|
|
259
|
+
"options": {
|
|
260
|
+
"reasoningEffort": "low",
|
|
261
|
+
"reasoningSummary": "detailed",
|
|
262
|
+
"textVerbosity": "medium",
|
|
263
|
+
"include": [
|
|
264
|
+
"reasoning.encrypted_content"
|
|
265
|
+
],
|
|
266
|
+
"store": false
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
"gpt-5.1-codex-max-medium": {
|
|
270
|
+
"name": "GPT 5.1 Codex Max Medium (OAuth)",
|
|
271
|
+
"limit": {
|
|
272
|
+
"context": 272000,
|
|
273
|
+
"output": 128000
|
|
274
|
+
},
|
|
275
|
+
"modalities": {
|
|
276
|
+
"input": [
|
|
277
|
+
"text",
|
|
278
|
+
"image"
|
|
279
|
+
],
|
|
280
|
+
"output": [
|
|
281
|
+
"text"
|
|
282
|
+
]
|
|
283
|
+
},
|
|
284
|
+
"options": {
|
|
285
|
+
"reasoningEffort": "medium",
|
|
286
|
+
"reasoningSummary": "detailed",
|
|
287
|
+
"textVerbosity": "medium",
|
|
288
|
+
"include": [
|
|
289
|
+
"reasoning.encrypted_content"
|
|
290
|
+
],
|
|
291
|
+
"store": false
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
"gpt-5.1-codex-max-high": {
|
|
295
|
+
"name": "GPT 5.1 Codex Max High (OAuth)",
|
|
296
|
+
"limit": {
|
|
297
|
+
"context": 272000,
|
|
298
|
+
"output": 128000
|
|
299
|
+
},
|
|
300
|
+
"modalities": {
|
|
301
|
+
"input": [
|
|
302
|
+
"text",
|
|
303
|
+
"image"
|
|
304
|
+
],
|
|
305
|
+
"output": [
|
|
306
|
+
"text"
|
|
307
|
+
]
|
|
308
|
+
},
|
|
309
|
+
"options": {
|
|
310
|
+
"reasoningEffort": "high",
|
|
311
|
+
"reasoningSummary": "detailed",
|
|
312
|
+
"textVerbosity": "medium",
|
|
313
|
+
"include": [
|
|
314
|
+
"reasoning.encrypted_content"
|
|
315
|
+
],
|
|
316
|
+
"store": false
|
|
317
|
+
}
|
|
318
|
+
},
|
|
319
|
+
"gpt-5.1-codex-max-xhigh": {
|
|
320
|
+
"name": "GPT 5.1 Codex Max Extra High (OAuth)",
|
|
321
|
+
"limit": {
|
|
322
|
+
"context": 272000,
|
|
323
|
+
"output": 128000
|
|
324
|
+
},
|
|
325
|
+
"modalities": {
|
|
326
|
+
"input": [
|
|
327
|
+
"text",
|
|
328
|
+
"image"
|
|
329
|
+
],
|
|
330
|
+
"output": [
|
|
331
|
+
"text"
|
|
332
|
+
]
|
|
333
|
+
},
|
|
334
|
+
"options": {
|
|
335
|
+
"reasoningEffort": "xhigh",
|
|
336
|
+
"reasoningSummary": "detailed",
|
|
337
|
+
"textVerbosity": "medium",
|
|
338
|
+
"include": [
|
|
339
|
+
"reasoning.encrypted_content"
|
|
340
|
+
],
|
|
341
|
+
"store": false
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
|
+
"gpt-5.1-codex-low": {
|
|
345
|
+
"name": "GPT 5.1 Codex Low (OAuth)",
|
|
346
|
+
"limit": {
|
|
347
|
+
"context": 272000,
|
|
348
|
+
"output": 128000
|
|
349
|
+
},
|
|
350
|
+
"modalities": {
|
|
351
|
+
"input": [
|
|
352
|
+
"text",
|
|
353
|
+
"image"
|
|
354
|
+
],
|
|
355
|
+
"output": [
|
|
356
|
+
"text"
|
|
357
|
+
]
|
|
358
|
+
},
|
|
359
|
+
"options": {
|
|
360
|
+
"reasoningEffort": "low",
|
|
361
|
+
"reasoningSummary": "auto",
|
|
362
|
+
"textVerbosity": "medium",
|
|
363
|
+
"include": [
|
|
364
|
+
"reasoning.encrypted_content"
|
|
365
|
+
],
|
|
366
|
+
"store": false
|
|
367
|
+
}
|
|
368
|
+
},
|
|
369
|
+
"gpt-5.1-codex-medium": {
|
|
370
|
+
"name": "GPT 5.1 Codex Medium (OAuth)",
|
|
371
|
+
"limit": {
|
|
372
|
+
"context": 272000,
|
|
373
|
+
"output": 128000
|
|
374
|
+
},
|
|
375
|
+
"modalities": {
|
|
376
|
+
"input": [
|
|
377
|
+
"text",
|
|
378
|
+
"image"
|
|
379
|
+
],
|
|
380
|
+
"output": [
|
|
381
|
+
"text"
|
|
382
|
+
]
|
|
383
|
+
},
|
|
384
|
+
"options": {
|
|
385
|
+
"reasoningEffort": "medium",
|
|
386
|
+
"reasoningSummary": "auto",
|
|
387
|
+
"textVerbosity": "medium",
|
|
388
|
+
"include": [
|
|
389
|
+
"reasoning.encrypted_content"
|
|
390
|
+
],
|
|
391
|
+
"store": false
|
|
392
|
+
}
|
|
393
|
+
},
|
|
394
|
+
"gpt-5.1-codex-high": {
|
|
395
|
+
"name": "GPT 5.1 Codex High (OAuth)",
|
|
396
|
+
"limit": {
|
|
397
|
+
"context": 272000,
|
|
398
|
+
"output": 128000
|
|
399
|
+
},
|
|
400
|
+
"modalities": {
|
|
401
|
+
"input": [
|
|
402
|
+
"text",
|
|
403
|
+
"image"
|
|
404
|
+
],
|
|
405
|
+
"output": [
|
|
406
|
+
"text"
|
|
407
|
+
]
|
|
408
|
+
},
|
|
409
|
+
"options": {
|
|
410
|
+
"reasoningEffort": "high",
|
|
411
|
+
"reasoningSummary": "detailed",
|
|
412
|
+
"textVerbosity": "medium",
|
|
413
|
+
"include": [
|
|
414
|
+
"reasoning.encrypted_content"
|
|
415
|
+
],
|
|
416
|
+
"store": false
|
|
417
|
+
}
|
|
418
|
+
},
|
|
419
|
+
"gpt-5.1-codex-mini-medium": {
|
|
420
|
+
"name": "GPT 5.1 Codex Mini Medium (OAuth)",
|
|
421
|
+
"limit": {
|
|
422
|
+
"context": 272000,
|
|
423
|
+
"output": 128000
|
|
424
|
+
},
|
|
425
|
+
"modalities": {
|
|
426
|
+
"input": [
|
|
427
|
+
"text",
|
|
428
|
+
"image"
|
|
429
|
+
],
|
|
430
|
+
"output": [
|
|
431
|
+
"text"
|
|
432
|
+
]
|
|
433
|
+
},
|
|
434
|
+
"options": {
|
|
435
|
+
"reasoningEffort": "medium",
|
|
436
|
+
"reasoningSummary": "auto",
|
|
437
|
+
"textVerbosity": "medium",
|
|
438
|
+
"include": [
|
|
439
|
+
"reasoning.encrypted_content"
|
|
440
|
+
],
|
|
441
|
+
"store": false
|
|
442
|
+
}
|
|
443
|
+
},
|
|
444
|
+
"gpt-5.1-codex-mini-high": {
|
|
445
|
+
"name": "GPT 5.1 Codex Mini High (OAuth)",
|
|
446
|
+
"limit": {
|
|
447
|
+
"context": 272000,
|
|
448
|
+
"output": 128000
|
|
449
|
+
},
|
|
450
|
+
"modalities": {
|
|
451
|
+
"input": [
|
|
452
|
+
"text",
|
|
453
|
+
"image"
|
|
454
|
+
],
|
|
455
|
+
"output": [
|
|
456
|
+
"text"
|
|
457
|
+
]
|
|
458
|
+
},
|
|
459
|
+
"options": {
|
|
460
|
+
"reasoningEffort": "high",
|
|
461
|
+
"reasoningSummary": "detailed",
|
|
462
|
+
"textVerbosity": "medium",
|
|
463
|
+
"include": [
|
|
464
|
+
"reasoning.encrypted_content"
|
|
465
|
+
],
|
|
466
|
+
"store": false
|
|
467
|
+
}
|
|
468
|
+
},
|
|
469
|
+
"gpt-5.1-none": {
|
|
470
|
+
"name": "GPT 5.1 None (OAuth)",
|
|
471
|
+
"limit": {
|
|
472
|
+
"context": 272000,
|
|
473
|
+
"output": 128000
|
|
474
|
+
},
|
|
475
|
+
"modalities": {
|
|
476
|
+
"input": [
|
|
477
|
+
"text",
|
|
478
|
+
"image"
|
|
479
|
+
],
|
|
480
|
+
"output": [
|
|
481
|
+
"text"
|
|
482
|
+
]
|
|
483
|
+
},
|
|
484
|
+
"options": {
|
|
485
|
+
"reasoningEffort": "none",
|
|
486
|
+
"reasoningSummary": "auto",
|
|
487
|
+
"textVerbosity": "medium",
|
|
488
|
+
"include": [
|
|
489
|
+
"reasoning.encrypted_content"
|
|
490
|
+
],
|
|
491
|
+
"store": false
|
|
492
|
+
}
|
|
493
|
+
},
|
|
494
|
+
"gpt-5.1-low": {
|
|
495
|
+
"name": "GPT 5.1 Low (OAuth)",
|
|
496
|
+
"limit": {
|
|
497
|
+
"context": 272000,
|
|
498
|
+
"output": 128000
|
|
499
|
+
},
|
|
500
|
+
"modalities": {
|
|
501
|
+
"input": [
|
|
502
|
+
"text",
|
|
503
|
+
"image"
|
|
504
|
+
],
|
|
505
|
+
"output": [
|
|
506
|
+
"text"
|
|
507
|
+
]
|
|
508
|
+
},
|
|
509
|
+
"options": {
|
|
510
|
+
"reasoningEffort": "low",
|
|
511
|
+
"reasoningSummary": "auto",
|
|
512
|
+
"textVerbosity": "low",
|
|
513
|
+
"include": [
|
|
514
|
+
"reasoning.encrypted_content"
|
|
515
|
+
],
|
|
516
|
+
"store": false
|
|
517
|
+
}
|
|
518
|
+
},
|
|
519
|
+
"gpt-5.1-medium": {
|
|
520
|
+
"name": "GPT 5.1 Medium (OAuth)",
|
|
521
|
+
"limit": {
|
|
522
|
+
"context": 272000,
|
|
523
|
+
"output": 128000
|
|
524
|
+
},
|
|
525
|
+
"modalities": {
|
|
526
|
+
"input": [
|
|
527
|
+
"text",
|
|
528
|
+
"image"
|
|
529
|
+
],
|
|
530
|
+
"output": [
|
|
531
|
+
"text"
|
|
532
|
+
]
|
|
533
|
+
},
|
|
534
|
+
"options": {
|
|
535
|
+
"reasoningEffort": "medium",
|
|
536
|
+
"reasoningSummary": "auto",
|
|
537
|
+
"textVerbosity": "medium",
|
|
538
|
+
"include": [
|
|
539
|
+
"reasoning.encrypted_content"
|
|
540
|
+
],
|
|
541
|
+
"store": false
|
|
542
|
+
}
|
|
543
|
+
},
|
|
544
|
+
"gpt-5.1-high": {
|
|
545
|
+
"name": "GPT 5.1 High (OAuth)",
|
|
546
|
+
"limit": {
|
|
547
|
+
"context": 272000,
|
|
548
|
+
"output": 128000
|
|
549
|
+
},
|
|
550
|
+
"modalities": {
|
|
551
|
+
"input": [
|
|
552
|
+
"text",
|
|
553
|
+
"image"
|
|
554
|
+
],
|
|
555
|
+
"output": [
|
|
556
|
+
"text"
|
|
557
|
+
]
|
|
558
|
+
},
|
|
559
|
+
"options": {
|
|
560
|
+
"reasoningEffort": "high",
|
|
561
|
+
"reasoningSummary": "detailed",
|
|
562
|
+
"textVerbosity": "high",
|
|
563
|
+
"include": [
|
|
564
|
+
"reasoning.encrypted_content"
|
|
565
|
+
],
|
|
566
|
+
"store": false
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
}
|