Nano Banana Pro

Polar Sponsor
爱发电 赞助
.NET 9.0

使用 Nano Banana Pro (Gemini 3 Pro Image) 生成或编辑图像。支持文生图、图生图及 1K/2K/4K 分辨率,适用于图像创建、修改及编辑请求,使用 --input-image 指定输入图像。

Nano Banana Pro 图像生成和编辑

功能概述

Nano Banana Pro 图像生成和编辑是一项面向实际任务的技能,主要用于Generalate 新的图像或编辑现有的图像, 使用 Google 的 Nano Banana Pro API (Gemini 3 Pro Image);. 使用绝对路径运行脚本( 不要 cd to s)。

核心要点

  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;

结果检查与注意事项

涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Nano Banana Pro 图像生成与编辑

使用 Google 的 Nano Banana Pro API(Gemini 3 Pro Image)生成新图像或编辑现有图像。

使用方法

请使用绝对路径运行脚本(切勿先执行 cd 进入 skill 目录):

生成新图像:

uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "你的图像描述" --filename "输出名称.png" [--resolution 1K|2K|4K] [--api-key KEY]

编辑已有图像:

uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "编辑指令" --filename "输出名称.png" --input-image "path/to/input.png" [--resolution 1K|2K|4K] [--api-key KEY]

重要提示:始终从用户当前工作目录运行脚本,以确保图像保存在用户当前所在位置,而非 skill 目录中。

默认工作流(草稿 → 迭代 → 定稿)

目标:在提示词尚未确定前,避免直接消耗资源生成 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(默认)— 约 1024 像素分辨率
  • 2K — 约 2048 像素分辨率
  • 4K — 约 4096 像素分辨率

将用户请求映射至 API 参数:

  • 未提及分辨率 → 1K
  • “低分辨率”、“1080”、“1080p”、“1K” → 1K
  • “2K”、“2048”、“普通”、“中等分辨率” → 2K
  • “高分辨率”、“high-res”、“hi-res”、“4K”、“ultra” → 4K

API 密钥

脚本按以下顺序查找 API 密钥:

  1. --api-key 参数(适用于用户在对话中直接提供密钥的场景)
  2. GEMINI_API_KEY 环境变量

若两者均不可用,脚本将退出并显示错误信息。

预检步骤 + 常见失败(快速修复)

  • 预检:

    • command -v uv(必须存在)
    • test -n "$GEMINI_API_KEY"(或传入 --api-key)
    • 若为图像编辑:test -f "path/to/input.png"
  • 常见失败:

    • Error: No API key provided. → 设置 GEMINI_API_KEY 或传入 --api-key
    • Error loading input image: → 路径错误或文件不可读;请确认 --input-image 指向真实存在的图像文件
    • 类似 “quota/permission/403” 的 API 错误 → 密钥错误、无访问权限或配额已用尽;可尝试更换密钥或账户

文件名生成规则

文件名格式为:yyyy-mm-dd-hh-mm-ss-name.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 参数值传递(例如:“在天空中添加一道彩虹”、“使其呈现水彩画风格”)

两种情况下均需忠实保留用户的创意意图。

提示词模板(高成功率)

当用户描述模糊,或编辑要求高度精确时,建议使用以下模板。

  • 生成模板:

    • “创建一幅图像,主题为:。风格: