diff --git a/backend/app/Services/GeminiService.php b/backend/app/Services/GeminiService.php index a644cb4..2f0517c 100644 --- a/backend/app/Services/GeminiService.php +++ b/backend/app/Services/GeminiService.php @@ -4,12 +4,14 @@ namespace App\Services; class GeminiService { + public const DEFAULT_MODEL = 'gemini-3.1-flash-lite'; + /** * Call Gemini API to generate a response */ public static function generateResponse(string $apiKey, string $systemPrompt, string $userMessage): ?string { - $url = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent?key=' . $apiKey; + $url = 'https://generativelanguage.googleapis.com/v1beta/models/' . self::DEFAULT_MODEL . ':generateContent?key=' . $apiKey; $payload = json_encode([ 'contents' => [ @@ -54,7 +56,7 @@ class GeminiService */ public static function generatePromptFromAudio(string $apiKey, string $audioBase64, string $mimeType): ?string { - $url = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent?key=' . $apiKey; + $url = 'https://generativelanguage.googleapis.com/v1beta/models/' . self::DEFAULT_MODEL . ':generateContent?key=' . $apiKey; $payload = json_encode([ 'contents' => [ @@ -102,7 +104,7 @@ class GeminiService */ public static function generateResponseFromAudio(string $apiKey, string $systemPrompt, string $audioBase64, string $mimeType): ?string { - $url = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent?key=' . $apiKey; + $url = 'https://generativelanguage.googleapis.com/v1beta/models/' . self::DEFAULT_MODEL . ':generateContent?key=' . $apiKey; // Clean mimeType if it contains codec info if (strpos($mimeType, ';') !== false) { @@ -156,11 +158,11 @@ class GeminiService } /** - * Transcribe incoming audio voice note to text using gemini-2.0-flash-lite + * Transcribe incoming audio voice note to text using gemini-3.1-flash-lite */ public static function transcribeAudio(string $apiKey, string $audioBase64, string $mimeType): ?string { - $url = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-lite:generateContent?key=' . $apiKey; + $url = 'https://generativelanguage.googleapis.com/v1beta/models/' . self::DEFAULT_MODEL . ':generateContent?key=' . $apiKey; // Clean mimeType if it contains codec info if (strpos($mimeType, ';') !== false) { @@ -213,7 +215,7 @@ class GeminiService */ public static function generateResponseFromImage(string $apiKey, string $systemPrompt, string $imageBase64, string $mimeType): ?string { - $url = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent?key=' . $apiKey; + $url = 'https://generativelanguage.googleapis.com/v1beta/models/' . self::DEFAULT_MODEL . ':generateContent?key=' . $apiKey; // Clean mimeType if it contains codec info if (strpos($mimeType, ';') !== false) { @@ -271,7 +273,7 @@ class GeminiService */ public static function generateOcrFromImage(string $apiKey, string $prompt, string $imageBase64, string $mimeType): ?string { - $url = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-lite:generateContent?key=' . $apiKey; + $url = 'https://generativelanguage.googleapis.com/v1beta/models/' . self::DEFAULT_MODEL . ':generateContent?key=' . $apiKey; // Clean mimeType if it contains codec info if (strpos($mimeType, ';') !== false) {