修正Tripo定价文档口径为 fail-closed 与无单位
- 主规范去掉 model3d 段的 unit 字段,3D 恒为按次计价 - 主规范把加载即校验改为段存在时必须全键,并补充段缺失即拒绝提交 - 契约里程碑验收第 6 条同步为段缺失 fail-closed - 实施计划把定价步骤指向 api-server/src/tripo3d/pricing.rs
This commit is contained in:
@@ -90,7 +90,6 @@ ImageToModelResult = { modelArtifact, renderedPreview }
|
||||
|
||||
```json
|
||||
"model3d": {
|
||||
"unit": "perGeneration",
|
||||
"basePrices": {
|
||||
"text-to-model": { "<modelVersion>": { "noTexture": 泥点, "texture": 泥点 } },
|
||||
"image-to-model": { "<modelVersion>": { "noTexture": 泥点, "texture": 泥点 } }
|
||||
@@ -123,9 +122,11 @@ price = basePrices[endpoint][modelVersion][texture ? "texture" : "noTexture"]
|
||||
|
||||
两条硬约束:
|
||||
|
||||
1. **加载即校验**:两个 endpoint × 每个受支持模型版本 × 两种贴图态必须全部存在,缺一即配置非法、服务拒绝启动;运行期不存在“查不到价”的分支。
|
||||
1. **加载即校验**:`model3d` 段一旦存在,两个 endpoint × 每个受支持模型版本 × 两种贴图态与全部 add-on 键必须同时存在,缺一即配置非法、服务拒绝启动;段内不再写 `unit`,3D 生成恒为按次计价。
|
||||
2. **提交即拒绝**:价格计算发生在调用 provider 之前;拿不到价格就不提交、不扣费、不入队。
|
||||
|
||||
业务给出泥点数值之前,受控默认配置里不写 `model3d` 段:此时 3D 接口不开放,提交直接被拒绝(fail closed),既不会扣费也不会调用 provider;数值写入后即为上一条的强校验路径。
|
||||
|
||||
扣费依据固定为**提交时定价**:用户在提交前就能得到确定价格,失败退款是单次冲正,不需要按实际消耗退差额。provider 返回的实际消耗只写日志用于成本对账,不进入契约、不进 API 响应、不进资源行。
|
||||
|
||||
价格随 job 写入 `price_mud_points`,扣费与冲正沿用现有资产操作账务(attempt 级 consume / refund ledger);素材侧继续用 `generation_cost_mud_points` 记录单次成本。同一 `Idempotency-Key` 命中已有 job 时直接返回原 operation,不新建、不重复扣费。
|
||||
|
||||
Reference in New Issue
Block a user