图像生成服务器

Nano Banana Pro MCP Server 是一个基于Google Gemini的Nano Banana Pro图像生成模型的服务器,支持文本到图像生成和图像编辑功能,适用于多种部署方式。

  • by bcharleson
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 bcharleson/nano-banana-mcp

使用说明

Nano Banana Pro MCP服务器

用于Google Gemini Nano Banana Pro图像生成模型的MCP服务器(gemini-3-pro-image-preview).

支持两者 工作室 (本地Cursor集成)和 HTTP/SSE (远程部署)传输。

特性

  • 文本到图像生成:根据文本描述创建高保真图像
  • 图像编辑:使用对话文本提示编辑现有图像
  • 多宽高比:支持1:1、16:9、9:16、4:3、3:4
  • 批量生成:一次最多生成4张图像
  • 高分辨率:配备Nano Banana Pro的2K-4K输出
  • 双重运输:STDIO用于本地使用,HTTP/SSE用于远程部署

快速开始

先决条件

📖 完整部署指南:参见 部署.md 了解所有平台的详细部署说明。

安装

git clone https://github.com/bcharleson/nano-banana-mcp.git
cd nano-banana-mcp
pip install -r requirements.txt

本地使用(STDIO)

1.配置光标

增添 .cursor/mcp.json:

{
  "mcpServers": {
    "nano-banana": {
      "command": "python3",
      "args": [
        "/absolute/path/to/nano-banana-mcp/server.py"
      ],
      "env": {
        "GEMINI_API_KEY": "your-api-key-here"
      }
    }
  }
}

2.重新启动游标

服务器将通过MCP工具提供。

远程部署(HTTP/SSE)

选项1:Docker

# Build
docker build -t nano-banana-mcp .

# Run
docker run -p 8000:8000 -e GEMINI_API_KEY=your-api-key nano-banana-mcp

选项2:Docker编写

# Create .env file
echo "GEMINI_API_KEY=your-api-key" > .env

# Run
docker-compose up -d

选项3:Fly.io

# Install flyctl
brew install flyctl

# Login
flyctl auth login

# Set secret
flyctl secrets set GEMINI_API_KEY=your-api-key

# Deploy
flyctl launch

方案4:铁路

  1. 点击:
  2. 添加 GEMINI_API_KEY 环境变量
  3. 部署!

选项5:渲染

  1. 创建新的Web服务
  2. 连接此仓库
  3. 设置环境变量: GEMINI_API_KEY
  4. 部署命令: python server.py --http

选项6:DigitalOcean应用平台

通过doctl命令行界面:

# Install doctl
brew install doctl

# Authenticate
doctl auth init

# Create app from spec
doctl apps create --spec .do/app.yaml

# Set secret
doctl apps update YOUR_APP_ID --spec .do/app.yaml

通过DigitalOcean控制台:

  1. 首选 数字海洋应用平台
  2. 点击“创建应用”
  3. 连接您的GitHub仓库: bcharleson/nano-banana-mcp
  4. DigitalOcean将自动检测 .do/app.yaml 配置
  5. 添加环境变量: GEMINI_API_KEY (标记为机密)
  6. 点击“创建资源”

一键部署:

定价:

  • 基本计划:每月5美元(512MB RAM,1个vCPU)
  • 专业版计划:每月12美元(1GB内存,1个vCPU)

快速部署脚本:

# One-command deployment
./scripts/deploy-digitalocean.sh

# Test deployment
./scripts/test-deployment.sh https://your-app.ondigitalocean.app

连接到远程服务器

在 .cursor/mcp.json:

{
  "mcpServers": {
    "nano-banana-remote": {
      "url": "https://your-deployment-url.com"
    }
  }
}

API使用

生成图像

# Via MCP tool
generate_image(
    prompt="A professional headshot of a tech entrepreneur in a modern office",
    output_path="/path/to/output.png",
    aspect_ratio="16:9",
    num_images=1
)

参数:

  • prompt (str):要生成的图像的文本描述
  • output_path (str,可选):保存图像的文件路径
  • aspect_ratio (str):以下之一: 1:1, 16:9, 9:16, 4:3, 3:4
  • num_images (int):要生成的图像数量(1-4)

编辑图像

# Via MCP tool
edit_image(
    prompt="Change the background to a futuristic data center",
    reference_image_path="/path/to/input.jpg",
    output_path="/path/to/edited.png",
    aspect_ratio="16:9"
)

参数:

  • prompt (str):要编辑的文本描述
  • reference_image_path (str):参考图像文件的路径
  • output_path (str,可选):保存编辑图像的文件路径
  • aspect_ratio (str):以下之一: 1:1, 16:9, 9:16, 4:3, 3:4

发展

本地运行(STDIO模式)

python server.py

本地运行(HTTP模式)

python server.py --http

服务器在上运行 http://localhost:8000 默认情况下。覆盖 PORT 环境变量:

PORT=3000 python server.py --http

测试HTTP端点

curl http://localhost:8000/health

Nano Banana Pro功能

  • 改进的文本呈现:跨多种语言的正确率约为94%
  • 多参考:最多可同时处理14个参考图像
  • 身份一致性:在最多5名人类受试者中保持一致性
  • 高分辨率:4K输出,专业使用
  • 高级推理:复杂指令遵循
  • 增强世界知识:更好的图表和信息图
  • 精确控制:照明和摄像头角度控制

环境变量

变量 必填 描述
GEMINI_API_KEY 是 来自Google AI Studio的Gemini API密钥
PORT 否 HTTP服务器端口(默认值:8000)

支持的图像格式

  • 输入:PNG、JPEG、WebP
  • 输出:PNG(base64或文件)

API详细信息

服务器使用Gemini API,并将密钥附加为URL参数:

https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent?key=YOUR_API_KEY

备注

  • 所有生成的图像都包含用于来源的SynthID水印
  • 最大生成超时:120秒
  • API费率限制适用于您的Gemini API等级

例子

生成YouTube缩略图

generate_image(
    prompt="Professional YouTube thumbnail for a data quality video. Bold text 'QUALITY DATA 2026'. Tech entrepreneur pointing at screen. Clean modern design. 16:9 aspect ratio.",
    output_path="/Users/you/Desktop/thumbnail.png",
    aspect_ratio="16:9",
    num_images=1
)

编辑头像背景

edit_image(
    prompt="Replace the background with a modern tech office with data visualizations on screens. Keep the person in focus. Professional lighting.",
    reference_image_path="/path/to/headshot.jpg",
    output_path="/path/to/edited.png",
    aspect_ratio="1:1"
)

生成多种变体

generate_image(
    prompt="Minimalist logo for AI automation company. Blue and orange colors. Clean geometric shapes.",
    output_path="/path/to/logo_1.png",
    aspect_ratio="1:1",
    num_images=4  # Generates logo_1.png, logo_2.png, logo_3.png, logo_4.png
)

贡献

欢迎投稿!请随时提交拉取请求。

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

链接

  • GitHub: https://github.com/bcharleson/nano-banana-mcp
  • API双子星: https://ai.google.dev/gemini-api/docs
  • FastMCP: https://github.com/jlowin/fastmcp
  • 主控程序: https://modelcontextprotocol.io

作者

布兰登·查尔森