名称: nano-banana-pro
描述: 使用 Nano Banana Pro (Gemini 3 Pro Image) 生成或编辑图像。适用于包含编辑请求的图像创建/修改。支持文生图与图生图;1K/2K/4K分辨率;使用 --input-image 参数。
使用 Google 的 Nano Banana Pro API (Gemini 3 Pro Image) 生成新图像或编辑现有图像。
请使用绝对路径运行脚本(不要先切换到技能目录):
生成新图像:
uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "你的图像描述" --filename "输出文件名.png" [--resolution 1K|2K|4K] [--api-key 密钥]
编辑现有图像:
uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "编辑指令" --filename "输出文件名.png" --input-image "输入图片路径.png" [--resolution 1K|2K|4K] [--api-key 密钥]
重要提示: 始终从用户的当前工作目录运行,以确保图像保存在用户的工作位置,而非技能目录中。
目标:在提示词确定前快速迭代,避免在 4K 分辨率上浪费时间。
uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "<草稿提示词>" --filename "yyyy-mm-dd-hh-mm-ss-draft.png" --resolution 1K--input-image。uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "<最终提示词>" --filename "yyyy-mm-dd-hh-mm-ss-final.png" --resolution 4KGemini 3 Pro Image API 支持三种分辨率(必须使用大写 K):
将用户请求映射到 API 参数:
- 未提及分辨率 → 1K
- "低分辨率"、"1080"、"1080p"、"1K" → 1K
- "2K"、"2048"、"正常"、"中等分辨率" → 2K
- "高分辨率"、"高清"、"4K"、"超清" → 4K
脚本按以下顺序检查 API 密钥:
1. --api-key 参数(如果用户在聊天中提供了密钥则使用)
2. GEMINI_API_KEY 环境变量
如果两者均未提供,脚本将退出并报错。
command -v uv (必须存在)test -n \"$GEMINI_API_KEY\" (或传递 --api-key)如果是编辑:test -f \"输入图片路径.png\"
常见故障:
Error: No API key provided. → 设置 GEMINI_API_KEY 环境变量或传递 --api-keyError loading input image: → 路径错误或文件不可读;请检查 --input-image 指向真实的图像文件按以下模式生成文件名:yyyy-mm-dd-hh-mm-ss-描述性名称.png
格式: {时间戳}-{描述性名称}.png
- 时间戳:当前日期/时间,格式为 yyyy-mm-dd-hh-mm-ss (24小时制)
- 名称:描述性的小写文本,用连字符连接
- 描述部分应简洁(通常 1-5 个词)
- 根据用户的提示词或对话上下文命名
- 如果上下文不明确,使用随机标识符(如 x9k2、a7b3)
示例:
- 提示词 "A serene Japanese garden" → 2025-11-23-14-23-05-japanese-garden.png
- 提示词 "sunset over mountains" → 2025-11-23-15-30-12-sunset-mountains.png
- 提示词 "create an image of a robot" → 2025-11-23-16-45-33-robot.png
- 上下文不明确 → 2025-11-23-17-12-48-x9k2.png
当用户想要修改现有图像时:
1. 检查用户是否提供了图像路径或引用了当前目录中的图像
2. 使用 --input-image 参数指定图像路径
3. 提示词应包含编辑指令(例如:"让天空更戏剧化"、"移除人物"、"改为卡通风格")
4. 常见编辑任务:添加/移除元素、改变风格、调整颜色、模糊背景等
对于生成: 将用户的图像描述原样传递给 --prompt。仅在明显不足时进行改写。
对于编辑: 将编辑指令传递给 --prompt(例如:"在天空中添加彩虹"、"使其看起来像水彩画")
在这两种情况下,都应保留用户的创作意图。
当用户描述模糊或需要精确编辑时,可使用模板。
“创建一张图像:<主题>。风格:<风格>。构图:<相机/镜头>。光照:<光照>。背景:<背景>。配色方案:<调色板>。避免:<列表>。”
编辑模板(保留其他所有内容):
生成新图像:
uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "一个宁静的日式花园,樱花盛开" --filename "2025-11-23-14-23-05-japanese-garden.png" --resolution 4K
编辑现有图像:
uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "让天空更戏剧化,布满暴风云" --filename "2025-11-23-14-25-30-dramatic-sky.png" --input-image "original-photo.jpg" --resolution 2K