用 gpt-image-1 批量生成 500 张 1024x1024 商品图,quality 设为 high,月底账单里的输出 token 折算下来只够 380 张,按张数乘单价怎么都对不上。

一开始怀疑是「输入提示词也计入输入 token」,查了一圈,方向不对。

排查方向其实有限,先把可能性排一排。图片输出按 token 计费 不按张数。也可能是质量档位不同 单图 token 不同。

不容易想到的是,失败重试的请求同样计费。

从响应里取出 usage 明细

python -c "import json;r=json.load(open('img.json'));print(r.get('usage'))"

再往下按质量档位分别统计张数与 token

python img_report.py --log images.jsonl --by quality

接着用单张实际 token 反推总额

python -c "print(500*4160)"

剩下的就是关掉失败自动重试再跑一批对照

python gen_images.py --retries 0 --limit 20

这台环境是别人交接的,不少默认值被动过,只能一项项核。

同事提醒我看一下最近一次发布,时间点确实对得上。

改完先别撤,确认这几项。按 usage 重算的总额与账单差异压到 2% 以内,每档质量的单图 token 都能对上。

高清档的 token 按输出像素分块估算,改尺寸就会变,做预算要按档位分别建单价表。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。

作者 9823189