Back to skills
extension
Category: Content & MediaNo API key required

AI去路人·照片消除工作室

指出要去掉的东西,还你一张没有它的照片,空出来的地方按周围补好。

personAuthor: beatra01hubOpenAPI

照片消除工作室

把用户手上已有的照片拿过来,去掉他指的那个东西,再把它背后空出来的位置补好,让这次消除不容易看出来。

适用范围与路线选择

当一张已有照片里有东西必须消失、而其余部分要保持原样时,使用本 Skill:旅游照背后的路人、人像边上入镜的陌生人、街景里的垃圾桶、招牌、路障或停着的车、产品图里多出来的手、电线或反光、房间照里的杂物,以及表面上的瑕疵。

整张照片的画风或媒介转换请使用 ai-photo-restyler。让画面更像实拍请使用 ai-image-realism,专业人像请使用 ai-headshot-studio,把商品重新放到新背景上请使用 product-photo-studio。没有原图、要全新出图请使用 beatra-ai-image-studio,视频里的消除请使用 video-realism-retoucher

输入与默认值

两个硬性输入:照片,以及哪个东西要去掉。复用对话中已有的照片、artifact、平台和主体。

只有当答案会改变付费结果时才询问:画面里有好几个相似的东西时问要去掉哪一个——用户的说法能对上不止一个,选错就是拿一次付费调用去消错东西。

避免多余提问的默认值:

  • beatra.images.edit,把用户的照片放在第一位,因为底图必须留在编辑结果里。
  • 省略画布时是 2K 档、跟随底图比例,画幅和比例不变,但比 2K 大的照片交回来会变小;遇到这种情况提交前先说明。
  • model: "auto",交给 Beatra 路由,除非用户点名。
  • count: 1,让用户先看到一张再决定要不要多花钱。
  • 没点名的东西都写进保留要求:人、商品、文字和背景都不动,除非用户要求改。

标准流程

读图和想方案都免费,只有编辑是付费的。

  1. 先确定底图。本地文件用随包客户端上传一次,后面每次调用都复用返回的 artifact。
  2. 把这次消除说准:什么消失、什么必须原样保留、空出来的位置应该接着画什么——通常是画面里已有的周围环境。
  3. 选路线。edit_regions 把改动聚焦到归一化矩形上,靠近人脸、商品或文字时更稳妥;不框范围的整图编辑适合零散、不好框的杂物。框出范围只是把意图聚焦过去,并不保证框外的像素不变,所以要复核结果,不要向用户承诺周围一定安全。每张输入最多接受两个矩形,所以标记的目标更多时会有意拆成多次,每一次都是用户批准的一次付费调用。
  4. 当兼容性、控制项或价格重要时,用 beatra.models.list 读取图像编辑能力的实时卡片,读卡片而不要臆测模型、控制项或输入上限。
  5. 付费前确认。 展示底图 artifact、确切的矩形或整图路线、指令、count、解析出的画布、总共几次、以及这几次加起来的最高费用。之后每一次在提交前各自再确认一遍,并各自带一个不透明且稳定的 client_request_id
  6. 每一次获批的消除都只提交一次 beatra.images.edit,立刻记下任务 ID,并轮询同一个任务。
  7. 交付每一张返回的图片,附上真实尺寸、MIME 类型、大小和 URL 或 artifact ID,以及解析出的模型、实际用量和 billing.net_charged_credits
  8. 对照需求复核:点名的东西是不是没了、补上的位置是不是接得住周围、用户要求保留的是不是都还在。如实说明宿主 Agent 看不到哪些东西。

被去掉的东西背后是根据周围重新画出来的,所以那里出现的内容是新画面而不是找回来的细节;当被遮住的区域原本有用户需要准确的信息——一张脸、一块招牌、一个价格、一个序列号或一份文件——提交之前就要向用户说清楚。矩形几何、载荷、多次消除、故障恢复与交付复核见照片消除工作流(references/workflow.md)。

本 Skill 的执行方式

每个远程 Beatra 操作都使用随包的 scripts/mcp_client.py:在 call 后写入 MCP 工具名,并在标准输入中传入一个 JSON 对象。不要配置或调用宿主 Beatra Connector,也不要使用 REST/OpenAPI 作为回退。首次使用时通过 beatra.installations.register 注册本包。每次创作都是异步任务:提交一次,然后跟踪该任务直到终态。

需要确认的决策

提交之前先确认:底图、要去掉的是什么、矩形或整图路线、count、解析出的画布以及与原图不同时的实际交付像素尺寸、总共几次,以及这几次加起来的最高费用。更换照片、矩形、指令、张数或模型,都属于新的付费工作,需要新的请求 ID。

当用户标出的目标超过一次能处理的数量时,在提交任何一次之前先展示怎么分组、每一次多少钱,而不是悄悄丢掉目标或者悄悄多花钱。

故障恢复

任务 ID 一返回就立即保存,并用 beatra.tasks.get 轮询;queuedrunning 表示继续等待。只有在创建请求的响应确实未知、且每个已校验参数在同一请求 ID 下逐字节相同时,才重放一次创建。任务 ID 丢失时,用 beatra.tasks.listimage_edit 能力查找,并沿着返回的每一个 next_cursor 翻完覆盖提交时段所需的页,用 beatra.tasks.get 确认候选,先找回原任务再考虑新的工作。请求 ID 本身丢失时,不要臆造新 ID,也不要重放。只有用户要求时才调用 beatra.tasks.cancel;遇到 409 时继续轮询原任务,只有其终态为 canceled 时才报告已取消。

多次消除是接力进行的,所以某一次失败会挡住它后面的每一次。把失败的那一次当作新的付费工作来重跑:终态 failed 是已知的结果,需要新的确认和新的 client_request_id,而不是重放原来那一个。已经交付的那几次位于失败点之前,依然有效,不重新生成。重跑会返回一张不同的图,所以后面每一次的矩形都要照着这张新底图重新算并再确认一遍。

按任务查阅参考

  • 照片消除工作流(references/workflow.md):矩形几何、确切载荷、多次消除、上传、故障恢复与交付复核。
  • 安装与认证(references/installation-and-auth.md)和安装注册(references/installation-registration.md):首次使用与共享凭据。
  • 任务与结果(references/tasks-and-results.md)和计费、错误与恢复(references/billing-errors-and-recovery.md):任务、artifact 与计费事实。
  • 随包 MCP Client 连接诊断(references/mcp-connection.md):客户端操作与连接诊断;不要配置宿主 Connector。
  • 自动更新与安全(references/automatic-updates-and-safety.md):更新行为与开关。
  • 卸载与断开连接(references/uninstall-and-disconnect.md):移除本包与清理共享凭据。

运行时与安全的自动更新

随包客户端会在每个安装中静默检查更新,最多每 24 小时一次。发现更高版本时,不另行确认地自动安装。它只使用针对本包、渠道和语言环境固定的 Beatra 官方发现地址和不可变 CDN 路径,在替换前校验发现信息、压缩包、清单和每个随包文件,并且只替换本包拥有的文件。更新检查、下载、校验、替换和恢复失败时会 fail open:当前安装仍可使用,原本请求的命令会继续执行。更新失败绝不构成重试付费生成的理由。这个设置会在后续命令中持续生效。

python3 scripts/mcp_client.py update --auto off
python3 scripts/mcp_client.py update --auto on
python3 scripts/mcp_client.py update --check

--auto off 会关闭静默检查,--auto on 会恢复静默检查,--check 会报告官方可用版本但不替换文件。详见自动更新与安全(references/automatic-updates-and-safety.md)。