OpenClaw-hot-skills-zh nano-banana-pro-zh
使用 Nano Banana Pro (Gemini 3 Pro Image) 生成/编辑图像。用于图像创建或修改请求,支持文生图和图生图;支持 1K/2K/4K 分辨率;可使用 --input-image 参数编辑现有图像。
install
source · Clone the upstream repo
git clone https://github.com/L-LesterYu/OpenClaw-hot-skills-zh
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/L-LesterYu/OpenClaw-hot-skills-zh "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/nano-banana-pro-zh" ~/.claude/skills/l-lesteryu-openclaw-hot-skills-zh-nano-banana-pro-zh && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/L-LesterYu/OpenClaw-hot-skills-zh "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/nano-banana-pro-zh" ~/.openclaw/skills/l-lesteryu-openclaw-hot-skills-zh-nano-banana-pro-zh && rm -rf "$T"
manifest:
skills/nano-banana-pro-zh/SKILL.mdsource content
Nano Banana Pro 图像生成与编辑
使用 Google 的 Nano Banana Pro API (Gemini 3 Pro Image) 生成新图像或编辑现有图像。
使用方法
使用绝对路径运行脚本(请勿先 cd 到技能目录):
生成新图像:
uv run ~/.codex/skills/nano-banana-pro-zh/scripts/generate_image.py --prompt "你的图像描述" --filename "输出文件名.png" [--resolution 1K|2K|4K] [--api-key KEY]
编辑现有图像:
uv run ~/.codex/skills/nano-banana-pro-zh/scripts/generate_image.py --prompt "编辑指令" --filename "输出文件名.png" --input-image "输入图像路径.png" [--resolution 1K|2K|4K] [--api-key KEY]
重要提示: 始终从用户当前工作目录运行,以便图像保存在用户工作位置,而不是技能目录中。
默认工作流(草稿 → 迭代 → 最终)
目标:快速迭代,在提示词正确之前不要浪费时间生成 4K 图像。
- 草稿 (1K):快速反馈循环
uv run ~/.codex/skills/nano-banana-pro-zh/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-zh/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 - "高分辨率"、"高清"、"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"
-
常见故障:
→ 设置错误:未提供 API 密钥。
或传递GEMINI_API_KEY--api-key
→ 路径错误或文件不可读;验证加载输入图像时出错:
指向真实图像--input-image- "配额/权限/403" 类 API 错误 → 密钥错误、无访问权限或配额超限;尝试使用不同的密钥/账户
文件名生成
使用以下模式生成文件名:
yyyy-mm-dd-hh-mm-ss-name.png
格式:
{时间戳}-{描述性名称}.png
- 时间戳:当前日期/时间,格式为
(24小时制)yyyy-mm-dd-hh-mm-ss - 名称:带连字符的描述性小写文本
- 保持描述部分简洁(通常 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-zh/scripts/generate_image.py --prompt "一个带有樱花的宁静日式花园" --filename "2025-11-23-14-23-05-japanese-garden.png" --resolution 4K
编辑现有图像:
uv run ~/.codex/skills/nano-banana-pro-zh/scripts/generate_image.py --prompt "让天空更具戏剧性,添加暴风云" --filename "2025-11-23-14-25-30-dramatic-sky.png" --input-image "original-photo.jpg" --resolution 2K