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