@@ -122,7 +122,7 @@ class AIMetadata: NSObject {
122122 }
123123
124124 static var recommendedOpenAIModel : Model {
125- return AIMetadata . gpt5_2
125+ return AIMetadata . gpt5_4
126126 }
127127
128128 static var recommendedDeepSeekModel : Model {
@@ -171,6 +171,24 @@ class AIMetadata: NSObject {
171171 }
172172 }
173173
174+ private static let gpt5_4 = Model (
175+ name: " gpt-5.4 " ,
176+ contextWindowTokens: 1_050_000 ,
177+ maxResponseTokens: 128_000 ,
178+ url: " https://api.openai.com/v1/responses " ,
179+ api: . responses,
180+ features: [ . functionCalling, . hostedFileSearch, . hostedWebSearch, . streaming, . hostedCodeInterpreter, . configurableThinking] ,
181+ vendor: . openAI
182+ )
183+ private static let gpt5_3_codex = Model (
184+ name: " gpt-5.3-codex " ,
185+ contextWindowTokens: 400_000 ,
186+ maxResponseTokens: 128_000 ,
187+ url: " https://api.openai.com/v1/responses " ,
188+ api: . responses,
189+ features: [ . functionCalling, . hostedFileSearch, . hostedWebSearch, . streaming, . hostedCodeInterpreter, . configurableThinking] ,
190+ vendor: . openAI
191+ )
174192 private static let gpt5_2 = Model (
175193 name: " gpt-5.2 " ,
176194 contextWindowTokens: 400_000 ,
@@ -478,6 +496,8 @@ class AIMetadata: NSObject {
478496 )
479497 let models : [ Model ] = [
480498 // The first model will be the default.
499+ AIMetadata . gpt5_4,
500+ AIMetadata . gpt5_3_codex,
481501 AIMetadata . gpt5_2,
482502 AIMetadata . gpt5_2_pro,
483503 AIMetadata . gpt5_1,
0 commit comments