互联网轻拟物 B 端科技主视觉商业插画
把一句画面描述变成一张轻拟物风格的成品插画,尤其擅长互联网 / B 端科技类的主视觉场景。
统一交付 2K 分辨率,按次计费、不分档位、无需选择,垫图不加价;
单次金额以调用时服务返回的账单为准(不在此处写死,调价无需更新本文件)。
开始前:一次性准备
本服务按次计费,走支付宝 402(A2M)付费协议。调用前需要你的 Agent 具备付款能力,这一步只需做一次。
安装支付宝官方 402 支付技能:
npx -y clawhub@latest install alipay-pay-for-402-service --workdir ~ --dir .workbuddy/skills
然后按该技能的引导,在支付宝 App 内完成一次买家钱包开通。
装好之后:这是全生态通用能力 —— 不只本服务,所有走 402 协议的付费服务都能用它付款。之后每次调用自动扣款、自动出图,全程无需任何人工操作。
> 环境要求:官方支付 CLI 支持 Windows / macOS / Linux。Windows 下安装包内含原生 alipay-bot.exe,无需 WSL。
使用方式
# 基本用法(默认 16:9 横版)
python3 "$SKILL_PATH/generate.py" "科技公司年度发布会主视觉背景,深蓝科技感"
# 指定宽高比
python3 "$SKILL_PATH/generate.py" "互联网大会 keynote 背景,光带与星云,宽幅构图" --aspect 16:9
# 方图(社交平台头像、方形贴图场景)
python3 "$SKILL_PATH/generate.py" "极简几何科技图形" --aspect 1:1
# 指定保存目录
python3 "$SKILL_PATH/generate.py" "智能家居品牌官网首页通栏 banner 背景" -o ~/Pictures
# 垫图:带一张参考图,按参考图的内容与构图重绘
python3 "$SKILL_PATH/generate.py" "按这张海报的构图重绘,改为深蓝科技风" --image ./ref.png
# 垫多张(最多 4 张),重复传 --image 即可
python3 "$SKILL_PATH/generate.py" "融合这几张的构图与配色" --image ./a.png --image ./b.png
参数
| 参数 | 说明 | 默认值 |
|---|---|---|
prompt |
画面描述,一句自然语言(必填) | - |
--aspect |
宽高比:1:1 / 3:2 / 2:3 / 16:9 / 9:16 |
16:9 |
--image |
垫图:参考图片路径,可重复传入(最多 4 张) | 无 |
-o, --output-dir |
图片保存目录 | ./ |
用户没说比例时,一律不加 --aspect,走默认的 16:9。 不要自行替用户挑选比例,
也不要为此打断用户追问 —— 横版是主视觉、背景、banner 场景的通用形态,作为默认最稳妥。
统一交付 2K 分辨率,不分档位,无需选择。垫图不加价。
⚠️ 给 Agent 的三条硬性要求
1. 提示词原样透传,禁止改写
用户给的画面描述就是最终要送进模型的内容。不要润色、不要补全、不要加形容词、不要扩写。
| 用户输入 | ✅ 正确传参 | ❌ 禁止这样 |
|---|---|---|
夸张比例的女人在跑步 |
夸张比例的女人在跑步 |
夸张比例的女人在跑步,动感十足的奔跑姿态 |
科技发布会背景 |
科技发布会背景 |
科技发布会背景,充满未来感与科技感的视觉效果 |
自行加词会改变画面结果,等于替用户做决定。把用户原话放进命令的第一个参数即可,一个字都不要动。
2. 输出克制,不许刷屏
调用后只做这一件事:执行这条命令,然后把它返回的结果告诉用户。
严格禁止以下无效动作 —— 它们只会让用户误以为在执行一个庞大的工程:
- ❌ 反复打印"正在尝试 / 执行中 / 让我看看"之类的进度流水
- ❌ 去翻阅
alipay-bot或任何 CLI 的子命令列表 - ❌ 全盘搜索本地缓存、凭证、日志文件
- ❌ 自行拼接轮询命令、反复试错排查
命令返回什么,你就说什么。不要让用户看到一屏接一屏的技术细节。
3. 超时或失败:只有一条路,不许发挥
原样重跑上一次的那条命令(含同一个 --payment-proof)。
- ✅ 正确:原样重跑同一条命令
- ❌ 重新调用不带凭证的命令 → 会被判为新订单,产生第二笔费用
- ❌ 让用户重新付款 → 钱已经付了,不会丢
- ❌ 去排查服务端或 CLI 的内部原因 → 你查不到,只会拖时间
服务端保证同一笔订单只出一次图、只收一次费,重试是安全的。
付费
按次计费,走 402 协议:
- 首次调用 → 输出
PAYMENT_REQUIRED,附带账单信息(其中payment_needed是买方付款凭据,含商家签名) - 把账单交给支付宝支付能力完成付款,拿到
payment_proof与trade_no - 用同一条命令加
--payment-proof <凭证>重试,即可取回图片:
python3 "$SKILL_PATH/generate.py" "云计算产品发布主海报背景,蓝紫渐变光效" \
--payment-proof "eyJwcm90b2NvbCI6..."
凭证是这段 JSON 整体 base64 后的结果:
{"protocol":{"payment_proof":"...","trade_no":"..."},"method":{"client_session":"..."}}
服务端链路:验付与履约确认
付费调用在服务端的完整处理顺序:
| 步骤 | 服务端行为 |
|---|---|
| 1. 未携凭证 | 返回 HTTP 402 + Payment-Needed 响应头(账单含商家 RSA2 签名),并以 PAYMENT_REQUIRED 输出账单;此时不生成任何资源 |
2. 携 Payment-Proof |
调用支付宝 alipay.aipay.agent.payment.verify 完成验付:校验凭证签名、订单号、金额、资源标识与订单状态;任一不符即返回 402,不交付资源 |
| 3. 验付通过 | 生成图片资源 |
| 4. 资源就绪后 | 调用支付宝 alipay.aipay.agent.fulfillment.confirm 完成履约确认;失败可重试 |
| 5. 同一订单重试 | 直接交回已生成的那张图,不重复出图、不重复扣费 |
第 2 步的验付与第 4 步的履约确认由服务端完成,客户端只需原样透传凭证。
出图超时或失败?重试即可,不会重复扣费
单次出图通常需要 25~50 秒,方图(1:1)更慢,偶尔会超过 30 秒。
同一笔订单只会出一次图、只收一次费。 以下三种情况处理方式完全一样:
| 情况 | 处理 |
|---|---|
| 调用超时 / 中途断掉 | 用同一个 --payment-proof 重跑同一条命令 |
| 服务端返回错误(如 502) | 同上,凭证仍然有效 |
| 客户端提示生成失败 | 同上,费用不会丢失 |
重试时服务端直接交回已生成的图(秒回),或重新出一张,都不会再收一次钱。
> ⚠️ 绝对不要让用户重新付款。 只要订单付过款,凭证就一直有效,
> 重新调用 /generate 而不带凭证会被判为新订单、产生第二笔费用 —— 这是错误做法。
所以超时或失败了不用慌 —— 保留原命令和凭证,原样重试就行。
想更快拿到图,优先用横版比例(16:9 / 3:2)。相同档位下横向构图出图明显更快,
方图最容易超时。
限制
- 每次调用按次计费,金额以调用时服务返回的账单为准;最多垫 4 张参考图,垫图不加价
- 支持五种宽高比:
1:1/3:2/2:3/16:9/9:16,默认16:9 16:9/3:2等横版比例出图更快,1:1方图最慢- 需要有支付宝买家钱包;完成首次授权后,后续付款由 Agent 自动完成,无需人工扫码
首次配置
服务地址已内置,开箱即用,一般无需配置。如需指向其他部署,可覆盖:
export STYLE_IMAGE_ENDPOINT="https://style-illust-api-95417.app.workbuddy.host"
维护须知
本文件是分发给用户的客户端,严禁在此写入任何风格配方、提示词片段或示例 prompt。
风格配方只存在于服务端。一旦把配方写进这里,等于把核心资产免费送出。
需要调试提示词时请到服务端用 DEBUG 模式,不要在本文件里留痕。