1package models
2
3const (
4 ProviderGemini InferenceProvider = "gemini"
5
6 // Models
7 Gemini25Flash ModelID = "gemini-2.5-flash"
8 Gemini25 ModelID = "gemini-2.5"
9 Gemini20Flash ModelID = "gemini-2.0-flash"
10 Gemini20FlashLite ModelID = "gemini-2.0-flash-lite"
11)
12
13var GeminiModels = map[ModelID]Model{
14 Gemini25Flash: {
15 ID: Gemini25Flash,
16 Name: "Gemini 2.5 Flash",
17 Provider: ProviderGemini,
18 APIModel: "gemini-2.5-flash-preview-04-17",
19 CostPer1MIn: 0.15,
20 CostPer1MInCached: 0,
21 CostPer1MOutCached: 0,
22 CostPer1MOut: 0.60,
23 ContextWindow: 1000000,
24 DefaultMaxTokens: 50000,
25 SupportsAttachments: true,
26 },
27 Gemini25: {
28 ID: Gemini25,
29 Name: "Gemini 2.5 Pro",
30 Provider: ProviderGemini,
31 APIModel: "gemini-2.5-pro-preview-05-06",
32 CostPer1MIn: 1.25,
33 CostPer1MInCached: 0,
34 CostPer1MOutCached: 0,
35 CostPer1MOut: 10,
36 ContextWindow: 1000000,
37 DefaultMaxTokens: 50000,
38 SupportsAttachments: true,
39 },
40
41 Gemini20Flash: {
42 ID: Gemini20Flash,
43 Name: "Gemini 2.0 Flash",
44 Provider: ProviderGemini,
45 APIModel: "gemini-2.0-flash",
46 CostPer1MIn: 0.10,
47 CostPer1MInCached: 0,
48 CostPer1MOutCached: 0,
49 CostPer1MOut: 0.40,
50 ContextWindow: 1000000,
51 DefaultMaxTokens: 6000,
52 SupportsAttachments: true,
53 },
54 Gemini20FlashLite: {
55 ID: Gemini20FlashLite,
56 Name: "Gemini 2.0 Flash Lite",
57 Provider: ProviderGemini,
58 APIModel: "gemini-2.0-flash-lite",
59 CostPer1MIn: 0.05,
60 CostPer1MInCached: 0,
61 CostPer1MOutCached: 0,
62 CostPer1MOut: 0.30,
63 ContextWindow: 1000000,
64 DefaultMaxTokens: 6000,
65 SupportsAttachments: true,
66 },
67}