vtcode_config/constants/models/google.rs
1/// Default model - using stable version for production reliability
2pub const DEFAULT_MODEL: &str = "gemini-3.7-flash";
3
4pub const SUPPORTED_MODELS: &[&str] = &[
5 "gemini-4-argon", // Gemini 4 Argon - flagship for hardest problems (unified 1M window, 64k sync output, low/medium/high)
6 "gemini-3.6-flash", // Gemini 3.6 Flash - flash model with improved capabilities
7 "gemini-3.7-flash", // Gemini 3.7 Flash - flash model with 1M context and tunable thinking
8 "gemini-3.8-flash", // Gemini 3.8 Flash - most intelligent Flash for long-horizon SWE/agents (1M, 64k output, low/medium/high)
9 "gemini-3-flash-preview", // Fast version of Gemini 3 Pro with 3-level thinking
10 "gemini-3-pro-image-preview", // Image generation model with 4K resolution
11];
12
13/// Models that support thinking/reasoning capability with configurable thinking_level
14/// Based on: <https://ai.google.dev/gemini-api/docs/gemini-3>
15/// Gemini 3 Pro: supports low, high
16/// Gemini 3 Flash Preview: supports minimal, low, medium, high
17/// Gemini 3.7/3.8 Flash: supports low, medium (default), high — `minimal` not supported on 3.8 and will error
18pub const REASONING_MODELS: &[&str] = &[
19 "gemini-4-argon",
20 "gemini-3.6-flash",
21 "gemini-3.7-flash",
22 "gemini-3.8-flash",
23 "gemini-3-flash-preview",
24];
25
26/// Models that support Gemini 3 extended thinking levels (minimal, medium)
27/// Only `gemini-3-flash-preview` supports `minimal`; stable 3.7/3.8 Flash support low/medium/high with medium as default
28pub const EXTENDED_THINKING_MODELS: &[&str] = &["gemini-3-flash-preview"];
29
30/// Models supporting image generation
31pub const IMAGE_GENERATION_MODELS: &[&str] = &["gemini-3-pro-image-preview"];
32
33/// Models that support context caching
34/// Context caching reduces costs for repeated API calls with similar contexts
35/// Reference: <https://ai.google.dev/gemini-api/docs/caching>
36/// Gemini 4 Argon supports implicit caching only — explicit `cachedContents`
37/// is not supported and requests referencing it fail; prefer Implicit mode.
38pub const CACHING_MODELS: &[&str] = &[
39 "gemini-4-argon",
40 "gemini-3.6-flash",
41 "gemini-3.7-flash",
42 "gemini-3.8-flash",
43 "gemini-3-flash-preview",
44];
45
46/// Models that support code execution (Python)
47/// Code execution allows models to write and execute Python code
48/// Reference: <https://ai.google.dev/gemini-api/docs/code-execution>
49pub const CODE_EXECUTION_MODELS: &[&str] = &[
50 "gemini-4-argon",
51 "gemini-3.6-flash",
52 "gemini-3.7-flash",
53 "gemini-3.8-flash",
54 "gemini-3-flash-preview",
55];
56
57// Convenience constants for commonly used models
58pub const GEMINI_4_ARGON: &str = "gemini-4-argon";
59pub const GEMINI_3_6_FLASH: &str = "gemini-3.6-flash";
60pub const GEMINI_3_7_FLASH: &str = "gemini-3.7-flash";
61pub const GEMINI_3_8_FLASH: &str = "gemini-3.8-flash";
62pub const GEMINI_3_FLASH_PREVIEW: &str = "gemini-3-flash-preview";
63pub const GEMINI_3_PRO_IMAGE_PREVIEW: &str = "gemini-3-pro-image-preview";