Fix Gemini captioning

df7c2226f6a50691d8a6d6670aa22820270f5ba3

Cohee <18619528+Cohee1207@users.noreply.github.com>

3 files changed, +3 -2Ignore whitespace
public/scripts/extensions/caption/settings.html+1 -0
@@ -65,6 +65,7 @@
65 <option data-type="anthropic" value="claude-3-opus-20240229">claude-3-opus-20240229</option>65 <option data-type="anthropic" value="claude-3-opus-20240229">claude-3-opus-20240229</option>
66 <option data-type="anthropic" value="claude-3-sonnet-20240229">claude-3-sonnet-20240229</option>66 <option data-type="anthropic" value="claude-3-sonnet-20240229">claude-3-sonnet-20240229</option>
67 <option data-type="anthropic" value="claude-3-haiku-20240307">claude-3-haiku-20240307</option>67 <option data-type="anthropic" value="claude-3-haiku-20240307">claude-3-haiku-20240307</option>
68 <option data-type="google" value="gemini-2.5-pro-preview-03-25">gemini-2.5-pro-preview-03-25</option>
68 <option data-type="google" value="gemini-2.5-pro-exp-03-25">gemini-2.5-pro-exp-03-25</option>69 <option data-type="google" value="gemini-2.5-pro-exp-03-25">gemini-2.5-pro-exp-03-25</option>
69 <option data-type="google" value="gemini-2.0-pro-exp">gemini-2.0-pro-exp</option>70 <option data-type="google" value="gemini-2.0-pro-exp">gemini-2.0-pro-exp</option>
70 <option data-type="google" value="gemini-2.0-pro-exp-02-05">gemini-2.0-pro-exp-02-05</option>71 <option data-type="google" value="gemini-2.0-pro-exp-02-05">gemini-2.0-pro-exp-02-05</option>
src/endpoints/google.js+1 -2
@@ -16,7 +16,7 @@ router.post('/caption-image', async (request, response) => {
16 const base64Data = request.body.image.split(',')[1];16 const base64Data = request.body.image.split(',')[1];
17 const apiKey = request.body.reverse_proxy ? request.body.proxy_password : readSecret(request.user.directories, SECRET_KEYS.MAKERSUITE);17 const apiKey = request.body.reverse_proxy ? request.body.proxy_password : readSecret(request.user.directories, SECRET_KEYS.MAKERSUITE);
18 const apiUrl = new URL(request.body.reverse_proxy || API_MAKERSUITE);18 const apiUrl = new URL(request.body.reverse_proxy || API_MAKERSUITE);
19 const model = request.body.model || 'gemini-pro-vision';19 const model = request.body.model || 'gemini-2.0-flash';
20 const url = `${apiUrl.origin}/v1beta/models/${model}:generateContent?key=${apiKey}`;20 const url = `${apiUrl.origin}/v1beta/models/${model}:generateContent?key=${apiKey}`;
21 const body = {21 const body = {
22 contents: [{22 contents: [{
@@ -30,7 +30,6 @@ router.post('/caption-image', async (request, response) => {
30 }],30 }],
31 }],31 }],
32 safetySettings: GEMINI_SAFETY,32 safetySettings: GEMINI_SAFETY,
33 generationConfig: { maxOutputTokens: 1000 },
34 };33 };
3534
36 console.debug('Multimodal captioning request', model, body);35 console.debug('Multimodal captioning request', model, body);
src/prompt-converters.js+1 -0
@@ -360,6 +360,7 @@ export function convertCohereMessages(messages, names) {
360 */360 */
361export function convertGooglePrompt(messages, model, useSysPrompt, names) {361export function convertGooglePrompt(messages, model, useSysPrompt, names) {
362 const visionSupportedModels = [362 const visionSupportedModels = [
363 'gemini-2.5-pro-preview-03-25',
363 'gemini-2.5-pro-exp-03-25',364 'gemini-2.5-pro-exp-03-25',
364 'gemini-2.0-pro-exp',365 'gemini-2.0-pro-exp',
365 'gemini-2.0-pro-exp-02-05',366 'gemini-2.0-pro-exp-02-05',