Token导航 LogoToken导航TokenDH.com
Nanobanana Py logo
运维云端stdio官方级别未说明来源级核验

Nanobanana Py

MCP Server

基于Google Gemini模型的Python MCP服务器,提供文字转图片生成、图片编修、修复及多种专业图像生成功能。

工具数

7

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude云端部署Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

yazelin

提供方

yazelin

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uvx nanobanana-py

详细介绍

nanobanana-py

Python MCP Server,使用 Google Gemini 模型進行 AI 圖片生成。

完整移植自 nanobanana(TypeScript 版)。

✨ 功能特色

  • 🎨 文字轉圖片生成:依照描述式提示詞生成高品質圖片
  • ✏️ 圖片編修:用自然語言指令修改既有圖片
  • 🔧 圖片修復:修復並強化老舊或受損照片
  • 🏷️ 圖示生成:生成多尺寸的 App 圖示、Favicon 與 UI 元件
  • 🎯 圖樣生成:生成可無縫拼接的圖樣與背景材質
  • 📖 故事序列:生成可呈現視覺故事或流程的連續圖片
  • 📊 技術圖表:生成流程圖、架構圖與技術示意圖
  • 🔄 自動 Fallback:主模型失敗時自動切換備用模型
  • ⚡ 批次生成:支援平行生成多張圖片

📋 前置需求

  1. Python 3.10+
  2. API Key — 擇一:

A. Gemini Developer API(AI Studio) - NANOBANANA_GEMINI_API_KEY(建議)/ NANOBANANA_GOOGLE_API_KEY - GEMINI_API_KEYGOOGLE_API_KEY(備援) - 取得:

B. Vertex AI Express Mode(Google Cloud,可用較新的 gemini-3.1-flash-image-preview 等模型) - NANOBANANA_VERTEX_API_KEY(建議)/ VERTEX_API_KEY(備援) - 取得:Google Cloud Console 或 AI Studio 綁定 GCP 專案的 key

> 只要設了 Vertex 專用變數,自動切 Vertex;想強制可加 NANOBANANA_PROVIDER=vertex(或 gemini)。

🚀 安裝

透過 uvx(推薦)

uvx nanobanana-py

透過 pip

pip install nanobanana-py

透過 pipx

pipx install nanobanana-py

⚙️ 設定

環境變數

# API Key(必要)
export NANOBANANA_GEMINI_API_KEY="your-api-key-here"

# 使用不同模型(預設:gemini-2.5-flash-image)
export NANOBANANA_MODEL="gemini-3-pro-image-preview"

# Fallback 模型(逗號分隔,主模型失敗時依序嘗試)
export NANOBANANA_FALLBACK_MODELS="gemini-2.5-flash-image,gemini-2.0-flash-exp-image-generation"

# API 超時秒數(預設:60)
export NANOBANANA_TIMEOUT="90"

# 自訂輸出目錄(預設:當前目錄)
export NANOBANANA_OUTPUT_DIR="/path/to/output"

# 啟用除錯日誌
export NANOBANANA_DEBUG="1"

🍌 模型選擇

此工具支援兩種模型:

模型說明特性
gemini-2.5-flash-image預設模型快速、穩定
gemini-3-pro-image-previewPro 模型高品質、支援 2K/4K

🔄 自動 Fallback 機制

當主模型失敗(超時、過載或錯誤)時,會自動切換到備用模型。回應中會包含 fallback 資訊:

{
  "success": true,
  "message": "Successfully generated 1 image (使用備用模型: gemini-2.5-flash-image,原本: gemini-3-pro-image-preview)",
  "modelUsed": "gemini-2.5-flash-image",
  "usedFallback": true,
  "primaryModel": "gemini-3-pro-image-preview"
}

Claude Code 整合

.mcp.json 中加入:

{
  "mcpServers": {
    "nanobanana": {
      "command": "uvx",
      "args": ["nanobanana-py"],
      "env": {
        "NANOBANANA_GEMINI_API_KEY": "your-api-key-here"
      }
    }
  }
}

💡 使用方式

🎨 generate_image - 生成圖片

從文字描述生成單張或多張圖片。

參數:

參數類型預設值說明
promptstring(必填)圖片描述
filesarray-參考圖片路徑(1-13 張)
filenamestring-輸出檔名
output_countint1生成數量(1-8)
stylesarray-藝術風格
variationsarray-變化類型
formatstring"separate"輸出格式(grid / separate)
seedint-隨機種子(用於重現結果)
resolutionstring"1K"解析度(1K / 2K / 4K)
previewboolfalse自動預覽
no_previewboolfalse強制禁用預覽
parallelint2平行生成數量(1-8)

可用風格(styles):

  • photorealistic - 寫實攝影風格
  • watercolor - 水彩畫風
  • oil-painting - 油畫技法
  • sketch - 手繪素描風
  • pixel-art - 復古像素風
  • anime - 動漫/漫畫風
  • vintage - 復古/懷舊美學
  • modern - 當代/現代風格
  • abstract - 抽象藝術風
  • minimalist - 乾淨、極簡設計

