@@ -150,111 +150,113 @@ impl Model {
150150 Model :: MistralNemo => "open-Mistral-NeMo" ,
151151 }
152152 }
153- pub fn input_price ( & self ) -> u32 {
154- match self {
155- // ==== OpenAI ====
156- Model :: Gpt4_1 => 200 ,
157- Model :: Gpt4_1Mini => 40 ,
158- Model :: Gpt4_1Nano => 10 ,
159- Model :: Gpt4o => 250 ,
160- Model :: Gpt4oMini => 15 ,
161- Model :: GptO3 => 200 ,
162- Model :: GptO3Pro => 2000 ,
163- Model :: GptO3DeepResearch => 1000 ,
164- Model :: GptO4Mini => 110 ,
165- Model :: GptO3Mini => 110 ,
166- Model :: GptO1 => 1500 ,
167- Model :: GptO1Mini => 110 ,
153+ pub fn input_price ( & self ) -> u32 {
154+ match self {
155+ // ==== OpenAI ====
156+ Model :: Gpt4_1 => 208 ,
157+ Model :: Gpt4_1Mini => 42 ,
158+ Model :: Gpt4_1Nano => 10 ,
159+ Model :: Gpt4o => 260 ,
160+ Model :: Gpt4oMini => 16 ,
161+ Model :: GptO3 => 208 ,
162+ Model :: GptO3Pro => 2080 ,
163+ Model :: GptO3DeepResearch => 1040 ,
164+ Model :: GptO4Mini => 114 ,
165+ Model :: GptO3Mini => 114 ,
166+ Model :: GptO1 => 1560 ,
167+ Model :: GptO1Mini => 114 ,
168168
169- // ==== Anthropic ====
170- Model :: ClaudeOpus4 => 1500 ,
171- Model :: ClaudeSonnet4 => 300 ,
172- Model :: ClaudeHaiku3_5 => 80 ,
173- Model :: ClaudeOpus3 => 1500 ,
174- Model :: ClaudeSonnet3_7 => 300 ,
175- Model :: ClaudeHaiku3 => 25 ,
169+ // ==== Anthropic ====
170+ Model :: ClaudeOpus4 => 1560 ,
171+ Model :: ClaudeSonnet4 => 312 ,
172+ Model :: ClaudeHaiku3_5 => 83 ,
173+ Model :: ClaudeOpus3 => 1560 ,
174+ Model :: ClaudeSonnet3_7 => 312 ,
175+ Model :: ClaudeHaiku3 => 26 ,
176176
177- // ==== Mistral ====
178- Model :: MistralMedium3 => 40 ,
179- Model :: MagistralMedium => 200 ,
180- Model :: MistralLarge => 200 ,
181- Model :: DevstralMedium => 40 ,
182- Model :: MistralSmall3_2 => 10 ,
183- Model :: MagistralSmall => 50 ,
184- Model :: Codestral => 30 ,
185- Model :: DevstralSmall => 10 ,
186- Model :: MistralNemo => 15 ,
187- Model :: Pixtral12B => 15 ,
188- Model :: PixtralLarge => 200 ,
189- Model :: Ministral8B_24_10 => 10 ,
190- Self :: Ministral3B_24_10 => 4 ,
177+ // ==== Mistral ====
178+ Model :: MistralMedium3 => 42 ,
179+ Model :: MagistralMedium => 208 ,
180+ Model :: MistralLarge => 208 ,
181+ Model :: DevstralMedium => 42 ,
182+ Model :: MistralSmall3_2 => 10 ,
183+ Model :: MagistralSmall => 52 ,
184+ Model :: Codestral => 31 ,
185+ Model :: DevstralSmall => 10 ,
186+ Model :: MistralNemo => 16 ,
187+ Model :: Pixtral12B => 16 ,
188+ Model :: PixtralLarge => 208 ,
189+ Model :: Ministral8B_24_10 => 10 ,
190+ Self :: Ministral3B_24_10 => 4 ,
191191
192- // ==== DeepSeek ====
193- Model :: DeepSeekR1 => 55 ,
194- Model :: DeepSeekV3 => 27 ,
192+ // ==== DeepSeek ====
193+ Model :: DeepSeekR1 => 57 ,
194+ Model :: DeepSeekV3 => 28 ,
195195
196- // ==== Gemini (Google) ====
197- Model :: Gemini25ProPreview => 125 ,
198- Model :: Gemini25FlashPreview => 30 ,
199- Model :: Gemini20Flash => 10 ,
200- Model :: Gemini20FlashLite => 7 ,
201- Model :: Gemini15Flash => 7 ,
202- Model :: Gemini15Flash8B => 3 ,
203- Model :: Gemini15Pro => 125 ,
204- }
196+ // ==== Gemini (Google) ====
197+ Model :: Gemini25ProPreview => 130 ,
198+ Model :: Gemini25FlashPreview => 31 ,
199+ Model :: Gemini20Flash => 10 ,
200+ Model :: Gemini20FlashLite => 7 ,
201+ Model :: Gemini15Flash => 7 ,
202+ Model :: Gemini15Flash8B => 3 ,
203+ Model :: Gemini15Pro => 130 ,
205204 }
206- pub fn output_price ( & self ) -> u32 {
207- match self {
208- // ==== OpenAI ====
209- Model :: Gpt4_1 => 800 ,
210- Model :: Gpt4_1Mini => 160 ,
211- Model :: Gpt4_1Nano => 40 ,
212- Model :: Gpt4o => 1000 ,
213- Model :: Gpt4oMini => 60 ,
214- Model :: GptO3 => 800 ,
215- Model :: GptO3Pro => 8000 ,
216- Model :: GptO3DeepResearch => 4000 ,
217- Model :: GptO4Mini => 440 ,
218- Model :: GptO3Mini => 440 ,
219- Model :: GptO1 => 6000 ,
220- Model :: GptO1Mini => 440 ,
205+ }
221206
222- // ==== Anthropic ====
223- Model :: ClaudeOpus4 => 7500 ,
224- Model :: ClaudeSonnet4 => 1500 ,
225- Model :: ClaudeHaiku3_5 => 400 ,
226- Model :: ClaudeOpus3 => 7500 ,
227- Model :: ClaudeSonnet3_7 => 1500 ,
228- Model :: ClaudeHaiku3 => 125 ,
207+ pub fn output_price ( & self ) -> u32 {
208+ match self {
209+ // ==== OpenAI ====
210+ Model :: Gpt4_1 => 832 ,
211+ Model :: Gpt4_1Mini => 166 ,
212+ Model :: Gpt4_1Nano => 42 ,
213+ Model :: Gpt4o => 1040 ,
214+ Model :: Gpt4oMini => 62 ,
215+ Model :: GptO3 => 832 ,
216+ Model :: GptO3Pro => 8320 ,
217+ Model :: GptO3DeepResearch => 4160 ,
218+ Model :: GptO4Mini => 458 ,
219+ Model :: GptO3Mini => 458 ,
220+ Model :: GptO1 => 6240 ,
221+ Model :: GptO1Mini => 458 ,
229222
230- // ==== Gemini (Google) ====
231- Model :: Gemini25ProPreview => 1000 ,
232- Model :: Gemini25FlashPreview => 250 ,
233- Model :: Gemini20Flash => 40 ,
234- Model :: Gemini20FlashLite => 30 ,
235- Model :: Gemini15Flash => 30 ,
236- Model :: Gemini15Flash8B => 15 ,
237- Model :: Gemini15Pro => 500 ,
223+ // ==== Anthropic ====
224+ Model :: ClaudeOpus4 => 7800 ,
225+ Model :: ClaudeSonnet4 => 1560 ,
226+ Model :: ClaudeHaiku3_5 => 416 ,
227+ Model :: ClaudeOpus3 => 7800 ,
228+ Model :: ClaudeSonnet3_7 => 1560 ,
229+ Model :: ClaudeHaiku3 => 130 ,
238230
239- // ==== Mistral ====
240- Model :: MistralMedium3 => 200 ,
241- Model :: MagistralMedium => 500 ,
242- Model :: MistralLarge => 600 ,
243- Model :: DevstralMedium => 200 ,
244- Model :: MistralSmall3_2 => 30 ,
245- Model :: MagistralSmall => 150 ,
246- Model :: Codestral => 90 ,
247- Model :: DevstralSmall => 30 ,
248- Model :: MistralNemo => 15 ,
249- Model :: PixtralLarge => 600 ,
250- Model :: Pixtral12B => 15 ,
251- Model :: Ministral8B_24_10 => 100 ,
252- Model :: Ministral3B_24_10 => 4 ,
231+ // ==== Gemini (Google) ====
232+ Model :: Gemini25ProPreview => 1040 ,
233+ Model :: Gemini25FlashPreview => 260 ,
234+ Model :: Gemini20Flash => 42 ,
235+ Model :: Gemini20FlashLite => 31 ,
236+ Model :: Gemini15Flash => 31 ,
237+ Model :: Gemini15Flash8B => 16 ,
238+ Model :: Gemini15Pro => 520 ,
253239
254- Model :: DeepSeekR1 => 219 ,
255- Model :: DeepSeekV3 => 110 ,
256- }
240+ // ==== Mistral ====
241+ Model :: MistralMedium3 => 208 ,
242+ Model :: MagistralMedium => 520 ,
243+ Model :: MistralLarge => 624 ,
244+ Model :: DevstralMedium => 208 ,
245+ Model :: MistralSmall3_2 => 31 ,
246+ Model :: MagistralSmall => 156 ,
247+ Model :: Codestral => 94 ,
248+ Model :: DevstralSmall => 31 ,
249+ Model :: MistralNemo => 16 ,
250+ Model :: PixtralLarge => 624 ,
251+ Model :: Pixtral12B => 16 ,
252+ Model :: Ministral8B_24_10 => 104 ,
253+ Model :: Ministral3B_24_10 => 4 ,
254+
255+ Model :: DeepSeekR1 => 228 ,
256+ Model :: DeepSeekV3 => 114 ,
257257 }
258+ }
259+
258260 // pub fn price(&self) -> u32 {
259261 // match self {
260262 // // ==== OpenAI ====
0 commit comments