AI 图像生成 + 图标提取 + 精修工作室
3 大工作流:电商生图(6+5 模板) + 图像精修(9 模板) + 图标提取流水线。基于 Google Gemini API,3 款模型从快速预览到 4K 影棚画质。generate → icon-extract 端到端链式调用。
FEATURES
主图、Banner、详情页、生活场景、四宫格、社媒。自动增强 Prompt 为商业级摄影指令,模板预设比例和分辨率。
单图标 (icon)、9 宫格 (icon-set)、6 格 (icon-set-6)、4 格 (icon-set-4)、风格对比 (icon-variants)。Surrounding Prompt Pattern 保证结构化输出。
icon-extract: 背景移除 → 检测 (grid/auto) → 智能裁切 → 独立 RGBA PNG + manifest。grid 模式适配模板输出,auto 模式适配任意图片。
背景替换/移除/白化、质量增强、人像修图、物品替换、风格迁移、调色、画布扩展。
Nano Banana (1K, 快速) → Nano Banana 2 (2K, 默认) → Nano Banana Pro (4K, 影棚级)。别名系统支持简写。
通过 --ref-image 传入参考图片进行图生图。Gemini 3+ 模型支持最多 14 张参考图,保持风格一致性。
REFERENCE
从文字描述生成产品图/图标
| 命令 | 说明 | 示例 |
|---|---|---|
hero | 产品主图 (1:1, 白底, 2K) | ./nanobanana generate "皮具手提包" --template hero |
banner | 营销 Banner (16:9, 2K) | ./nanobanana generate "夏季护肤品" --template banner |
detail | 细节材质图 (3:4, 2K) | ./nanobanana generate "键盘轴体特写" --template detail |
lifestyle | 生活场景图 (4:3, 2K) | ./nanobanana generate "极简书桌" --template lifestyle |
grid | 四宫格 (1:1, 2K) | ./nanobanana generate "无线耳机" --template grid |
social | 社媒图 (4:5, 1K) | ./nanobanana generate "有机茶叶" --template social |
icon | 单图标 (1:1, 1K, 居中) | ./nanobanana generate "settings gear" --template icon |
icon-set | 3×3 9宫格 (1:1, 2K) | ./nanobanana generate "9个社交图标" --template icon-set |
icon-set-4 | 2×2 4格 (1:1, 2K) | ./nanobanana generate "购物车,支付,配送,退货" --template icon-set-4 |
icon-set-6 | 3×2 6格 (3:2, 2K) | ./nanobanana generate "6个导航图标" --template icon-set-6 |
icon-variants | 同图标4种风格 (2×2) | ./nanobanana generate "cloud computing" --template icon-variants |
背景移除 → 检测 → 裁切 → RGBA PNG
| 命令 | 说明 | 示例 |
|---|---|---|
grid-NxM | Grid 切割 (模板输出) | ./nanobanana icon-extract sprite.png --layout grid-3x3 -o ./icons/ |
auto | 自动检测 (任意图片) | ./nanobanana icon-extract sheet.png -o ./icons/ |
--output-size | 输出尺寸 | ./nanobanana icon-extract img.png --output-size 256 |
--skip-bg-removal | 跳过背景移除 | ./nanobanana icon-extract transparent.png --skip-bg-removal --layout grid-3x2 |
--no-square | 保持原比例 | ./nanobanana icon-extract img.png --no-square |
--keep-intermediate | 保留中间结果 | ./nanobanana icon-extract img.png --keep-intermediate |
对已有图片进行 AI 增强、替换、变换
| 命令 | 说明 | 示例 |
|---|---|---|
bg-white | 白底电商背景 | ./nanobanana refine product.jpg --template bg-white |
bg-replace | 场景替换 | ./nanobanana refine product.jpg "大理石桌面" --template bg-replace |
bg-remove | 绿幕抠图 | ./nanobanana refine product.jpg --template bg-remove |
enhance | 画质增强 | ./nanobanana refine photo.jpg --template enhance --size 4K |
retouch | 人像修图 | ./nanobanana refine portrait.jpg --template retouch |
object-swap | 替换物品 | ./nanobanana refine room.jpg "玻璃茶几" --template object-swap |
style-transfer | 风格迁移 | ./nanobanana refine photo.jpg "浮世绘" --template style-transfer |
color-grade | 调色 | ./nanobanana refine photo.jpg "warm golden hour" --template color-grade |
extend | 画布扩展 | ./nanobanana refine photo.jpg "extend right" --template extend |
API Key 管理
| 命令 | 说明 | 示例 |
|---|---|---|
init | 初始化 API Key | ./nanobanana auth init --api-key "AIza..." |
status | 查看认证状态 | ./nanobanana auth status |
clean | 清除凭据 | ./nanobanana auth clean |
前往 Google AI Studio,创建 API Key(以 AIza 开头)。
# 方式一:CLI 初始化(推荐)
./nanobanana auth init --api-key "AIza..."
# 方式二:环境变量(免初始化)
export GEMINI_API_KEY="AIza..."
# 也支持 GOOGLE_API_KEY、NANOBANANA_API_KEY# 产品主图 (白底, 2K)
./nanobanana generate "luxury leather handbag, brown Italian calfskin" --template hero
# 营销 Banner (16:9)
./nanobanana generate "summer skincare collection" --template banner --model nano-banana-pro
# 参考图生图
./nanobanana generate "same style but in blue colorway" --ref-image product_red.jpg
# 9 个图标 (3×3 精灵图)
./nanobanana generate "social: like, comment, share, save, follow, message, search, notification, profile" --template icon-set
# 同图标4种风格对比
./nanobanana generate "cloud computing" --template icon-variants# 白底电商背景
./nanobanana refine product.jpg --template bg-white
# 场景替换
./nanobanana refine product.jpg "modern kitchen counter" --template bg-replace
# 4K 画质增强
./nanobanana refine photo.jpg --template enhance --size 4K --model nano-banana-pro
# 风格迁移
./nanobanana refine photo.jpg "Japanese woodblock print" --template style-transfer
# 自由编辑(不使用模板)
./nanobanana refine photo.jpg "make the lighting warmer and add golden hour glow"完整流水线:背景移除 → 检测 (grid/auto) → 智能裁切 → 独立 RGBA PNG + manifest。
# 端到端链式:生成 → 提取
./nanobanana generate "navigation: home, search, favorites, cart, profile, settings, notifications, messages, help" --template icon-set
./nanobanana icon-extract generated_image.png --layout grid-3x3 -o ./icons/
# Grid 切割 — 适合模板生成的精灵图(最可靠)
./nanobanana icon-extract sprite_3x3.png --layout grid-3x3 -o ./icons/
# Auto 检测 — 适合非结构化图片
./nanobanana icon-extract icon_sheet.png -o ./icons/
# 跳过背景移除(输入已透明)
./nanobanana icon-extract transparent.png --skip-bg-removal --layout grid-3x2Grid vs Auto:模板生成的图片应使用 grid 模式(确定性切割),非结构化图片使用 auto(组件分析)。
Agent 根据用户意图自动决定工作流:
| 用户意图 | Agent 动作 |
|---|---|
| "生成9个App图标" | generate --template icon-set → icon-extract --layout grid-3x3 |
| "生成4个图标" | generate --template icon-set-4 → icon-extract --layout grid-2x2 |
| "生成单个图标" | generate --template icon (无需提取) |
| "图标风格对比" | generate --template icon-variants → icon-extract --layout grid-2x2 |
| "提取这张图的图标" | icon-extract <img> -o ./icons/ |
| 模型 ID | 别名 | 最大分辨率 | 适用场景 |
|---|---|---|---|
gemini-2.5-flash-image | Nano Banana, nano-banana, fast | 1024px | 快速预览 |
gemini-3.1-flash-image-preview | Nano Banana 2, nano-banana-2, flash | 2K | 默认,速度与质量平衡 |
gemini-3-pro-image-preview | Nano Banana Pro, nano-banana-pro, pro | 4K | 影棚级画质,支持 Thinking |
| 选项 | 说明 |
|---|---|
--template | 模板名(auto-sets ratio/size/prompt) |
--model | 模型覆盖(默认 nano-banana-2) |
--ratio | 宽高比覆盖 |
--size | 分辨率覆盖 (1K/2K/4K) |
--format | 输出格式 (png/jpeg/webp) |
--ref-image | 参考图(可重复,Gemini 3+ 最多 14 张) |
--raw | 跳过模板增强,使用原始 Prompt |
-o / --output | 输出目录 |
-n / --name | 输出文件名(无扩展名) |
image-studio/
├── nanobanana ← Bash CLI 入口
├── SKILL.md ← Agent 指令文件
├── scripts/
│ ├── nanobanana_api.py ← 核心引擎 (Google Gemini API 客户端)
│ ├── auth.py ← 凭据管理 (init / status / clean)
│ ├── generate.py ← 电商生图 (6 模板) + 图标生成 (5 模板)
│ ├── refine.py ← 图像精修 (9 模板)
│ └── icon_extract.py ← 图标提取流水线 (bg-removal + detect + crop)
├── evals/
│ └── evals.json ← 测试用例
└── references/
└── api_reference.md ← API 参数参考INSTALL