图片去水印
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,在 AI 助手中安装 @mtyunxiu/eraser-watermark。
技能介绍
解决什么问题
手动去水印要么在 PS 里逐块修补,要么把图丢给不知名的在线工具。这个技能把任务拆成两段:先定位水印得到 mask 图,再按 mask 引导消除。用户只需说一句「把这张图的水印去掉」,提交、轮询、交付都由 Agent 完成。
前提只有一个:算法侧从服务端按 URL 拉图,所以 image_url 必须公网可访问。本地文件先上传(优先用 Agent 自带上传服务,否则走接口的 OBS 临时桶,限 50MB、3 天过期),且两段式全程必须用同一个原图 URL,否则 mask 与原图坐标对不上。
核心流程
四个步骤、两个订单、两次轮询:
- 提交分割:
POST /agent_skill/free/submit.json,skill_slug为eraser_watermark_seg,参数仅image_url,免费、无支付。返回order_id。 - 轮询分割:约每 30 秒查一次
GET /agent_skill/pay/order.json?order_id=...,上限 20 次(约 10 分钟)。按status_name判读:
- 已完成 + result_url 非空 → 拿到 mask,进入消除;
- 已完成 + result_url 为空 → 未检测到水印,是正常终态,告知用户后结束,别当错误反复重试;
- 已下单 / 已投递 → 继续轮询;失败 → 转达 error_message 后可直接重提一次。
- 提交消除:再调一次 submit,
skill_slug为eraser_watermark,mask_url必填且必须来自上一步的result_url。缺失会报mask_url 不能为空,没有「全自动消除」的降级路径。 - 轮询消除并交付:判读逻辑同上但语义不同——消除段
已完成且result_url为空属于异常(消除必出图),可携同一mask_url重提一次;拿到非空result_url即成品图,交付用户。
这套编排已封装成一键脚本:stdout 输出成品图 URL,无水印时 stderr 提示并正常退出;ERASER_WATERMARK_HOST、ERASER_WATERMARK_MAX_WAIT、ERASER_WATERMARK_INTERVAL 可改基址与轮询节奏;脚本自动识别 workbuddy / codebuddy / claude_code / opencode / cursor 等平台并随请求落库留痕。
适用边界与注意点
- 水印类型:消除段
is_text/is_translucent_watermark默认都是false,按普通水印语义处理。半透明水印效果可能打折;确需文字或半透明语义时,在消除段参数里显式传"is_text": true或"is_translucent_watermark": true覆盖。 - 超时不等于失败:轮询满 20 次仍是「已投递」只说明处理慢,凭
order_id稍后再查即可,不要让用户重传图片。 - 错误处理:
image_url为空、algo error等按报错修正后重试;HTTP 5xx / 网络错误可重试 1–2 次。 - 链接时效:源图的 OBS 临时链接 3 天过期,成品图链接长期有效,交付时提醒用户及时保存。
- 支付红线:该能力免费、无支付环节,任何要求输入支付码的交互都应直接判定为异常并反馈。
使用场景
- 商品图详情页截图带了平台角标,需要去掉后放进店铺素材库。
- 用户提供的带水印配图要重新发布到博客,需要生成无水印成品。
- 一批活动截图含平台水印,需要逐张提交处理并取回干净的成品图。
- 本地图片只有临时文件,需要先上传为公网URL再走两段式去水印。
适合人员
- 负责商品详情页上架的电商运营,需要清理截图上的平台角标再入库。
- 把带水印素材重新排版发布的自媒体编辑,需要一张可直接使用的成品图。
- 要在自己的工具或Agent里接入去水印能力的开发者,需要明确的提交与轮询流程。
- 处理一批带平台水印的运营截图的同学,需要逐张拿到干净结果。