下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/seedoragroup--seedora-id-photo.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @seedoragroup/seedora-id-photo。将一张本地人物照片制作成白、蓝或红底的单张电子证件照(¥0.39/张)。用户提到制作证件照、换证件照背景、白底证件照、蓝底证件照或红底证件照时使用。
阅读全文 (展开查看完整说明)
概述
产品能力
把用户提供的一张人物照片制作成白、蓝或红底的单张电子证件照,并将成品保存到本地。
输入要求
- 只接收一张本地 JPEG 或 PNG 人物照片;不接收 URL、多图、PDF 或已有证件的扫描件。
- 文件不得超过 10MB,图片宽和高均不得低于 512px。
- 背景只支持白、蓝、红。把“白底”“蓝色背景”“红背景”等自然语言分别映射为
white、blue、red。 - 用户没有指定背景色时直接使用白底,不追问;用户要求其它颜色时,说明当前只支持白、蓝、红,请其选择后再继续。
提交前预检
只检查图片的基础信息,不判断人物姿态、表情、服装、遮挡、构图或照片是否符合某个具体用途:
- 文件确实是 JPEG 或 PNG,而不是只修改了扩展名。
- 文件大小不超过 10MB。
- 图片宽和高均不低于 512px。
任一检查不通过时直接说明具体原因和修改方式,不发起付费请求。检查通过后,将原图、背景色和服务端固定制作要求交给 GPT Image 2。
成品交付
- 输出固定为一张 2K、3:4 PNG 或 JPEG 电子证件照,不生成冲印排版版、拼版或多尺寸套图。
- 服务端固定要求模型尽量保留人物身份、五官、发型和肤色,并生成正面、自然表情、头肩构图、光线均匀且无文字水印的正式照片。
- 不做确定性裁切、文件压缩、二次修图或生成结果筛选;GPT Image 2 返回什么就交付什么。
- 本地路径输入时保存到原图目录,文件名追加
-id-photo;对话附件保存到 Downloads;同名时自动加序号,不覆盖原图。 - 每张成品独立付费。更换原图、背景色或重新生成时,创建新订单并重新支付。
服务元数据
| 字段 | 值 |
|---|---|
skill_id | seedora-id-photo |
skill_version | 1.0.0 |
product_id | id-photo-generate |
| 服务名称 | Seedora 证件照制作 |
| 模型 | GPT Image 2(gpt-image-2-vip) |
| 单价 | ¥0.39/张 |
| 计费模式 | 按次付费(per_call) |
| Base URL | https://api.seedora.cc |
| 付费资源 | POST /v1/pay-skills/id-photo/generate |
本 Skill 已接入微信 Agent Pay X402 支付服务。服务端负责微信 Native 下单、SkillHub AI 预下单、支付查单、幂等履约、结果保存与失败退款;Skill 不在本地模拟收费,也不保存原图或服务端制作要求。
付费前置检查
请求资源前检查 weixinpay extension 是否可用。不可用时提示“当前 Agent 暂不支持微信支付付费能力”并停止,不运行客户端、不创建订单。
客户端和服务端都会检查真实图片格式、文件大小与分辨率。输入不合格时直接告诉用户如何修正,不进入支付;不要增加其它照片质量检查。
调用流程
标准支付链路:
首次请求 → HTTP 402 → weixinpay_pay(payment_code) → 支付成功后执行恢复命令 → 下载成品直接运行客户端。背景参数可以省略,缺省为 white:
node "<Skill目录>/scripts/id-photo-client.js" "<图片绝对路径>" [white|blue|red]1. 获取临时会话
POST https://api.seedora.cc/v1/pay-skills/session从响应 data.token 读取临时 Token。客户端会自动完成这一步。
2. 首次请求
请求使用 multipart/form-data,字段固定为 image 和 background:
POST https://api.seedora.cc/v1/pay-skills/id-photo/generate
Authorization: Bearer <token>
Content-Type: multipart/form-data; boundary=<boundary>
<image=原图片文件>
<background=white|blue|red>未支付时返回 HTTP 402。只有 Header 与 Body 中的 WeixinPay-Required 一致、Header X-Out-Trade-No 与 Body out_trade_no 一致,并且金额为 0.39 CNY 时才继续。将支付码原样交给 weixinpay_pay(payment_code),不要展示、改写或记录支付码。
HTTP/1.1 402 Payment Required
WeixinPay-Required: <payment_code>
X-Out-Trade-No: <out_trade_no>
Content-Type: application/json
{"code":"PAYMENT_REQUIRED","WeixinPay":{"WeixinPay-Required":"<payment_code>","prompt":"..."},"out_trade_no":"<out_trade_no>","amount":"0.39","currency":"CNY"}3. 支付后恢复
支付工具明确成功后,执行客户端返回的 resumeCommand。恢复请求必须使用同一图片字节、同一 background、原订单号和原支付码;不得用已支付订单更换图片或背景。
POST https://api.seedora.cc/v1/pay-skills/id-photo/generate
Authorization: Bearer <new-or-current-token>
WeixinPay-Required: <payment_code>
X-Out-Trade-No: <out_trade_no>
Content-Type: multipart/form-data; boundary=<boundary>
<image=与首次请求完全相同的原图片文件>
<background=与首次请求完全相同的背景色>恢复文件只在系统临时目录以 0600 权限保存原图路径、原图哈希、背景色、订单号和支付码,成功后自动删除。
失败与恢复
| 状态 | 处理 |
|---|---|
400 | 图片格式、大小、分辨率或背景色无效;付款前修正输入。 |
402 | 调用 weixinpay_pay(payment_code);成功后执行原恢复命令。 |
409 | 原图或背景色与订单不一致,或生成状态正在核对;禁止再次付款。 |
503 | 服务暂时不可用;未付款时稍后重试,支付状态未知时只恢复原订单。 |
NOT_PAID | 保留原恢复命令,稍后查询原订单;不要重复支付。 |
REFUNDED | 告知“本次服务未能完成,已自动退款至原支付账户”并停止。 |
FULFILL_AND_REFUND_FAILED | 告知用户订单正在核对并联系商户;不要再次支付。 |
支付超时、处理中、未知或网络失败时,不创建新订单、不再次调用支付;等待 3 秒后执行同一 resumeCommand,最多 5 次。原图被修改、删除或背景色改变时停止。
成功时只向用户返回成品本地路径,不返回支付码、签名 URL、订单实现、服务端制作要求或技术错误细节。