feat: support Nano Banana image generation tool

This commit is contained in:
loitragg 2025-11-17 17:27:01 +07:00
parent 0cf0ca4ee2
commit 9275d28bf7
No known key found for this signature in database
GPG key ID: 96292BAF3E28CFF5
2 changed files with 5 additions and 2 deletions

View file

@ -3305,7 +3305,7 @@ AUTOMATIC1111_BASE_URL = PersistentConfig(
) )
AUTOMATIC1111_API_AUTH = PersistentConfig( AUTOMATIC1111_API_AUTH = PersistentConfig(
"AUTOMATIC1111_API_AUTH", "AUTOMATIC1111_API_AUTH",
"image_generation.automatic1111.api_auth", "image_generation.automatic1111.params",
os.getenv("AUTOMATIC1111_API_AUTH", ""), os.getenv("AUTOMATIC1111_API_AUTH", ""),
) )

View file

@ -75,7 +75,7 @@ def get_image_model(request):
return ( return (
request.app.state.config.IMAGE_GENERATION_MODEL request.app.state.config.IMAGE_GENERATION_MODEL
if request.app.state.config.IMAGE_GENERATION_MODEL if request.app.state.config.IMAGE_GENERATION_MODEL
else "imagen-3.0-generate-002" else "gemini-2.5-flash-image"
) )
elif request.app.state.config.IMAGE_GENERATION_ENGINE == "comfyui": elif request.app.state.config.IMAGE_GENERATION_ENGINE == "comfyui":
return ( return (
@ -383,6 +383,7 @@ def get_models(request: Request, user=Depends(get_verified_user)):
] ]
elif request.app.state.config.IMAGE_GENERATION_ENGINE == "gemini": elif request.app.state.config.IMAGE_GENERATION_ENGINE == "gemini":
return [ return [
{"id": "gemini-2.5-flash-image", "name": "Gemini 2.5 Flash Image 🎨 (Recommended)"},
{"id": "imagen-3.0-generate-002", "name": "imagen-3.0 generate-002"}, {"id": "imagen-3.0-generate-002", "name": "imagen-3.0 generate-002"},
] ]
elif request.app.state.config.IMAGE_GENERATION_ENGINE == "comfyui": elif request.app.state.config.IMAGE_GENERATION_ENGINE == "comfyui":
@ -635,6 +636,7 @@ async def image_generations(
r.raise_for_status() r.raise_for_status()
res = r.json() res = r.json()
# print(f"Gemini response: {json.dumps(res, indent=2)[:500]}")
images = [] images = []
@ -656,6 +658,7 @@ async def image_generations(
request, image_data, content_type, data, user request, image_data, content_type, data, user
) )
images.append({"url": url}) images.append({"url": url})
log.info("Successfully processed image from Gemini response")
return images return images