google bonanza pro

70e569f0efac5dc01cbeb04e3ecd59cfe7db69da

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

5 files changed, +14 -1Showing whitespace changes
public/index.html+2 -0
@@ -3169,6 +3169,7 @@
31693169 <select id="model_google_select">
31703170 <optgroup label="Gemini 3.0">
31713171 <option value="gemini-3-pro-preview">gemini-3-pro-preview</option>
3172+ <option value="gemini-3-pro-image-preview">gemini-3-pro-image-preview</option>
31723173 </optgroup>
31733174 <optgroup label="Gemini 2.5">
31743175 <option value="gemini-2.5-pro">gemini-2.5-pro</option>
@@ -3340,6 +3341,7 @@
33403341 <!-- data-mode="full" is for models that require a service account -->
33413342 <optgroup label="Gemini 3.0">
33423343 <option value="gemini-3-pro-preview">gemini-3-pro-preview</option>
3344+ <option value="gemini-3-pro-image-preview">gemini-3-pro-image-preview</option>
33433345 </optgroup>
33443346 <optgroup label="Gemini 2.5">
33453347 <option value="gemini-2.5-pro">gemini-2.5-pro</option>
public/scripts/extensions/caption/settings.html+2 -0
@@ -105,6 +105,7 @@
105105 <option data-type="anthropic" value="claude-3-opus-20240229">claude-3-opus-20240229</option>
106106 <option data-type="anthropic" value="claude-3-haiku-20240307">claude-3-haiku-20240307</option>
107107 <option data-type="google" value="gemini-3-pro-preview">gemini-3-pro-preview</option>
108+ <option data-type="google" value="gemini-3-pro-image-preview">gemini-3-pro-image-preview</option>
108109 <option data-type="google" value="gemini-2.5-pro">gemini-2.5-pro</option>
109110 <option data-type="google" value="gemini-2.5-pro-preview-06-05">gemini-2.5-pro-preview-06-05</option>
110111 <option data-type="google" value="gemini-2.5-pro-preview-05-06">gemini-2.5-pro-preview-05-06</option>
@@ -133,6 +134,7 @@
133134 <option data-type="google" value="learnlm-2.0-flash-experimental">learnlm-2.0-flash-experimental</option>
134135 <option data-type="google" value="gemini-robotics-er-1.5-preview">gemini-robotics-er-1.5-preview</option>
135136 <option data-type="vertexai" value="gemini-3-pro-preview">gemini-3-pro-preview</option>
137+ <option data-type="vertexai" value="gemini-3-pro-image-preview">gemini-3-pro-image-preview</option>
136138 <option data-type="vertexai" value="gemini-2.5-pro">gemini-2.5-pro</option>
137139 <option data-type="vertexai" value="gemini-2.5-flash">gemini-2.5-flash</option>
138140 <option data-type="vertexai" value="gemini-2.5-flash-lite">gemini-2.5-flash-lite</option>
public/scripts/openai.js+2 -0
@@ -5154,6 +5154,8 @@ async function onModelChange() {
51545154 $('#openai_max_context').attr('max', max_2mil);
51555155 } else if (value.includes('gemini-2.5-flash-image')) {
51565156 $('#openai_max_context').attr('max', max_32k);
5157+ } else if (value.includes('gemini-3-pro-image')) {
5158+ $('#openai_max_context').attr('max', max_64k);
51575159 } else if (value.includes('gemini-3-pro') || value.includes('gemini-2.0-flash') || value.includes('gemini-2.0-pro') || value.includes('gemini-exp') || value.includes('gemini-2.5-flash') || value.includes('gemini-2.5-pro') || value.includes('learnlm-2.0-flash') || value.includes('gemini-robotics')) {
51585160 $('#openai_max_context').attr('max', max_1mil);
51595161 } else if (value.includes('gemma-3-27b-it')) {
src/endpoints/backends/chat-completions.js+1 -0
@@ -382,6 +382,7 @@ async function sendMakerSuiteRequest(request, response) {
382382 'gemini-2.0-flash-preview-image-generation',
383383 'gemini-2.5-flash-image-preview',
384384 'gemini-2.5-flash-image',
385+ 'gemini-3-pro-image-preview',
385386 ];
386387
387388 const isThinkingConfigModel = m => (/^gemini-2.5-(flash|pro)/.test(m) && !/-image(-preview)?$/.test(m)) || (/^gemini-3-pro/.test(m));
src/prompt-converters.js+7 -1
@@ -550,9 +550,15 @@ export function convertGooglePrompt(messages, model, useSysPrompt, names) {
550550
551551 // https://ai.google.dev/gemini-api/docs/gemini-3#migrating_from_other_models
552552 if (/gemini-3/.test(model)) {
553+ const skipSignatureMagic = 'skip_thought_signature_validator';
553554 parts.filter(p => p.functionCall).forEach(p => {
554555 p.thoughtSignature = 'context_engineering_is_the_way_to_go'skipSignatureMagic;
555556 });
557+ if (/-image/.test(model) && message.role === 'model') {
558+ parts.filter(p => p.text).forEach(p => {
559+ p.thoughtSignature = skipSignatureMagic;
560+ });
561+ }
556562 }
557563
558564 // merge consecutive messages with the same role