@just-every/ensemble 0.2.162 → 0.2.164
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/README.md +4 -4
- package/dist/cjs/data/model_data.cjs +342 -150
- package/dist/cjs/data/model_data.d.ts +4 -0
- package/dist/cjs/data/model_data.d.ts.map +1 -1
- package/dist/cjs/data/model_data.js.map +1 -1
- package/dist/cjs/model_providers/gemini.cjs +15 -0
- package/dist/cjs/model_providers/gemini.d.ts.map +1 -1
- package/dist/cjs/model_providers/gemini.js.map +1 -1
- package/dist/cjs/model_providers/model_provider.cjs +1 -1
- package/dist/cjs/model_providers/model_provider.js.map +1 -1
- package/dist/cjs/model_providers/openai.cjs +74 -27
- package/dist/cjs/model_providers/openai.d.ts.map +1 -1
- package/dist/cjs/model_providers/openai.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/types/types.d.ts +1 -1
- package/dist/cjs/types/types.d.ts.map +1 -1
- package/dist/data/model_data.d.ts +4 -0
- package/dist/data/model_data.d.ts.map +1 -1
- package/dist/data/model_data.js +342 -150
- package/dist/data/model_data.js.map +1 -1
- package/dist/model_providers/gemini.d.ts.map +1 -1
- package/dist/model_providers/gemini.js +15 -0
- package/dist/model_providers/gemini.js.map +1 -1
- package/dist/model_providers/model_provider.js +1 -1
- package/dist/model_providers/model_provider.js.map +1 -1
- package/dist/model_providers/openai.d.ts.map +1 -1
- package/dist/model_providers/openai.js +74 -27
- package/dist/model_providers/openai.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/types.d.ts +1 -1
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/data/model_data.js
CHANGED
|
@@ -2,201 +2,163 @@ import { getExternalModel } from '../utils/external_models.js';
|
|
|
2
2
|
export const MODEL_CLASSES = {
|
|
3
3
|
standard: {
|
|
4
4
|
models: [
|
|
5
|
-
'gpt-5-
|
|
6
|
-
'gemini-2.5-flash-preview-05-20',
|
|
5
|
+
'gpt-5.2-chat-latest',
|
|
7
6
|
'gemini-2.5-flash',
|
|
8
|
-
'
|
|
9
|
-
'
|
|
10
|
-
'grok-3-mini',
|
|
11
|
-
'grok-4-1-fast-non-reasoning',
|
|
12
|
-
'grok-4-fast-non-reasoning',
|
|
7
|
+
'claude-sonnet-4-5-20250929',
|
|
8
|
+
'grok-4',
|
|
13
9
|
],
|
|
14
10
|
random: true,
|
|
15
11
|
},
|
|
16
12
|
mini: {
|
|
17
13
|
models: [
|
|
18
14
|
'gpt-5-nano',
|
|
19
|
-
'gemini-2.5-flash-lite-preview-06-17',
|
|
20
15
|
'gemini-2.5-flash-lite',
|
|
21
|
-
'claude-haiku-4-5-
|
|
16
|
+
'claude-haiku-4-5-20251001',
|
|
22
17
|
'grok-3-mini',
|
|
23
|
-
'mistral/ministral-8b',
|
|
24
|
-
'openai/gpt-oss-20b',
|
|
25
18
|
],
|
|
26
19
|
random: true,
|
|
27
20
|
},
|
|
28
21
|
reasoning: {
|
|
29
22
|
models: [
|
|
30
|
-
'gpt-5
|
|
31
|
-
'gpt-5.1',
|
|
32
|
-
'gemini-2.5-pro-preview-06-05',
|
|
23
|
+
'gpt-5.2',
|
|
33
24
|
'gemini-2.5-pro',
|
|
34
|
-
'
|
|
35
|
-
'claude-opus-4-1-20250805',
|
|
36
|
-
'grok-4',
|
|
25
|
+
'claude-sonnet-4-5-20250929',
|
|
37
26
|
'grok-4-1-fast-reasoning',
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
27
|
+
],
|
|
28
|
+
random: true,
|
|
29
|
+
},
|
|
30
|
+
reasoning_high: {
|
|
31
|
+
models: [
|
|
32
|
+
'gpt-5.2-pro',
|
|
33
|
+
'gemini-3-pro-preview',
|
|
34
|
+
'claude-opus-4-5-20251101',
|
|
35
|
+
'grok-4',
|
|
41
36
|
],
|
|
42
37
|
random: true,
|
|
43
38
|
},
|
|
44
39
|
reasoning_mini: {
|
|
45
40
|
models: [
|
|
46
|
-
'
|
|
41
|
+
'gpt-5-mini',
|
|
47
42
|
'gemini-2.5-flash',
|
|
43
|
+
'claude-sonnet-4-5-20250929',
|
|
48
44
|
'grok-3-mini',
|
|
49
|
-
'o3-low',
|
|
50
|
-
'openai/gpt-oss-120b',
|
|
51
45
|
],
|
|
52
46
|
random: true,
|
|
53
47
|
},
|
|
54
48
|
monologue: {
|
|
55
49
|
models: [
|
|
56
|
-
'gpt-5-chat-latest',
|
|
57
|
-
'gemini-
|
|
58
|
-
'
|
|
59
|
-
'
|
|
60
|
-
'claude-sonnet-4-5-20250514',
|
|
50
|
+
'gpt-5.2-chat-latest',
|
|
51
|
+
'gemini-3-pro-preview',
|
|
52
|
+
'claude-sonnet-4-5-20250929',
|
|
53
|
+
'grok-4',
|
|
61
54
|
],
|
|
62
55
|
random: true,
|
|
63
56
|
},
|
|
64
57
|
metacognition: {
|
|
65
58
|
models: [
|
|
66
|
-
'gpt-5',
|
|
67
|
-
'
|
|
68
|
-
'
|
|
69
|
-
'
|
|
70
|
-
'claude-sonnet-4-5-20250514',
|
|
71
|
-
'grok-3-mini',
|
|
59
|
+
'gpt-5.2',
|
|
60
|
+
'gemini-3-pro-preview',
|
|
61
|
+
'claude-opus-4-5-20251101',
|
|
62
|
+
'grok-4',
|
|
72
63
|
],
|
|
73
64
|
random: true,
|
|
74
65
|
},
|
|
75
66
|
code: {
|
|
76
67
|
models: [
|
|
77
|
-
'gpt-5',
|
|
78
|
-
'
|
|
79
|
-
'
|
|
80
|
-
'
|
|
81
|
-
'gemini-2.5-pro-preview-06-05-medium',
|
|
82
|
-
'gemini-2.5-flash-preview-05-20-max',
|
|
83
|
-
'claude-opus-4-1-20250805',
|
|
84
|
-
'claude-sonnet-4-5-20250514',
|
|
85
|
-
'grok-4-medium',
|
|
86
|
-
'grok-4-1-fast-reasoning',
|
|
68
|
+
'gpt-5.1-codex-max',
|
|
69
|
+
'gemini-3-pro-preview',
|
|
70
|
+
'claude-opus-4-5-20251101',
|
|
71
|
+
'grok-4',
|
|
87
72
|
'qwen3-coder',
|
|
88
73
|
],
|
|
89
74
|
random: true,
|
|
90
75
|
},
|
|
91
76
|
writing: {
|
|
92
77
|
models: [
|
|
93
|
-
'gpt-5-
|
|
94
|
-
'gemini-2.5-flash
|
|
78
|
+
'gpt-5.2-chat-latest',
|
|
79
|
+
'gemini-2.5-flash',
|
|
80
|
+
'claude-sonnet-4-5-20250929',
|
|
81
|
+
'grok-4',
|
|
95
82
|
],
|
|
96
83
|
random: true,
|
|
97
84
|
},
|
|
98
85
|
summary: {
|
|
99
86
|
models: [
|
|
100
|
-
'gpt-5-
|
|
101
|
-
'gemini-2.5-flash-lite
|
|
87
|
+
'gpt-5-nano',
|
|
88
|
+
'gemini-2.5-flash-lite',
|
|
89
|
+
'claude-haiku-4-5-20251001',
|
|
90
|
+
'grok-3-mini',
|
|
102
91
|
],
|
|
103
92
|
random: true,
|
|
104
93
|
},
|
|
105
94
|
vision: {
|
|
106
95
|
models: [
|
|
107
|
-
'gpt-5',
|
|
108
|
-
'
|
|
109
|
-
'
|
|
110
|
-
'claude-opus-4-1-20250805',
|
|
96
|
+
'gpt-5.2',
|
|
97
|
+
'gemini-3-pro-preview',
|
|
98
|
+
'claude-opus-4-5-20251101',
|
|
111
99
|
'grok-4',
|
|
112
|
-
'grok-2-vision',
|
|
113
100
|
],
|
|
114
101
|
random: true,
|
|
115
102
|
},
|
|
116
103
|
vision_mini: {
|
|
117
104
|
models: [
|
|
118
|
-
'gpt-5-mini
|
|
119
|
-
'
|
|
120
|
-
'
|
|
121
|
-
'
|
|
122
|
-
'claude-sonnet-4-5-20250514',
|
|
105
|
+
'gpt-5-mini',
|
|
106
|
+
'gemini-2.5-flash',
|
|
107
|
+
'claude-haiku-4-5-20251001',
|
|
108
|
+
'grok-3-mini',
|
|
123
109
|
],
|
|
124
110
|
random: true,
|
|
125
111
|
},
|
|
126
112
|
search: {
|
|
127
113
|
models: [
|
|
128
|
-
'gpt-5-mini',
|
|
129
114
|
'o3-deep-research',
|
|
130
|
-
'gemini-2.5-flash-lite-preview-06-17',
|
|
131
115
|
'perplexity/sonar-deep-research',
|
|
132
116
|
],
|
|
133
117
|
random: true,
|
|
134
118
|
},
|
|
135
119
|
long: {
|
|
136
120
|
models: [
|
|
137
|
-
'gpt-
|
|
138
|
-
'
|
|
139
|
-
'
|
|
140
|
-
'
|
|
141
|
-
'gemini-2.5-pro',
|
|
142
|
-
'gemini-3-pro',
|
|
143
|
-
'gemini-2.5-flash-preview-05-20-medium',
|
|
144
|
-
'gemini-2.5-flash-preview-05-20-low',
|
|
145
|
-
'gemini-2.5-flash',
|
|
146
|
-
'gemini-2.5-flash-lite-preview-06-17',
|
|
147
|
-
'gemini-2.5-flash-lite',
|
|
121
|
+
'gpt-5.2',
|
|
122
|
+
'gemini-3-pro-preview',
|
|
123
|
+
'claude-opus-4-5-20251101',
|
|
124
|
+
'grok-4',
|
|
148
125
|
],
|
|
149
126
|
random: true,
|
|
150
|
-
description: 'Models with very large context windows
|
|
127
|
+
description: 'Models with very large context windows for processing long documents',
|
|
151
128
|
},
|
|
152
129
|
image_generation: {
|
|
153
130
|
models: [
|
|
154
|
-
'gpt-image-1',
|
|
155
|
-
'gemini-2.5-flash-image-preview',
|
|
156
|
-
'gemini-2.5-flash-image',
|
|
131
|
+
'gpt-image-1.5',
|
|
157
132
|
'gemini-3-pro-image-preview',
|
|
158
133
|
'seedream-4',
|
|
159
134
|
'luma-photon-1',
|
|
160
|
-
'luma-photon-flash-1',
|
|
161
135
|
'ideogram-3.0',
|
|
162
136
|
'midjourney-v7',
|
|
163
137
|
'flux-kontext-pro',
|
|
164
138
|
'stability-ultra',
|
|
165
139
|
'runway-gen4-image',
|
|
166
|
-
'runway-gen4-image-turbo',
|
|
167
|
-
'flux-pro-1.1',
|
|
168
|
-
'flux-schnell',
|
|
169
|
-
'sd3.5-large',
|
|
170
|
-
'sd3.5-large-turbo',
|
|
171
|
-
'sd3.5-medium',
|
|
172
|
-
'sd3.5-flash',
|
|
173
140
|
'recraft-v3',
|
|
174
141
|
],
|
|
175
142
|
},
|
|
176
143
|
embedding: {
|
|
177
144
|
models: [
|
|
178
|
-
'text-embedding-3-
|
|
179
|
-
'
|
|
145
|
+
'text-embedding-3-large',
|
|
146
|
+
'text-embedding-004',
|
|
180
147
|
],
|
|
181
148
|
description: 'Vector embedding models for semantic search and RAG',
|
|
182
149
|
},
|
|
183
150
|
voice: {
|
|
184
151
|
models: [
|
|
185
|
-
'gpt-4o-mini-tts',
|
|
186
|
-
'tts-1',
|
|
187
152
|
'tts-1-hd',
|
|
188
153
|
'eleven_multilingual_v2',
|
|
189
|
-
'eleven_turbo_v2_5',
|
|
190
|
-
'eleven_flash_v2_5',
|
|
191
|
-
'gemini-2.5-flash-preview-tts',
|
|
192
154
|
'gemini-2.5-pro-preview-tts',
|
|
193
|
-
'gemini-2.5-flash-native-audio-preview',
|
|
194
155
|
],
|
|
195
156
|
description: 'Text-to-Speech models for voice generation',
|
|
196
157
|
},
|
|
197
158
|
transcription: {
|
|
198
159
|
models: [
|
|
199
|
-
'
|
|
160
|
+
'gpt-4o-transcribe',
|
|
161
|
+
'gemini-2.5-flash-native-audio-preview-12-2025',
|
|
200
162
|
],
|
|
201
163
|
description: 'Speech-to-Text models for audio transcription with real-time streaming',
|
|
202
164
|
},
|
|
@@ -351,6 +313,23 @@ export const MODEL_REGISTRY = [
|
|
|
351
313
|
class: 'embedding',
|
|
352
314
|
description: "Google's experimental embedding model optimized for semantic similarity",
|
|
353
315
|
},
|
|
316
|
+
{
|
|
317
|
+
id: 'text-embedding-004',
|
|
318
|
+
provider: 'google',
|
|
319
|
+
cost: {
|
|
320
|
+
input_per_million: 0,
|
|
321
|
+
output_per_million: 0,
|
|
322
|
+
},
|
|
323
|
+
features: {
|
|
324
|
+
input_modality: ['text'],
|
|
325
|
+
output_modality: ['embedding'],
|
|
326
|
+
input_token_limit: 8191,
|
|
327
|
+
},
|
|
328
|
+
embedding: true,
|
|
329
|
+
dim: 768,
|
|
330
|
+
class: 'embedding',
|
|
331
|
+
description: "Google's stable text embedding model (text-embedding-004)",
|
|
332
|
+
},
|
|
354
333
|
{
|
|
355
334
|
id: 'meta-llama/llama-4-maverick',
|
|
356
335
|
provider: 'openrouter',
|
|
@@ -836,19 +815,89 @@ export const MODEL_REGISTRY = [
|
|
|
836
815
|
class: 'standard',
|
|
837
816
|
description: 'Latest premium GPT model from OpenAI',
|
|
838
817
|
},
|
|
818
|
+
{
|
|
819
|
+
id: 'gpt-5.2',
|
|
820
|
+
aliases: ['gpt-5.2-2025-12-11'],
|
|
821
|
+
provider: 'openai',
|
|
822
|
+
cost: {
|
|
823
|
+
input_per_million: 1.75,
|
|
824
|
+
cached_input_per_million: 0.175,
|
|
825
|
+
output_per_million: 14.0,
|
|
826
|
+
},
|
|
827
|
+
features: {
|
|
828
|
+
context_length: 400000,
|
|
829
|
+
max_output_tokens: 128000,
|
|
830
|
+
input_modality: ['text', 'image'],
|
|
831
|
+
output_modality: ['text'],
|
|
832
|
+
tool_use: true,
|
|
833
|
+
streaming: true,
|
|
834
|
+
json_output: true,
|
|
835
|
+
},
|
|
836
|
+
class: 'reasoning',
|
|
837
|
+
score: 96,
|
|
838
|
+
scores: {
|
|
839
|
+
monologue: 97,
|
|
840
|
+
code: 95,
|
|
841
|
+
reasoning: 94,
|
|
842
|
+
},
|
|
843
|
+
description: 'Frontier flagship model for complex, multi-step tasks (400k/128k).',
|
|
844
|
+
},
|
|
845
|
+
{
|
|
846
|
+
id: 'gpt-5.2-pro',
|
|
847
|
+
aliases: ['gpt-5.2-pro-2025-12-11'],
|
|
848
|
+
provider: 'openai',
|
|
849
|
+
cost: {
|
|
850
|
+
input_per_million: 21.0,
|
|
851
|
+
output_per_million: 168.0,
|
|
852
|
+
},
|
|
853
|
+
features: {
|
|
854
|
+
context_length: 400000,
|
|
855
|
+
max_output_tokens: 128000,
|
|
856
|
+
input_modality: ['text', 'image'],
|
|
857
|
+
output_modality: ['text'],
|
|
858
|
+
tool_use: true,
|
|
859
|
+
streaming: true,
|
|
860
|
+
json_output: true,
|
|
861
|
+
},
|
|
862
|
+
class: 'reasoning',
|
|
863
|
+
score: 99,
|
|
864
|
+
description: 'Highest-accuracy GPT-5.2 variant for the hardest problems (400k/128k).',
|
|
865
|
+
},
|
|
866
|
+
{
|
|
867
|
+
id: 'gpt-5.2-chat-latest',
|
|
868
|
+
provider: 'openai',
|
|
869
|
+
cost: {
|
|
870
|
+
input_per_million: 1.75,
|
|
871
|
+
cached_input_per_million: 0.175,
|
|
872
|
+
output_per_million: 14.0,
|
|
873
|
+
},
|
|
874
|
+
features: {
|
|
875
|
+
context_length: 128000,
|
|
876
|
+
max_output_tokens: 16384,
|
|
877
|
+
input_modality: ['text', 'image'],
|
|
878
|
+
output_modality: ['text'],
|
|
879
|
+
tool_use: true,
|
|
880
|
+
streaming: true,
|
|
881
|
+
json_output: true,
|
|
882
|
+
},
|
|
883
|
+
class: 'standard',
|
|
884
|
+
score: 94,
|
|
885
|
+
description: 'ChatGPT-optimized GPT-5.2 chat model (128k/16k).',
|
|
886
|
+
},
|
|
839
887
|
{
|
|
840
888
|
id: 'gpt-5',
|
|
841
889
|
aliases: ['gpt-5-2025-08-07'],
|
|
842
890
|
provider: 'openai',
|
|
843
891
|
cost: {
|
|
844
892
|
input_per_million: 1.25,
|
|
845
|
-
cached_input_per_million: 0.
|
|
893
|
+
cached_input_per_million: 0.125,
|
|
846
894
|
output_per_million: 10.0,
|
|
847
895
|
},
|
|
848
896
|
features: {
|
|
849
897
|
context_length: 400000,
|
|
850
|
-
|
|
851
|
-
|
|
898
|
+
max_output_tokens: 128000,
|
|
899
|
+
input_modality: ['text', 'image'],
|
|
900
|
+
output_modality: ['text'],
|
|
852
901
|
tool_use: true,
|
|
853
902
|
streaming: true,
|
|
854
903
|
json_output: true,
|
|
@@ -856,11 +905,54 @@ export const MODEL_REGISTRY = [
|
|
|
856
905
|
class: 'reasoning',
|
|
857
906
|
score: 95,
|
|
858
907
|
scores: {
|
|
859
|
-
monologue:
|
|
908
|
+
monologue: 96,
|
|
860
909
|
code: 95,
|
|
861
910
|
reasoning: 92,
|
|
862
911
|
},
|
|
863
|
-
description: '
|
|
912
|
+
description: 'Frontier flagship model for complex, multi-step tasks (400k/128k).',
|
|
913
|
+
},
|
|
914
|
+
{
|
|
915
|
+
id: 'gpt-5-pro',
|
|
916
|
+
aliases: ['gpt-5-pro-2025-10-06'],
|
|
917
|
+
provider: 'openai',
|
|
918
|
+
cost: {
|
|
919
|
+
input_per_million: 15.0,
|
|
920
|
+
output_per_million: 120.0,
|
|
921
|
+
},
|
|
922
|
+
features: {
|
|
923
|
+
context_length: 400000,
|
|
924
|
+
max_output_tokens: 272000,
|
|
925
|
+
input_modality: ['text', 'image'],
|
|
926
|
+
output_modality: ['text'],
|
|
927
|
+
tool_use: true,
|
|
928
|
+
streaming: true,
|
|
929
|
+
json_output: true,
|
|
930
|
+
},
|
|
931
|
+
class: 'reasoning',
|
|
932
|
+
score: 98,
|
|
933
|
+
description: 'High-accuracy GPT-5 variant for the hardest problems (400k/128k).',
|
|
934
|
+
},
|
|
935
|
+
{
|
|
936
|
+
id: 'gpt-5-chat-latest',
|
|
937
|
+
aliases: ['gpt-5-chat'],
|
|
938
|
+
provider: 'openai',
|
|
939
|
+
cost: {
|
|
940
|
+
input_per_million: 1.25,
|
|
941
|
+
cached_input_per_million: 0.125,
|
|
942
|
+
output_per_million: 10.0,
|
|
943
|
+
},
|
|
944
|
+
features: {
|
|
945
|
+
context_length: 128000,
|
|
946
|
+
max_output_tokens: 16384,
|
|
947
|
+
input_modality: ['text', 'image'],
|
|
948
|
+
output_modality: ['text'],
|
|
949
|
+
tool_use: true,
|
|
950
|
+
streaming: true,
|
|
951
|
+
json_output: true,
|
|
952
|
+
},
|
|
953
|
+
class: 'standard',
|
|
954
|
+
score: 92,
|
|
955
|
+
description: 'ChatGPT-optimized GPT-5 chat model (128k/16k).',
|
|
864
956
|
},
|
|
865
957
|
{
|
|
866
958
|
id: 'gpt-5-mini',
|
|
@@ -868,13 +960,14 @@ export const MODEL_REGISTRY = [
|
|
|
868
960
|
provider: 'openai',
|
|
869
961
|
cost: {
|
|
870
962
|
input_per_million: 0.25,
|
|
871
|
-
cached_input_per_million: 0.
|
|
963
|
+
cached_input_per_million: 0.025,
|
|
872
964
|
output_per_million: 2.0,
|
|
873
965
|
},
|
|
874
966
|
features: {
|
|
875
967
|
context_length: 400000,
|
|
876
|
-
|
|
877
|
-
|
|
968
|
+
max_output_tokens: 128000,
|
|
969
|
+
input_modality: ['text', 'image'],
|
|
970
|
+
output_modality: ['text'],
|
|
878
971
|
tool_use: true,
|
|
879
972
|
streaming: true,
|
|
880
973
|
json_output: true,
|
|
@@ -882,11 +975,11 @@ export const MODEL_REGISTRY = [
|
|
|
882
975
|
class: 'standard',
|
|
883
976
|
score: 88,
|
|
884
977
|
scores: {
|
|
885
|
-
monologue:
|
|
978
|
+
monologue: 88,
|
|
886
979
|
code: 87,
|
|
887
980
|
reasoning: 85,
|
|
888
981
|
},
|
|
889
|
-
description: 'A faster, more cost-efficient version of GPT-5
|
|
982
|
+
description: 'A faster, more cost-efficient version of GPT-5 (400k/128k).',
|
|
890
983
|
},
|
|
891
984
|
{
|
|
892
985
|
id: 'gpt-5-nano',
|
|
@@ -894,13 +987,14 @@ export const MODEL_REGISTRY = [
|
|
|
894
987
|
provider: 'openai',
|
|
895
988
|
cost: {
|
|
896
989
|
input_per_million: 0.05,
|
|
897
|
-
cached_input_per_million: 0.
|
|
990
|
+
cached_input_per_million: 0.005,
|
|
898
991
|
output_per_million: 0.4,
|
|
899
992
|
},
|
|
900
993
|
features: {
|
|
901
994
|
context_length: 400000,
|
|
902
|
-
|
|
903
|
-
|
|
995
|
+
max_output_tokens: 128000,
|
|
996
|
+
input_modality: ['text', 'image'],
|
|
997
|
+
output_modality: ['text'],
|
|
904
998
|
tool_use: true,
|
|
905
999
|
streaming: true,
|
|
906
1000
|
json_output: true,
|
|
@@ -908,75 +1002,93 @@ export const MODEL_REGISTRY = [
|
|
|
908
1002
|
class: 'mini',
|
|
909
1003
|
score: 78,
|
|
910
1004
|
scores: {
|
|
911
|
-
monologue:
|
|
1005
|
+
monologue: 78,
|
|
912
1006
|
code: 76,
|
|
913
1007
|
reasoning: 75,
|
|
914
1008
|
},
|
|
915
|
-
description: 'Fastest, most cost-efficient
|
|
1009
|
+
description: 'Fastest, most cost-efficient GPT-5 model (400k/128k).',
|
|
916
1010
|
},
|
|
917
1011
|
{
|
|
918
|
-
id: 'gpt-5
|
|
919
|
-
aliases: ['gpt-5-
|
|
1012
|
+
id: 'gpt-5.1',
|
|
1013
|
+
aliases: ['gpt-5.1-2025-11-13'],
|
|
920
1014
|
provider: 'openai',
|
|
921
1015
|
cost: {
|
|
922
1016
|
input_per_million: 1.25,
|
|
923
|
-
cached_input_per_million: 0.
|
|
1017
|
+
cached_input_per_million: 0.125,
|
|
924
1018
|
output_per_million: 10.0,
|
|
925
1019
|
},
|
|
926
1020
|
features: {
|
|
927
1021
|
context_length: 400000,
|
|
928
|
-
|
|
929
|
-
|
|
1022
|
+
max_output_tokens: 128000,
|
|
1023
|
+
input_modality: ['text', 'image'],
|
|
1024
|
+
output_modality: ['text'],
|
|
930
1025
|
tool_use: true,
|
|
931
1026
|
streaming: true,
|
|
932
1027
|
json_output: true,
|
|
933
1028
|
},
|
|
934
1029
|
class: 'reasoning',
|
|
935
1030
|
score: 95,
|
|
936
|
-
|
|
937
|
-
monologue: 98,
|
|
938
|
-
code: 95,
|
|
939
|
-
reasoning: 92,
|
|
940
|
-
},
|
|
941
|
-
description: 'GPT-5 model used in ChatGPT',
|
|
1031
|
+
description: 'Prior-gen GPT-5.1 flagship model (400k/128k).',
|
|
942
1032
|
},
|
|
943
1033
|
{
|
|
944
|
-
id: 'gpt-5.1',
|
|
945
|
-
aliases: ['gpt-5.1-chat-latest'],
|
|
1034
|
+
id: 'gpt-5.1-chat-latest',
|
|
946
1035
|
provider: 'openai',
|
|
947
1036
|
cost: {
|
|
948
1037
|
input_per_million: 1.25,
|
|
1038
|
+
cached_input_per_million: 0.125,
|
|
949
1039
|
output_per_million: 10.0,
|
|
1040
|
+
},
|
|
1041
|
+
features: {
|
|
1042
|
+
context_length: 128000,
|
|
1043
|
+
max_output_tokens: 16384,
|
|
1044
|
+
input_modality: ['text', 'image'],
|
|
1045
|
+
output_modality: ['text'],
|
|
1046
|
+
tool_use: true,
|
|
1047
|
+
streaming: true,
|
|
1048
|
+
json_output: true,
|
|
1049
|
+
},
|
|
1050
|
+
class: 'standard',
|
|
1051
|
+
score: 91,
|
|
1052
|
+
description: 'ChatGPT-optimized GPT-5.1 chat model (128k/16k).',
|
|
1053
|
+
},
|
|
1054
|
+
{
|
|
1055
|
+
id: 'gpt-5-codex',
|
|
1056
|
+
aliases: ['gpt-5-codex-2025-09-15'],
|
|
1057
|
+
provider: 'openai',
|
|
1058
|
+
cost: {
|
|
1059
|
+
input_per_million: 1.25,
|
|
950
1060
|
cached_input_per_million: 0.125,
|
|
1061
|
+
output_per_million: 10.0,
|
|
951
1062
|
},
|
|
952
1063
|
features: {
|
|
953
|
-
context_length:
|
|
954
|
-
|
|
955
|
-
|
|
1064
|
+
context_length: 400000,
|
|
1065
|
+
max_output_tokens: 128000,
|
|
1066
|
+
input_modality: ['text', 'image'],
|
|
1067
|
+
output_modality: ['text'],
|
|
956
1068
|
tool_use: true,
|
|
957
1069
|
streaming: true,
|
|
958
1070
|
json_output: true,
|
|
959
1071
|
},
|
|
960
|
-
class: '
|
|
961
|
-
score:
|
|
962
|
-
description: '
|
|
1072
|
+
class: 'code',
|
|
1073
|
+
score: 90,
|
|
1074
|
+
description: 'Prior-gen Codex model for agentic coding (400k/128k).',
|
|
963
1075
|
},
|
|
964
1076
|
{
|
|
965
1077
|
id: 'gpt-5.1-codex',
|
|
966
1078
|
provider: 'openai',
|
|
967
1079
|
cost: {
|
|
968
1080
|
input_per_million: 1.25,
|
|
969
|
-
output_per_million: 10.0,
|
|
970
1081
|
cached_input_per_million: 0.125,
|
|
1082
|
+
output_per_million: 10.0,
|
|
971
1083
|
},
|
|
972
1084
|
features: {
|
|
973
1085
|
context_length: 400000,
|
|
974
|
-
|
|
1086
|
+
max_output_tokens: 128000,
|
|
1087
|
+
input_modality: ['text', 'image'],
|
|
975
1088
|
output_modality: ['text'],
|
|
976
1089
|
tool_use: true,
|
|
977
1090
|
streaming: true,
|
|
978
1091
|
json_output: true,
|
|
979
|
-
max_output_tokens: 128000,
|
|
980
1092
|
},
|
|
981
1093
|
class: 'code',
|
|
982
1094
|
score: 92,
|
|
@@ -987,17 +1099,17 @@ export const MODEL_REGISTRY = [
|
|
|
987
1099
|
provider: 'openai',
|
|
988
1100
|
cost: {
|
|
989
1101
|
input_per_million: 0.25,
|
|
990
|
-
output_per_million: 2.0,
|
|
991
1102
|
cached_input_per_million: 0.025,
|
|
1103
|
+
output_per_million: 2.0,
|
|
992
1104
|
},
|
|
993
1105
|
features: {
|
|
994
1106
|
context_length: 400000,
|
|
995
|
-
|
|
1107
|
+
max_output_tokens: 128000,
|
|
1108
|
+
input_modality: ['text', 'image'],
|
|
996
1109
|
output_modality: ['text'],
|
|
997
1110
|
tool_use: true,
|
|
998
1111
|
streaming: true,
|
|
999
1112
|
json_output: true,
|
|
1000
|
-
max_output_tokens: 128000,
|
|
1001
1113
|
},
|
|
1002
1114
|
class: 'code',
|
|
1003
1115
|
score: 86,
|
|
@@ -1007,21 +1119,22 @@ export const MODEL_REGISTRY = [
|
|
|
1007
1119
|
id: 'gpt-5.1-codex-max',
|
|
1008
1120
|
provider: 'openai',
|
|
1009
1121
|
cost: {
|
|
1010
|
-
input_per_million:
|
|
1011
|
-
|
|
1122
|
+
input_per_million: 1.25,
|
|
1123
|
+
cached_input_per_million: 0.125,
|
|
1124
|
+
output_per_million: 10.0,
|
|
1012
1125
|
},
|
|
1013
1126
|
features: {
|
|
1014
|
-
context_length:
|
|
1015
|
-
|
|
1127
|
+
context_length: 400000,
|
|
1128
|
+
max_output_tokens: 128000,
|
|
1129
|
+
input_modality: ['text', 'image'],
|
|
1016
1130
|
output_modality: ['text'],
|
|
1017
1131
|
tool_use: true,
|
|
1018
1132
|
streaming: true,
|
|
1019
1133
|
json_output: true,
|
|
1020
|
-
max_output_tokens: 128000,
|
|
1021
1134
|
},
|
|
1022
1135
|
class: 'code',
|
|
1023
1136
|
score: 95,
|
|
1024
|
-
description: 'GPT-5.1 Codex Max —
|
|
1137
|
+
description: 'GPT-5.1 Codex Max — most capable Codex model for coding agents (400k/128k).',
|
|
1025
1138
|
},
|
|
1026
1139
|
{
|
|
1027
1140
|
id: 'gpt-4o',
|
|
@@ -1253,7 +1366,7 @@ export const MODEL_REGISTRY = [
|
|
|
1253
1366
|
},
|
|
1254
1367
|
{
|
|
1255
1368
|
id: 'claude-sonnet-4-5-20250514',
|
|
1256
|
-
aliases: ['claude-sonnet-4-
|
|
1369
|
+
aliases: ['claude-sonnet-4.5-2025-05-14', 'claude-sonnet-4-5-may-2025'],
|
|
1257
1370
|
provider: 'anthropic',
|
|
1258
1371
|
cost: {
|
|
1259
1372
|
input_per_million: 3.0,
|
|
@@ -1281,7 +1394,13 @@ export const MODEL_REGISTRY = [
|
|
|
1281
1394
|
},
|
|
1282
1395
|
{
|
|
1283
1396
|
id: 'claude-sonnet-4-5-20250929',
|
|
1284
|
-
aliases: [
|
|
1397
|
+
aliases: [
|
|
1398
|
+
'claude-sonnet-4-5',
|
|
1399
|
+
'claude-sonnet-4.5',
|
|
1400
|
+
'claude-sonnet-latest',
|
|
1401
|
+
'claude-sonnet-4-5-sep-2025',
|
|
1402
|
+
'claude-sonnet-4.5-2025-09-29',
|
|
1403
|
+
],
|
|
1285
1404
|
provider: 'anthropic',
|
|
1286
1405
|
cost: {
|
|
1287
1406
|
input_per_million: {
|
|
@@ -1339,7 +1458,7 @@ export const MODEL_REGISTRY = [
|
|
|
1339
1458
|
},
|
|
1340
1459
|
{
|
|
1341
1460
|
id: 'claude-haiku-4-5-20250514',
|
|
1342
|
-
aliases: ['claude-haiku-4-
|
|
1461
|
+
aliases: ['claude-haiku-4.5-2025-05-14', 'claude-haiku-4-5-may-2025'],
|
|
1343
1462
|
provider: 'anthropic',
|
|
1344
1463
|
cost: {
|
|
1345
1464
|
input_per_million: 1.0,
|
|
@@ -1366,7 +1485,13 @@ export const MODEL_REGISTRY = [
|
|
|
1366
1485
|
},
|
|
1367
1486
|
{
|
|
1368
1487
|
id: 'claude-haiku-4-5-20251001',
|
|
1369
|
-
aliases: [
|
|
1488
|
+
aliases: [
|
|
1489
|
+
'claude-haiku-4-5',
|
|
1490
|
+
'claude-haiku-4.5',
|
|
1491
|
+
'claude-haiku-latest',
|
|
1492
|
+
'claude-haiku-4-5-oct-2025',
|
|
1493
|
+
'claude-haiku-4.5-2025-10-01',
|
|
1494
|
+
],
|
|
1370
1495
|
provider: 'anthropic',
|
|
1371
1496
|
cost: {
|
|
1372
1497
|
input_per_million: 1.0,
|
|
@@ -1407,7 +1532,7 @@ export const MODEL_REGISTRY = [
|
|
|
1407
1532
|
},
|
|
1408
1533
|
{
|
|
1409
1534
|
id: 'claude-opus-4-1-20250805',
|
|
1410
|
-
aliases: ['claude-opus-4-1', 'claude-opus-4.1', 'claude-4-opus'
|
|
1535
|
+
aliases: ['claude-opus-4-1', 'claude-opus-4.1', 'claude-4-opus'],
|
|
1411
1536
|
provider: 'anthropic',
|
|
1412
1537
|
cost: {
|
|
1413
1538
|
input_per_million: 15.0,
|
|
@@ -1433,6 +1558,35 @@ export const MODEL_REGISTRY = [
|
|
|
1433
1558
|
},
|
|
1434
1559
|
description: 'Claude Opus 4.1 - Highest intelligence and capability with reasoning support',
|
|
1435
1560
|
},
|
|
1561
|
+
{
|
|
1562
|
+
id: 'claude-opus-4-5-20251101',
|
|
1563
|
+
aliases: [
|
|
1564
|
+
'claude-opus-4-5',
|
|
1565
|
+
'claude-opus-4.5',
|
|
1566
|
+
'claude-opus',
|
|
1567
|
+
'claude-opus-latest',
|
|
1568
|
+
'claude-4.5-opus',
|
|
1569
|
+
],
|
|
1570
|
+
provider: 'anthropic',
|
|
1571
|
+
cost: {
|
|
1572
|
+
input_per_million: 15.0,
|
|
1573
|
+
output_per_million: 75.0,
|
|
1574
|
+
cached_input_per_million: 1.5,
|
|
1575
|
+
},
|
|
1576
|
+
features: {
|
|
1577
|
+
context_length: 200000,
|
|
1578
|
+
input_modality: ['text', 'image'],
|
|
1579
|
+
output_modality: ['text'],
|
|
1580
|
+
tool_use: true,
|
|
1581
|
+
streaming: true,
|
|
1582
|
+
json_output: true,
|
|
1583
|
+
reasoning_output: true,
|
|
1584
|
+
max_output_tokens: 32000,
|
|
1585
|
+
},
|
|
1586
|
+
class: 'reasoning',
|
|
1587
|
+
score: 96,
|
|
1588
|
+
description: 'Claude Opus 4.5 - Latest Opus model with strongest reasoning, code, and long-form capabilities.',
|
|
1589
|
+
},
|
|
1436
1590
|
{
|
|
1437
1591
|
id: 'gemini-2.5-pro-preview-06-05',
|
|
1438
1592
|
aliases: ['gemini-2.5-pro', 'gemini-2.5-pro-exp-03-25', 'gemini-2.5-pro-preview-05-06'],
|
|
@@ -1456,8 +1610,8 @@ export const MODEL_REGISTRY = [
|
|
|
1456
1610
|
description: 'Paid preview of Gemini 2.5 Pro. State-of-the-art multipurpose model.',
|
|
1457
1611
|
},
|
|
1458
1612
|
{
|
|
1459
|
-
id: 'gemini-2.5-flash
|
|
1460
|
-
aliases: ['gemini-2.5-flash', 'gemini-2.5-flash-preview-04-17'],
|
|
1613
|
+
id: 'gemini-2.5-flash',
|
|
1614
|
+
aliases: ['gemini-2.5-flash-preview-05-20', 'gemini-2.5-flash-preview-04-17'],
|
|
1461
1615
|
provider: 'google',
|
|
1462
1616
|
cost: {
|
|
1463
1617
|
input_per_million: {
|
|
@@ -1485,8 +1639,8 @@ export const MODEL_REGISTRY = [
|
|
|
1485
1639
|
description: 'Balanced multimodal model with large context, built for Agents.',
|
|
1486
1640
|
},
|
|
1487
1641
|
{
|
|
1488
|
-
id: 'gemini-2.5-flash-lite
|
|
1489
|
-
aliases: ['gemini-2.5-flash-lite'],
|
|
1642
|
+
id: 'gemini-2.5-flash-lite',
|
|
1643
|
+
aliases: ['gemini-2.5-flash-lite-preview-06-17'],
|
|
1490
1644
|
provider: 'google',
|
|
1491
1645
|
cost: {
|
|
1492
1646
|
input_per_million: 0.05,
|
|
@@ -1607,11 +1761,48 @@ export const MODEL_REGISTRY = [
|
|
|
1607
1761
|
},
|
|
1608
1762
|
description: 'Balanced multimodal model with large context, built for Agents.',
|
|
1609
1763
|
},
|
|
1764
|
+
{
|
|
1765
|
+
id: 'gpt-image-1.5',
|
|
1766
|
+
aliases: ['gpt-image-1.5-2025-12-16'],
|
|
1767
|
+
provider: 'openai',
|
|
1768
|
+
cost: {
|
|
1769
|
+
per_image: 0.034,
|
|
1770
|
+
input_per_million: {
|
|
1771
|
+
text: 5.0,
|
|
1772
|
+
image: 8.0,
|
|
1773
|
+
},
|
|
1774
|
+
output_per_million: {
|
|
1775
|
+
text: 10.0,
|
|
1776
|
+
image: 32.0,
|
|
1777
|
+
},
|
|
1778
|
+
},
|
|
1779
|
+
features: {
|
|
1780
|
+
input_modality: ['text', 'image'],
|
|
1781
|
+
output_modality: ['image', 'text'],
|
|
1782
|
+
streaming: false,
|
|
1783
|
+
},
|
|
1784
|
+
class: 'image_generation',
|
|
1785
|
+
description: "OpenAI's GPT Image 1.5 model for text-to-image generation and editing. Pricing varies by quality (low/medium/high) and size (1024x1024, 1024x1536, 1536x1024).",
|
|
1786
|
+
},
|
|
1610
1787
|
{
|
|
1611
1788
|
id: 'gpt-image-1',
|
|
1612
1789
|
provider: 'openai',
|
|
1613
1790
|
cost: {
|
|
1614
|
-
per_image: 0.
|
|
1791
|
+
per_image: 0.026,
|
|
1792
|
+
},
|
|
1793
|
+
features: {
|
|
1794
|
+
input_modality: ['text', 'image'],
|
|
1795
|
+
output_modality: ['image'],
|
|
1796
|
+
streaming: false,
|
|
1797
|
+
},
|
|
1798
|
+
class: 'image_generation',
|
|
1799
|
+
description: "OpenAI's GPT-Image-1 model for text-to-image generation. Supports quality levels (low/medium/high) and sizes (1024x1024, 1024x1536, 1536x1024).",
|
|
1800
|
+
},
|
|
1801
|
+
{
|
|
1802
|
+
id: 'gpt-image-1-mini',
|
|
1803
|
+
provider: 'openai',
|
|
1804
|
+
cost: {
|
|
1805
|
+
per_image: 0.011,
|
|
1615
1806
|
},
|
|
1616
1807
|
features: {
|
|
1617
1808
|
input_modality: ['text', 'image'],
|
|
@@ -1619,7 +1810,7 @@ export const MODEL_REGISTRY = [
|
|
|
1619
1810
|
streaming: false,
|
|
1620
1811
|
},
|
|
1621
1812
|
class: 'image_generation',
|
|
1622
|
-
description: "OpenAI's GPT-Image-1 model
|
|
1813
|
+
description: "OpenAI's GPT-Image-1 Mini model. Cost-efficient variant with lower per-image pricing (low: $0.005-0.006, medium: $0.011-0.015) across sizes (1024x1024, 1024x1536, 1536x1024).",
|
|
1623
1814
|
},
|
|
1624
1815
|
{
|
|
1625
1816
|
id: 'gpt-4o-mini-tts',
|
|
@@ -1745,6 +1936,7 @@ export const MODEL_REGISTRY = [
|
|
|
1745
1936
|
},
|
|
1746
1937
|
{
|
|
1747
1938
|
id: 'gemini-2.5-flash-native-audio-preview',
|
|
1939
|
+
aliases: ['gemini-2.5-flash-native-audio-preview-12-2025'],
|
|
1748
1940
|
provider: 'google',
|
|
1749
1941
|
cost: {
|
|
1750
1942
|
input_per_million: 5.0,
|
|
@@ -2350,7 +2542,7 @@ export function findModel(modelId) {
|
|
|
2350
2542
|
const aliasMatch = MODEL_REGISTRY.find(model => model.aliases?.includes(modelId));
|
|
2351
2543
|
if (aliasMatch)
|
|
2352
2544
|
return aliasMatch;
|
|
2353
|
-
const suffixes = ['-low', '-medium', '-high', '-max'];
|
|
2545
|
+
const suffixes = ['-xhigh', '-minimal', '-low', '-medium', '-high', '-none', '-max'];
|
|
2354
2546
|
for (const suffix of suffixes) {
|
|
2355
2547
|
if (modelId.endsWith(suffix)) {
|
|
2356
2548
|
const baseName = modelId.slice(0, -suffix.length);
|