mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 18:12:04 +00:00
fix(Gemini Node): Allow Nano Banana model to be selected (#19080)
Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com>
This commit is contained in:
@@ -103,7 +103,7 @@ export async function execute(this: IExecuteFunctions, i: number): Promise<INode
|
|||||||
});
|
});
|
||||||
|
|
||||||
return await Promise.all(promises);
|
return await Promise.all(promises);
|
||||||
} else if (model.includes('imagen')) {
|
} else if (model.includes('imagen') || model.includes('flash-image')) {
|
||||||
// Imagen models use a different endpoint and request/response structure
|
// Imagen models use a different endpoint and request/response structure
|
||||||
const sampleCount = this.getNodeParameter('options.sampleCount', i, 1) as number;
|
const sampleCount = this.getNodeParameter('options.sampleCount', i, 1) as number;
|
||||||
const body = {
|
const body = {
|
||||||
|
|||||||
@@ -38,6 +38,9 @@ const mockResponse = {
|
|||||||
{
|
{
|
||||||
name: 'models/gemini-2.5-flash-preview-native-audio-dialog',
|
name: 'models/gemini-2.5-flash-preview-native-audio-dialog',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'models/gemini-2.5-flash-image',
|
||||||
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -126,6 +129,11 @@ describe('GoogleGemini -> listSearch', () => {
|
|||||||
name: 'models/imagen-3.0-generate-002',
|
name: 'models/imagen-3.0-generate-002',
|
||||||
value: 'models/imagen-3.0-generate-002',
|
value: 'models/imagen-3.0-generate-002',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased
|
||||||
|
name: 'models/gemini-2.5-flash-image (Nano Banana)',
|
||||||
|
value: 'models/gemini-2.5-flash-image',
|
||||||
|
},
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -64,11 +64,22 @@ export async function imageGenerationModelSearch(
|
|||||||
this: ILoadOptionsFunctions,
|
this: ILoadOptionsFunctions,
|
||||||
filter?: string,
|
filter?: string,
|
||||||
): Promise<INodeListSearchResult> {
|
): Promise<INodeListSearchResult> {
|
||||||
return await baseModelSearch.call(
|
const results = await baseModelSearch.call(
|
||||||
this,
|
this,
|
||||||
(model) => model.includes('imagen') || model.includes('image-generation'),
|
(model) =>
|
||||||
|
model.includes('imagen') ||
|
||||||
|
model.includes('image-generation') ||
|
||||||
|
model.includes('flash-image'),
|
||||||
filter,
|
filter,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
return {
|
||||||
|
results: results.results.map((r) =>
|
||||||
|
r.name.includes('gemini-2.5-flash-image')
|
||||||
|
? { name: `${r.name} (Nano Banana)`, value: r.value }
|
||||||
|
: r,
|
||||||
|
),
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function videoGenerationModelSearch(
|
export async function videoGenerationModelSearch(
|
||||||
|
|||||||
Reference in New Issue
Block a user