haotongl

gemini-image

使用 Gemini API 生成和编辑图片。当用户要求生成图片、编辑图片、修改图片、重绘图片、 生成高清图片、多轮对话迭代修改图片时触发此技能。 关键词: 生成图片、画图、图片编辑、修图、重绘、高清、2K、4K、text-to-image、image editing

haotongl 12 Updated 4mo ago

Resources

2
GitHub

Install

npx skillscat add haotongl/gemini-image-skill

Install via the SkillsCat registry.

SKILL.md

Gemini 图片生成与编辑技能

通过 Gemini API (Nano Banana 系列模型) 为用户生成、编辑、迭代修改图片。

工具脚本

SCRIPT="$HOME/.claude/skills/gemini-image/scripts/gemini_image.py"

所有图片操作通过此脚本完成,运行方式:

python3 "$SCRIPT" <command> [args...]

环境要求

  • API Key: 存在环境变量 $GEMINI_API_KEY (用户已配置在 .zshrc)
  • 代理: 如需代理,用户应在 shell 中设置 http_proxyhttps_proxy 环境变量
  • 依赖: google-genai, Pillow (如未安装则运行: pip3 install google-genai Pillow)

模型选择

模型 ID 别名 特点
gemini-3.1-flash-image-preview flash 快速,日常生成/编辑,默认选择
gemini-3-pro-image-preview pro 高质量,支持 2K/4K 分辨率输出
  • 默认使用 flash 模型
  • 当用户要求 2K/4K 高清时,自动切换到 pro 模型

命令参考

1. 文本生成图片

python3 "$SCRIPT" generate "描述文字" --output result.png --ratio 16:9 --model flash

参数:

  • prompt: 图片描述 (必填)
  • --output: 输出文件路径 (默认 generated.png)
  • --ratio: 宽高比,可选 1:1 2:3 3:2 3:4 4:3 4:5 5:4 9:16 16:9 21:9
  • --size: 分辨率 2k4k (指定后自动使用 pro 模型)
  • --model: flash(默认) 或 pro

2. 编辑已有图片

python3 "$SCRIPT" edit "编辑指令" --input source.png --output edited.png

参数:

  • prompt: 编辑指令 (必填,如 "把背景换成海边"、"去掉水印"、"重绘为高清版本")
  • --input: 输入图片路径 (必填)
  • --output: 输出文件路径 (默认 edited.png)
  • --ratio, --size, --model: 同上

3. 多轮对话 - 创建新会话

python3 "$SCRIPT" chat_new --session .gemini_chat_session.pkl

4. 多轮对话 - 发送消息

python3 "$SCRIPT" chat_send "修改指令" --session .gemini_chat_session.pkl --output v2.png
python3 "$SCRIPT" chat_send "继续修改" --input another.png --session .gemini_chat_session.pkl --output v3.png

参数:

  • prompt: 文字指令 (必填)
  • --session: 会话文件 (默认 .gemini_chat_session.pkl,不存在则自动创建)
  • --input: 可选,附带一张图片
  • --output: 输出文件路径 (默认 chat_output.png)

工作流程

场景 A: 单次生成/编辑

  1. 根据用户需求确定命令 (generate 或 edit)
  2. 选择合适的参数 (ratio, size, model)
  3. 运行脚本,等待生成
  4. 用 Read 工具查看生成的图片,向用户展示
  5. 如果用户不满意,根据反馈调整 prompt 重新生成

场景 B: 多轮迭代修改 (推荐用于需要反复调整的场景)

  1. 创建会话或直接发送第一条消息 (chat_send 会自动创建会话)
  2. 运行 chat_send,生成第一版图片
  3. 用 Read 工具查看图片,向用户展示
  4. 用户提出修改意见
  5. 继续用 chat_send 发送修改指令 (模型会记住上下文,无需重新描述)
  6. 重复 3-5 直到用户满意
  7. 如果用户最终想要高清版本,用 edit 命令 + --size 2k/4k 对最终版进行高清化

场景 C: 高清重绘已有图片

  1. 用 Read 工具先查看原图,理解内容
  2. 撰写详细的重绘 prompt (描述图片中的所有元素、布局、颜色)
  3. 运行 edit 命令,传入原图 + prompt + --size 2k
  4. 查看结果,向用户展示

重要提示

  • 每次生成图片后,必须用 Read 工具读取并展示给用户,这样用户才能看到效果
  • 生成图片的 prompt 要尽量具体详细,描述清楚风格、颜色、布局、内容
  • 多轮对话中,模型记住了之前的图片,所以后续指令可以简短 (如 "把颜色改成蓝色")
  • 如果生成失败 (finish_reason 不是 STOP),尝试简化 prompt 后重试
  • 中文和英文 prompt 都支持,复杂场景建议用英文 prompt 效果更好
  • 超时设置: 图片生成可能需要较长时间,Bash 命令 timeout 建议设为 120000ms