nano banana pro 怎么用?甜甜圈API 用 nano banana pro 做局部重绘的接口写法
电商场景里最常见的需求不是"从零出图",而是改图:这张主图挺好,就是背景想换个色;模特图不错,但衣服上的字要去掉。整张重出既浪费积分,又保不住已经满意的部分。
这篇讲怎么用甜甜圈API(dashengfenshen.cn)做局部重绘(也叫改图 / inpainting),保住原图其余部分。
一、思路:把原图和意图一起给模型
图像生成接口兼容 OpenAI 的多模态消息格式,一条消息里可以同时放图和文字指令:
const body = { model: 'nano-banana-pro', messages: [{ role: 'user', content: [ { type: 'image_url', image_url: { url: 原图URL或data里的base64 } }, { type: 'text', text: '把背景换成纯白色,商品主体、光影和投影保持不变' }, ], }], };关键在文字指令要写清楚"改什么"和"不许动什么"。只说"换白底",模型可能连商品角度一起重画了。
二、指令怎么写
改图的提示词和从零出图完全是两套写法。经验是一句改动 + 一句保持:
| 需求 | 建议写法 |
|---|---|
| 换背景 | 把背景换成纯白色,商品主体、投影、光泽保持完全不变 |
| 去文字 | 去掉商品包装上的所有文字,材质纹理和高光保持原样 |
| 换颜色 | 把外壳颜色改成哑光黑,形状、结构、logo 位置不变 |
| 加场景 | 把商品放到浅木色桌面上,商品本身和拍摄角度不变 |
"保持不变"那半句不能省。省了的话模型倾向于整张重构,出来的图和原图对不上,批量场景下尤其明显。
三、可复用的封装
async function editImage({ imageUrl, instruction, model = 'nano-banana-pro' }) { const r = await fetch('https://dashengfenshen.cn/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: [ { type: 'image_url', image_url: { url: imageUrl } }, { type: 'text', text: instruction }, ], }], }), signal: AbortSignal.timeout(120_000), }); if (!r.ok) throw new Error('改图失败 HTTP ' + r.status); return r.json(); } // 批量把一组主图统一换成白底 const whiteBg = '把背景换成纯白色,商品主体、投影、光泽保持完全不变'; for (const url of imageUrls) { const out = await editImage({ imageUrl: url, instruction: whiteBg }); // ...存结果 }原图怎么传:公网可访问的 URL 最省事;内网图片就读成 base64 塞 data URL。注意 base64 会让请求体变大,批量时留意上传带宽。
四、纯换白底:别用改图,用抠图
如果需求就是"出白底图",别走局部重绘,走抠图接口:
{ model: 'ttq-cutout', messages: [{ role: 'user', content: [ { type: 'image_url', image_url: { url } }, { type: 'text', text: '抠出商品主体,输出白色背景' }, ]}]}抠图是专门做这件事的,边缘更干净、结果更稳定,不会像重绘那样偶尔把商品细节改掉。局部重绘留给"换场景、改颜色、去文字"这类真需要重新生成像素的活。
五、模型选择
| 模型代码 | 改图表现 | 消耗 |
|---|---|---|
nano-banana-pro | 保真度好,改动可控,改图首选 | 10 积分/次 |
gpt-image-2 | 细节质感强,复杂场景重绘 | 按次计费 |
nano-banana2 | 快,适合先试指令再换 Pro 出终稿 | 8 积分/次 |
ttq-cutout | 纯抠图出白底 | 10 积分/次 |
省积分的做法:先用 Flash 级把指令调对(一句话试几版),指令定了再切 Pro 出正式的。
六、小结
局部重绘的三个要点:原图和指令放同一条消息里、指令必须带"保持不变"那半句、纯换白底走抠图接口而不是重绘。
甜甜圈API(dashengfenshen.cn)一个接口同时提供生图、改图、抠图和生视频,模型全(nano banana pro、gpt-image-2、Veo 3.1、Sora 2)、价格便宜、并发高、出图快、稳定。文档地址:https://dashengfenshen.cn 。
