我在给一个 side project 做贴纸物料,卡住的地方不是主体,是主体外面那一圈背景。这篇写我怎么用阿里云百炼十月新上的两个图像模型把这一段流程改掉。中间有一次走错的尝试,一句让我换了做法的官方口径,还有一个到排版环节才暴露的默认值。
一、背景:一套贴纸物料卡在背景这一步
物料的要求很具体:张张贴纸都要透明底。白底印出来会带一圈方框,贴在笔记本或者机箱上都很突兀,所以透明底不是加分项,是及格线。
主体图我不担心,提示词写好就能出。背景这一段原来靠手动完成:放大到最大、沿边缘描、导出、放到深色底上检查白边,有毛刺就回去补。一张来回两三趟,一套物料做下来,背景花的时间比出图多。
中途我评估过接一个专门的抠图服务,结论是不划算:为了一个"把背景变透明"的动作,要新增账号、文档、API 和一份额度,出图与抠图之间还要倒腾格式。

二、能力面:十月新上的两个图像模型
这一轮用的是 qwen-image-2.1-pro 和 qwen-image-2.1-turbo,阿里云百炼十月新上的两个图像模型。官方给这两个模型写的优势里都包含"原生透明",我就是照着这四个字下的手。
需要提醒的一点:模型 ID 要写全。2.1-pro、2.1-turbo 与其他图像模型的名字长得接近,差一个字符就是另一个模型,写错了命令不报错,图照样出,只是结果不属于你要核的那个模型。
三、上手准备:CLI 与 API Key
环境这边只有两项准备。CLI 的安装是一条 npm 命令,入口在 CLI 安装页。生成与编辑两条命令都要鉴权,Key 在控制台签发:API Key 页面。
Key 没配好的时候先处理鉴权,再回头核透明这件事,两个问题混在一起排查最耗时间。
四、第一次尝试:透明写在生成提示词里
我的第一反应是透明属于出图阶段,于是把诉求写进提示词,写得尽量死。
bl image generate --model qwen-image-2.1-turbo --prompt "一枚圆形柠檬切片贴纸,背景完全透明,alpha 通道透明,不要任何底色" --out-dir ./sticker --out-prefix s1
产物是 PNG,容器是 RGBA,属性看着正常。放到深色底上,柠檬外面那圈白底还在。把 alpha 通道拉直方图,全透明像素 0 个:通道在,内容没透。
帮助文本里没有任何透明相关的开关,所以我没有去推测原因,推测等于替它编一个解释。这一步能确认的只有现象,一次调用,0 个全透明像素。
五、官方口径:透明通道由提示词描述自动决定
答案在官方 API 参考页。原文是:图生图/图像编辑(I2I)支持传入最多 10 张参考图,且能够根据提示词描述自动决定输出普通图像还是带有透明通道的图像。pro 与 turbo 两个模型写的是同一句。
这句话把三件事说死了。透明通道的归属在编辑侧,不在生成侧。触发方式是提示词描述,由模型自动决定输出普通图还是带透明通道的图,整页没有 transparent 或 RGBA 这样的参数名。参考图的上限口径是最多 10 张。
也就是说,要改的不是提示词的措辞强度,是命令。
六、两步流程与单次读数
bl image edit --model qwen-image-2.1-turbo --image ./sticker/s1.png --prompt "保留柠檬切片主体,把背景改成完全透明的 alpha 通道" --out-dir ./sticker --out-prefix s2
alpha 直方图上,全透明像素 164,919 个。同一句提示词换 pro 跑了一次,301,400 个。两个模型各 1 次。
两组读数差了将近一倍,我不从这里推谁的边缘更干净:单次结果支撑不了比较结论。它能支撑的只有一条,编辑侧这条路是通的,提示词描述可以触发透明通道输出。
验收我固定成两个动作:看 alpha 直方图的全透明像素个数,再把成图放到棋盘底上目视一遍,透明区会露出格子,残留底色和白边藏不住。

流程就此定型:生成主体,编辑切背景,两步,产物落在同一个目录,不需要在两个服务之间搬素材。
七、产物默认值:水印开关
水印这边还有一个默认值。图切好进排版环节,我发现右下角有一个「AI 生成」角标。
帮助文本的口径是:省略水印 flag 时用 Profile 设置或 CLI 默认值(true)。不带开关就是带水印。需要干净底图的物料,命令里显式写 --watermark false;需要保留生成标识的场景,什么都不加,按默认走。
批量出图时这个默认值最容易漏,脚本跑完一般只核落盘数量和文件大小,不看图。我的做法是把水印的选择写进命令本身,不留给默认值。
八、我的痛点,和它能帮我解决什么
痛点三条。其一,透明底素材原来只有手动抠或另接抠图服务两条路,后者要新增的那几样第一节列过,抠完还得自己查边缘毛刺。其二,我不知道透明通道住在哪条命令上,在生成命令里白要了一轮,拿到 0 个全透明像素。其三,水印角标是产物进排版时才发现的,返工落在流程末端。
对应解决的三条。透明底改成两步:生成主体,编辑切底,同一个入口出图,不换服务也不另管一份额度。官方 API 参考那句原话把透明通道的位置与开关形态说死了,在编辑侧、由提示词描述自动决定、没有参数名,后续不会再走错路。水印开关默认开启,也可显式关闭,批量脚本里写死一行即可,不必等到交付前才发现。
边界同样写清楚:两组像素读数都是单次,只说明路通,不包稳定;语音合成这轮没测;中文排版与多字号这篇不验。
九、边界与下一步
这一轮没有覆盖的:10 张参考图上限在真实素材上的表现、局部控制、并发与限流。生成侧那一次为什么没有透明像素,我没有查明,也没有推测,这条留给平台侧口径确认。
编辑命令的参考图可以重复传,官方口径最多 10 张。我拿两张贴纸试过一次,成图里两个源主体都在,1 次,目视核验,不当结论。它指向的下一步是:一套物料里的同款元素,也许不必一张张出再手工拼。
再往后,我打算用语音合成给演示视频配旁白,把 side project 的宣发串成一条线。这句是计划,语音能力这轮没有读数。花费与额度这篇不写数字,用量与余量统一去控制台账单页和额度页看当天读数,控制台入口在 阿里云百炼首页。
十、四条注意事项
- 要透明底走编辑命令,把透明写进提示词描述;在生成命令里要透明,我那一次拿到的是 0 个全透明像素。
- 验收看 alpha 直方图的全透明像素数,别只看容器是不是 RGBA。
- 水印开关默认开,要干净图就显式关掉,别让默认值决定产物长相。
- 模型 ID 差一个字符就是另一个模型;单次读数只说明路通,稳定性自己多跑几轮。
这套物料我还在往下做,编辑侧那条路在不同提示词写法下的差别,我下一轮拿同一批素材多跑几遍再写。你那边要透明时提示词是怎么写的,欢迎在评论里交换写法和像素数。