vtcode_config/constants/models/google.rs
1/// Default model - using stable version for production reliability
2pub const DEFAULT_MODEL: &str = "gemini-3-flash-preview";
3
4pub const SUPPORTED_MODELS: &[&str] = &[
5 "gemini-3-pro-preview", // Latest flagship model with advanced reasoning
6 "gemini-3-flash-preview", // Fast version of Gemini 3 Pro with 3-level thinking
7 "gemini-3-pro-image-preview", // Image generation model with 4K resolution
8 "gemini-1.5-pro",
9 "gemini-1.5-flash",
10];
11
12/// Models that support thinking/reasoning capability with configurable thinking_level
13/// Based on: https://ai.google.dev/gemini-api/docs/gemini-3
14/// Gemini 3 Pro/Flash: supports low, high (default)
15/// Gemini 3 Flash only: also supports minimal, medium
16pub const REASONING_MODELS: &[&str] = &[
17 "gemini-3-pro-preview",
18 "gemini-3-flash-preview",
19 "gemini-1.5-pro",
20 "gemini-1.5-flash",
21];
22
23/// Models that support Gemini 3 extended thinking levels (minimal, medium)
24/// Only Gemini 3 Flash supports these additional levels beyond low/high
25pub const EXTENDED_THINKING_MODELS: &[&str] = &["gemini-3-flash-preview"];
26
27/// Models supporting image generation
28pub const IMAGE_GENERATION_MODELS: &[&str] = &["gemini-3-pro-image-preview"];
29
30/// Models that support context caching (min 2048 tokens required)
31/// Context caching reduces costs for repeated API calls with similar contexts
32/// Reference: https://ai.google.dev/gemini-api/docs/caching
33pub const CACHING_MODELS: &[&str] = &[
34 "gemini-3-pro-preview",
35 "gemini-3-flash-preview",
36 "gemini-1.5-pro",
37 "gemini-1.5-flash",
38];
39
40/// Models that support code execution (Python)
41/// Code execution allows models to write and execute Python code
42/// Reference: https://ai.google.dev/gemini-api/docs/code-execution
43pub const CODE_EXECUTION_MODELS: &[&str] = &[
44 "gemini-3-pro-preview",
45 "gemini-3-flash-preview",
46 "gemini-1.5-pro",
47 "gemini-1.5-flash",
48];
49
50// Convenience constants for commonly used models
51pub const GEMINI_3_PRO_PREVIEW: &str = "gemini-3-pro-preview";
52pub const GEMINI_3_FLASH_PREVIEW: &str = "gemini-3-flash-preview";
53pub const GEMINI_3_PRO_IMAGE_PREVIEW: &str = "gemini-3-pro-image-preview";