diff --git a/core/llm/utils/calculateRequestCost.ts b/core/llm/utils/calculateRequestCost.ts index 794524d448d..4a375c0f3f2 100644 --- a/core/llm/utils/calculateRequestCost.ts +++ b/core/llm/utils/calculateRequestCost.ts @@ -161,6 +161,11 @@ function calculateOpenAICost( "gpt-4o-mini": { input: 0.15, output: 0.6 }, "gpt-4o": { input: 2.5, output: 10 }, + // GPT-4.1 models + "gpt-4.1-mini": { input: 0.4, output: 1.6 }, + "gpt-4.1-nano": { input: 0.1, output: 0.4 }, + "gpt-4.1": { input: 2, output: 8 }, + // GPT-4 Turbo models "gpt-4-turbo": { input: 10, output: 30 }, diff --git a/core/llm/utils/calculateRequestCost.vitest.ts b/core/llm/utils/calculateRequestCost.vitest.ts index 32183ca1b49..a3542eaa979 100644 --- a/core/llm/utils/calculateRequestCost.vitest.ts +++ b/core/llm/utils/calculateRequestCost.vitest.ts @@ -153,6 +153,40 @@ describe("calculateRequestCost", () => { description: "GPT-4o-mini", }, + // OpenAI GPT-4.1 family + { + provider: "openai", + model: "gpt-4.1", + promptTokens: 1000, + completionTokens: 500, + expectedCost: 0.006, + description: "GPT-4.1", + }, + { + provider: "openai", + model: "gpt-4.1-mini", + promptTokens: 1000, + completionTokens: 500, + expectedCost: 0.0012, + description: "GPT-4.1-mini", + }, + { + provider: "openai", + model: "gpt-4.1-nano", + promptTokens: 1000, + completionTokens: 500, + expectedCost: 0.0003, + description: "GPT-4.1-nano", + }, + { + provider: "openai", + model: "gpt-4.1-2025-04-14", + promptTokens: 1000, + completionTokens: 500, + expectedCost: 0.006, + description: "GPT-4.1 date-stamped snapshot", + }, + // OpenAI GPT-3.5 { provider: "openai",