核心用法
Nano Banana Pro 是基于 Google Gemini 3 Pro Image API 的命令行图像生成工具,通过 Python 脚本实现文生图与图生图两大核心功能。
基础命令结构:
uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "描述" --filename "输出.png" [--resolution 1K|2K|4K] [--input-image "原图.png"]
关键设计: 必须从用户当前工作目录执行,确保输出文件保存在用户所在位置而非技能目录内。
工作流设计(Draft → Iterate → Final)
技能内置高效迭代策略,避免过早消耗高分辨率配额:
- Draft(1K):快速验证提示词方向,秒级反馈
- Iterate(同分辨率):微调提示词,保留
--input-image持续优化 - Final(4K):锁定提示词后输出最高质量
分辨率映射
| 用户表述 | 实际参数 |
|---------|---------|
| 无指定/低分辨率/1080p | 1K (~1024px) |
| 2K/2048/中等 | 2K (~2048px) |
| 高分辨率/4K/ultra | 4K (~4096px) |
编辑功能
支持基于参考图的局部重绘:通过 --input-image 加载原图,提示词描述修改指令(如"天空更戏剧性""转为水彩风格")。系统强调单一修改原则——每次只变更特定元素,其余全部保留。
显著优点
1. 分级渲染策略:1K草稿→4K成图的阶梯式工作流,显著降低时间与 token 成本
2. 精确提示控制:提供生成模板(含风格/构图/光线/配色/避坑清单)与编辑模板(锁定非目标元素),大幅提升出图可控性
3. 多分辨率原生支持:API 层直接支持 4K 输出,非超分放大,画质源头有保障
4. 环境感知执行:强制在用户 CWD 运行,避免文件散落技能目录的混乱
5. API Key 灵活注入:支持命令行参数 --api-key 或环境变量 GEMINI_API_KEY,便于多账户/密钥轮换
潜在缺点与局限性
1. 依赖外部 API:所有生成均调用 Google 服务端,离线不可用,存在网络延迟与配额限制
2. 分辨率锁定为 K 单位:不支持任意像素尺寸,需按 1K/2K/4K 阶梯选择
3. 无内置提示优化:未集成 Gemini 的提示增强功能,依赖用户原始描述质量
4. 编辑精度不可控:"保留其余元素"依赖模型理解,复杂场景可能出现非预期变化
5. 单图输出:每次调用仅生成一张图片,无批量生成或网格预览功能
6. UV 运行时依赖:要求系统预装 uv 工具,环境配置门槛高于纯 Python 脚本
适合人群
- AI 辅助设计用户:需要快速产出概念图、 mood board 或素材的设计师
- 内容创作者:博客配图、社交媒体视觉、演示文稿插图的生成需求
- 开发者/技术用户:习惯命令行操作,希望将图像生成集成到自动化工作流
- 已有 Gemini API 配额者:已拥有 Google AI Studio 或 GCP 访问权限的用户
常规风险
| 风险类别 | 说明 | 缓解建议 |
|---------|------|---------|
| **API 密钥泄露** | 命令行传参 `--api-key` 可能进入 shell history | 优先使用环境变量 `GEMINI_API_KEY` |
| **内容安全政策** | Gemini API 对特定主题(暴力、露骨内容等)有阻断机制 | 避免生成敏感题材,准备备选提示词 |
| **配额/费用超支** | 4K 生成成本显著高于 1K,高频使用易触限额 | 严格执行 Draft→Final 工作流 |
| **输出路径覆盖** | 时间戳命名虽降低冲突,但快速重试可能因秒级相同导致覆盖 | 手动添加区分标识或等待下一秒 |
| **版权与合规** | 生成图像的商用权利受 Google 服务条款约束 | 查阅最新 API 使用政策,保留合规记录 |