PLAT-02-013 模型中转
各类模型的供应链路、计费、任务恢复与待验证范围
平台对外提供模型 API,通过具名中转服务执行:默认文本接入为 uumi,视频经媒体网关。2026-10-10按用户复盘整改,文本兼容中转服务与媒体网关统一登记服务类型、执行器和协议声明;发现/参考价格接口单独配置。既有连接ID的服务类型与执行器不可变,切换类型须新建连接;模型售价/名称和供应模型名称/绑定版本分别保存,媒体原任务按原连接恢复。没有可执行适配器的类型不能凭配置名称开放,仍不直接注册原生第二条扣费路径。
每个模型保留既有稳定ID,一个明确接入绑定及独立上游模型名称,标准请求的公开模型名和售价不随上游名称自动变更。发布同时检查协议、有效价格、服务启停/归档和执行器的已验能力;手动配置不要求服务实现 /v1/models 或 /api/pricing。文本同名多渠道/销售版本选择继续后置。原操作的服务、模型、上游名称和绑定版本保留不可变快照,渠道轮换不授权再次派发;未知结果只查原任务。
能力覆盖与开放条件
| 能力 | 产品需求 | 供应链路 | 状态 |
|---|---|---|---|
| 文本 | 开发者 API、Agent、剧本与拍摄清单 | 平台 → uumi → 供应商 | 已确定,协议及计费待验证 |
| 视频 | Studio、Drama、Commerce | 平台 → 媒体网关 → 供应商 | 已确定,任务与计费待验证 |
| 图片生成、图片编辑 | Studio、Drama 资产、Commerce 商品图 | 建议平台 → uumi → 供应商 | 供应入口待确认;需核对 uumi 实际支持的模型、格式与同步/异步行为 |
| 音频生成、转写等 | Studio 音频、配音;具体首期范围待定 | 建议平台 → uumi → 供应商 | 供应入口与开放能力待确认 |
图片、音频采用 uumi 是接入建议,不改变已确认的文本和视频边界,也不声称已接通。若 uumi 不支持所需能力,应记录缺口再决定供给接入方式;产品不能自行绕过平台直连供应商,媒体网关也不因此自动扩展到图片或音频。
第 1 阶段审计图片、音频协议与计量字段;至少选产品需要的一条图片链路做本地夹具验证。真实供应支持在产品上线前验收,未验证组合不上架。文本 API 首发不要求同时开放所有多媒体能力,但必须保留统一身份、钱包和来源记录的接入路径。
文本
| 项目 | 做法 |
|---|---|
| 对外协议 | OpenAI Chat Completions 与 Responses、Anthropic Messages、Gemini 原生格式 |
| 上游 | uumi。当前每个文本模型只提供一个渠道及明确服务Key绑定;多个接入配置可供不同模型使用,文本多版本选择暂时搁置 |
| 格式转换 | 由 uumi 负责。平台按客户请求的协议原样转发,不做供应商之间的格式转换 |
| 用量 | 平台从 uumi 的响应(含流式响应)中读取实际用量,按客户价格结算 |
| 重试 | 供应侧的重试由 uumi 负责。平台对已发出的付费请求不盲目重发 |
统计口径。 uumi 只能看到平台的服务 Key,看不到终端用户。为了在 uumi 上区分来源,给不同产品线分别发 uumi Key,例如 API 一个、Studio 一个。终端用户级别的统计在平台上做。
需要实测的点。 统一 OpenAI 格式下,Claude、Gemini 模型的缓存命中和推理 token 是否完整返回;这决定这些计费维度能否精确计价。在第 1 阶段验证。
视频
| 项目 | 做法 |
|---|---|
| 上游 | 媒体网关,不经过 uumi |
| 对接方式 | 对客户/产品采用平台内部自定义媒体协议;平台适配媒体网关的OpenAI / ModelArk接口。客户端契约与网关协议分别维护,具体任务契约待验收 |
| 计费 | 提交时预扣,任务成功后按实际规格(秒数、分辨率等)结算,失败退回 |
| 需要实测的点 | 任务提交、轮询、失败退款、按秒或按次计价能否跑通,在第 1 阶段验证 |
持久任务与恢复职责
- 平台持有客户任务、用户与产品归属、账务操作和客户结果访问授权;产品持有创作任务、业务输入快照和候选选择;媒体网关持有供应任务、Attempt 与 Provider 任务。三者是不同对象,通过持久关联查询,不能各自重复创建上游任务。
- 平台保存
operation_id → 客户任务 → 网关任务的映射;产品保存自己的任务到平台操作及任务的映射。网关负责继续查询 Provider,平台查询网关,产品查询平台。产品 Worker 不直接查询 Provider。 - 创建请求在发出前登记业务身份与请求指纹。响应丢失时按原幂等身份查询;精确重放创建请求的前提是上游保证原键返回原任务。没有该保证时进入核对,不重新付费创建。
- 供应侧换渠道只能由供应网关根据明确的失败和重试策略执行;平台和产品不再叠加创建重试。任务等待超时、页面关闭或 Worker 租约到期不等于供应失败。
- 平台只依据确认的结果及实际计量结算。取消是否成功、是否产生供应成本和客户退款分别处理;供应退款不自动决定客户售价或退款金额。
- 网关已成功但产品保存媒体失败时,只重试获取和保存原结果,不重做生成。账务结算与产品文件持久化分别记录状态,消费记录不得因保存失败丢失。
异步图片或音频若获准开放,沿用同样的任务约束;同步能力按一次操作记录实际用量。结果存储与授权见共用任务与媒体,计费异常见钱包与计费。
客户Key与上游凭据
2026-10-05 D-KEY-ALL-MODELS:客户API Key不分组、不按Key限定模型,一Key调用全部开放模型;平台完成账户/Key有效性、额度及统一钱包校验后,按所调用模型的标准销售价计费。后台为销售模型配置受控上游入口及服务凭据,例如Claude模型使用配置好的uumi Key;上游凭据和供应选择不暴露为客户组选项,也不改变同规格的客户售价。uumi仍负责文本供应渠道和采购规则。已有按产品来源区分上游Key的配置可在受控接入中明确处理,不改变客户Key模型范围。
模型目录
平台上的模型列表就是对客户销售的目录,和 uumi、媒体网关上的供应配置分开维护:
- 平台决定卖哪些模型、叫什么名字、什么价格。
- uumi、媒体网关决定这些模型实际由哪个供应商、哪个渠道提供。
- 供应侧调价不会自动改变客户价格。
错误处理
- 上游返回错误时,释放预扣的积分,把错误按原协议返回给调用方。
- 结果未知(如超时、断流)时,不当作“未执行”,也不重发;记录下来进入核对。
- 缺少用量字段时,不按零计费,也不伪造用量;具体策略在第 1 阶段验证后确定。
2026-10-07:媒体自定义协议与计量边界
文本保持标准模型名及OpenAI Chat/Responses、Anthropic Messages、Gemini协议,每模型一个渠道,不增加渠道版本选择字段或改变标准调用方式。图片与视频采用平台内部自定义协议,可按已验收能力承载生成、查询、规格和结果;正式契约源在平台仓库docs/openapi/。2026-10-07已补内部媒体客户任务契约及本地夹具链路,生产供给/计量仍按下述边界验收。
能力类型、操作动作和计量单位分别定义:图片/视频是能力,生成/查询是动作,次/张/秒/token是计量。管理员为具名模型及可售规格配置适用规则,客户只能选择已发布规则支持的方式,不能凭请求中自报单位、单价或用量决定扣费。按token计量须核对可信实际输入/输出等用量,按秒计量须明确对应实际时长;缺用量不能按零或伪造完成。查询原任务不再次创建生成消费。价格和单位快照、统一钱包及Key额度核对、幂等归属、未知不重发均适用于内部协议。
视频仍经媒体网关,图片入口仍待供给审计;协议选择不授权绕过平台直连供应商。媒体列价/试算不表示执行已开放,具体模型/动作/计量组合继续按T-06/G-07验证。
本地内部任务沿用统一操作/冻结/流水与原价格快照,先持久记录单次发送屏障,再提交网关。可信回执保存后按原规则核对次/张/秒/token用量;普通产品事实接口不能伪造媒体终态或结算。超预留余额不足保留原成功事实与冻结,充值后只结算原回执;未结算不交付输出。未知任务只查询,明确无扣费失败才释放。现媒体网关的OpenAI响应没有可信实际用量/无扣费回执,时长为请求规格且无按平台操作号找回任务;当前生产发布保持拒绝,私有计量协议限本地夹具。证据与未验范围见平台docs/verification/T-06/media-protocol-20261007.md。