back
loading skill details...
聚合数据提供的AI图像创作服务技能,本技能使用无需用户注册聚合数据平台,安装后即可按实际付费使用。 本技能是根据文本描述(prompt)生成具有特定风格、场景和氛围的图像,并自动下载保存的支付宝AI付付费技能。本技能基于 A2M(HTTP 402)收单协议。当用户需要生成图像的时候,调用本技能,并通过本 Skill 向卖家服务端发起请求,完成支付后获取相关结果。 使用场景:用户说"帮我生成一张猫咪在草地上玩耍的图片"、"画一幅水墨风格的山水画"、"生成一张16:9的科技感壁纸"、"创作一张新年祝福海报"、"用AI画一张小狗钓鱼的图"等。
---
name: juhe-ai-image-generate-a2a
description: |
聚合数据提供的AI图像创作服务技能,本技能使用无需用户注册聚合数据平台,安装后即可按实际付费使用。
本技能是根据文本描述(prompt)生成具有特定风格、场景和氛围的图像,并自动下载保存的支付宝AI付付费技能。本技能基于 A2M(HTTP 402)收单协议。当用户需要生成图像的时候,调用本技能,并通过本 Skill 向卖家服务端发起请求,完成支付后获取相关结果。
使用场景:用户说"帮我生成一张猫咪在草地上玩耍的图片"、"画一幅水墨风格的山水画"、"生成一张16:9的科技感壁纸"、"创作一张新年祝福海报"、"用AI画一张小狗钓鱼的图"等。
---
## 技能描述
本 Skill 提供AI图像生成能力。当用户说"帮我生成一张猫咪在草地上玩耍的图片"、"画一幅水墨风格的山水画"、"生成一张16:9的科技感壁纸"、"创作一张新年祝福海报"、"用AI画一张小狗钓鱼的图"等,需要根据描述生成对应的图像的时候,使用此技能。
该服务是基于 A2M 智能收协议(HTTP 402)的付费资源。买家(消费者 Agent)通过本 Skill 向卖家服务端发起资源请求,服务端将返回 402 Payment-Needed 响应报文,买家需将该报文传递给支付宝的 alipay-payment-skill 技能以完成付款。
## 依赖安全管控
1. 前置强制依赖
- `alipay-authenticate-wallet`:支付宝钱包身份鉴权技能
- `alipay-payment-skill`:A2M 402支付收单核心技能
2. 依赖校验规则:技能启动时自动检测上述两个技能安装状态、开关状态;
- 如检测未安装,提示:通过 npx -y @alipay/alipay-aipay@latest install 安装支付宝 AI 付 Skill,加载 alipay-aipay 技能并开启支付宝支付能力
- 未开启支付功能时,提示用户”开启支付宝支付能力“
3. 第三方接口依赖:聚合数据AI图像创作接口,仅允许文档指定域名 `apis.juhe.cn`,禁止转发请求至其他第三方域名。
## 触发条件
**满足以下任一条件即可触发本技能:**
- 1. **生图意图识别**:用户表达出“生成图片/画图/绘图/AI绘画/AI生图/漫画/写实/油画”等相关需求,且未明确表示“免费”或“非付费”意图。
- 2. **风格/主题描述**:用户提供了带有明确风格(如动漫/写实/油画)、场景、主题或画面细节的描述性语句,并包含“画/生成/帮我做个图”等动作词。
- 3. **明确付费意愿**:用户直接说出“付费生图/花钱画图/用AI付费绘图”等词句。
**✅ 触发示例(自然对话场景):**
- “帮我画一张夕阳下的海边,动漫风格的”
- “用AI生成一张图,主题是未来城市”
- “我想画个猫,油画质感的那种”
- “付费生成一张图,描述是……(含具体内容)”
**❌ 不触发示例(避免误触发):**
- “今天天气真好”(无生图意图)
- “这张图真好看”(仅评论,无生成需求)
- “怎么用AI画图?”(咨询类问题,无明确生成需求)
## 工作流程
### 第一步:付费告知与确认(必须执行)
**在收集任何参数之前,必须先向用户明确以下信息:**
> 🎨 本服务为**付费AI图像创作**,由聚合数据提供技术支持。
> - 费用:XX元/次(以实际支付为准)
> - 支付方式:支付宝(通过 alipay-payment-skill 完成)
> - 您的图像描述(prompt)将被发送至聚合数据服务端用于生成
>
> 如您同意以上条款,请回复 **“确认”** 或继续描述您要生成的图像内容。
> 如您不需要付费服务,请回复 **“取消”**,我将停止本次操作。
**只有用户明确表示同意(如回复“确认”“好的”“可以”“同意”“继续”“下一步”等肯定词)后,才能进入第一步收集参数。**
### 第二步:收集用户参数
如果用户需要生成图片的时候,向用户询问以下参数:
| 参数 | 必填 | 名称 | 说明 | 示例 |
| ------ | ---- | ------------ | -------------------------------------------------------------------- | -------------------------- |
| prompt | 是 | 提示词 | 描述您期望生成的图像内容、风格和构图 支持中英文,长度不超过800个字符 | "生成一张16:9的科技感壁纸" |
| size | 否 | 图片尺寸大小 | 图片尺寸大小,1=1:1,2=16:9,3=4:3,4=3:4,5=9:16 | 1 |
如果用户描述的尺寸为1:1,16:9,4:3,3:4,9:16需要转成对应的数字。如果用户没有描述尺寸,默认使用1。如果填的数字不在1-5之间,需要提示用户输入正确的尺寸。
### 第三步:请求约束
- 请求方法:POST
- 请求头:Content-Type: application/json
- 请求体是json字符串,请严格按照以下格式填写:'{"resourceId":"824","data":{"prompt":"<用户描述的图像内容>","size":<用户描述的尺寸>}}'
- 注意promot引号转义,避免json字符串异常
### 第四步:请求资源
向用户展示待生成图像的参数,严格遵守请求约束,向以下 URL 发起请求:
```bash
curl https://apis.juhe.cn/a2a/query \
-d '{"resourceId":"824","data":{"prompt":"<用户描述的图像内容>","size":<用户描述的尺寸>}}' \
-H "Content-Type: application/json"
```
### 第五步:处理 402 响应
收到状态码为 402 的响应报文(包含 `Payment-Needed` 响应头)后,将整个 402 响应报文传递给支付宝的 **alipay-payment-skill** 技能,引导用户完成付款,并展示用户订单号(out_trade_no)。
### 第六步:后续流程
完全转移到 alipay-payment-skill 技能的工作流,提示支付待确认的信息时,严格遵循下面的要求:
- 1.**提示支付待确认信息**:必须包含**商品名称**、**交易金额**、**交易号**、**用户订单号(out_trade_no)**等信息。
- 2.**展示多端支付方式**:必须同时提供**电脑端**和**移动端**两种付款渠道的指引或入口。
- 3.**展示付款二维码**:必须生成并展示该笔订单对应的**付款二维码**,确保用户可扫码完成支付。
- 4.**禁止篡改请求参数**:严格禁止Agent以任何形式修改用户提交的原始请求参数(即JSON字符串),必须原样透传至下游技能。
## 异常情况处理
- **用户拒绝付款**:尊重用户选择,告知用户该内容为付费资源,如需获取请完成支付。
- **请求返回非 402 状态码**:如返回 200,直接展示内容;如返回 4xx/5xx 错误,告知用户服务暂时不可用,建议稍后重试。
- 其余异常情况将由 alipay-payment-skill 技能处理。
## Agent 约束
- 禁止缺必填参数发起请求;
- 402 响应报文必须完整透传,不可篡改、删减;
- 严格遵循既定流程与异常规则,禁止自定义逻辑。
## 隐私与数据说明
**本技能涉及的数据传输与处理如下:**
| 数据类型 | 处理方式 | 接收方 |
| :--- | :--- | :--- |
| 用户输入的图像描述(Prompt) | 发送至AI服务端用于图像生成 | 聚合数据(juhe.cn) |
| 支付信息(通过支付宝技能完成) | 由支付宝独立处理,本技能不接触 | 支付宝 |
| 生成的图像文件 | 自动下载保存至用户本地 | 用户设备 |
**重要提示:**
- 请勿在图像描述中包含**个人隐私信息**(如身份证号、手机号、地址、姓名等),因为这些文本将明文发送至第三方服务端。
- 本技能仅用于AI图像生成,**不涉及**任何身份证查询、人脸识别或生物特征采集功能。
- 支付过程由支付宝官方完成,本技能不存储任何支付凭证或账户信息。
## 合规声明
- 本技能仅作为**代理工具**,不修改、不存储用户图像描述内容,所有数据按上述隐私说明处理。
- 用户需确保使用本技能的行为符合所在国家/地区的法律法规,不得利用本技能生成违法、侵权或不当内容。
- 本技能不涉及任何形式的**身份证信息查询、个人生物特征识别或敏感数据采集**。
don't have the plugin yet? install it then click "run inline in claude" again.