diff --git a/packages/types/src/providers/gemini.ts b/packages/types/src/providers/gemini.ts index a7225c7330fc..913b5e40fa5c 100644 --- a/packages/types/src/providers/gemini.ts +++ b/packages/types/src/providers/gemini.ts @@ -6,25 +6,73 @@ export type GeminiModelId = keyof typeof geminiModels export const geminiDefaultModelId: GeminiModelId = "gemini-2.0-flash-001" export const geminiModels = { - "gemini-2.5-flash-preview-04-17:thinking": { - maxTokens: 65_535, + // Latest models (pointing to the most recent stable versions) + "gemini-flash-latest": { + maxTokens: 65_536, contextWindow: 1_048_576, supportsImages: true, - supportsPromptCache: false, - inputPrice: 0.15, - outputPrice: 3.5, + supportsPromptCache: true, + inputPrice: 0.3, + outputPrice: 2.5, + cacheReadsPrice: 0.075, + cacheWritesPrice: 1.0, maxThinkingTokens: 24_576, supportsReasoningBudget: true, - requiredReasoningBudget: true, }, - "gemini-2.5-flash-preview-04-17": { - maxTokens: 65_535, + "gemini-flash-lite-latest": { + maxTokens: 65_536, contextWindow: 1_048_576, supportsImages: true, - supportsPromptCache: false, - inputPrice: 0.15, - outputPrice: 0.6, + supportsPromptCache: true, + inputPrice: 0.1, + outputPrice: 0.4, + cacheReadsPrice: 0.025, + cacheWritesPrice: 1.0, + supportsReasoningBudget: true, + maxThinkingTokens: 24_576, + }, + + // 2.5 Flash models (09-2025 versions - most recent) + "gemini-2.5-flash-preview-09-2025": { + maxTokens: 65_536, + contextWindow: 1_048_576, + supportsImages: true, + supportsPromptCache: true, + inputPrice: 0.3, + outputPrice: 2.5, + cacheReadsPrice: 0.075, + cacheWritesPrice: 1.0, + maxThinkingTokens: 24_576, + supportsReasoningBudget: true, }, + "gemini-2.5-flash-lite-preview-09-2025": { + maxTokens: 65_536, + contextWindow: 1_048_576, + supportsImages: true, + supportsPromptCache: true, + inputPrice: 0.1, + outputPrice: 0.4, + cacheReadsPrice: 0.025, + cacheWritesPrice: 1.0, + supportsReasoningBudget: true, + maxThinkingTokens: 24_576, + }, + + // 2.5 Flash models (06-17 version) + "gemini-2.5-flash-lite-preview-06-17": { + maxTokens: 64_000, + contextWindow: 1_048_576, + supportsImages: true, + supportsPromptCache: true, + inputPrice: 0.1, + outputPrice: 0.4, + cacheReadsPrice: 0.025, + cacheWritesPrice: 1.0, + supportsReasoningBudget: true, + maxThinkingTokens: 24_576, + }, + + // 2.5 Flash models (05-20 versions) "gemini-2.5-flash-preview-05-20:thinking": { maxTokens: 65_535, contextWindow: 1_048_576, @@ -48,6 +96,29 @@ export const geminiModels = { cacheReadsPrice: 0.0375, cacheWritesPrice: 1.0, }, + + // 2.5 Flash models (04-17 versions) + "gemini-2.5-flash-preview-04-17:thinking": { + maxTokens: 65_535, + contextWindow: 1_048_576, + supportsImages: true, + supportsPromptCache: false, + inputPrice: 0.15, + outputPrice: 3.5, + maxThinkingTokens: 24_576, + supportsReasoningBudget: true, + requiredReasoningBudget: true, + }, + "gemini-2.5-flash-preview-04-17": { + maxTokens: 65_535, + contextWindow: 1_048_576, + supportsImages: true, + supportsPromptCache: false, + inputPrice: 0.15, + outputPrice: 0.6, + }, + + // 2.5 Flash stable "gemini-2.5-flash": { maxTokens: 64_000, contextWindow: 1_048_576, @@ -60,15 +131,9 @@ export const geminiModels = { maxThinkingTokens: 24_576, supportsReasoningBudget: true, }, - "gemini-2.5-pro-exp-03-25": { - maxTokens: 65_535, - contextWindow: 1_048_576, - supportsImages: true, - supportsPromptCache: false, - inputPrice: 0, - outputPrice: 0, - }, - "gemini-2.5-pro-preview-03-25": { + + // 2.5 Pro models + "gemini-2.5-pro-preview-06-05": { maxTokens: 65_535, contextWindow: 1_048_576, supportsImages: true, @@ -77,6 +142,8 @@ export const geminiModels = { outputPrice: 15, cacheReadsPrice: 0.625, cacheWritesPrice: 4.5, + maxThinkingTokens: 32_768, + supportsReasoningBudget: true, tiers: [ { contextWindow: 200_000, @@ -116,7 +183,7 @@ export const geminiModels = { }, ], }, - "gemini-2.5-pro-preview-06-05": { + "gemini-2.5-pro-preview-03-25": { maxTokens: 65_535, contextWindow: 1_048_576, supportsImages: true, @@ -125,8 +192,6 @@ export const geminiModels = { outputPrice: 15, cacheReadsPrice: 0.625, cacheWritesPrice: 4.5, - maxThinkingTokens: 32_768, - supportsReasoningBudget: true, tiers: [ { contextWindow: 200_000, @@ -142,6 +207,14 @@ export const geminiModels = { }, ], }, + "gemini-2.5-pro-exp-03-25": { + maxTokens: 65_535, + contextWindow: 1_048_576, + supportsImages: true, + supportsPromptCache: false, + inputPrice: 0, + outputPrice: 0, + }, "gemini-2.5-pro": { maxTokens: 64_000, contextWindow: 1_048_576, @@ -169,16 +242,8 @@ export const geminiModels = { }, ], }, - "gemini-2.0-flash-001": { - maxTokens: 8192, - contextWindow: 1_048_576, - supportsImages: true, - supportsPromptCache: true, - inputPrice: 0.1, - outputPrice: 0.4, - cacheReadsPrice: 0.025, - cacheWritesPrice: 1.0, - }, + + // 2.0 Flash models "gemini-2.0-flash-lite-preview-02-05": { maxTokens: 8192, contextWindow: 1_048_576, @@ -187,14 +252,6 @@ export const geminiModels = { inputPrice: 0, outputPrice: 0, }, - "gemini-2.0-pro-exp-02-05": { - maxTokens: 8192, - contextWindow: 2_097_152, - supportsImages: true, - supportsPromptCache: false, - inputPrice: 0, - outputPrice: 0, - }, "gemini-2.0-flash-thinking-exp-01-21": { maxTokens: 65_536, contextWindow: 1_048_576, @@ -219,6 +276,28 @@ export const geminiModels = { inputPrice: 0, outputPrice: 0, }, + "gemini-2.0-flash-001": { + maxTokens: 8192, + contextWindow: 1_048_576, + supportsImages: true, + supportsPromptCache: true, + inputPrice: 0.1, + outputPrice: 0.4, + cacheReadsPrice: 0.025, + cacheWritesPrice: 1.0, + }, + + // 2.0 Pro models + "gemini-2.0-pro-exp-02-05": { + maxTokens: 8192, + contextWindow: 2_097_152, + supportsImages: true, + supportsPromptCache: false, + inputPrice: 0, + outputPrice: 0, + }, + + // 1.5 Flash models "gemini-1.5-flash-002": { maxTokens: 8192, contextWindow: 1_048_576, @@ -259,6 +338,8 @@ export const geminiModels = { inputPrice: 0, outputPrice: 0, }, + + // 1.5 Pro models "gemini-1.5-pro-002": { maxTokens: 8192, contextWindow: 2_097_152, @@ -275,6 +356,8 @@ export const geminiModels = { inputPrice: 0, outputPrice: 0, }, + + // Experimental models "gemini-exp-1206": { maxTokens: 8192, contextWindow: 2_097_152, @@ -283,16 +366,4 @@ export const geminiModels = { inputPrice: 0, outputPrice: 0, }, - "gemini-2.5-flash-lite-preview-06-17": { - maxTokens: 64_000, - contextWindow: 1_048_576, - supportsImages: true, - supportsPromptCache: true, - inputPrice: 0.1, - outputPrice: 0.4, - cacheReadsPrice: 0.025, - cacheWritesPrice: 1.0, - supportsReasoningBudget: true, - maxThinkingTokens: 24_576, - }, } as const satisfies Record