Image Forge 是一个像素级精确的图像编辑技能,核心思路是三层路由:确定性操作交给 CLI 工具,语义编辑交给 AI 模型,图像分析交给视觉模型。判断原则是:当编辑需要理解图像内容时使用 AI;当编辑需要精确知道对像素做什么时使用 ImageMagick。
三层路由
第一层:确定性操作(magick、sips、transparent-background)
适用于具有精确数值参数的操作,包括:精确尺寸缩放、保持宽高比缩放、填充裁剪、仅缩小、按偏移裁剪、居中裁剪、自动裁剪空白、格式转换、添加文字、合成叠加、水印、亮度对比度调整、饱和度调整、灰度、棕褐色、模糊、锐化、去除背景(简单方式)、剥离元数据、设置 DPI、批量缩放、拼图/联系表,以及 macOS 上的 sips 快速格式转换和缩放。
第二层:AI 语义编辑(nano-banana-pro / Gemini)
当编辑需要理解图像内容时,委托给 nano-banana-pro 技能,例如:从照片中移除人物/物体、更改天空/天气/时间、应用艺术风格迁移、修复/扩展区域、从头生成新图像、对象移除后的内容感知填充。
需要注意:Nano Banana 是重新生成而非编辑。每次调用都会重新生成整个画面,即使提示要求逐字保留某些区域。经验测量显示,目标区域之外约 40% 的像素会发生漂移。对于外科手术式的区域编辑(例如换脸但保持其他一切不变),应使用混合模式:让 NB 生成漂移的参考图,然后用羽化 alpha 蒙版仅将目标区域合成到原始图像上。Nano Banana 还只支持离散的宽高比(1:1、2:3、3:2、3:4、4:3、4:5、5:4、9:16、16:9、21:9)。对于其他比例的输入(如 3:1 全景图),需参考填充-生成-裁剪的配方。
第三层:视觉分析(Claude Read 工具)
使用 Read 工具在编辑前后检查图像:验证编辑是否成功、描述图像内容、检查构图和取景、识别图像中的颜色、物体和文字。
背景移除
使用 transparent-background(InSPyReNet 模型)进行 AI 背景移除,它能生成干净的 alpha 蒙版,边缘平滑抗锯齿,远优于 ImageMagick 的 -transparent/-fuzz 方法(后者在凹陷区域会留下白色边缘和锯齿)。
使用建议:transparent-background 适用于任何具有复杂前景(头发、半透明边缘、凹陷区域)的照片/渲染图,质量平滑无边缘;magick -transparent white -fuzz N% 适用于纯白背景上的简单形状,快速但边缘有锯齿且会遗漏内部白色;magick floodfill 仅从角落移除背景并保留内部白色,只影响连通区域。
推荐使用 Python API,并常配合 trim 工作流。安装命令:uv pip install --system transparent-background。性能:在 Apple Silicon(MPS)上每张图约 2-3 秒,首次运行会下载 InSPyReNet 模型(约 170MB)。注意:rembg 是替代方案,但截至 2026 年 5 月其 gradio 依赖已损坏,transparent-background 是更可靠的选择。
脚本
所有脚本位于 ~/.claude/skills/image-forge/scripts/,使用 python3 运行。
- image_info.py:检查图像元数据,返回干净的 JSON,包含尺寸、格式、色彩空间、位深、alpha、DPI、ICC 配置文件、EXIF。
- image_pipeline.py:声明式编辑流水线。编写 JSON 规格,生成单个链式 magick 命令,无中间文件。支持 resize、crop、trim、annotate、composite、rotate、blur、sharpen、unsharp、modulate、brightness_contrast、levels、gamma、sigmoidal_contrast、colorize、sepia、grayscale、negate、auto_level、normalize、auto_orient、flip/flop、border、extent、shadow、transparent、alpha_remove、alpha_set、quality、strip、density、draw、raw 等操作。
- smart_crop.py:基于重力的智能裁剪,支持 center、north、south、east、west、northwest、northeast、southwest、southeast 等重力方向。
- batch_ops.py:并行批处理,支持 resize、thumbnail、format、strip、auto_orient、watermark、crop 等操作,可指定并行数。
- montage_builder.py:联系表/拼图构建,支持列数、缩略图尺寸、标签、背景色、边框等参数。
快速配方
包括社交媒体裁剪(Instagram 方形、Instagram 故事、Twitter/X 页眉、OG 图像)、水印(文字水印、图像水印)、边框和阴影、颜色效果(复古、高对比度黑白)。
几何语法速查
800x600 表示在框内适应并保持宽高比;800x600! 强制精确(扭曲);800x600> 仅在更大时缩小;800x600< 仅在更小时放大;800x600^ 填充框(最小维度匹配);50% 按百分比缩放;+X+Y 从重力锚点偏移。注意:包含 >、<、^ 的几何参数需要加引号,因为它们是 shell 元字符。
关键提醒
- 裁剪后始终使用 +repage,否则虚拟画布偏移会保留。
- -modulate 的顺序是 B,S,H(亮度、饱和度、色相),不是 H,S,L。
- 设置会持续,操作符立即执行,magick 命令中顺序很重要。
- 使用 rembg 进行背景移除:rembg i input.jpg output.png(添加 -a 进行 alpha 蒙版)。
- 几何参数加引号。
- -alpha off 在 IM7 中是永久的,使用 -alpha deactivate/-alpha activate 进行临时切换。
- 编辑前先检查:先运行 image_info.py 了解尺寸、格式、alpha 状态。
- 多步骤使用流水线:使用 image_pipeline.py 而不是链接 shell 命令。
- Nano Banana 会漂移整个画面:永远不要相信 NB 会保持区域不变。对于区域编辑,使用外科手术式合成模式。在前后使用 magick compare -metric AE -fuzz 5% before after diff.png 验证——低 AE 表示干净,约 40%+ 表示完全重新生成。
参考资料
详细参考位于 ~/.claude/skills/image-forge/references/:magick-reference.md(完整的 ImageMagick 7 命令参考)、compositing.md(所有合成操作符)、recipes.md(30+ 配方)。
依赖
ImageMagick 7.1.2-7(Q16-HDRI),安装:brew install imagemagick;rembg 2.0.72,安装:uv pip install rembg;sips(macOS 内置);Pillow 10.4.0,安装:uv pip install Pillow。