From 02e233a0b5223292c15c7eadd64414f4241a0b4b Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Wed, 4 Mar 2026 21:17:28 -0500 Subject: [PATCH] Add Gemini 3.1 Flash Lite to model catalog Google's most cost-efficient model ($0.25/M input, $1.50/M output) with 1M context, 65K output, and full tool/vision/reasoning support. Co-Authored-By: Claude Opus 4.6 --- crates/arc-llm/src/catalog.json | 14 ++++++++++++++ crates/arc-llm/src/catalog.rs | 24 +++++++++++++++++++++++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/crates/arc-llm/src/catalog.json b/crates/arc-llm/src/catalog.json index b39422140..9a6efd448 100644 --- a/crates/arc-llm/src/catalog.json +++ b/crates/arc-llm/src/catalog.json @@ -125,6 +125,20 @@ "estimated_output_tps": 150, "aliases": ["gemini-flash"] }, + { + "id": "gemini-3.1-flash-lite-preview", + "provider": "gemini", + "display_name": "Gemini 3.1 Flash Lite (Preview)", + "context_window": 1048576, + "max_output": 65536, + "supports_tools": true, + "supports_vision": true, + "supports_reasoning": true, + "input_cost_per_million": 0.25, + "output_cost_per_million": 1.5, + "estimated_output_tps": 200, + "aliases": ["gemini-flash-lite"] + }, { "id": "kimi-k2.5", "provider": "kimi", diff --git a/crates/arc-llm/src/catalog.rs b/crates/arc-llm/src/catalog.rs index 7961d1954..58ac9ce34 100644 --- a/crates/arc-llm/src/catalog.rs +++ b/crates/arc-llm/src/catalog.rs @@ -114,12 +114,34 @@ mod tests { assert_eq!(openai.len(), 4); let gemini = list_models(Some("gemini")); - assert_eq!(gemini.len(), 2); + assert_eq!(gemini.len(), 3); let unknown = list_models(Some("unknown")); assert!(unknown.is_empty()); } + #[test] + fn gemini_3_1_flash_lite_in_catalog() { + let m = get_model_info("gemini-3.1-flash-lite-preview").unwrap(); + assert_eq!(m.provider, "gemini"); + assert_eq!(m.display_name, "Gemini 3.1 Flash Lite (Preview)"); + assert_eq!(m.context_window, 1048576); + assert_eq!(m.max_output, Some(65536)); + assert!(m.supports_tools); + assert!(m.supports_vision); + assert!(m.supports_reasoning); + assert_eq!(m.input_cost_per_million, Some(0.25)); + assert_eq!(m.output_cost_per_million, Some(1.5)); + } + + #[test] + fn gemini_flash_lite_alias() { + assert_eq!( + get_model_info("gemini-flash-lite").unwrap().id, + "gemini-3.1-flash-lite-preview" + ); + } + #[test] fn kimi_k2_5_in_catalog() { let m = get_model_info("kimi-k2.5").unwrap();