可用變化類型(variations):

  • lighting - 不同光線條件(戲劇化、柔和)
  • angle - 不同視角(俯視、特寫)
  • color-palette - 不同配色(暖色、冷色)
  • composition - 不同構圖(置中、三分法)
  • mood - 不同情緒氛圍(愉快、戲劇化)
  • season - 不同季節(春、冬)
  • time-of-day - 不同時段(日出、日落)

範例:

# 單張圖片
generate_image(prompt="一幅水彩畫:雪地森林裡的狐狸")

# 多張變體(含預覽)
generate_image(prompt="群山日落", output_count=3, preview=True)

# 指定輸出檔名
generate_image(prompt="群山日落", output_count=3, filename="sunset_mountains")

# 風格變體
generate_image(
    prompt="山景風光",
    styles=["watercolor", "oil-painting"],
    output_count=4
)

# 指定變化類型
generate_image(
    prompt="咖啡店室內",
    variations=["lighting", "mood"],
    preview=True
)

✏️ edit_image - 編修圖片

用自然語言指令修改既有圖片。

參數:

參數類型預設值說明
promptstring(必填)編輯描述
filestring(必填)輸入圖片路徑
filenamestring-輸出檔名
resolutionstring"1K"解析度(1K / 2K / 4K)
previewboolfalse自動預覽
no_previewboolfalse強制禁用預覽
parallelint2平行生成數量(1-8)

範例:

# 基本編修
edit_image(file="my_photo.png", prompt="幫人物加上太陽眼鏡")

# 指定輸出檔名
edit_image(
    file="my_photo.png",
    prompt="幫人物加上太陽眼鏡",
    filename="with_sunglasses"
)

# 編修並預覽
edit_image(
    file="portrait.jpg",
    prompt="把背景改成海灘",
    preview=True
)

🔧 restore_image - 修復圖片

修復並強化老舊或受損照片。

參數:

參數類型預設值說明
promptstring(必填)修復描述
filestring(必填)輸入圖片路徑
filenamestring-輸出檔名
resolutionstring"1K"解析度(1K / 2K / 4K)
previewboolfalse自動預覽
no_previewboolfalse強制禁用預覽
parallelint2平行生成數量(1-8)

範例:

# 移除刮痕
restore_image(
    file="old_family_photo.jpg",
    prompt="移除刮痕並提升清晰度"
)

# 增強色彩
restore_image(
    file="damaged_photo.png",
    prompt="增強色彩並修補撕裂",
    preview=True
)

🎯 generate_icon - 生成圖示

生成多尺寸的 App 圖示、Favicon 與 UI 元件。

參數:

參數類型預設值說明
promptstring(必填)圖示描述
filesarray-參考圖片路徑(1-14 張)
filenamestring-輸出檔名
sizesarray[1024]尺寸(16, 32, 64, 128, 256, 512, 1024)
typestring"app-icon"類型(app-icon / favicon / ui-element)
stylestring"modern"風格(flat / skeuomorphic / minimal / modern)
formatstring"png"格式(png / jpeg)
backgroundstring"transparent"背景(transparent / white / black)
cornersstring"rounded"圓角(rounded / sharp)
resolutionstring"1K"解析度(1K / 2K / 4K)
previewboolfalse自動預覽
no_previewboolfalse強制禁用預覽
parallelint2平行生成數量(1-8)

範例:

# 多尺寸 App 圖示
generate_icon(
    prompt="咖啡杯 logo",
    sizes=[64, 128, 256],
    type="app-icon",
    preview=True
)

# Favicon 組合
generate_icon(
    prompt="公司 logo",
    type="favicon",
    sizes=[16, 32, 64]
)

# UI 元件
generate_icon(
    prompt="設定齒輪圖示",
    type="ui-element",
    style="minimal"
)

🎨 generate_pattern - 生成圖樣

生成可無縫拼接的圖樣與背景材質。

參數:

參數類型預設值說明
promptstring(必填)圖樣描述
filesarray-參考圖片路徑(1-14 張)
filenamestring-輸出檔名
sizestring"256x256"尺寸(128x128, 256x256, 512x512)
typestring"seamless"類型(seamless / texture / wallpaper)
stylestring"abstract"風格(geometric / organic / abstract / floral / tech)
densitystring"medium"密度(sparse / medium / dense)
colorsstring"colorful"配色(mono / duotone / colorful)
repeatstring"tile"重複方式(tile / mirror)
resolutionstring"1K"解析度(1K / 2K / 4K)
previewboolfalse自動預覽
no_previewboolfalse強制禁用預覽
parallelint2平行生成數量(1-8)

範例:

# 無縫拼接圖樣
generate_pattern(
    prompt="幾何三角形",
    type="seamless",
    style="geometric",
    preview=True
)

# 背景材質
generate_pattern(
    prompt="木紋材質",
    type="texture",
    colors="mono"
)

# 桌布圖樣
generate_pattern(
    prompt="花卉設計",
    type="wallpaper",
    density="sparse"
)

📖 generate_story - 生成故事序列

