🤖
Nano Banana Pro
使用Nano Banana Pro(Gemini 3 Pro Image)生成/编辑图像。适用于包含编辑的图像创建/修改请求。支持文本生成图像+图像生成图像;1K/2K/4K分辨率;使用--input-image参数。
安全通过
⚙️脚本
技能说明
name: nano-banana-pro description: 使用 Nano Banana Pro (Gemini 3 Pro Image) 生成/编辑图像。适用于包含编辑需求的图像创建/修改请求。支持文生图 + 图生图;1K/2K/4K分辨率;需使用 --input-image 参数。
Nano Banana Pro 图像生成与编辑
通过 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生成资源。
- 草稿阶段 (1K):快速反馈循环
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参数
- 若需编辑:在满意前保持相同的
- 终稿阶段 (4K):仅当提示词确定后执行
uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "<终版提示词>" --filename "yyyy-mm-dd-hh-mm-ss-final.png" --resolution 4K
分辨率选项
Gemini 3 Pro Image API 支持三种分辨率(需使用大写 K):
- 1K(默认) - 约 1024px 分辨率
- 2K - 约 2048px 分辨率
- 4K - 约 4096px 分辨率
将用户请求映射到 API 参数:
- 未提及分辨率 →
1K - "低分辨率", "1080", "1080p", "1K" →
1K - "2K", "2048", "普通", "中等分辨率" →
2K - "高分辨率", "high-res", "hi-res", "4K", "超清" →
4K
API 密钥
脚本按以下顺序检查 API 密钥:
--api-key参数(如果用户在聊天中提供了密钥则使用)GEMINI_API_KEY环境变量
如果两者都不可用,脚本将退出并显示错误消息。
预检 + 常见故障(快速修复)
-
预检:
command -v uv(必须存在)test -n \"$GEMINI_API_KEY\"(或传递--api-key)- 如果编辑:
test -f \"path/to/input.png\"
-
常见故障:
Error: 未提供 API 密钥。→ 设置GEMINI_API_KEY或传递--api-key加载输入图像时出错:→ 路径错误/文件不可读;验证--input-image指向真实图像- “配额/权限/403”类型的 API 错误 → 密钥错误、无访问权限或配额超限;尝试不同的密钥/账户
文件名生成
使用以下模式生成文件名:yyyy-mm-dd-hh-mm-ss-name.png
格式: {timestamp}-{描述性名称}.png
- 时间戳:当前日期/时间,格式为
yyyy-mm-dd-hh-mm-ss(24 小时制) - 名称:描述性小写文本,使用连字符
- 保持描述部分简洁(通常为 1-5 个词)
- 使用用户提示或对话中的上下文
- 如果不明确,使用随机标识符(例如
x9k2,a7b3)
示例:
- 提示“一个宁静的日本花园” →
2025-11-23-14-23-05-japanese-garden.png - 提示“山脉上的日落” →
2025-11-23-15-30-12-sunset-mountains.png - 提示“创建一个机器人的图像” →
2025-11-23-16-45-33-robot.png - 上下文不明确 →
2025-11-23-17-12-48-x9k2.png
图像编辑
当用户需要修改现有图片时:
- 检查是否提供了图片路径或引用了当前目录中的图片
- 使用
--input-image参数指定图片路径 - 提示词应包含编辑指令(例如"让天空更有戏剧性"、"移除人物"、"改为卡通风格")
- 常见编辑任务:添加/移除元素、改变风格、调整色彩、虚化背景等
提示词处理
生成场景: 将用户的图像描述直接传递给 --prompt 参数。仅在明显不足时进行改写。
编辑场景: 在 --prompt 中传递编辑指令(例如"在天空添加彩虹"、"改成水彩画效果")
两种情况下都应保留用户的创作意图。
提示词模板(高成功率)
当用户表述模糊或需要精确编辑时使用模板。
-
生成模板:
- "创建一张包含:<主体>的图像。风格:<风格>。构图:<镜头/景别>。光线:<光线>。背景:<背景>。配色方案:<色系>。避免:<列表>。"
-
编辑模板(保留其他所有元素):
- "仅修改:<单项修改>。保持完全一致:主体、构图/裁剪、姿势、光线、配色方案、背景、文字和整体风格。不添加新对象。如存在文字,保持原样不变。"
输出
- 将PNG图片保存到当前目录(若文件名包含路径则保存到指定位置)
- 脚本输出生成图片的完整路径
- 不要回读图片 - 仅需告知用户保存路径
示例
生成新图片:
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
如何使用「Nano Banana Pro」?
- 打开小龙虾AI(Web 或 iOS App)
- 点击上方「立即使用」按钮,或在对话框中输入任务描述
- 小龙虾AI 会自动匹配并调用「Nano Banana Pro」技能完成任务
- 结果即时呈现,支持继续对话优化