diff --git a/service/ccm/service_usage.go b/service/ccm/service_usage.go index 53ae46587..7d39e3ce5 100644 --- a/service/ccm/service_usage.go +++ b/service/ccm/service_usage.go @@ -124,12 +124,69 @@ var ( CacheWritePrice: 3.75, } + opus45Pricing = ModelPricing{ + InputPrice: 5.0, + OutputPrice: 25.0, + CacheReadPrice: 0.5, + CacheWritePrice: 6.25, + } + + sonnet45StandardPricing = ModelPricing{ + InputPrice: 3.0, + OutputPrice: 15.0, + CacheReadPrice: 0.3, + CacheWritePrice: 3.75, + } + + sonnet45PremiumPricing = ModelPricing{ + InputPrice: 6.0, + OutputPrice: 22.5, + CacheReadPrice: 0.6, + CacheWritePrice: 7.5, + } + + haiku45Pricing = ModelPricing{ + InputPrice: 1.0, + OutputPrice: 5.0, + CacheReadPrice: 0.1, + CacheWritePrice: 1.25, + } + + haiku3Pricing = ModelPricing{ + InputPrice: 0.25, + OutputPrice: 1.25, + CacheReadPrice: 0.03, + CacheWritePrice: 0.3, + } + + opus3Pricing = ModelPricing{ + InputPrice: 15.0, + OutputPrice: 75.0, + CacheReadPrice: 1.5, + CacheWritePrice: 18.75, + } + modelFamilies = []modelFamily{ + { + pattern: regexp.MustCompile(`^claude-opus-4-5-`), + standardPricing: opus45Pricing, + premiumPricing: nil, + }, { pattern: regexp.MustCompile(`^claude-(?:opus-4-|4-opus-|opus-4-1-)`), standardPricing: opus4Pricing, premiumPricing: nil, }, + { + pattern: regexp.MustCompile(`^claude-(?:opus-3-|3-opus-)`), + standardPricing: opus3Pricing, + premiumPricing: nil, + }, + { + pattern: regexp.MustCompile(`^claude-(?:sonnet-4-5-|4-5-sonnet-)`), + standardPricing: sonnet45StandardPricing, + premiumPricing: &sonnet45PremiumPricing, + }, { pattern: regexp.MustCompile(`^claude-3-7-sonnet-`), standardPricing: sonnet4StandardPricing, @@ -140,6 +197,16 @@ var ( standardPricing: sonnet4StandardPricing, premiumPricing: &sonnet4PremiumPricing, }, + { + pattern: regexp.MustCompile(`^claude-3-5-sonnet-`), + standardPricing: sonnet35Pricing, + premiumPricing: nil, + }, + { + pattern: regexp.MustCompile(`^claude-(?:haiku-4-5-|4-5-haiku-)`), + standardPricing: haiku45Pricing, + premiumPricing: nil, + }, { pattern: regexp.MustCompile(`^claude-haiku-4-`), standardPricing: haiku4Pricing, @@ -151,8 +218,8 @@ var ( premiumPricing: nil, }, { - pattern: regexp.MustCompile(`^claude-3-5-sonnet-`), - standardPricing: sonnet35Pricing, + pattern: regexp.MustCompile(`^claude-3-haiku-`), + standardPricing: haiku3Pricing, premiumPricing: nil, }, }