生成連續圖片,用於說故事或呈現逐步流程。

參數:

參數類型預設值說明
promptstring(必填)故事描述
filesarray-參考圖片路徑(1-14 張)
filenamestring-輸出檔名
stepsint4步驟數(2-8)
typestring"story"類型(story / process / tutorial / timeline)
stylestring"consistent"風格一致性(consistent / evolving)
layoutstring"separate"版面(separate / grid / comic)
transitionstring"smooth"過渡效果(smooth / dramatic / fade)
formatstring"individual"格式(storyboard / individual)
resolutionstring"1K"解析度(1K / 2K / 4K)
previewboolfalse自動預覽
no_previewboolfalse強制禁用預覽
parallelint2平行生成數量(1-8)

範例:

# 視覺故事序列
generate_story(
    prompt="一顆種子長成樹",
    steps=4,
    type="process",
    preview=True
)

# 逐步教學
generate_story(
    prompt="如何煮咖啡",
    steps=6,
    type="tutorial"
)

# 時間軸視覺化
generate_story(
    prompt="智慧型手機的演進",
    steps=5,
    type="timeline"
)

📊 generate_diagram - 生成技術圖表

生成專業的技術圖表、流程圖與架構示意。

參數:

參數類型預設值說明
promptstring(必填)圖表描述
filesarray-參考圖片路徑(1-14 張)
filenamestring-輸出檔名
typestring"flowchart"類型(見下方)
stylestring"professional"風格(professional / clean / hand-drawn / technical)
layoutstring"hierarchical"版面(horizontal / vertical / hierarchical / circular)
complexitystring"detailed"複雜度(simple / detailed / comprehensive)
colorsstring"accent"配色(mono / accent / categorical)
annotationsstring"detailed"標註(minimal / detailed)
resolutionstring"1K"解析度(1K / 2K / 4K)
previewboolfalse自動預覽
no_previewboolfalse強制禁用預覽
parallelint2平行生成數量(1-8)

圖表類型(type):

類型說明
flowchart流程、決策樹、工作流程
architecture系統架構、微服務、基礎設施
network網路拓樸、伺服器配置
database資料庫結構、實體關係
wireframeUI/UX 線框稿、頁面配置
mindmap心智圖、概念層級
sequence時序圖、API 互動

範例:

# 系統流程圖
generate_diagram(
    prompt="使用者登入流程",
    type="flowchart",
    style="professional",
    preview=True
)

# 系統架構圖
generate_diagram(
    prompt="微服務架構",
    type="architecture",
    complexity="detailed"
)

# 資料庫結構
generate_diagram(
    prompt="電商資料庫設計",
    type="database",
    layout="hierarchical"
)

📁 檔案管理

智慧檔名生成

圖片會依據提示詞以友善檔名儲存:

  • "sunset over mountains"sunset_over_mountains_20240101_123456_abc123.jpg
  • "abstract art piece"abstract_art_piece_20240101_123456_def456.jpg

自訂檔名

使用 filename 參數可指定輸出檔名:

  • 單張:filename="mountain_view"mountain_view.jpg
  • 多張:filename="mountain_view" + output_count=3mountain_view_1.jpg, mountain_view_2.jpg, mountain_view_3.jpg

檔案搜尋位置

進行編修/修復時,會在以下位置搜尋輸入圖片:

  1. 目前工作目錄
  2. 輸出目錄(NANOBANANA_OUTPUT_DIR
  3. 使用者家目錄

輸出目錄

生成圖片會儲存到:

  1. NANOBANANA_OUTPUT_DIR 環境變數指定的目錄(如有設定)
  2. 目前工作目錄下的 nanobanana-output/ 子目錄(預設)

🛠️ 開發

# Clone 儲存庫
git clone https://github.com/aspect-apps/nanobanana-py.git
cd nanobanana-py

# 安裝依賴
uv sync

# 安裝開發依賴
uv sync --extra dev

# 執行測試
uv run pytest

# 格式化程式碼
uv run ruff format src/
uv run ruff check src/ --fix

🐛 疑難排解

常見問題

  1. 「No API key found」

請設定 NANOBANANA_GEMINI_API_KEY 環境變數:

   export NANOBANANA_GEMINI_API_KEY="your-api-key-here"
  1. 「Model timeout」或「Model overloaded」

- 稍後再試,或 - 設定 NANOBANANA_MODEL 使用其他模型 - 自動 fallback 機制會嘗試切換備用模型

  1. 「Image not found」

確認輸入檔案位於支援的搜尋目錄(見「檔案搜尋位置」)

  1. 圖片生成到錯誤目錄

設定 NANOBANANA_OUTPUT_DIR 環境變數指定輸出目錄:

   export NANOBANANA_OUTPUT_DIR="/path/to/output"

除錯模式

啟用除錯日誌以診斷問題:

export NANOBANANA_DEBUG="1"

📄 授權

MIT

🤝 致謝

目录标签

目录标签

PythonClaude云端部署AI图片生成本地部署图片编辑图像修复图标生成技术图表

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP