@@ -8,42 +8,32 @@ import (
88
99var AnthropicPerMillionTokenCost = map [string ]map [string ]float64 {
1010 "prompt" : {
11- "claude-opus-4.7" : 5.0 ,
12- "claude-opus-4.6" : 5.0 ,
13- "claude-opus-4.5" : 5.0 ,
14- "claude-4.6-sonnet" : 3.0 ,
15- "claude-4.5-sonnet" : 3.0 ,
16- "claude-4.5-haiku" : 1.0 ,
17-
18- "claude-sonnet-4.5" : 3.0 ,
11+ "claude-opus-4-8" : 5.0 ,
12+ "claude-opus-4-7" : 5.0 ,
13+ "claude-opus-4-6" : 5.0 ,
14+ "claude-opus-4-5" : 5.0 ,
15+ "claude-opus-4-1" : 15.0 ,
16+ "claude-opus-4" : 15.0 ,
17+
18+ "claude-sonnet-4-6" : 3.0 ,
19+ "claude-sonnet-4-5" : 3.0 ,
1920 "claude-sonnet-4" : 3.0 ,
20- "claude-3.7-sonnet" : 3.0 ,
21- "claude-opus-4.1" : 15.0 ,
22- "claude-opus-4" : 15.0 ,
23- "claude-3.5-haiku" : 0.8 ,
24- "claude-3-haiku" : 0.25 ,
25-
26- "claude-3.5-sonnet" : 3.0 ,
27- "claude-3-opus" : 15.0 ,
21+
22+ "claude-haiku-4-5" : 1.0 ,
2823 },
2924 "completion" : {
30- "claude-opus-4.7" : 25.0 ,
31- "claude-opus-4.6" : 25.0 ,
32- "claude-opus-4.5" : 25.0 ,
33- "claude-4.6-sonnet" : 15.0 ,
34- "claude-4.5-sonnet" : 15.0 ,
35- "claude-4.5-haiku" : 5.0 ,
36-
37- "claude-sonnet-4.5" : 15.0 ,
25+ "claude-opus-4-8" : 25.0 ,
26+ "claude-opus-4-7" : 25.0 ,
27+ "claude-opus-4-6" : 25.0 ,
28+ "claude-opus-4-5" : 25.0 ,
29+ "claude-opus-4-1" : 75.0 ,
30+ "claude-opus-4" : 75.0 ,
31+
32+ "claude-sonnet-4-6" : 15.0 ,
33+ "claude-sonnet-4-5" : 15.0 ,
3834 "claude-sonnet-4" : 15.0 ,
39- "claude-3.7-sonnet" : 15.0 ,
40- "claude-opus-4.1" : 75.0 ,
41- "claude-opus-4" : 75.0 ,
42- "claude-3.5-haiku" : 4.0 ,
43- "claude-3-haiku" : 1.25 ,
44-
45- "claude-3.5-sonnet" : 15.0 ,
46- "claude-3-opus" : 75.0 ,
35+
36+ "claude-haiku-4-5" : 5.0 ,
4737 },
4838}
4939
@@ -101,51 +91,36 @@ func (ce *CostEstimator) EstimatePromptCost(model string, tks int) (float64, err
10191}
10292
10393func SelectModel (model string ) string {
104- if strings .HasPrefix (model , "claude-sonnet-4.6" ) || strings . HasPrefix ( model , "claude-sonnet-4-6 " ) {
105- return "claude-sonnet-4.6 "
94+ if strings .HasPrefix (model , "claude-opus-4-8 " ) {
95+ return "claude-opus-4-8 "
10696 }
107- if strings .HasPrefix (model , "claude-sonnet-4.5" ) || strings . HasPrefix ( model , "claude-sonnet-4-5 " ) {
108- return "claude-sonnet-4.5 "
97+ if strings .HasPrefix (model , "claude-opus-4-7 " ) {
98+ return "claude-opus-4-7 "
10999 }
110- if strings .HasPrefix (model , "claude-sonnet-4 " ) {
111- return "claude-sonnet-4 "
100+ if strings .HasPrefix (model , "claude-opus-4-6 " ) {
101+ return "claude-opus-4-6 "
112102 }
113- if strings .HasPrefix (model , "claude-3.7-sonnet" ) || strings .HasPrefix (model , "claude-3-7-sonnet" ) {
114- return "claude-3.7-sonnet"
115- }
116- if strings .HasPrefix (model , "claude-3.5-sonnet" ) || strings .HasPrefix (model , "claude-3-5-sonnet" ) {
117- return "claude-3.5-sonnet"
118- }
119-
120- if strings .HasPrefix (model , "claude-opus-4.7" ) || strings .HasPrefix (model , "claude-opus-4-7" ) {
121- return "claude-opus-4.7"
103+ if strings .HasPrefix (model , "claude-opus-4-5" ) {
104+ return "claude-opus-4-5"
122105 }
123- if strings .HasPrefix (model , "claude-opus-4.6" ) || strings .HasPrefix (model , "claude-opus-4-6" ) {
124- return "claude-opus-4.6"
125- }
126- if strings .HasPrefix (model , "claude-opus-4.5" ) || strings .HasPrefix (model , "claude-opus-4-5" ) {
127- return "claude-opus-4.5"
128- }
129- if strings .HasPrefix (model , "claude-opus-4.1" ) || strings .HasPrefix (model , "claude-opus-4-1" ) {
130- return "claude-opus-4.1"
106+ if strings .HasPrefix (model , "claude-opus-4-1" ) {
107+ return "claude-opus-4-1"
131108 }
132109 if strings .HasPrefix (model , "claude-opus-4" ) {
133110 return "claude-opus-4"
134111 }
135- if strings .HasPrefix (model , "claude-3-opus " ) {
136- return "claude-3-opus "
112+ if strings .HasPrefix (model , "claude-sonnet-4-6 " ) {
113+ return "claude-sonnet-4-6 "
137114 }
138-
139- if strings .HasPrefix (model , "claude-4.5-haiku" ) || strings .HasPrefix (model , "claude-4-5-haiku" ) {
140- return "claude-4.5-haiku"
115+ if strings .HasPrefix (model , "claude-sonnet-4-5" ) {
116+ return "claude-sonnet-4-5"
141117 }
142- if strings .HasPrefix (model , "claude-3.5-haiku" ) || strings . HasPrefix ( model , "claude-3-5-haiku " ) {
143- return "claude-3.5-haiku "
118+ if strings .HasPrefix (model , "claude-sonnet-4 " ) {
119+ return "claude-sonnet-4 "
144120 }
145- if strings .HasPrefix (model , "claude-3- haiku" ) {
146- return "claude-3- haiku"
121+ if strings .HasPrefix (model , "claude-haiku-4-5 " ) {
122+ return "claude-haiku-4-5 "
147123 }
148-
149124 return model
150125}
151126
0 commit comments