diff --git a/src/backend/src/modules/puterai/GeminiService.js b/src/backend/src/modules/puterai/GeminiService.js index c76fe5f7f..9d950887d 100644 --- a/src/backend/src/modules/puterai/GeminiService.js +++ b/src/backend/src/modules/puterai/GeminiService.js @@ -137,6 +137,66 @@ class GeminiService extends BaseService { }, max_tokens: 8192, }, + { + id: 'gemini-2.0-flash-lite', + name: 'Gemini 2.0 Flash-Lite', + context: 1_048_576, + cost: { + currency: 'usd-cents', + tokens: 1_000_000, + input: 8, + output: 32, + }, + max_tokens: 8192, + }, + { + id: 'gemini-2.5-flash', + name: 'Gemini 2.5 Flash', + context: 1_048_576, + cost: { + currency: 'usd-cents', + tokens: 1_000_000, + input: 12, + output: 48, + }, + max_tokens: 65536, + }, + { + id: 'gemini-2.5-flash-lite', + name: 'Gemini 2.5 Flash-Lite', + context: 1_048_576, + cost: { + currency: 'usd-cents', + tokens: 1_000_000, + input: 10, + output: 40, + }, + max_tokens: 65536, + }, + { + id: 'gemini-2.5-pro', + name: 'Gemini 2.5 Pro', + context: 1_048_576, + cost: { + currency: 'usd-cents', + tokens: 1_000_000, + input: 15, + output: 60, + }, + max_tokens: 65536, + }, + { + id: 'gemini-3-pro-preview', + name: 'Gemini 3 Pro', + context: 1_048_576, + cost: { + currency: 'usd-cents', + tokens: 1_000_000, + input: 25, + output: 100, + }, + max_tokens: 65536, + }, ]; } } diff --git a/src/backend/src/modules/puterai/lib/GeminiSquareHole.js b/src/backend/src/modules/puterai/lib/GeminiSquareHole.js index 842a313c5..76cd20395 100644 --- a/src/backend/src/modules/puterai/lib/GeminiSquareHole.js +++ b/src/backend/src/modules/puterai/lib/GeminiSquareHole.js @@ -141,7 +141,9 @@ module.exports = class GeminiSquareHole { // assume text as default const text = part.text; - textblock.addText(text); + if ( text ) { + textblock.addText(text); + } } last_usage = chunk.usageMetadata; diff --git a/src/puter-js/src/modules/AI.js b/src/puter-js/src/modules/AI.js index 4263a446e..05bae289b 100644 --- a/src/puter-js/src/modules/AI.js +++ b/src/puter-js/src/modules/AI.js @@ -788,7 +788,12 @@ class AI{ } else if( requestParams.model === 'gemini-1.5-flash' || - requestParams.model === 'gemini-2.0-flash' + requestParams.model === 'gemini-2.0-flash' || + requestParams.model === 'gemini-2.5-flash' || + requestParams.model === 'gemini-2.5-flash-lite' || + requestParams.model === 'gemini-2.0-flash-lite' || + requestParams.model === 'gemini-3-pro-preview' || + requestParams.model === 'gemini-2.5-pro' ){ driver = 'gemini'; }