@oh-my-pi/pi-catalog 18.4.4 → 18.4.6
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/CHANGELOG.md +31 -0
- package/dist/types/compat/auth-ids.d.ts +2 -2
- package/dist/types/compat/axes.d.ts +3 -1
- package/dist/types/compat/factory-droid.d.ts +65 -0
- package/dist/types/compat/provider-ids.d.ts +1 -1
- package/dist/types/compat/resolve.d.ts +8 -2
- package/dist/types/compat/types.d.ts +26 -1
- package/dist/types/discovery/cursor-proto.d.ts +284 -0
- package/dist/types/discovery/cursor.d.ts +12 -6
- package/dist/types/discovery/factory-droid.d.ts +28 -0
- package/dist/types/discovery/index.d.ts +1 -0
- package/dist/types/discovery/protobuf.d.ts +3 -3
- package/dist/types/model-manager.d.ts +10 -0
- package/dist/types/models.d.ts +5 -1
- package/dist/types/provider-models/cache-provider-id.d.ts +2 -1
- package/dist/types/provider-models/descriptor-types.d.ts +2 -1
- package/dist/types/provider-models/openai-compat.d.ts +21 -0
- package/dist/types/provider-models/special.d.ts +2 -0
- package/dist/types/types.d.ts +100 -3
- package/dist/types/wire/cursor.d.ts +20 -0
- package/dist/types/wire/factory-droid.d.ts +45 -0
- package/package.json +4 -4
- package/src/build.ts +21 -0
- package/src/compat/auth-ids.ts +4 -0
- package/src/compat/axes.ts +113 -2
- package/src/compat/cascade.ts +8 -1
- package/src/compat/collapse.ts +3 -0
- package/src/compat/factory-droid.ts +170 -0
- package/src/compat/provider-ids.ts +2 -0
- package/src/compat/resolve.ts +47 -5
- package/src/compat/rules/README.md +18 -8
- package/src/compat/rules/auth/_order.kdl +2 -2
- package/src/compat/rules/auth/factory-droid.kdl +28 -0
- package/src/compat/rules/auth/helmcode.kdl +9 -0
- package/src/compat/rules/classes/anthropic.kdl +195 -80
- package/src/compat/rules/providers/commandcode.kdl +21 -5
- package/src/compat/rules/providers/cursor.kdl +29 -17
- package/src/compat/rules/providers/factory-droid.kdl +1166 -0
- package/src/compat/rules/providers/helmcode.kdl +120 -0
- package/src/compat/rules/runtime/behavior.kdl +65 -4
- package/src/compat/rules/taxonomy/_collapse.kdl +36 -14
- package/src/compat/rules.json +1 -1
- package/src/compat/types.ts +27 -1
- package/src/discovery/cursor-models.proto +261 -0
- package/src/discovery/cursor-proto.ts +471 -0
- package/src/discovery/cursor.ts +817 -88
- package/src/discovery/devin.ts +1 -3
- package/src/discovery/factory-droid.ts +296 -0
- package/src/discovery/index.ts +1 -0
- package/src/discovery/protobuf.ts +16 -7
- package/src/model-manager.ts +13 -0
- package/src/models.json +1 -1
- package/src/models.ts +13 -0
- package/src/provider-models/cache-provider-id.ts +37 -6
- package/src/provider-models/descriptor-types.ts +2 -1
- package/src/provider-models/descriptors.ts +4 -0
- package/src/provider-models/openai-compat.ts +83 -17
- package/src/provider-models/special.ts +26 -2
- package/src/types.ts +112 -1
- package/src/wire/cursor.ts +32 -0
- package/src/wire/factory-droid.ts +130 -0
|
@@ -0,0 +1,1166 @@
|
|
|
1
|
+
// Factory Droid: the native CLI's model registry plus the request dialect each
|
|
2
|
+
// selected upstream speaks. These are Factory contracts, NOT direct-host
|
|
3
|
+
// inheritance. Registry facts are reviewed against the CLI version pinned by
|
|
4
|
+
// FACTORY_DROID_CLIENT_VERSION (wire/factory-droid.ts); request ground truth is
|
|
5
|
+
// the native CLI's own traffic: packages/ai/test/fixtures/
|
|
6
|
+
// factory-droid-native-requests.json, checked by factory-droid-native-parity.test.ts.
|
|
7
|
+
// Each model's wire and billing pool live in runtime/behavior.kdl
|
|
8
|
+
// (`api-routes` / `quota-tiers provider="factory-droid"`).
|
|
9
|
+
provider "factory-droid" {
|
|
10
|
+
default-model "kimi-k3"
|
|
11
|
+
allow-unauthenticated #true
|
|
12
|
+
dynamic-models-authoritative #true
|
|
13
|
+
// Native subscription limits are not direct-host price-tier or capacity heuristics.
|
|
14
|
+
context-window-authoritative #true
|
|
15
|
+
|
|
16
|
+
// The registry roster. Factory has no model-listing endpoint, so first-party
|
|
17
|
+
// clients ship this list and narrow it per account with feature flags, org
|
|
18
|
+
// policy and live routing (discovery/factory-droid.ts). The rows never enter
|
|
19
|
+
// models.json: gated models must stay hidden until live flags prove access,
|
|
20
|
+
// and each account rebuilds them on its residency host and wire path. Cost is
|
|
21
|
+
// zero here because Factory bills credits; `list-price-from` supplies the
|
|
22
|
+
// upstream list price shown beside the credit rate.
|
|
23
|
+
seed api="factory-droid-agent" base-url="https://api.factory.ai" bundle="never" {
|
|
24
|
+
model "claude-fable-5.1" name="Fable 5.1" {
|
|
25
|
+
reasoning #true
|
|
26
|
+
input "text" "image"
|
|
27
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
28
|
+
limits context=867000 max-tokens=128000
|
|
29
|
+
}
|
|
30
|
+
model "claude-fable-5" name="Fable 5" {
|
|
31
|
+
reasoning #true
|
|
32
|
+
input "text" "image"
|
|
33
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
34
|
+
limits context=867000 max-tokens=128000
|
|
35
|
+
}
|
|
36
|
+
model "claude-opus-5-5" name="Opus 5.5" {
|
|
37
|
+
reasoning #true
|
|
38
|
+
input "text" "image"
|
|
39
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
40
|
+
limits context=872000 max-tokens=128000
|
|
41
|
+
}
|
|
42
|
+
model "claude-opus-5-5-fast" name="Opus 5.5 Fast Mode" {
|
|
43
|
+
reasoning #true
|
|
44
|
+
input "text" "image"
|
|
45
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
46
|
+
limits context=872000 max-tokens=128000
|
|
47
|
+
}
|
|
48
|
+
model "claude-opus-5" name="Opus 5" {
|
|
49
|
+
reasoning #true
|
|
50
|
+
input "text" "image"
|
|
51
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
52
|
+
limits context=867000 max-tokens=128000
|
|
53
|
+
}
|
|
54
|
+
model "claude-opus-5-fast" name="Opus 5 Fast Mode" {
|
|
55
|
+
reasoning #true
|
|
56
|
+
input "text" "image"
|
|
57
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
58
|
+
limits context=867000 max-tokens=128000
|
|
59
|
+
}
|
|
60
|
+
model "claude-opus-4-8" name="Opus 4.8" {
|
|
61
|
+
reasoning #true
|
|
62
|
+
input "text" "image"
|
|
63
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
64
|
+
limits context=867000 max-tokens=128000
|
|
65
|
+
}
|
|
66
|
+
model "claude-opus-4-8-fast" name="Opus 4.8 Fast Mode" {
|
|
67
|
+
reasoning #true
|
|
68
|
+
input "text" "image"
|
|
69
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
70
|
+
limits context=867000 max-tokens=128000
|
|
71
|
+
}
|
|
72
|
+
model "claude-opus-4-7" name="Opus 4.7" {
|
|
73
|
+
reasoning #true
|
|
74
|
+
input "text" "image"
|
|
75
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
76
|
+
limits context=867000 max-tokens=128000
|
|
77
|
+
}
|
|
78
|
+
model "claude-opus-4-6" name="Opus 4.6" {
|
|
79
|
+
reasoning #true
|
|
80
|
+
input "text" "image"
|
|
81
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
82
|
+
limits context=867000 max-tokens=128000
|
|
83
|
+
}
|
|
84
|
+
model "claude-opus-4-5-20251101" name="Opus 4.5" {
|
|
85
|
+
reasoning #true
|
|
86
|
+
input "text" "image"
|
|
87
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
88
|
+
limits context=180000 max-tokens=64000
|
|
89
|
+
}
|
|
90
|
+
model "claude-sonnet-5-5" name="Sonnet 5.5" {
|
|
91
|
+
reasoning #true
|
|
92
|
+
input "text" "image"
|
|
93
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
94
|
+
limits context=872000 max-tokens=128000
|
|
95
|
+
}
|
|
96
|
+
model "claude-sonnet-5" name="Sonnet 5" {
|
|
97
|
+
reasoning #true
|
|
98
|
+
input "text" "image"
|
|
99
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
100
|
+
limits context=872000 max-tokens=128000
|
|
101
|
+
}
|
|
102
|
+
model "claude-sonnet-4-6" name="Sonnet 4.6" {
|
|
103
|
+
reasoning #true
|
|
104
|
+
input "text" "image"
|
|
105
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
106
|
+
limits context=931000 max-tokens=64000
|
|
107
|
+
}
|
|
108
|
+
model "claude-sonnet-4-5-20250929" name="Sonnet 4.5" {
|
|
109
|
+
reasoning #true
|
|
110
|
+
input "text" "image"
|
|
111
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
112
|
+
limits context=180000 max-tokens=32000
|
|
113
|
+
}
|
|
114
|
+
model "claude-haiku-4-5-20251001" name="Haiku 4.5" {
|
|
115
|
+
reasoning #true
|
|
116
|
+
input "text" "image"
|
|
117
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
118
|
+
limits context=180000 max-tokens=32000
|
|
119
|
+
}
|
|
120
|
+
model "gpt-6-astra" name="GPT-6 Astra" {
|
|
121
|
+
reasoning #true
|
|
122
|
+
input "text" "image"
|
|
123
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
124
|
+
limits context=922000 max-tokens=128000
|
|
125
|
+
}
|
|
126
|
+
model "gpt-6.1-sol" name="GPT-6.1 Sol" {
|
|
127
|
+
reasoning #true
|
|
128
|
+
input "text" "image"
|
|
129
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
130
|
+
limits context=922000 max-tokens=128000
|
|
131
|
+
}
|
|
132
|
+
model "gpt-6-sol" name="GPT-6 Sol" {
|
|
133
|
+
reasoning #true
|
|
134
|
+
input "text" "image"
|
|
135
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
136
|
+
limits context=922000 max-tokens=128000
|
|
137
|
+
}
|
|
138
|
+
model "gpt-6-luna" name="GPT-6 Luna" {
|
|
139
|
+
reasoning #true
|
|
140
|
+
input "text" "image"
|
|
141
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
142
|
+
limits context=922000 max-tokens=128000
|
|
143
|
+
}
|
|
144
|
+
model "gpt-5.6-sol" name="GPT-5.6 Sol" {
|
|
145
|
+
reasoning #true
|
|
146
|
+
input "text" "image"
|
|
147
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
148
|
+
limits context=922000 max-tokens=128000
|
|
149
|
+
}
|
|
150
|
+
model "gpt-5.6-sol-fast" name="GPT-5.6 Sol Fast Mode" {
|
|
151
|
+
reasoning #true
|
|
152
|
+
input "text" "image"
|
|
153
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
154
|
+
limits context=922000 max-tokens=128000
|
|
155
|
+
}
|
|
156
|
+
model "gpt-5.6-terra" name="GPT-5.6 Terra" {
|
|
157
|
+
reasoning #true
|
|
158
|
+
input "text" "image"
|
|
159
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
160
|
+
limits context=922000 max-tokens=128000
|
|
161
|
+
}
|
|
162
|
+
model "gpt-5.6-luna" name="GPT-5.6 Luna" {
|
|
163
|
+
reasoning #true
|
|
164
|
+
input "text" "image"
|
|
165
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
166
|
+
limits context=922000 max-tokens=128000
|
|
167
|
+
}
|
|
168
|
+
model "gpt-5.5" name="GPT-5.5" {
|
|
169
|
+
reasoning #true
|
|
170
|
+
input "text" "image"
|
|
171
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
172
|
+
limits context=922000 max-tokens=128000
|
|
173
|
+
}
|
|
174
|
+
model "gpt-5.5-fast" name="GPT-5.5 Fast Mode" {
|
|
175
|
+
reasoning #true
|
|
176
|
+
input "text" "image"
|
|
177
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
178
|
+
limits context=922000 max-tokens=128000
|
|
179
|
+
}
|
|
180
|
+
model "gpt-5.5-pro" name="GPT-5.5 Pro" {
|
|
181
|
+
reasoning #true
|
|
182
|
+
input "text" "image"
|
|
183
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
184
|
+
limits context=922000 max-tokens=128000
|
|
185
|
+
}
|
|
186
|
+
model "gpt-5.4" name="GPT-5.4" {
|
|
187
|
+
reasoning #true
|
|
188
|
+
input "text" "image"
|
|
189
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
190
|
+
limits context=922000 max-tokens=128000
|
|
191
|
+
}
|
|
192
|
+
model "gpt-5.4-fast" name="GPT-5.4 Fast Mode" {
|
|
193
|
+
reasoning #true
|
|
194
|
+
input "text" "image"
|
|
195
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
196
|
+
limits context=922000 max-tokens=128000
|
|
197
|
+
}
|
|
198
|
+
model "gpt-5.4-mini" name="GPT-5.4 Mini" {
|
|
199
|
+
reasoning #true
|
|
200
|
+
input "text" "image"
|
|
201
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
202
|
+
limits context=272000 max-tokens=128000
|
|
203
|
+
}
|
|
204
|
+
model "gpt-5.4-mini-fast" name="GPT-5.4 Mini Fast Mode" {
|
|
205
|
+
reasoning #true
|
|
206
|
+
input "text" "image"
|
|
207
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
208
|
+
limits context=272000 max-tokens=128000
|
|
209
|
+
}
|
|
210
|
+
model "gpt-5.3-codex" name="GPT-5.3-Codex" {
|
|
211
|
+
reasoning #true
|
|
212
|
+
input "text" "image"
|
|
213
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
214
|
+
limits context=272000 max-tokens=128000
|
|
215
|
+
}
|
|
216
|
+
model "gpt-5.3-codex-fast" name="GPT-5.3-Codex Fast Mode" {
|
|
217
|
+
reasoning #true
|
|
218
|
+
input "text" "image"
|
|
219
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
220
|
+
limits context=272000 max-tokens=128000
|
|
221
|
+
}
|
|
222
|
+
model "gpt-5.2" name="GPT-5.2" {
|
|
223
|
+
reasoning #true
|
|
224
|
+
input "text" "image"
|
|
225
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
226
|
+
limits context=272000 max-tokens=128000
|
|
227
|
+
}
|
|
228
|
+
model "garnet-07-15" name="Garnet 07/15 (Preview)" {
|
|
229
|
+
reasoning #true
|
|
230
|
+
input "text" "image"
|
|
231
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
232
|
+
limits context=1000000 max-tokens=65536
|
|
233
|
+
}
|
|
234
|
+
model "gemini-3.1-pro-preview" name="Gemini 3.1 Pro" {
|
|
235
|
+
reasoning #true
|
|
236
|
+
input "text" "image"
|
|
237
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
238
|
+
limits context=1000000 max-tokens=65536
|
|
239
|
+
}
|
|
240
|
+
model "gemini-3.8-flash" name="Gemini 3.8 Flash" {
|
|
241
|
+
reasoning #true
|
|
242
|
+
input "text" "image"
|
|
243
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
244
|
+
limits context=1000000 max-tokens=65536
|
|
245
|
+
}
|
|
246
|
+
model "gemini-3.7-flash" name="Gemini 3.7 Flash" {
|
|
247
|
+
reasoning #true
|
|
248
|
+
input "text" "image"
|
|
249
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
250
|
+
limits context=1000000 max-tokens=65536
|
|
251
|
+
}
|
|
252
|
+
model "gemini-3.6-flash" name="Gemini 3.6 Flash" {
|
|
253
|
+
reasoning #true
|
|
254
|
+
input "text" "image"
|
|
255
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
256
|
+
limits context=1000000 max-tokens=65536
|
|
257
|
+
}
|
|
258
|
+
model "gemini-3.5-flash" name="Gemini 3.5 Flash" {
|
|
259
|
+
reasoning #true
|
|
260
|
+
input "text" "image"
|
|
261
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
262
|
+
limits context=1000000 max-tokens=65536
|
|
263
|
+
}
|
|
264
|
+
model "gemini-3-flash-preview" name="Gemini 3 Flash" {
|
|
265
|
+
reasoning #true
|
|
266
|
+
input "text" "image"
|
|
267
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
268
|
+
limits context=1000000 max-tokens=65536
|
|
269
|
+
}
|
|
270
|
+
model "inkling" name="Inkling" {
|
|
271
|
+
reasoning #true
|
|
272
|
+
input "text" "image"
|
|
273
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
274
|
+
limits context=1007232 max-tokens=32768
|
|
275
|
+
}
|
|
276
|
+
model "mistral-medium-3.5" name="Mistral Medium 3.5" {
|
|
277
|
+
reasoning #true
|
|
278
|
+
input "text" "image"
|
|
279
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
280
|
+
limits context=192000 max-tokens=64000
|
|
281
|
+
}
|
|
282
|
+
model "glm-5.3-flash" name="GLM-5.3-Flash" {
|
|
283
|
+
reasoning #true
|
|
284
|
+
input "text" "image"
|
|
285
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
286
|
+
limits context=917504 max-tokens=131072
|
|
287
|
+
}
|
|
288
|
+
model "glm-5.3" name="GLM-5.3" {
|
|
289
|
+
reasoning #true
|
|
290
|
+
input "text"
|
|
291
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
292
|
+
limits context=908928 max-tokens=131072
|
|
293
|
+
}
|
|
294
|
+
model "glm-5.2" name="GLM-5.2" {
|
|
295
|
+
reasoning #true
|
|
296
|
+
input "text"
|
|
297
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
298
|
+
limits context=908928 max-tokens=131072
|
|
299
|
+
}
|
|
300
|
+
model "glm-5.2-fast" name="GLM-5.2 Fast" {
|
|
301
|
+
reasoning #true
|
|
302
|
+
input "text"
|
|
303
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
304
|
+
limits context=393216 max-tokens=131072
|
|
305
|
+
}
|
|
306
|
+
model "kimi-k3" name="Kimi K3" {
|
|
307
|
+
reasoning #true
|
|
308
|
+
input "text" "image"
|
|
309
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
310
|
+
limits context=196608 max-tokens=65536
|
|
311
|
+
}
|
|
312
|
+
model "qwen3.8-max" name="Qwen3.8 Max" {
|
|
313
|
+
reasoning #true
|
|
314
|
+
input "text"
|
|
315
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
316
|
+
limits context=131072 max-tokens=131072
|
|
317
|
+
}
|
|
318
|
+
model "nemotron-3-ultra" name="Nemotron 3 Ultra" {
|
|
319
|
+
reasoning #true
|
|
320
|
+
input "text"
|
|
321
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
322
|
+
limits context=136464 max-tokens=65536
|
|
323
|
+
}
|
|
324
|
+
model "deepseek-v4.1-flash" name="DeepSeek V4.1 Flash" {
|
|
325
|
+
reasoning #true
|
|
326
|
+
input "text" "image"
|
|
327
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
328
|
+
limits context=908928 max-tokens=131072
|
|
329
|
+
}
|
|
330
|
+
model "deepseek-v4-flash-0731" name="DeepSeek V4 Flash 0731" {
|
|
331
|
+
reasoning #true
|
|
332
|
+
input "text"
|
|
333
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
334
|
+
limits context=908928 max-tokens=131072
|
|
335
|
+
}
|
|
336
|
+
model "deepseek-v4-pro" name="DeepSeek V4 Pro" {
|
|
337
|
+
reasoning #true
|
|
338
|
+
input "text"
|
|
339
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
340
|
+
limits context=908928 max-tokens=131072
|
|
341
|
+
}
|
|
342
|
+
model "minimax-m3" name="MiniMax M3" {
|
|
343
|
+
reasoning #true
|
|
344
|
+
input "text" "image"
|
|
345
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
346
|
+
limits context=448000 max-tokens=64000
|
|
347
|
+
}
|
|
348
|
+
model "grok-4.7" name="Grok 4.7" {
|
|
349
|
+
reasoning #true
|
|
350
|
+
input "text" "image"
|
|
351
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
352
|
+
limits context=436644 max-tokens=63356
|
|
353
|
+
}
|
|
354
|
+
model "grok-4.6" name="Grok 4.6" {
|
|
355
|
+
reasoning #true
|
|
356
|
+
input "text" "image"
|
|
357
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
358
|
+
limits context=200000 max-tokens=63356
|
|
359
|
+
}
|
|
360
|
+
model "grok-4.5" name="Grok 4.5" {
|
|
361
|
+
reasoning #true
|
|
362
|
+
input "text" "image"
|
|
363
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
364
|
+
limits context=200000 max-tokens=63356
|
|
365
|
+
}
|
|
366
|
+
model "atlas-07-21" name="Atlas 07/21 (Preview)" {
|
|
367
|
+
reasoning #true
|
|
368
|
+
input "text" "image"
|
|
369
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
370
|
+
limits context=867000 max-tokens=128000
|
|
371
|
+
}
|
|
372
|
+
model "aster-07-15" name="Aster 07/15 (Preview)" {
|
|
373
|
+
reasoning #true
|
|
374
|
+
input "text" "image"
|
|
375
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
376
|
+
limits context=867000 max-tokens=128000
|
|
377
|
+
}
|
|
378
|
+
model "minimax-m2.7" name="MiniMax M2.7" {
|
|
379
|
+
reasoning #true
|
|
380
|
+
input "text"
|
|
381
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
382
|
+
limits context=196600 max-tokens=64000
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
// Upstream serving regions (the CLI's upstream region table). A model's own
|
|
387
|
+
// `region-upstreams-*` rule replaces its region's set (the CLI's
|
|
388
|
+
// regionOverrides): it may enable an upstream this table omits (EU Mistral),
|
|
389
|
+
// and a bare directive means the region does not serve the model.
|
|
390
|
+
region-upstreams-global "fireworks" "baseten" "mistral" "anthropic" "azure_anthropic" "vertex_anthropic" \
|
|
391
|
+
"bedrock_anthropic" "openai" "azure_openai" "bedrock_openai" "google" "xai" "snowflake" "databricks"
|
|
392
|
+
region-upstreams-us "baseten" "anthropic" "vertex_anthropic" "bedrock_anthropic" "openai" "bedrock_openai" \
|
|
393
|
+
"google" "xai"
|
|
394
|
+
region-upstreams-eu "vertex_anthropic" "bedrock_anthropic" "openai" "bedrock_openai"
|
|
395
|
+
|
|
396
|
+
// Per-model registry entries: live-routing family, upstream rotation (first
|
|
397
|
+
// entry is the default `x-api-provider`), region overrides, Standard Credits
|
|
398
|
+
// rates, list-price source, org-policy aliases, the effort ladder (an off/none
|
|
399
|
+
// rung means `thinking-requires-effort #false`), and account gates.
|
|
400
|
+
models "claude-fable-5.1" {
|
|
401
|
+
routing-family "anthropic"
|
|
402
|
+
upstream-rotation "anthropic" "vertex_anthropic" "bedrock_anthropic"
|
|
403
|
+
region-upstreams-eu
|
|
404
|
+
credit-rates { input 4; output 5; cache-read 0.025 }
|
|
405
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
406
|
+
thinking-requires-effort #false
|
|
407
|
+
thinking-default-level "high"
|
|
408
|
+
entitlement { requires-explicit-opt-in #true }
|
|
409
|
+
}
|
|
410
|
+
models "claude-fable-5" {
|
|
411
|
+
routing-family "anthropic"
|
|
412
|
+
upstream-rotation "anthropic" "vertex_anthropic" "bedrock_anthropic"
|
|
413
|
+
region-upstreams-eu
|
|
414
|
+
credit-rates { input 4; output 5 }
|
|
415
|
+
list-price-from "anthropic"
|
|
416
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
417
|
+
thinking-requires-effort #false
|
|
418
|
+
thinking-default-level "high"
|
|
419
|
+
entitlement { requires-explicit-opt-in #true }
|
|
420
|
+
}
|
|
421
|
+
models "claude-opus-5-5" {
|
|
422
|
+
routing-family "anthropic"
|
|
423
|
+
upstream-rotation "anthropic" "vertex_anthropic" "bedrock_anthropic" "azure_anthropic" "snowflake"
|
|
424
|
+
credit-rates { input 1.6; output 5; cache-read 0.05 }
|
|
425
|
+
list-price-from "anthropic"
|
|
426
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
427
|
+
thinking-requires-effort #true
|
|
428
|
+
thinking-default-level "medium"
|
|
429
|
+
}
|
|
430
|
+
models "claude-opus-5-5-fast" {
|
|
431
|
+
routing-family "anthropic"
|
|
432
|
+
upstream-rotation "anthropic"
|
|
433
|
+
credit-rates { input 3.2; output 5; cache-read 0.05 }
|
|
434
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
435
|
+
thinking-requires-effort #true
|
|
436
|
+
thinking-default-level "medium"
|
|
437
|
+
entitlement { feature-flag "claude_opus_5_5_fast"; base-variant "claude-opus-5-5" }
|
|
438
|
+
}
|
|
439
|
+
models "claude-opus-5" {
|
|
440
|
+
routing-family "anthropic"
|
|
441
|
+
upstream-rotation "anthropic" "vertex_anthropic" "bedrock_anthropic" "azure_anthropic" "snowflake"
|
|
442
|
+
region-upstreams-eu "bedrock_anthropic"
|
|
443
|
+
credit-rates { input 2 }
|
|
444
|
+
list-price-from "anthropic"
|
|
445
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
446
|
+
thinking-requires-effort #false
|
|
447
|
+
thinking-default-level "high"
|
|
448
|
+
}
|
|
449
|
+
models "claude-opus-5-fast" {
|
|
450
|
+
routing-family "anthropic"
|
|
451
|
+
upstream-rotation "anthropic"
|
|
452
|
+
credit-rates { input 4 }
|
|
453
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
454
|
+
thinking-requires-effort #false
|
|
455
|
+
thinking-default-level "high"
|
|
456
|
+
entitlement { base-variant "claude-opus-5" }
|
|
457
|
+
}
|
|
458
|
+
models "claude-opus-4-8" {
|
|
459
|
+
routing-family "anthropic"
|
|
460
|
+
upstream-rotation "anthropic" "vertex_anthropic" "bedrock_anthropic" "azure_anthropic" "snowflake"
|
|
461
|
+
region-upstreams-eu "bedrock_anthropic"
|
|
462
|
+
credit-rates { input 2 }
|
|
463
|
+
list-price-from "anthropic"
|
|
464
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
465
|
+
thinking-requires-effort #false
|
|
466
|
+
thinking-default-level "high"
|
|
467
|
+
}
|
|
468
|
+
models "claude-opus-4-8-fast" {
|
|
469
|
+
routing-family "anthropic"
|
|
470
|
+
upstream-rotation "anthropic"
|
|
471
|
+
credit-rates { input 4 }
|
|
472
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
473
|
+
thinking-requires-effort #false
|
|
474
|
+
thinking-default-level "high"
|
|
475
|
+
entitlement { base-variant "claude-opus-4-8" }
|
|
476
|
+
}
|
|
477
|
+
models "claude-opus-4-7" {
|
|
478
|
+
routing-family "anthropic"
|
|
479
|
+
upstream-rotation "anthropic" "vertex_anthropic" "bedrock_anthropic"
|
|
480
|
+
region-upstreams-eu "bedrock_anthropic"
|
|
481
|
+
credit-rates { input 2 }
|
|
482
|
+
list-price-from "anthropic"
|
|
483
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
484
|
+
thinking-requires-effort #false
|
|
485
|
+
thinking-default-level "high"
|
|
486
|
+
}
|
|
487
|
+
models "claude-opus-4-6" {
|
|
488
|
+
routing-family "anthropic"
|
|
489
|
+
upstream-rotation "anthropic" "vertex_anthropic" "bedrock_anthropic" "azure_anthropic" "snowflake"
|
|
490
|
+
credit-rates { input 2 }
|
|
491
|
+
list-price-from "anthropic"
|
|
492
|
+
thinking-efforts "low" "medium" "high" "max"
|
|
493
|
+
thinking-requires-effort #false
|
|
494
|
+
thinking-default-level "high"
|
|
495
|
+
}
|
|
496
|
+
models "claude-opus-4-5-20251101" {
|
|
497
|
+
routing-family "anthropic"
|
|
498
|
+
upstream-rotation "anthropic" "vertex_anthropic" "bedrock_anthropic"
|
|
499
|
+
region-upstreams-us "vertex_anthropic" "bedrock_anthropic"
|
|
500
|
+
credit-rates { input 2 }
|
|
501
|
+
list-price-from "anthropic"
|
|
502
|
+
thinking-efforts "low" "medium" "high"
|
|
503
|
+
thinking-requires-effort #false
|
|
504
|
+
default-reasoning-off #true
|
|
505
|
+
}
|
|
506
|
+
models "claude-sonnet-5-5" {
|
|
507
|
+
routing-family "anthropic"
|
|
508
|
+
upstream-rotation "anthropic" "vertex_anthropic" "bedrock_anthropic" "azure_anthropic"
|
|
509
|
+
credit-rates { input 0.8; output 5 }
|
|
510
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
511
|
+
thinking-requires-effort #true
|
|
512
|
+
thinking-default-level "high"
|
|
513
|
+
entitlement { feature-flag "claude_sonnet_5_5" }
|
|
514
|
+
}
|
|
515
|
+
models "claude-sonnet-5" {
|
|
516
|
+
routing-family "anthropic"
|
|
517
|
+
upstream-rotation "anthropic" "vertex_anthropic" "bedrock_anthropic" "azure_anthropic"
|
|
518
|
+
credit-rates { input 0.8; output 5 }
|
|
519
|
+
list-price-from "anthropic"
|
|
520
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
521
|
+
thinking-requires-effort #false
|
|
522
|
+
thinking-default-level "high"
|
|
523
|
+
}
|
|
524
|
+
models "claude-sonnet-4-6" {
|
|
525
|
+
routing-family "anthropic"
|
|
526
|
+
upstream-rotation "anthropic" "vertex_anthropic" "bedrock_anthropic"
|
|
527
|
+
credit-rates { input 1.2 }
|
|
528
|
+
list-price-from "anthropic"
|
|
529
|
+
thinking-efforts "low" "medium" "high" "max"
|
|
530
|
+
thinking-requires-effort #false
|
|
531
|
+
thinking-default-level "high"
|
|
532
|
+
}
|
|
533
|
+
models "claude-sonnet-4-5-20250929" {
|
|
534
|
+
routing-family "anthropic"
|
|
535
|
+
upstream-rotation "anthropic" "vertex_anthropic" "bedrock_anthropic"
|
|
536
|
+
region-upstreams-us "vertex_anthropic" "bedrock_anthropic"
|
|
537
|
+
credit-rates { input 1.2 }
|
|
538
|
+
list-price-from "anthropic"
|
|
539
|
+
thinking-efforts "low" "medium" "high"
|
|
540
|
+
thinking-requires-effort #false
|
|
541
|
+
default-reasoning-off #true
|
|
542
|
+
}
|
|
543
|
+
models "claude-haiku-4-5-20251001" {
|
|
544
|
+
routing-family "anthropic"
|
|
545
|
+
upstream-rotation "anthropic" "vertex_anthropic" "bedrock_anthropic"
|
|
546
|
+
region-upstreams-us "vertex_anthropic" "bedrock_anthropic"
|
|
547
|
+
credit-rates { input 0.4 }
|
|
548
|
+
list-price-from "anthropic"
|
|
549
|
+
thinking-efforts "low" "medium" "high"
|
|
550
|
+
thinking-requires-effort #false
|
|
551
|
+
default-reasoning-off #true
|
|
552
|
+
}
|
|
553
|
+
models "gpt-6-astra" {
|
|
554
|
+
routing-family "openai"
|
|
555
|
+
upstream-rotation "openai" "bedrock_openai" "snowflake" "azure_openai"
|
|
556
|
+
region-upstreams-eu
|
|
557
|
+
credit-rates { input 4; output 5 }
|
|
558
|
+
list-price-from "openai"
|
|
559
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
560
|
+
thinking-requires-effort #true
|
|
561
|
+
thinking-default-level "medium"
|
|
562
|
+
}
|
|
563
|
+
models "gpt-6.1-sol" {
|
|
564
|
+
routing-family "openai"
|
|
565
|
+
upstream-rotation "openai"
|
|
566
|
+
region-upstreams-eu "openai"
|
|
567
|
+
credit-rates { input 0.8; output 5; cache-read 0.05 }
|
|
568
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
569
|
+
thinking-requires-effort #true
|
|
570
|
+
thinking-default-level "medium"
|
|
571
|
+
entitlement { feature-flag "gpt_6_1_sol" }
|
|
572
|
+
}
|
|
573
|
+
models "gpt-6-sol" {
|
|
574
|
+
routing-family "openai"
|
|
575
|
+
upstream-rotation "openai" "bedrock_openai" "azure_openai"
|
|
576
|
+
region-upstreams-eu "openai"
|
|
577
|
+
credit-rates { input 0.8; output 5 }
|
|
578
|
+
list-price-from "openai"
|
|
579
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
580
|
+
thinking-requires-effort #false
|
|
581
|
+
thinking-default-level "medium"
|
|
582
|
+
}
|
|
583
|
+
models "gpt-6-luna" {
|
|
584
|
+
routing-family "openai"
|
|
585
|
+
upstream-rotation "openai" "bedrock_openai" "azure_openai"
|
|
586
|
+
region-upstreams-eu "openai"
|
|
587
|
+
credit-rates { input 0.04; output 5 }
|
|
588
|
+
list-price-from "openai"
|
|
589
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
590
|
+
thinking-requires-effort #false
|
|
591
|
+
thinking-default-level "medium"
|
|
592
|
+
entitlement { feature-flag "gpt_6_luna" }
|
|
593
|
+
}
|
|
594
|
+
models "gpt-5.6-sol" {
|
|
595
|
+
routing-family "openai"
|
|
596
|
+
upstream-rotation "openai" "bedrock_openai" "azure_openai" "snowflake" "databricks"
|
|
597
|
+
region-upstreams-eu "openai"
|
|
598
|
+
credit-rates { input 2; output 5 }
|
|
599
|
+
list-price-from "openai"
|
|
600
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
601
|
+
thinking-requires-effort #false
|
|
602
|
+
thinking-default-level "medium"
|
|
603
|
+
}
|
|
604
|
+
models "gpt-5.6-sol-fast" {
|
|
605
|
+
routing-family "openai"
|
|
606
|
+
upstream-rotation "openai" "azure_openai"
|
|
607
|
+
credit-rates { input 4; output 5 }
|
|
608
|
+
policy-aliases "gpt-5.6-fast"
|
|
609
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
610
|
+
thinking-requires-effort #false
|
|
611
|
+
thinking-default-level "medium"
|
|
612
|
+
entitlement { base-variant "gpt-5.6-sol" }
|
|
613
|
+
}
|
|
614
|
+
models "gpt-5.6-terra" {
|
|
615
|
+
routing-family "openai"
|
|
616
|
+
upstream-rotation "openai" "bedrock_openai" "azure_openai" "snowflake" "databricks"
|
|
617
|
+
region-upstreams-eu "openai"
|
|
618
|
+
credit-rates { input 0.8; output 6 }
|
|
619
|
+
list-price-from "openai"
|
|
620
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
621
|
+
thinking-requires-effort #false
|
|
622
|
+
thinking-default-level "medium"
|
|
623
|
+
}
|
|
624
|
+
models "gpt-5.6-luna" {
|
|
625
|
+
routing-family "openai"
|
|
626
|
+
upstream-rotation "openai" "bedrock_openai" "azure_openai" "snowflake" "databricks"
|
|
627
|
+
region-upstreams-eu "openai"
|
|
628
|
+
credit-rates { input 0.08; output 6 }
|
|
629
|
+
list-price-from "openai"
|
|
630
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
631
|
+
thinking-requires-effort #false
|
|
632
|
+
thinking-default-level "medium"
|
|
633
|
+
}
|
|
634
|
+
models "gpt-5.5" {
|
|
635
|
+
routing-family "openai"
|
|
636
|
+
upstream-rotation "openai" "bedrock_openai" "azure_openai" "snowflake" "databricks"
|
|
637
|
+
region-upstreams-eu "openai"
|
|
638
|
+
credit-rates { input 2; output 6 }
|
|
639
|
+
list-price-from "openai"
|
|
640
|
+
thinking-efforts "low" "medium" "high" "xhigh"
|
|
641
|
+
thinking-requires-effort #true
|
|
642
|
+
thinking-default-level "medium"
|
|
643
|
+
}
|
|
644
|
+
models "gpt-5.5-fast" {
|
|
645
|
+
routing-family "openai"
|
|
646
|
+
upstream-rotation "openai" "azure_openai"
|
|
647
|
+
credit-rates { input 5; output 6 }
|
|
648
|
+
thinking-efforts "low" "medium" "high" "xhigh"
|
|
649
|
+
thinking-requires-effort #true
|
|
650
|
+
thinking-default-level "medium"
|
|
651
|
+
entitlement { base-variant "gpt-5.5" }
|
|
652
|
+
}
|
|
653
|
+
models "gpt-5.5-pro" {
|
|
654
|
+
routing-family "openai"
|
|
655
|
+
upstream-rotation "openai"
|
|
656
|
+
credit-rates { input 12; output 6 }
|
|
657
|
+
list-price-from "openai"
|
|
658
|
+
thinking-efforts "medium" "high" "xhigh"
|
|
659
|
+
thinking-requires-effort #true
|
|
660
|
+
thinking-default-level "medium"
|
|
661
|
+
}
|
|
662
|
+
models "gpt-5.4" {
|
|
663
|
+
routing-family "openai"
|
|
664
|
+
upstream-rotation "openai" "bedrock_openai" "azure_openai" "databricks"
|
|
665
|
+
region-upstreams-eu "openai"
|
|
666
|
+
credit-rates { input 1; output 6 }
|
|
667
|
+
list-price-from "openai"
|
|
668
|
+
thinking-efforts "low" "medium" "high" "xhigh"
|
|
669
|
+
thinking-requires-effort #true
|
|
670
|
+
thinking-default-level "medium"
|
|
671
|
+
}
|
|
672
|
+
models "gpt-5.4-fast" {
|
|
673
|
+
routing-family "openai"
|
|
674
|
+
upstream-rotation "openai" "azure_openai"
|
|
675
|
+
credit-rates { input 2; output 6 }
|
|
676
|
+
thinking-efforts "low" "medium" "high" "xhigh"
|
|
677
|
+
thinking-requires-effort #true
|
|
678
|
+
thinking-default-level "medium"
|
|
679
|
+
entitlement { base-variant "gpt-5.4" }
|
|
680
|
+
}
|
|
681
|
+
models "gpt-5.4-mini" {
|
|
682
|
+
routing-family "openai"
|
|
683
|
+
upstream-rotation "openai" "azure_openai"
|
|
684
|
+
credit-rates { input 0.3; output 6 }
|
|
685
|
+
list-price-from "openai"
|
|
686
|
+
thinking-efforts "low" "medium" "high" "xhigh"
|
|
687
|
+
thinking-requires-effort #true
|
|
688
|
+
thinking-default-level "high"
|
|
689
|
+
}
|
|
690
|
+
models "gpt-5.4-mini-fast" {
|
|
691
|
+
routing-family "openai"
|
|
692
|
+
upstream-rotation "openai" "azure_openai"
|
|
693
|
+
credit-rates { input 0.6; output 6 }
|
|
694
|
+
thinking-efforts "low" "medium" "high" "xhigh"
|
|
695
|
+
thinking-requires-effort #true
|
|
696
|
+
thinking-default-level "high"
|
|
697
|
+
entitlement { base-variant "gpt-5.4-mini" }
|
|
698
|
+
}
|
|
699
|
+
models "gpt-5.3-codex" {
|
|
700
|
+
routing-family "openai"
|
|
701
|
+
upstream-rotation "openai" "azure_openai"
|
|
702
|
+
region-upstreams-us
|
|
703
|
+
credit-rates { input 0.7 }
|
|
704
|
+
list-price-from "openai"
|
|
705
|
+
thinking-efforts "low" "medium" "high" "xhigh"
|
|
706
|
+
thinking-requires-effort #true
|
|
707
|
+
thinking-default-level "medium"
|
|
708
|
+
}
|
|
709
|
+
models "gpt-5.3-codex-fast" {
|
|
710
|
+
routing-family "openai"
|
|
711
|
+
upstream-rotation "openai"
|
|
712
|
+
region-upstreams-us
|
|
713
|
+
credit-rates { input 1.4; output 8 }
|
|
714
|
+
thinking-efforts "low" "medium" "high" "xhigh"
|
|
715
|
+
thinking-requires-effort #true
|
|
716
|
+
thinking-default-level "medium"
|
|
717
|
+
entitlement { base-variant "gpt-5.3-codex" }
|
|
718
|
+
}
|
|
719
|
+
models "gpt-5.2" {
|
|
720
|
+
routing-family "openai"
|
|
721
|
+
upstream-rotation "openai" "azure_openai"
|
|
722
|
+
credit-rates { input 0.7 }
|
|
723
|
+
list-price-from "openai"
|
|
724
|
+
thinking-efforts "low" "medium" "high" "xhigh"
|
|
725
|
+
thinking-requires-effort #false
|
|
726
|
+
thinking-default-level "low"
|
|
727
|
+
}
|
|
728
|
+
models "garnet-07-15" {
|
|
729
|
+
routing-family "google"
|
|
730
|
+
upstream-rotation "google"
|
|
731
|
+
region-upstreams-us
|
|
732
|
+
credit-rates { input 0.6 }
|
|
733
|
+
thinking-efforts "medium" "high"
|
|
734
|
+
thinking-requires-effort #true
|
|
735
|
+
thinking-default-level "high"
|
|
736
|
+
entitlement { feature-flag "garnet_0715" }
|
|
737
|
+
}
|
|
738
|
+
models "gemini-3.1-pro-preview" {
|
|
739
|
+
routing-family "google"
|
|
740
|
+
upstream-rotation "google"
|
|
741
|
+
region-upstreams-us
|
|
742
|
+
credit-rates { input 0.8 }
|
|
743
|
+
list-price-from "google"
|
|
744
|
+
policy-aliases "gemini-3-pro-preview"
|
|
745
|
+
thinking-efforts "low" "medium" "high"
|
|
746
|
+
thinking-requires-effort #true
|
|
747
|
+
thinking-default-level "high"
|
|
748
|
+
}
|
|
749
|
+
models "gemini-3.8-flash" {
|
|
750
|
+
routing-family "google"
|
|
751
|
+
upstream-rotation "google"
|
|
752
|
+
credit-rates { input 0.6; output 5 }
|
|
753
|
+
list-price-from "google"
|
|
754
|
+
thinking-efforts "low" "medium" "high"
|
|
755
|
+
thinking-requires-effort #true
|
|
756
|
+
thinking-default-level "high"
|
|
757
|
+
}
|
|
758
|
+
models "gemini-3.7-flash" {
|
|
759
|
+
routing-family "google"
|
|
760
|
+
upstream-rotation "google"
|
|
761
|
+
credit-rates { input 0.6; output 5 }
|
|
762
|
+
list-price-from "google"
|
|
763
|
+
thinking-efforts "low" "medium" "high"
|
|
764
|
+
thinking-requires-effort #true
|
|
765
|
+
thinking-default-level "high"
|
|
766
|
+
}
|
|
767
|
+
models "gemini-3.6-flash" {
|
|
768
|
+
routing-family "google"
|
|
769
|
+
upstream-rotation "google"
|
|
770
|
+
credit-rates { input 0.6; output 5 }
|
|
771
|
+
list-price-from "google"
|
|
772
|
+
thinking-efforts "low" "medium" "high"
|
|
773
|
+
thinking-requires-effort #true
|
|
774
|
+
thinking-default-level "high"
|
|
775
|
+
}
|
|
776
|
+
models "gemini-3.5-flash" {
|
|
777
|
+
routing-family "google"
|
|
778
|
+
upstream-rotation "google"
|
|
779
|
+
credit-rates { input 0.6 }
|
|
780
|
+
list-price-from "google"
|
|
781
|
+
thinking-efforts "minimal" "low" "medium" "high"
|
|
782
|
+
thinking-requires-effort #true
|
|
783
|
+
thinking-default-level "high"
|
|
784
|
+
}
|
|
785
|
+
models "gemini-3-flash-preview" {
|
|
786
|
+
routing-family "google"
|
|
787
|
+
upstream-rotation "google"
|
|
788
|
+
region-upstreams-us
|
|
789
|
+
credit-rates { input 0.2 }
|
|
790
|
+
list-price-from "google"
|
|
791
|
+
thinking-efforts "minimal" "low" "medium" "high"
|
|
792
|
+
thinking-requires-effort #true
|
|
793
|
+
thinking-default-level "high"
|
|
794
|
+
}
|
|
795
|
+
models "inkling" {
|
|
796
|
+
routing-family "factory"
|
|
797
|
+
upstream-rotation "fireworks"
|
|
798
|
+
credit-rates { input 0.4; output 4.05; cache-read 0.17 }
|
|
799
|
+
list-price-from "fireworks"
|
|
800
|
+
thinking-efforts "minimal" "low" "medium" "high" "xhigh" "max"
|
|
801
|
+
thinking-requires-effort #false
|
|
802
|
+
thinking-default-level "high"
|
|
803
|
+
}
|
|
804
|
+
models "mistral-medium-3.5" {
|
|
805
|
+
routing-family "factory"
|
|
806
|
+
upstream-rotation "mistral"
|
|
807
|
+
region-upstreams-eu "mistral"
|
|
808
|
+
credit-rates { input 0.6; output 5 }
|
|
809
|
+
thinking-efforts "high"
|
|
810
|
+
thinking-requires-effort #false
|
|
811
|
+
thinking-default-level "high"
|
|
812
|
+
}
|
|
813
|
+
models "glm-5.3-flash" {
|
|
814
|
+
routing-family "factory"
|
|
815
|
+
upstream-rotation "fireworks" "baseten" "databricks"
|
|
816
|
+
credit-rates { input 0.06; output 3.34; cache-read 0.2 }
|
|
817
|
+
list-price-from "fireworks"
|
|
818
|
+
thinking-efforts "low" "high" "max"
|
|
819
|
+
thinking-requires-effort #true
|
|
820
|
+
thinking-default-level "high"
|
|
821
|
+
}
|
|
822
|
+
models "glm-5.3" {
|
|
823
|
+
routing-family "factory"
|
|
824
|
+
upstream-rotation "fireworks" "baseten" "mistral" "databricks"
|
|
825
|
+
region-upstreams-global "fireworks" "baseten" "databricks"
|
|
826
|
+
region-upstreams-eu "mistral"
|
|
827
|
+
credit-rates { input 0.56; output 3.15 }
|
|
828
|
+
list-price-from "fireworks"
|
|
829
|
+
thinking-efforts "low" "high" "max"
|
|
830
|
+
thinking-requires-effort #true
|
|
831
|
+
thinking-default-level "max"
|
|
832
|
+
}
|
|
833
|
+
models "glm-5.2" {
|
|
834
|
+
routing-family "factory"
|
|
835
|
+
upstream-rotation "baseten" "mistral"
|
|
836
|
+
region-upstreams-global "baseten"
|
|
837
|
+
region-upstreams-eu "mistral"
|
|
838
|
+
region-limits-eu { context-window 200000; max-tokens 65536 }
|
|
839
|
+
credit-rates { input 0.56; output 3.15 }
|
|
840
|
+
list-price-from "fireworks"
|
|
841
|
+
policy-aliases "glm-5.1"
|
|
842
|
+
thinking-efforts "high" "max"
|
|
843
|
+
thinking-requires-effort #false
|
|
844
|
+
thinking-default-level "high"
|
|
845
|
+
}
|
|
846
|
+
models "glm-5.2-fast" {
|
|
847
|
+
routing-family "factory"
|
|
848
|
+
upstream-rotation "baseten"
|
|
849
|
+
credit-rates { input 0.84; output 3.2 }
|
|
850
|
+
policy-aliases "glm-5p2-fast"
|
|
851
|
+
thinking-efforts "high" "max"
|
|
852
|
+
thinking-requires-effort #false
|
|
853
|
+
thinking-default-level "high"
|
|
854
|
+
entitlement { feature-flag "glm_5_2_fast"; base-variant "glm-5.2" }
|
|
855
|
+
}
|
|
856
|
+
models "kimi-k3" {
|
|
857
|
+
routing-family "factory"
|
|
858
|
+
upstream-rotation "fireworks" "baseten" "databricks"
|
|
859
|
+
credit-rates { input 1.2; output 5 }
|
|
860
|
+
list-price-from "fireworks"
|
|
861
|
+
thinking-efforts "low" "high" "max"
|
|
862
|
+
// Native Factory exposes off even though direct K3 deployments do not.
|
|
863
|
+
thinking-requires-effort #false
|
|
864
|
+
thinking-default-level "high"
|
|
865
|
+
}
|
|
866
|
+
models "qwen3.8-max" {
|
|
867
|
+
routing-family "factory"
|
|
868
|
+
upstream-rotation "fireworks"
|
|
869
|
+
credit-rates { input 0.8; output 3 }
|
|
870
|
+
list-price-from "fireworks"
|
|
871
|
+
thinking-efforts "low" "medium" "xhigh"
|
|
872
|
+
thinking-requires-effort #true
|
|
873
|
+
thinking-default-level "xhigh"
|
|
874
|
+
}
|
|
875
|
+
models "nemotron-3-ultra" {
|
|
876
|
+
routing-family "factory"
|
|
877
|
+
upstream-rotation "baseten" "fireworks"
|
|
878
|
+
credit-rates { input 0.24; output 4 }
|
|
879
|
+
list-price-from "baseten" "nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B"
|
|
880
|
+
thinking-efforts "high"
|
|
881
|
+
thinking-requires-effort #false
|
|
882
|
+
thinking-default-level "high"
|
|
883
|
+
}
|
|
884
|
+
models "deepseek-v4.1-flash" {
|
|
885
|
+
routing-family "factory"
|
|
886
|
+
upstream-rotation "fireworks" "baseten" "databricks"
|
|
887
|
+
credit-rates { input 0.12; output 4; cache-read 0.024 }
|
|
888
|
+
list-price-from "fireworks"
|
|
889
|
+
thinking-efforts "low" "high" "max"
|
|
890
|
+
thinking-requires-effort #false
|
|
891
|
+
thinking-default-level "high"
|
|
892
|
+
entitlement { feature-flag "deepseek_v4_1_flash" }
|
|
893
|
+
}
|
|
894
|
+
models "deepseek-v4-flash-0731" {
|
|
895
|
+
routing-family "factory"
|
|
896
|
+
upstream-rotation "fireworks" "baseten"
|
|
897
|
+
credit-rates { input 0.176; output 3; cache-read 0.032 }
|
|
898
|
+
list-price-from "fireworks"
|
|
899
|
+
thinking-efforts "low" "high" "max"
|
|
900
|
+
thinking-requires-effort #false
|
|
901
|
+
thinking-default-level "high"
|
|
902
|
+
entitlement { deprecation-flag "deprecate_deepseek_v4_flash_0731" }
|
|
903
|
+
}
|
|
904
|
+
models "deepseek-v4-pro" {
|
|
905
|
+
routing-family "factory"
|
|
906
|
+
upstream-rotation "fireworks" "baseten"
|
|
907
|
+
credit-rates { input 0.528; output 3; cache-read 0.034 }
|
|
908
|
+
list-price-from "fireworks"
|
|
909
|
+
thinking-efforts "low" "high" "max"
|
|
910
|
+
thinking-requires-effort #false
|
|
911
|
+
thinking-default-level "high"
|
|
912
|
+
entitlement { deprecation-flag "deprecate_deepseek_v4_pro" }
|
|
913
|
+
}
|
|
914
|
+
models "minimax-m3" {
|
|
915
|
+
routing-family "factory"
|
|
916
|
+
upstream-rotation "fireworks"
|
|
917
|
+
credit-rates { input 0.12; output 4 }
|
|
918
|
+
list-price-from "fireworks"
|
|
919
|
+
thinking-efforts "high"
|
|
920
|
+
thinking-requires-effort #true
|
|
921
|
+
thinking-default-level "high"
|
|
922
|
+
entitlement { feature-flag "minimax_m3" }
|
|
923
|
+
}
|
|
924
|
+
models "grok-4.7" {
|
|
925
|
+
routing-family "xai"
|
|
926
|
+
upstream-rotation "xai"
|
|
927
|
+
credit-rates { input 0.8; output 3; cache-read 0.25 }
|
|
928
|
+
list-price-from "xai"
|
|
929
|
+
thinking-efforts "low" "medium" "high" "xhigh"
|
|
930
|
+
thinking-requires-effort #true
|
|
931
|
+
thinking-default-level "high"
|
|
932
|
+
}
|
|
933
|
+
models "grok-4.6" {
|
|
934
|
+
routing-family "xai"
|
|
935
|
+
upstream-rotation "xai"
|
|
936
|
+
credit-rates { input 0.8; output 3; cache-read 0.25 }
|
|
937
|
+
list-price-from "xai"
|
|
938
|
+
thinking-efforts "low" "medium" "high" "xhigh"
|
|
939
|
+
thinking-requires-effort #true
|
|
940
|
+
thinking-default-level "high"
|
|
941
|
+
}
|
|
942
|
+
models "grok-4.5" {
|
|
943
|
+
routing-family "xai"
|
|
944
|
+
upstream-rotation "xai"
|
|
945
|
+
region-upstreams-us
|
|
946
|
+
credit-rates { input 0.8; output 3; cache-read 0.15 }
|
|
947
|
+
list-price-from "xai"
|
|
948
|
+
thinking-efforts "low" "medium" "high"
|
|
949
|
+
thinking-requires-effort #true
|
|
950
|
+
thinking-default-level "high"
|
|
951
|
+
}
|
|
952
|
+
models "atlas-07-21" {
|
|
953
|
+
routing-family "anthropic"
|
|
954
|
+
upstream-rotation "anthropic"
|
|
955
|
+
region-upstreams-us
|
|
956
|
+
credit-rates { input 2 }
|
|
957
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
958
|
+
thinking-requires-effort #false
|
|
959
|
+
thinking-default-level "high"
|
|
960
|
+
entitlement { feature-flag "atlas_0721" }
|
|
961
|
+
}
|
|
962
|
+
models "aster-07-15" {
|
|
963
|
+
routing-family "anthropic"
|
|
964
|
+
upstream-rotation "anthropic"
|
|
965
|
+
region-upstreams-us
|
|
966
|
+
credit-rates { input 2 }
|
|
967
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
968
|
+
thinking-requires-effort #false
|
|
969
|
+
thinking-default-level "high"
|
|
970
|
+
entitlement { feature-flag "aster_0715" }
|
|
971
|
+
}
|
|
972
|
+
models "minimax-m2.7" {
|
|
973
|
+
routing-family "factory"
|
|
974
|
+
upstream-rotation "fireworks"
|
|
975
|
+
credit-rates { input 0.12; output 4 }
|
|
976
|
+
list-price-from "fireworks"
|
|
977
|
+
thinking-efforts "high"
|
|
978
|
+
thinking-requires-effort #true
|
|
979
|
+
thinking-default-level "high"
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
|
|
983
|
+
on-api "openai-completions" {
|
|
984
|
+
max-tokens-field "max_tokens"
|
|
985
|
+
supports-store #false
|
|
986
|
+
thinking-format "openai"
|
|
987
|
+
disable-reasoning-on-forced-tool-choice #false
|
|
988
|
+
disable-reasoning-on-tool-choice #false
|
|
989
|
+
allows-synthetic-reasoning-content-for-tool-calls #false
|
|
990
|
+
requires-assistant-content-for-tool-calls #false
|
|
991
|
+
requires-reasoning-content-for-tool-calls #false
|
|
992
|
+
requires-reasoning-content-for-all-assistant-turns #false
|
|
993
|
+
replay-reasoning-content #true
|
|
994
|
+
mistral-reasoning-content-parts #false
|
|
995
|
+
requires-thinking-as-text #false
|
|
996
|
+
reasoning-content-field "reasoning_content"
|
|
997
|
+
}
|
|
998
|
+
on-api "openai-responses" {
|
|
999
|
+
// Native declares every Responses tool `strict: false`; the field must reach the wire.
|
|
1000
|
+
supports-strict-mode #true
|
|
1001
|
+
}
|
|
1002
|
+
models "glm-*" "kimi-*" "deepseek-*" "nemotron-*" "inkling" "mistral-medium-3.5" "qwen3.8-max" "minimax-m3" {
|
|
1003
|
+
clamp-output-to-model-max #true
|
|
1004
|
+
completions-reasoning-mode "none"
|
|
1005
|
+
completions-reasoning-history "omit"
|
|
1006
|
+
on-upstream "fireworks" {
|
|
1007
|
+
completions-reasoning-mode "effort"
|
|
1008
|
+
completions-reasoning-history "preserved"
|
|
1009
|
+
}
|
|
1010
|
+
on-upstream "baseten" "databricks" {
|
|
1011
|
+
completions-reasoning-mode "effort"
|
|
1012
|
+
}
|
|
1013
|
+
}
|
|
1014
|
+
// MiniMax M3 uses Completions with high effort, but NO reasoning_history.
|
|
1015
|
+
models "minimax-m3" {
|
|
1016
|
+
on-upstream "fireworks" priority=10 {
|
|
1017
|
+
completions-reasoning-history "omit"
|
|
1018
|
+
}
|
|
1019
|
+
}
|
|
1020
|
+
models "kimi-k3" {
|
|
1021
|
+
requires-tool-result-name #true
|
|
1022
|
+
}
|
|
1023
|
+
models "nemotron-3-ultra" {
|
|
1024
|
+
on-upstream "baseten" {
|
|
1025
|
+
completions-reasoning-mode "opt-in"
|
|
1026
|
+
}
|
|
1027
|
+
}
|
|
1028
|
+
models "deepseek-*" {
|
|
1029
|
+
on-upstream "baseten" priority=10 {
|
|
1030
|
+
completions-reasoning-mode "forced-on"
|
|
1031
|
+
}
|
|
1032
|
+
on-upstream "fireworks" priority=10 {
|
|
1033
|
+
completions-reasoning-history "interleaved"
|
|
1034
|
+
}
|
|
1035
|
+
on-upstream "fireworks" "baseten" {
|
|
1036
|
+
requires-reasoning-content-for-tool-calls #true
|
|
1037
|
+
synthetic-reasoning-content-fallback " "
|
|
1038
|
+
}
|
|
1039
|
+
}
|
|
1040
|
+
// The replay codec follows the selected route, including EU GLM routes.
|
|
1041
|
+
on-upstream "mistral" {
|
|
1042
|
+
models "glm-*" "mistral-medium-3.5" {
|
|
1043
|
+
completions-reasoning-mode "effort"
|
|
1044
|
+
completions-reasoning-history "omit"
|
|
1045
|
+
mistral-reasoning-content-parts #true
|
|
1046
|
+
}
|
|
1047
|
+
}
|
|
1048
|
+
|
|
1049
|
+
// Native budget ladder for the Messages models that still use token budgets.
|
|
1050
|
+
models "claude-sonnet-4-5-20250929" "claude-haiku-4-5-20251001" "claude-opus-4-5-20251101" "minimax-m2.7" {
|
|
1051
|
+
thinking-effort-budgets {
|
|
1052
|
+
low 4096
|
|
1053
|
+
medium 12288
|
|
1054
|
+
high 24576
|
|
1055
|
+
}
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1058
|
+
// Messages contract on every Factory Anthropic route: non-thinking-led
|
|
1059
|
+
// history drops thinking, disabled thinking omits the field, and the effort
|
|
1060
|
+
// beta rides only where the route requires it alongside output effort.
|
|
1061
|
+
on-api "anthropic-messages" {
|
|
1062
|
+
strip-thinking-history #true
|
|
1063
|
+
disabled-thinking "omit"
|
|
1064
|
+
effort-beta #false
|
|
1065
|
+
// Native declares no strict tools; strict schemas compile into a grammar
|
|
1066
|
+
// that proxied routes can reject as oversized.
|
|
1067
|
+
disable-strict-tools #true
|
|
1068
|
+
// Bedrock/Vertex require the beta alongside any output effort.
|
|
1069
|
+
on-upstream "bedrock_anthropic" "vertex_anthropic" {
|
|
1070
|
+
effort-beta #true
|
|
1071
|
+
}
|
|
1072
|
+
on-upstream "snowflake" {
|
|
1073
|
+
disabled-thinking "disabled"
|
|
1074
|
+
}
|
|
1075
|
+
}
|
|
1076
|
+
models "claude-*" "atlas-07-21" "aster-07-15" {
|
|
1077
|
+
anthropic-thinking "adaptive-summarized"
|
|
1078
|
+
}
|
|
1079
|
+
models "claude-opus-4-6" "claude-sonnet-4-6" {
|
|
1080
|
+
anthropic-thinking "adaptive"
|
|
1081
|
+
}
|
|
1082
|
+
models "claude-sonnet-4-5-20250929" "claude-haiku-4-5-20251001" {
|
|
1083
|
+
anthropic-thinking "budget-interleaved"
|
|
1084
|
+
}
|
|
1085
|
+
// Native Opus 4.5 thinking always pairs output effort with its beta, on every upstream.
|
|
1086
|
+
models "claude-opus-4-5-20251101" {
|
|
1087
|
+
anthropic-thinking "budget-effort"
|
|
1088
|
+
effort-beta #true
|
|
1089
|
+
}
|
|
1090
|
+
models "minimax-m2.7" {
|
|
1091
|
+
anthropic-thinking "budget-effort"
|
|
1092
|
+
}
|
|
1093
|
+
// Always-thinking models keep adaptive thinking on disabled turns, on every upstream.
|
|
1094
|
+
models "claude-fable-5.1" "claude-opus-5-5" "claude-opus-5-5-fast" "claude-sonnet-5-5" {
|
|
1095
|
+
disabled-thinking "adaptive"
|
|
1096
|
+
}
|
|
1097
|
+
// Fast tiers are distinct SKUs served with `speed: "fast"`.
|
|
1098
|
+
models "claude-opus-5-5-fast" "claude-opus-5-fast" "claude-opus-4-8-fast" {
|
|
1099
|
+
fast-mode #true
|
|
1100
|
+
}
|
|
1101
|
+
// Refusals retry server-side only on the first-party Anthropic upstream.
|
|
1102
|
+
models "claude-fable-5" "claude-fable-5.1" {
|
|
1103
|
+
on-upstream "anthropic" {
|
|
1104
|
+
server-side-fallback-models "claude-opus-5"
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1107
|
+
// With tools, Anthropic and Vertex stream tool input eagerly and advertise
|
|
1108
|
+
// fine-grained tool streaming; Bedrock takes the beta alone.
|
|
1109
|
+
on-upstream "anthropic" "vertex_anthropic" {
|
|
1110
|
+
supports-eager-tool-input-streaming #true
|
|
1111
|
+
anthropic-tool-streaming-beta #true
|
|
1112
|
+
}
|
|
1113
|
+
on-upstream "bedrock_anthropic" {
|
|
1114
|
+
anthropic-tool-streaming-beta #true
|
|
1115
|
+
}
|
|
1116
|
+
// xAI and Google sessions lock their upstream.
|
|
1117
|
+
on-upstream "xai" "google" {
|
|
1118
|
+
routing-session-lock #true
|
|
1119
|
+
}
|
|
1120
|
+
// OpenAI-family upstreams carry native's platform organization hint.
|
|
1121
|
+
on-upstream "openai" "azure_openai" {
|
|
1122
|
+
openai-platform-header "org-bHuLtG1fGmYk5YaOihAAXFBw"
|
|
1123
|
+
}
|
|
1124
|
+
|
|
1125
|
+
models "gpt-*" "grok-*" {
|
|
1126
|
+
// Disabled reasoning omits the reasoning object, except on routes that
|
|
1127
|
+
// need the literal `none` tier.
|
|
1128
|
+
reasoning-disable-mode "omit"
|
|
1129
|
+
responses-cache-retention #false
|
|
1130
|
+
responses-parallel-tool-calls #true
|
|
1131
|
+
on-upstream "bedrock_openai" "snowflake" {
|
|
1132
|
+
reasoning-disable-mode "none-effort"
|
|
1133
|
+
}
|
|
1134
|
+
}
|
|
1135
|
+
models "gpt-*" {
|
|
1136
|
+
omit-max-output-tokens #true
|
|
1137
|
+
responses-verbosity "low"
|
|
1138
|
+
responses-safety-identifier #true
|
|
1139
|
+
// Native defaults tool_choice to auto for the OpenAI family only.
|
|
1140
|
+
responses-tool-choice-auto #true
|
|
1141
|
+
reasoning-effort-map {
|
|
1142
|
+
max "max"
|
|
1143
|
+
}
|
|
1144
|
+
on-upstream "openai" {
|
|
1145
|
+
responses-cache-retention #true
|
|
1146
|
+
}
|
|
1147
|
+
}
|
|
1148
|
+
models "gpt-5.2" {
|
|
1149
|
+
responses-cache-retention #false
|
|
1150
|
+
responses-safety-identifier #false
|
|
1151
|
+
}
|
|
1152
|
+
models "gpt-*-fast" {
|
|
1153
|
+
responses-service-tier "priority"
|
|
1154
|
+
}
|
|
1155
|
+
models "grok-*" {
|
|
1156
|
+
supports-reasoning-summary #false
|
|
1157
|
+
}
|
|
1158
|
+
models "gemini-*" "garnet-07-15" {
|
|
1159
|
+
omit-max-output-tokens #true
|
|
1160
|
+
google-thinking "level"
|
|
1161
|
+
}
|
|
1162
|
+
models "gemini-3.1-pro-preview" "gemini-3.7-flash" "gemini-3.8-flash" {
|
|
1163
|
+
google-thinking "level-medium"
|
|
1164
|
+
}
|
|
1165
|
+
// FACTORY_API_KEY is a control-plane key, not a subscription proxy token.
|
|
1166
|
+
}
|