修正美术包 API 指南、AGC 调用与切片用途判定 #628
Reference in New Issue
Block a user
Delete Branch "fix/525-art-package-contract"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
AGC 美术包此前把内容、风格和排布要求放在未被提示词消费的元数据中,并要求恰好四张切片、按返回顺序分配用途。本 PR 完成以下三项修正:
generationInputs的定位、保存与读取方式、接口保留/重建规则及已知消费者。任意元数据不会自动进入提示词,服务端行为和校验约束保持不变。iconDescriptions;普通图标入口继续原文单项透传。参考图、比例和尺寸使用正式参数,同步工具说明与随包 skill。sliceCount,取消固定四片和按序赋义;按实际产物保存、登记和返回。切片目录按源图集隔离,文件名使用中性序号,普通清单指向真实总图。四类素材需求只表达内容覆盖,不能证明四个连通区域或固定语义顺序。两个工具返回总图、完整切片路径及资源身份,预览逐项标注路径,未内嵌的图片列出路径供 Agent 查看。Agent 看图识别实体、状态和用途后再接入或处理;有效总图零切片时仍交付并保留告警。
本轮切片改造仅限客户端:服务端 API、请求侧 sliceCount 契约、切分算法和计费行为不变。不新增为数量不符找回、补切或凑数的工作流。保留文件完整性、平台身份、资源预算、事务与重生成恢复;兼容历史四用途产物和旧数量参数账本,旧请求正文、幂等键及 operation 不改写,候选身份不唯一时要求对账。完成结果快照补存切分声明,避免重放丢失响应字段。
验证:
Closes #525
补充第三项的设计结论:AGC 应停止暴露和发送
sliceCount,并移除客户端“必须恰好 N 张”的门禁,避免围绕数量不符增加找回、重拆、补齐或重新生成工作流。此结论更新此前“美术包继续传 4”的设想。范围已按后续讨论收敛为仅修改客户端;服务端 API 保持现状。原因来自当前实现:
sliceCount,因此传 4 不会告诉模型生成四个素材。它只在生成后充当切片输出上限和数量相等检查,不能提高生成数量的准确性。提示词调用、切分数量检查。sliceWarning和空切片列表;只要后续持久化成功,Provider 原图与透明总图仍进入用户云端资产,任务完成且保留扣费。这不意味着图片里没有素材,也不意味着生成退款,只意味着用户拿不到这次自动切分的独立产物。告警与资产提交。本 PR 的客户端修改范围:
sliceCount。服务端请求契约、OpenAPI、外部 MCP 和响应字段保持不变;旧冻结请求按原正文、幂等键与 operation 恢复。sliceCount数量不符服务的重试、找回或补齐流程,也不为凑数重新付费生成。期望数量如需核对,调用方可比较实际返回数量并查看图片;本 PR 通过客户端不传该字段避开数量门禁,不改造服务端 API。
审查结论
对照
c53c73169dbb06a80c747f04d95bca93be9ef44a(fix/525-art-package-contract相对origin/master)审查了已提交改动。本次变更把美术包图集从固定切片数量改为按实际产物交付:新请求不再发送
sliceCount,连通域结果按服务端返回的真实切片落盘;美术包把风格、构图和约束写入iconDescriptions,作为真正进入提示词的入参,generationInputs.artSpec只保留来源元数据。缺失图集时先尊重已有阶段账本,没有账本才做只读恢复,否则只补生成图集;失败时保留规范图和背景图并报未完成。完成判定去掉了参考图远端身份的多余相等比较,谱系仍通过本地字节绑定校验。对照服务端切分、提示词拼接和空切片告警路径,以及续生成、冻结请求体和零切片提交测试,合同与实现一致。未发现会发出错误请求或给出错误完成结论的缺陷。
Reviewed by Grok