1package models
2
3const (
4 ProviderOpenAI ModelProvider = "openai"
5
6 GPT41 ModelID = "gpt-4.1"
7 GPT41Mini ModelID = "gpt-4.1-mini"
8 GPT41Nano ModelID = "gpt-4.1-nano"
9 GPT45Preview ModelID = "gpt-4.5-preview"
10 GPT4o ModelID = "gpt-4o"
11 GPT4oMini ModelID = "gpt-4o-mini"
12 O1 ModelID = "o1"
13 O1Pro ModelID = "o1-pro"
14 O1Mini ModelID = "o1-mini"
15 O3 ModelID = "o3"
16 O3Mini ModelID = "o3-mini"
17 O4Mini ModelID = "o4-mini"
18)
19
20var OpenAIModels = map[ModelID]Model{
21 GPT41: {
22 ID: GPT41,
23 Name: "GPT 4.1",
24 Provider: ProviderOpenAI,
25 APIModel: "gpt-4.1",
26 CostPer1MIn: 2.00,
27 CostPer1MInCached: 0.50,
28 CostPer1MOutCached: 0.0,
29 CostPer1MOut: 8.00,
30 ContextWindow: 1_047_576,
31 DefaultMaxTokens: 20000,
32 },
33 GPT41Mini: {
34 ID: GPT41Mini,
35 Name: "GPT 4.1 mini",
36 Provider: ProviderOpenAI,
37 APIModel: "gpt-4.1",
38 CostPer1MIn: 0.40,
39 CostPer1MInCached: 0.10,
40 CostPer1MOutCached: 0.0,
41 CostPer1MOut: 1.60,
42 ContextWindow: 200_000,
43 DefaultMaxTokens: 20000,
44 },
45 GPT41Nano: {
46 ID: GPT41Nano,
47 Name: "GPT 4.1 nano",
48 Provider: ProviderOpenAI,
49 APIModel: "gpt-4.1-nano",
50 CostPer1MIn: 0.10,
51 CostPer1MInCached: 0.025,
52 CostPer1MOutCached: 0.0,
53 CostPer1MOut: 0.40,
54 ContextWindow: 1_047_576,
55 DefaultMaxTokens: 20000,
56 },
57 GPT45Preview: {
58 ID: GPT45Preview,
59 Name: "GPT 4.5 preview",
60 Provider: ProviderOpenAI,
61 APIModel: "gpt-4.5-preview",
62 CostPer1MIn: 75.00,
63 CostPer1MInCached: 37.50,
64 CostPer1MOutCached: 0.0,
65 CostPer1MOut: 150.00,
66 ContextWindow: 128_000,
67 DefaultMaxTokens: 15000,
68 },
69 GPT4o: {
70 ID: GPT4o,
71 Name: "GPT 4o",
72 Provider: ProviderOpenAI,
73 APIModel: "gpt-4o",
74 CostPer1MIn: 2.50,
75 CostPer1MInCached: 1.25,
76 CostPer1MOutCached: 0.0,
77 CostPer1MOut: 10.00,
78 ContextWindow: 128_000,
79 DefaultMaxTokens: 4096,
80 },
81 GPT4oMini: {
82 ID: GPT4oMini,
83 Name: "GPT 4o mini",
84 Provider: ProviderOpenAI,
85 APIModel: "gpt-4o-mini",
86 CostPer1MIn: 0.15,
87 CostPer1MInCached: 0.075,
88 CostPer1MOutCached: 0.0,
89 CostPer1MOut: 0.60,
90 ContextWindow: 128_000,
91 },
92 O1: {
93 ID: O1,
94 Name: "O1",
95 Provider: ProviderOpenAI,
96 APIModel: "o1",
97 CostPer1MIn: 15.00,
98 CostPer1MInCached: 7.50,
99 CostPer1MOutCached: 0.0,
100 CostPer1MOut: 60.00,
101 ContextWindow: 200_000,
102 DefaultMaxTokens: 50000,
103 CanReason: true,
104 },
105 O1Pro: {
106 ID: O1Pro,
107 Name: "o1 pro",
108 Provider: ProviderOpenAI,
109 APIModel: "o1-pro",
110 CostPer1MIn: 150.00,
111 CostPer1MInCached: 0.0,
112 CostPer1MOutCached: 0.0,
113 CostPer1MOut: 600.00,
114 ContextWindow: 200_000,
115 DefaultMaxTokens: 50000,
116 CanReason: true,
117 },
118 O1Mini: {
119 ID: O1Mini,
120 Name: "o1 mini",
121 Provider: ProviderOpenAI,
122 APIModel: "o1-mini",
123 CostPer1MIn: 1.10,
124 CostPer1MInCached: 0.55,
125 CostPer1MOutCached: 0.0,
126 CostPer1MOut: 4.40,
127 ContextWindow: 128_000,
128 DefaultMaxTokens: 50000,
129 CanReason: true,
130 },
131 O3: {
132 ID: O3,
133 Name: "o3",
134 Provider: ProviderOpenAI,
135 APIModel: "o3",
136 CostPer1MIn: 10.00,
137 CostPer1MInCached: 2.50,
138 CostPer1MOutCached: 0.0,
139 CostPer1MOut: 40.00,
140 ContextWindow: 200_000,
141 CanReason: true,
142 },
143 O3Mini: {
144 ID: O3Mini,
145 Name: "o3 mini",
146 Provider: ProviderOpenAI,
147 APIModel: "o3-mini",
148 CostPer1MIn: 1.10,
149 CostPer1MInCached: 0.55,
150 CostPer1MOutCached: 0.0,
151 CostPer1MOut: 4.40,
152 ContextWindow: 200_000,
153 DefaultMaxTokens: 50000,
154 CanReason: true,
155 },
156 O4Mini: {
157 ID: O4Mini,
158 Name: "o4 mini",
159 Provider: ProviderOpenAI,
160 APIModel: "o4-mini",
161 CostPer1MIn: 1.10,
162 CostPer1MInCached: 0.275,
163 CostPer1MOutCached: 0.0,
164 CostPer1MOut: 4.40,
165 ContextWindow: 128_000,
166 DefaultMaxTokens: 50000,
167 CanReason: true,
168 },
169}