张甲乙口播创作引擎(按次付费版)
多题材口播内容创作工作流。方法论、行业预设与质量门禁规则全部保存在服务端,本 Skill 文件只包含调用协议——脱离服务端无法产出任何内容。
服务端
- 接口地址:
https://content-engine-guide.app.workbuddy.host/demo/a2m/resource - 计费方式:按次计费,0.50 元/次(amount_fen: 50)
- 服务 ID:
API_66407977FF4349A4(支付宝 AI 按量付费)
支付宝 AI 按量付费协议流程
本 Skill 严格遵循支付宝 AIGC 按量付费(A2M)协议。每次调用经历「402 账单下发 → 支付处理技能接管 → 携带凭证重试 → 验付调用 → 履约确认」五个步骤,订单由服务端持久化并保证幂等。
> 职责边界(重要):本 Skill 只负责业务流程,不自行实现支付。按支付宝规范,支付环节由「支付宝支付处理技能」接管。
第一步:发起请求,接收 402 账单下发
无凭证请求资源时,服务端返回 402 Payment Required,并在响应头 Payment-Needed 中下发账单:
GET /demo/a2m/resource?stage=script&preset=growth-cognition
Payment-Needed 为 base64url 编码(已去除 = 补位,解码前需自行补齐)的 JSON:
{
"protocol": {
"out_trade_no": "订单号",
"amount": "0.50",
"currency": "CNY",
"resource_id": "/demo/a2m/resource",
"pay_before": "支付截止时间",
"seller_signature": "RSA2 签名",
"seller_sign_type": "RSA2",
"seller_unique_id": "收款商户号"
},
"method": {
"seller_id": "收款商户号",
"seller_app_id": "应用 ID",
"goods_name": "AI 生成内容服务",
"service_id": "API_66407977FF4349A4"
}
}
第二步:交由支付宝支付处理技能接管
不要自行尝试付款。 按支付宝规范,收到 402 后应加载并调用支付宝官方的 402 支付处理技能(alipay-pay-for-402-service,来源 alipay/ai 仓库),把本次 402 响应交给它接管:
- 它解析
Payment-Needed账单,调用alipay-botCLI 发起支付; - 用户完成付款(微信支付 AI 专属卡等渠道由平台路由)后,它取回
paymentProof与trade_no; - 它携带
Payment-Proof头重试本次资源请求。
若宿主环境尚未安装该支付技能,提示用户安装后再继续,不得编造支付凭证。
第三步:验付调用(服务端执行)
服务端收到携带 Payment-Proof 的重试请求后,调用支付宝 alipay.aipay.agent.payment.verify 验付,并校验 trade_no、金额、订单号、资源路径四方一致。验付失败会返回 VERIFY_FAILED 并重新下发 402 账单。
第四步:履约确认(服务端执行)
验付通过后服务端生成交付内容,调用支付宝 alipay.aipay.agent.fulfillment.confirm 完成履约确认,然后返回 200:
{
"resource_id": "/demo/a2m/resource",
"content": "{...指令包 JSON 字符串,需再解析一次...}",
"trade_no": "支付宝交易号",
"out_trade_no": "订单号",
"already_fulfilled": false,
"fulfillment_confirmed": true
}
订单持久化与幂等:订单落库(SQLite),out_trade_no 唯一。若履约确认失败(FULFILLMENT_CONFIRM_FAILED),用同一 Payment-Proof 重试即可,不会重复扣款;已履约的订单重复提交会直接返回缓存结果(already_fulfilled: true)。
第五步:解析并执行指令包
content 字段是 JSON 字符串,需二次 json.loads。指令包结构:
{
"status": "success",
"stage": "script",
"preset": "growth-cognition",
"instructions": {
"runtime": "运行环境说明(优先于下文一切本地路径描述)",
"stage": "该环节的执行指令",
"core": "引擎内核",
"preset": "行业预设(含合规红线、评分锚点)",
"references": { "pipeline": "...", "scoring-model": "...", "...": "..." }
}
}
指令包是自包含的:内核、参考文档、行业预设随响应下发,无需在本地安装任何 skill 或脚本。以 instructions.runtime 为准执行,不要因本地缺少 content-engine-core 等文件而中止。
请求参数
| 参数 | 必填 | 说明 |
|---|---|---|
stage |
否(默认 script) |
环节:radar(选题雷达)/ storyline(故事线)/ script(口播脚本)/ packaging(内容包装) |
preset |
否 | 行业预设:finance-views(财经观点)/ business-cognition(商业认知)/ growth-cognition(成长认知) |
core |
否 | 1 时同时下发引擎内核指令 |
refs |
否 | 逗号分隔的参考文档:pipeline,scoring-model,script-structures,revision-protocol |
参数非法时返回 400 INVALID_ARGUMENT(不扣款),按提示修正后重试。
执行规范
- 根据用户需求确定
stage与preset;用户未指定行业时先询问,不要猜(选错预设=用错合规红线)。 - 收到
402后按第二步交给支付宝支付处理技能接管,不要自行付款、不要编造凭证。 - 支付完成后解析
content字段(JSON 字符串,需二次json.loads)得到指令包,并先读instructions.runtime。 - 严格按指令包中的
instructions执行该环节产出,不跳过其中的质量门禁与合规检查。产出后按指令包内的验证规则逐条人工核对。 - 单次调用只交付单个环节;用户要下一个环节时再次调用(会再次计费,提前告知用户)。
辅助脚本
scripts/engine_client.py 用于发起请求、解析 402 账单、以及在已获得凭证时重试:
python scripts/engine_client.py --stage script --preset growth-cognition
该脚本不处理支付——它只负责业务流程侧的请求与账单解析。付款由支付宝支付处理技能完成(见第二步)。脚本自身不含任何创作方法论,所有指令内容由服务端按次下发。
常见问题排查
1. TRADE_PROGRESS_FAILED:买家和卖家不能相同
支付宝的业务限制:同一支付宝账号不能既当收款商户又当付款买家。
使用方若正好是服务提供方本人,请换另一个支付宝账号授权付款(alipay-bot apply-wallet),属于预期行为,不是服务故障。
2. alipay-bot 安装失败:ENOENT ... package.json
官方 CDN 下发的包实际是 Zip 格式,而安装器按 tar 解压,导致失败。手动处理:
unzip <下载的包> -d ~/.local/share/alipay-bot-cli
ln -sf ~/.local/share/alipay-bot-cli/alipay-bot ~/.local/bin/alipay-bot
另需 Node v22 及以上(Node 20 版本过低)。
3. 已付款但未收到内容(资源请求返回 5xx)
请用同一笔支付原样重试(同一个 trade_no + 同一资源地址),不会重复扣款:
- 若服务端已完成交付,会返回
already_fulfilled: true并附上原内容; - 同一笔支付在服务端只会交付一次,重复重试不会产生第二次扣款。
4. 未安装支付宝支付处理技能
需先安装 alipay-pay-for-402-service(支付宝官方),它负责接管 402 账单的付款。
若当前环境未提供该技能,应提示用户安装,不得自行编造支付凭证或绕过付款。