fix: use v1 API for Gemini 2.5+/3.x models; show real error + generateContent filter

- GeminiIntentService/VisionService: auto-select v1 for 2.5+ models, v1beta for older
- probarGemini: tries v1 then v1beta, shows actual API error message, filters model
  list to only those supporting generateContent so the user sees usable options

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro
2026-07-15 04:13:09 +00:00
co-authored by Claude Sonnet 4.6
parent aa57f64e4f
commit 54736a8742
3 changed files with 49 additions and 37 deletions
+2 -1
View File
@@ -18,7 +18,8 @@ class GeminiVisionService
{
$this->apiKey = ChatConfig::get('gemini_api_key', '');
$this->model = ChatConfig::get('gemini_model', 'gemini-2.0-flash');
$this->apiUrl = "https://generativelanguage.googleapis.com/v1beta/models/{$this->model}:generateContent";
$ver = preg_match('/gemini-(2\.5|3[\.\d]*)/', $this->model) ? 'v1' : 'v1beta';
$this->apiUrl = "https://generativelanguage.googleapis.com/{$ver}/models/{$this->model}:generateContent";
}
private function buildRequest(array $contents, array $genConfig = []): array