Skip to content

Commit cfb1d06

Browse files
committed
Update pricing to be 4% gross margin
1 parent f50e7f6 commit cfb1d06

File tree

1 file changed

+97
-95
lines changed

1 file changed

+97
-95
lines changed

oneAI-backend/src/pricing.rs

Lines changed: 97 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)