feat: add Nano Banana 2 model, revert default to Nano Banana Pro, bump v0.16.0

模型变更:
- 新增 Nano Banana 2 (gemini-3.1-flash-image-preview) 到模型列表
- 默认模型恢复为 Nano Banana Pro (gemini-3-pro-image-preview)
  原因:Nano Banana 2 刚发布,部分区域尚未完全上线,调用会超时
- 模型列表顺序:Nano Banana 2 > Nano Banana Pro > Nano Banana
- 更新 ProviderManager、image-generator.ts、media/generate route 的默认值

依赖更新:
- @ai-sdk/google 3.0.31 → 3.0.32

版本:
- package.json 版本号 0.15.1 → 0.16.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
7418andClaude Opus 4.6 committed 2026-02-27 01:05:04 +08:00
1 parent d5dd9cfe34
commit 5ac4eb5eb6
5 files changed
+11 -11

No files matched your search

+5 -5
View File
@@ -1,12 +1,12 @@
{
"name": "codepilot",
"version": "0.15.1",
"version": "0.16.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "codepilot",
"version": "0.15.1",
"version": "0.16.0",
"dependencies": {
"@ai-sdk/anthropic": "^3.0.47",
"@ai-sdk/google": "^3.0.31",
@@ -131,9 +131,9 @@
}
},
"node_modules/@ai-sdk/google": {
"version": "3.0.31",
"resolved": "https://registry.npmjs.org/@ai-sdk/google/-/google-3.0.31.tgz",
"integrity": "sha512-RVNz8WFSIRbXbYDBE6JvlE2escWPJimBCs22LzKEYH7DNfl/X7cHNa1LFho4PsY6Ib0JmbzB8s2+i0wHs/wNCg==",
"version": "3.0.32",
"resolved": "https://registry.npmjs.org/@ai-sdk/google/-/google-3.0.32.tgz",
"integrity": "sha512-BK8UOfLkGdoQQ0YgCuLm8uA+ZTPYRjKP2MAy6FPdZrx+DSc0Qvkl6vJWDjpS2tApSBp4xYkCyddaPapdE7o7/Q==",
"license": "Apache-2.0",
"dependencies": {
"@ai-sdk/provider": "3.0.8",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "codepilot",
"version": "0.15.1",
"version": "0.16.0",
"private": true,
"author": {
"name": "op7418",
+1 -1
View File
@@ -41,7 +41,7 @@ export async function POST(request: NextRequest) {
id: result.mediaGenerationId,
text: '',
images: result.images,
model: body.model || 'gemini-3.1-flash-image-preview',
model: body.model || 'gemini-3-pro-image-preview',
imageSize: body.imageSize || '1K',
elapsedMs: result.elapsedMs,
}),
+3 -3
View File
@@ -247,8 +247,8 @@ const QUICK_PRESETS: QuickPreset[] = [
{
key: "gemini-image",
name: "Google Gemini (Image)",
description: "Nano Banana 2 — AI image generation by Google Gemini",
descriptionZh: "Nano Banana 2 — Google Gemini AI 图片生成",
description: "Nano Banana Pro — AI image generation by Google Gemini",
descriptionZh: "Nano Banana Pro — Google Gemini AI 图片生成",
icon: <Google size={18} />,
provider_type: "gemini-image",
base_url: "https://generativelanguage.googleapis.com/v1beta",
@@ -264,7 +264,7 @@ const GEMINI_IMAGE_MODELS = [
{ value: 'gemini-2.5-flash-image', label: 'Nano Banana' },
];
const DEFAULT_GEMINI_IMAGE_MODEL = 'gemini-3.1-flash-image-preview';
const DEFAULT_GEMINI_IMAGE_MODEL = 'gemini-3-pro-image-preview';
function getGeminiImageModel(provider: ApiProvider): string {
try {
+1 -1
View File
@@ -43,7 +43,7 @@ export async function generateSingleImage(params: GenerateSingleImageParams): Pr
}
// Read configured model from extra_env, fall back to default
let configuredModel = 'gemini-3.1-flash-image-preview';
let configuredModel = 'gemini-3-pro-image-preview';
try {
const env = JSON.parse(provider.extra_env || '{}');
if (env.GEMINI_IMAGE_MODEL) configuredModel = env.GEMINI_IMAGE_MODEL;