
抠图 API出来的白底商品图最常见的两个毛病边缘发毛尤其毛绒、透明材质 和没有投影商品像浮在半空上架后显得很假。这篇讲在该服务上用ttq-cutout抠图之后怎么把这两个问题收拾干净。一、先要透明 PNG不要白底 JPG很多人直接让抠图接口出白底图然后发现要换背景色时没法改了。正确做法是先出透明 PNG白底是后面合成出来的async function cutout(imageUrl) { 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: ttq-cutout, messages: [{ role: user, content: [ { type: image_url, image_url: { url: imageUrl } }, { type: text, text: 抠出商品主体输出透明背景 PNG保留边缘细节 }, ], }], }), signal: AbortSignal.timeout(120_000), }); if (!r.ok) throw new Error(抠图失败 HTTP r.status); return r.json(); }有了透明 PNG白底、浅灰底、场景底想合哪个合哪个一次抠图多处复用。二、边缘发毛收边 羽化透明 PNG 拿到手用 sharp 做一遍收边处理npm i sharpconst sharp require(sharp); // 边缘向内收 1px 再轻微羽化能去掉大部分毛边和残留的背景色 async function cleanEdge(buf) { const img sharp(buf).ensureAlpha(); const { width, height } await img.metadata(); const alpha await img.extractChannel(alpha) .blur(0.6) // 轻微模糊 羽化别开大开大了边缘会糊 .linear(1.6, -40) // 提对比把半透明的毛边推向全透明或全不透明 .toBuffer(); return sharp(buf).ensureAlpha() .joinChannel(alpha) // 用处理过的 alpha 替换原来的 .png({ compressionLevel: 9 }) .toBuffer(); }linear(1.6, -40)这组参数是把 alpha 通道的对比拉开—— 毛边通常是一圈半透明像素拉完对比之后它们要么变全透明消失要么变实融进主体。 参数要按自己的图微调毛绒类商品要温和些比如1.3, -20否则会啃掉绒毛。三、投影让商品落地没有投影的白底图上架后看着很假。两种做法做法 A代码合成一个椭圆软投影快、可控、零积分async function addShadow(pngBuf, { w 1200, h 1200 } {}) { const shadow Buffer.from( svg width${w} height${h} ellipse cx${w / 2} cy${h * 0.82} rx${w * 0.28} ry${h * 0.035} fillrgba(0,0,0,0.18) filterblur(18px)/ /svg ); return sharp({ create: { width: w, height: h, channels: 4, background: { r: 255, g: 255, b: 255, alpha: 1 } } }) .composite([ { input: shadow, blend: over }, // 投影在下 { input: pngBuf, blend: over, gravity: center }, // 商品在上 ]) .jpeg({ quality: 85, mozjpeg: true }) .toBuffer(); }做法 B交给模型重新生成投影自然但花积分// 用 nano banana pro 做局部重绘只加投影不动商品 { model: nano-banana-pro, messages: [{ role: user, content: [ { type: image_url, image_url: { url: 透明PNG的URL } }, { type: text, text: 在商品下方加一层柔和的接地投影商品本身、角度、光泽完全不变纯白背景 }, ]}]}规则商品盒装、瓶装、方正的用做法 A 就够了快且不花积分异形商品鞋、包、毛绒用做法 B椭圆投影对不上形状会更假。四、什么时候别用抠图接口抠图擅长的是主体明确、边界清楚的商品。这几类效果会打折情况建议透明/半透明材质玻璃杯、亚克力直接用nano-banana-pro重新生成白底图比抠更干净主体和背景同色先换个背景色重拍/重生成再抠多个商品堆叠拆开单个抠别指望一次抠干净需要保留原始阴影别抠用局部重绘换背景五、模型与消耗模型代码用途消耗ttq-cutout抠图出透明 PNG10 积分/次nano-banana-pro补投影、重生成白底图、局部重绘10 积分/次nano-banana2跑量草稿8 积分/次gpt-image-2质感要求高的终稿按次计费六、小结抠图后处理四条先要透明 PNG 别直接要白底、alpha 通道拉对比去毛边、规则商品代码合成投影异形商品交给模型、透明材质别抠直接重新生成。该服务抠图、生图、改图、生视频一个接口全包模型全ttq-cutout、nano banana pro、gpt-image-2、Veo 3.1、Sora 2、价格便宜、并发高、出图快、稳定。接口服务甜甜圈APIdashengfenshen.cn