Browse Source

feat: add nano-banana-2 to Gemini provider

Map nano-banana-2 to gemini-3.1-flash-image-preview API model.
Enable resolution control and Google Search grounding for nano-banana-2.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
handoff-20260429-1057
shrimbly 5 months ago
parent
commit
5b7cd0d8e4
  1. 9
      src/app/api/generate/providers/gemini.ts

9
src/app/api/generate/providers/gemini.ts

@ -14,6 +14,7 @@ import { GenerateResponse, ModelType } from "@/types";
export const MODEL_MAP: Record<ModelType, string> = { export const MODEL_MAP: Record<ModelType, string> = {
"nano-banana": "gemini-2.5-flash-image", "nano-banana": "gemini-2.5-flash-image",
"nano-banana-pro": "gemini-3-pro-image-preview", "nano-banana-pro": "gemini-3-pro-image-preview",
"nano-banana-2": "gemini-3.1-flash-image-preview",
}; };
/** /**
@ -71,17 +72,17 @@ export async function generateWithGemini(
}; };
} }
// Add resolution only for Nano Banana Pro // Add resolution for Nano Banana Pro and Nano Banana 2
if (model === "nano-banana-pro" && resolution) { if ((model === "nano-banana-pro" || model === "nano-banana-2") && resolution) {
if (!config.imageConfig) { if (!config.imageConfig) {
config.imageConfig = {}; config.imageConfig = {};
} }
(config.imageConfig as Record<string, unknown>).imageSize = resolution; (config.imageConfig as Record<string, unknown>).imageSize = resolution;
} }
// Add tools array for Google Search (only Nano Banana Pro) // Add tools array for Google Search (Nano Banana Pro and Nano Banana 2)
const tools = []; const tools = [];
if (model === "nano-banana-pro" && useGoogleSearch) { if ((model === "nano-banana-pro" || model === "nano-banana-2") && useGoogleSearch) {
tools.push({ googleSearch: {} }); tools.push({ googleSearch: {} });
} }

Loading…
Cancel
Save