原则
对账时以控制台用量、最终余额和请求记录为准。前端显示失败不等于模型一定失败,必须结合服务端响应和保存结果判断。
预扣、结算和返还
生产请求可能经历这条链路:同步请求
文本和普通图片同步请求的常见链路是:异步任务
视频或其他异步任务可能先创建任务并预扣额度。提交任务成功后会先形成一笔任务消费记录;后续轮询发现任务失败,会返还任务额度。任务成功后,只有在上游返回可用于重算的用量信息、并且该模型按倍率计费时,才可能根据实际用量做差额调整。图片接口的特殊情况
图片公开主路径的计费口径是:看实际返回的
data.length,再和请求的 n 取较小值。也就是说,请求 n=1 但上游意外返回 2 张,当前主路径最多按 1 张计费;请求 n=2 但只返回 1 张,则按 1 张处理。
如果响应里出现 metadata.tapapi_partial,说明图片 fanout 过程中有部分子请求失败。此时要同时记录 requested_n、returned_n 和 failed_requests,并把已返回图片先转存;不要把已经成功返回的图片也当失败重新生成。
不应自动重试的计费错误
开发者建议
- 保存每次请求的响应状态
- 保存平台返回的
request_id、upstream_request_id和业务侧task_id - 保存返回图片数量和返回字段:
url/b64_json - 记录请求的
n和实际返回的data.length - 如果是图片部分成功,记录
metadata.tapapi_partial、returned_n和failed_requests - 如果是任务或视频,记录顶层
code、message、任务status和fail_reason - 不要把“前端显示失败”和“服务端生成失败”混为一类
- 发现异常先带请求时间和模型名联系支持
联系支持时带上
- 请求时间和时区
- 模型名
request_idupstream_request_id- HTTP 状态码
error.type、error.code和error.message- 任务或视频接口的顶层
code、message和data - 业务
task_id - 请求的
n、实际返回图片数、部分成功元数据和保存状态 - 控制台用量截图或余额变化截图