生图API 选模型别靠感觉:nano-banana-pro 和 gpt-image-2 怎么做 A/B 对比
"哪个模型更好"这个问题没有通用答案——取决于你的品类和风格。 别人测出来 gpt-image-2 更好,换到你的货上可能是 nano banana pro 赢。
这篇讲在该服务上怎么用几十行代码 把 A/B 对比跑出来,用数据选模型。
一、同一套提示词,多个模型并行
一个密钥能调所有模型,A/B 对比几乎零成本:
const MODELS = ['nano-banana-pro', 'gpt-image-2', 'nano-banana2']; async function abTest(prompt) { const results = await Promise.all(MODELS.map(async (model) => { const t0 = Date.now(); try { const r = await fetch('https://API_HOST/v1/chat/completions', { method: 'POST', headers: { Authorization: `Bearer ${process.env.TTQ_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ model, messages: [{ role: 'user', content: prompt }] }), signal: AbortSignal.timeout(120_000), }); return { model, ok: r.ok, ms: Date.now() - t0, data: r.ok ? await r.json() : null }; } catch (e) { return { model, ok: false, ms: Date.now() - t0, err: e.message }; } })); return results; }并行发,不要串行——串行的话三个模型跑完要等三倍时间,而且耗时数据会被网络波动污染。
二、要比的不只是"好不好看"
只看单张图很容易被个例带偏。建议每个模型同一提示词出 5 张,比这四项:
| 维度 | 怎么看 |
|---|---|
| 命中率 | 5 张里有几张能直接用?这个最重要 |
| 一致性 | 5 张之间风格是否统一?批量场景下比单张质量更关键 |
| 耗时 | 平均单张多少秒,直接决定跑量能力 |
| 成本 | 单次积分 ÷ 命中率 =每张可用图的真实成本 |
第四项最容易被忽略。一个模型单次 8 积分但命中率 40%, 另一个单次 10 积分但命中率 80%——后者每张可用图才 12.5 积分,前者要 20 积分。便宜的模型不一定省钱。
// 每张可用图的真实成本 const realCost = costPerCall / hitRate;三、测试集怎么选
别拿一个商品测。挑 5 个覆盖不同难度的:
- 一个规则商品(盒装、瓶装)——基准线
- 一个反光材质(金属、玻璃)——考验高光处理
- 一个软材质(衣物、毛绒)——考验纹理
- 一个多部件商品(带配件的套装)——考验结构还原
- 一个你最主推的款——这个权重最高
五个商品 × 三个模型 × 五张 = 75 次调用。用便宜的先跑一轮筛掉明显不行的, 剩下两个再精细比。
四、别忘了记录用的哪个模型
批量出图时把model跟着结果一起存下来:
await db.images.insert({ url, model, prompt, createdAt: new Date() });不记的话,后面发现某批图质量参差,根本查不出是模型的问题还是提示词的问题。有了这个字段,随时能回头统计"哪个模型出的图被最终采用得多"—— 这才是最真实的 A/B 结果。
五、模型与消耗
| 模型代码 | 特点 | 消耗 |
|---|---|---|
nano-banana2 | 最快,跑量和试参数首选 | 8 积分/次 |
nano-banana-pro | 综合最稳,支持 1K/2K/4K | 10 积分/次 |
gpt-image-2 | 细节质感最好,材质表现强 | 按次计费 |
Veo 3.1 视频生成/Sora 2 | 生视频 | 120 / 130 积分/次 |
六、小结
选模型四条:并行跑同一提示词、比命中率和一致性不只看单张、算每张可用图的真实成本、测试集要覆盖不同难度。
该服务一个密钥调所有模型,换模型只改一个字符串, A/B 对比的成本低到可以随时做。模型全、价格便宜、并发高、出图快、稳定。
接口服务:甜甜圈API(dashengfenshen.cn)
