跳转到主要内容

GPT Image 透明背景变棋盘格:真假透明怎么判断、怎么修

换了底色格子还在,就是画进像素的假透明。API 要传 background 并用 png 或 webp,ChatGPT 里只能用文字要求,都以保存的文件为准。

LaoZhang AI Team发布于24 分钟阅读
文章目录
GPT Image 透明背景变成棋盘格的封面:同一张橙色贴纸叠在彩色底上,上方底色透出来是真透明,下方灰白格子盖住底色是假透明

两种棋盘格:能透出底色的是真透明,盖住底色的是画上去的

灰白格子有两种来路。一种是看图软件或编辑器画在透明像素后面的底纹,只在屏幕上显示,文件里没有它;另一种是模型把格子当成画面内容画了出来,每一格都是实打实的不透明像素。前者是真透明,后者就是常说的假透明。

区分的办法只有一个:看文件,不看预览,也不看扩展名。把保存下来的原文件叠到一块深色或彩色的底上,底色从主体四周透出来,是真透明;格子跟着图一起盖在底色上,是画上去的。OpenAI 的提示词指南里也有同一句话:画出来的棋盘格不是透明(A drawn checkerboard is not transparency)。

下面关于 ChatGPT 和 API 会返回什么的说法,全部来自 OpenAI 的文档和用户报告,截至 2026 年 10 月 2 日;这一轮没有在 ChatGPT 里生成图片,也没有发起任何付费 API 调用。实际跑过的只有文中两个本地 Python 脚本,测试对象是用 Pillow 画的合成图,不是模型输出。

确认是假透明之后,问题出在哪一步,取决于图是从哪个入口来的:

你的情况最可能的环节先做什么
在 ChatGPT 里用文字要了透明背景,保存的文件里格子还在生成:界面里没有透明开关,模型自己决定画什么换一个新对话按原始描述重新生成,不要让它“把格子去掉”
调 OpenAI API,只在提示词里写了“透明”参数:没传 background 等于 auto补上 background 和 output_format,再看响应里的两个字段
通过第三方平台调用,参数传了但结果是白底或格子路线:这个型号路线不一定支持 background查平台文档里该型号对透明的说明,换支持的型号
生成时是透明的,下载、转发或上传之后变成白底、黑底保存与转码:JPG、截图、平台压缩回到原文件,用 PNG 或 WebP 原样传
手里只有这一张假透明图,主体不能变修复纯色硬边的主体用下文脚本,其余交给抠图工具

不写代码的判断方法:把原文件叠到深色底上

把文件放到一个你能控制底色的地方,看主体四周露出来的是什么。PPT、Keynote、Figma、Photoshop、Canva 都可以:先铺一块深蓝或大红的矩形,再把图片拖到它上面。

叠上去之后看到的说明结论
主体四周是你铺的底色背景像素是透明的真透明,接着放大看边缘
灰白格子原样盖在底色上格子是画进图里的不透明像素假透明
主体周围是一整块白色或黑色透明信息在保存或转换时丢了,或者一开始就是纯色底不透明,回头查保存环节

把同一张贴纸叠到深蓝底上的三种结果:四周露出底色是真透明,灰白格子盖在底色上是假透明,一整块白色或黑色是不透明

两个容易踩的地方。第一,必须用下载下来的原文件,截图不算:截图是把屏幕上显示的结果重新存成一张不透明的图,原来透明的地方也会被拍成白色或格子。第二,扩展名不说明问题:PNG 可以带透明,也可以完全不透明,一个改了后缀的 JPG 照样能叫 .png。

Photoshop 里常见的困惑也在这里。PS 本来就会在透明区域后面显示格子底纹,所以单看一个图层分不清;在下面新建一个纯色图层,格子消失就是真透明,格子还在就是像素。

真透明的图还要再看一眼边缘。OpenAI 的提示词指南建议检查头发、玻璃、阴影和物体边缘的 alpha 通道,这些位置最容易留下白边或被切掉一块;深色底和彩色底各叠一次,问题会更明显。

用 check_transparency.py 读 alpha 通道:六种结果怎么看

图片多、要批量过,或者想要一个不靠眼睛的结论,就直接读 alpha 通道。alpha 通道的意思是:每个像素除了红、绿、蓝三个颜色值,还存了一个表示透明度的数值,0 是完全透明,255 是完全不透明。一张假透明图的 alpha 值全是 255。

下面的脚本只依赖 Pillow(pip install pillow),做三件事:读出文件的真实格式而不是扩展名;统计透明、半透明、不透明像素各占多少;如果一个透明像素都没有,再看图片外圈是不是两种浅灰交替的格子。

python
"""Tell real transparency from a painted checkerboard.

Usage: python check_transparency.py image.png [more files...]
Requires Pillow (pip install pillow).
"""
import sys
from collections import Counter
from pathlib import Path

from PIL import Image


def border_pixels(rgb, ring=0.04):
    """Pixels in a thin frame around the image, where the background usually is."""
    w, h = rgb.size
    t = max(2, int(min(w, h) * ring))
    px = rgb.load()
    for y in range(h):
        for x in range(w):
            if x < t or x >= w - t or y < t or y >= h - t:
                yield px[x, y]


def painted_checkerboard(rgb):
    """True when the frame is made of two light, neutral tones that alternate."""
    w, h = rgb.size
    small = rgb.resize((min(w, 256), min(h, 256)), Image.NEAREST)
    tones = Counter()
    total = 0
    for r, g, b in border_pixels(small):
        total += 1
        if max(r, g, b) - min(r, g, b) <= 12 and min(r, g, b) >= 150:
            tones[round((r + g + b) / 3 / 8)] += 1  # 8-level buckets of gray
    if total == 0 or sum(tones.values()) / total < 0.85:
        return False  # the frame isn't mostly light gray/white
    buckets = sorted(tones)
    light = [b for b in buckets if tones[b] / total >= 0.15]
    if len(light) < 2 or (max(light) - min(light)) * 8 < 10:
        return False  # one flat tone: a plain white or gray background
    # Two tones must alternate along the top row, not sit in two big blocks.
    mid = (max(light) + min(light)) * 8 / 2
    row = [sum(small.getpixel((x, 1))) / 3 > mid for x in range(small.width)]
    flips = sum(1 for a, b in zip(row, row[1:]) if a != b)
    return flips >= 4


def check(path):
    with Image.open(path) as im:
        real_format, mode = im.format, im.mode
        rgba = im.convert("RGBA")  # palette transparency becomes a real alpha channel
    print(f"{path.name}: {real_format}, mode {mode}, {rgba.width}x{rgba.height}")
    if real_format not in ("PNG", "WEBP"):
        print(f"  NOT TRANSPARENT: the bytes are {real_format}, which can't store the alpha you need.")
        return "wrong-format"

    hist = rgba.getchannel("A").histogram()
    total = rgba.width * rgba.height
    clear, solid = hist[0], hist[255]
    partial = total - clear - solid
    print(f"  alpha: {clear / total:.1%} transparent, {partial / total:.1%} partial, {solid / total:.1%} opaque")

    if clear == total:
        print("  EMPTY: every pixel is transparent.")
        return "empty"
    if clear + partial == 0:
        if painted_checkerboard(rgba.convert("RGB")):
            print("  FAKE: no transparent pixels, and the frame is a two-tone gray grid. The checkerboard is painted in.")
            return "painted-checkerboard"
        print("  OPAQUE: no transparent pixels. The background is a solid part of the picture.")
        return "opaque"
    if clear == 0 and len([v for v in hist if v]) == 1:
        print("  FADED: one alpha value everywhere. Opacity was lowered; nothing was cut out.")
        return "faded"
    print("  REAL: transparent pixels are present. Check the edges on a dark and a colored background next.")
    return "real"


if __name__ == "__main__":
    if len(sys.argv) < 2:
        sys.exit(__doc__)
    for name in sys.argv[1:]:
        check(Path(name))

运行 python check_transparency.py 你的图片.png,一次可以跟多个文件。对一张画了格子的合成样例和一张改了后缀的 JPG,输出是这样的:

painted-checkerboard.png: PNG, mode RGB, 512x512
  alpha: 0.0% transparent, 0.0% partial, 100.0% opaque
  FAKE: no transparent pixels, and the frame is a two-tone gray grid. The checkerboard is painted in.
jpeg-renamed.png: JPEG, mode RGB, 512x512
  NOT TRANSPARENT: the bytes are JPEG, which can't store the alpha you need.

脚本的提示是英文,六种结果对应的意思和下一步如下:

输出意思下一步
REAL文件里有透明像素叠到深色和彩色底上检查边缘
FAKE没有任何透明像素,外圈是两种浅灰交替的格子重新生成,或按后文修复
OPAQUE没有任何透明像素,背景是画面的一部分(白底、场景,或没认出来的格子)同样不是透明图,按不透明处理
NOT TRANSPARENT文件实际是 JPEG 之类存不了透明的格式回到原文件,查保存和转发环节
FADED整张图是同一个半透明值,只是调低了不透明度,没有抠出主体重新生成或重新抠图
EMPTY所有像素都透明,图是空的重新生成

脚本在 10 个合成样例上的结果

这个脚本在 Python 3.12.1、Pillow 12.0.0、macOS 上跑过 10 个合成样例,10 个都判对了。样例全是用 Pillow 画的一个红色主体加不同背景,没有一张是 ChatGPT 或 GPT Image 的真实输出:

合成样例判定
带 alpha 的 PNG、带 alpha 的 WebP、调色板透明的 PNGREAL
画了棋盘格的 RGB PNGFAKE
画了棋盘格、模式是 RGBA 但 alpha 全为 255 的 PNGFAKE
棋盘格加轻微模糊、随机噪点,再过一遍 JPEG 压缩FAKE
白底 PNGOPAQUE
内容是 JPEG、后缀改成 .pngNOT TRANSPARENT
整体半透明的 PNGFADED
全透明的空 PNGEMPTY

格子的识别条件写在 painted_checkerboard 里:取图片外圈一圈边框(宽度是短边的 4%),其中至少 85% 的像素是浅色中性灰,并且分成两种深浅明显不同的色调,沿顶边至少交替 4 次。模型画出来的格子不一定这么规整,格子大小不匀、带透视、颜色偏深或带阴影时,脚本很可能只报 OPAQUE 而不是 FAKE。这不影响主要结论:只要 alpha 那一行显示 100.0% opaque,这个文件就不是透明图。反过来,REAL 只说明文件里存在透明像素,抠得干不干净仍然要看边缘。

ChatGPT 里要透明背景:只能用文字要求,再检查保存的文件

ChatGPT 界面里没有透明背景的开关。OpenAI 帮助中心的 Images in ChatGPT 写明 ChatGPT Images 可以按指令“make the background transparent”,也可以上传已有图片再描述修改;但页面上没有记载任何透明设置,没有写 Save 下载的是什么格式,也没有说明预览在透明图后面显示什么。所以在 ChatGPT 里你能做的只有两件事:把要求写清楚,然后检查保存下来的文件。界面入口和对应型号见 ChatGPT Images 2.5 怎么用。

由此也能看清一个常见说法的问题:“鼠标移到图上出现棋盘格底纹,就是透明通道生效了”。预览里的格子可能是界面画的底纹,也可能是图里的像素,在预览里分不出来,结论只能从文件里得出。

要求可以这样写,思路来自 OpenAI 提示词指南的做法:写明只要一个独立主体,写明背景透明,再把不想要的东西逐项排除。

画一只橙色柴犬贴纸,只有这一个独立主体,四周留白边。
背景完全透明,输出带透明通道的 PNG。
不要画棋盘格或灰白格子,不要纯色底、场景、投影、文字和水印。

后续每改一次图,都把透明要求重说一遍,例如“保持背景透明,只把围巾改成蓝色”。指南里对此有明确提醒:后续编辑要重申保留透明背景,否则这一轮可能又被补上背景。

在 ChatGPT 里要透明却拿到画进图里的格子,这类情况有公开的用户报告。OpenAI 开发者社区 2026 年 5 月到 6 月的一个帖子里,有用户描述棋盘格被“baked into the image”,不是真正的 alpha 透明;同一个帖子里也有人拿到了真透明或部分透明的结果。这些报告大多出现在 Images 2.5 之前,能说明这种失败存在,说明不了现在出现的频率。至于模型为什么会画格子,常见的解释是它在训练图片里见到的“透明”多数就是格子底纹的样子,于是把格子当成了画面内容;OpenAI 没有公开说明过原因。

拿到假透明图之后,不建议接着说“把棋盘格去掉”。那是又一次生成式编辑,官方指南提醒过,反复编辑可能改动你想保留的细节,需要像素级不变的区域应该把编辑结果合成回原图,而不是只靠提示词。更稳的顺序是:开一个新对话,用原始描述加上面的排除项重新生成;仍然不行,再考虑走 API 用参数控制,或者对现有图片做抠图。

API 该传什么:background: transparent 加 png 或 webp

调 API 时,透明靠参数,不靠提示词。OpenAI 的图片生成接口参考对 background 的说明是:可取 transparent、opaque、auto,默认 auto,这时由模型自己判断用什么背景。也就是说,只在提示词里写“透明背景”而不传这个参数,等于让模型自己决定,它完全可能给你一张白底图,或者一张画了格子的图。

截至 2026 年 10 月 2 日,各型号的支持情况如下:

型号透明背景条件
gpt-image-2.5-sunburst、gpt-image-2.5-flare(含 2026-09-08 快照)支持output_format 必须是 png 或 webp
gpt-image-2、gpt-image-2-2026-04-21预览阶段同上

编辑接口 /images/edits 对 background 的说明相同,给已有图片去底时照样要传。两个 2.5 型号在透明上的要求一致,怎么选看速度和编辑精度,见 GPT Image 2.5 Flare 与 Sunburst 对比。

一个按接口参考写出的请求如下。请求本身没有实际发送过;后两行解析和解码命令用一份手写的响应文件在本地试过,能取出字段并还原出 PNG。

bash
curl -s https://api.openai.com/v1/images/generations \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.5-flare",
    "prompt": "一只橙色柴犬贴纸,单个独立主体,四周留白边。背景完全透明,不要棋盘格、纯色底、场景、投影和水印。",
    "background": "transparent",
    "output_format": "png",
    "size": "1024x1024"
  }' > response.json

jq '{background, output_format}' response.json
jq -r '.data[0].b64_json' response.json | base64 --decode > sticker.png

这里有三处值得注意。

响应里先看两个字段。 接口参考写明,返回对象里带有 background(transparent 或 opaque,表示这次生成实际使用的背景设置)和 output_format(png、webp 或 jpeg)。这是不用解码图片就能做的第一道检查:如果返回的是 opaque 或 jpeg,文件不可能是透明的,问题在请求没按你的意思执行,不用再去看图。两个字段都对,再把解码出的文件交给上面的检查脚本。

提示词仍然要配合参数。 官方指南的做法是参数和提示词一起用:参数设为透明,提示词里写明独立主体,并明说不要纯色底、棋盘格、场景和阴影。参数决定文件有没有 alpha 通道,提示词减少模型往画面里添东西的机会。

PNG 不要加压缩参数。 指南写明 output_compression 只用于 JPEG 或 WebP 输出。另外,GPT Image 系列一律返回 Base64 图片数据,不返回链接,解码时直接写成二进制文件,不要经过任何会转格式的中间步骤。

如果你是通过工作流工具调用,要确认它真的把 background 传出去了。以 n8n 为例,原生节点传不了这个参数,需要改用 HTTP Request 节点,细节见 n8n 接入 GPT Image 2.5:原生节点够不够用。通过 Responses API 的图片生成工具调用时,官方指南写的是可以调整质量、尺寸、格式和压缩,没有单独列出 background,按你用的型号查对应的参考文档再决定。

中转平台调用后参数没生效:先查型号路线支不支持 background

通过第三方 API 平台(常被叫作中转、网关或聚合平台,指用它们的地址和密钥去调用 OpenAI 模型的服务)调用时,同样叫 GPT Image 2.5,不同型号路线对 background 的支持可以完全不同。请求里写了 transparent 却拿到白底或格子,先别怀疑提示词,先查你用的那个型号在平台文档里有没有承诺这个参数。

LaoZhang API 的 GPT Image 2.5 文档是一个具体例子,同一个平台上就有三类路线:

路线型号文档对透明背景的说法
按次计费gpt-image-2.5-flare-vip、gpt-image-2.5-sunburst-vip写明可以生成透明背景图,也可以给上传的图片去底,传 "background": "transparent" 和 "output_format": "png"
官方转发gpt-image-2.5-flare、gpt-image-2.5-sunburst使用 OpenAI 的参数,按 token 计费
网页路线gpt-image-2.5-web不能选 Flare 或 Sunburst,支持哪些参数取决于控制台配置和实际结果,文档明确说不要假设 VIP 的选项在这里可用

也就是说,在网页路线上传了 background,平台并没有承诺它会生效;想要透明,就该换到写明支持的型号。其他平台同理,文档里找不到关于 background 的说明时,按“不支持”对待,用一张图验证后再批量跑。响应里的 background 和 output_format 两个字段在第三方平台上是否原样返回,各家不一样,没有这两个字段时只能靠检查文件。

如果你要的是一条按次计费、文档写明支持透明参数的路线,上表第一行的两个型号截至 2026 年 9 月 24 日的公开价格是每次 $0.03,接口地址为 https://api.laozhang.ai/v1,生成和编辑分别走 /v1/images/generations 与 /v1/images/edits。这些信息出自该平台文档,这里没有做过付费调用来验证输出;文档同时写明这两个型号不支持 mask 局部编辑,并且在 2026 年 9 月 16 日到 22 日期间曾不可用,之后恢复。官方按 token 计费和按次计费怎么比较,见 GPT Image 2.5 Sunburst 价格:官方单图费用与按次计费怎么选。

下载后变白底、发出去变白底:JPG、截图和转码都会丢透明

生成出来确实透明,到了用的地方却变成白底或黑底,问题在生成之后的环节。逐项对照:

  • 存成或转成了 JPG。 JPEG 没有 alpha 通道,透明区域会被填成纯色。API 里把 output_format 设成 jpeg 同理,官方参考要求透明必须配 png 或 webp。
  • 用的是截图。 截图记录的是屏幕上显示的样子,得到一张新的不透明图片。
  • 经过了会重新压缩的渠道。 聊天软件发图、部分网站上传图片时可能把文件转成 JPEG 再分发,这一点因平台而异,没有逐个测试过。稳妥的做法是用“文件”或“原图”方式发送,对方收到后跑一次检查脚本。
  • 在编辑器里“另存为”时合并了背景。 导出时选 PNG 或 WebP,并确认保留透明的选项开着。

排查顺序很简单:对最初保存的那个文件跑检查脚本,结果是 REAL,说明生成没问题,沿着文件走过的每一步往后查;结果已经是 OPAQUE、FAKE 或 NOT TRANSPARENT,问题在生成或下载那一步,回到前面两节。

假透明棋盘格怎么办:脚本能救纯色主体,白色主体会被吃掉

手里只有一张画了格子的图,主体又是颜色饱和、边缘硬朗的扁平图形(贴纸、图标、像素风素材),可以直接把格子改成真透明。下面的脚本从图片四条边出发,沿着浅色中性灰的像素一路扩散,扩散到的像素全部改成透明,碰到主体的颜色就停。因为只处理和图片边缘连通的区域,被主体包在里面的白色(眼白、牙齿、标签)不会被动到。

python
"""Turn a painted light-gray/white checkerboard into real transparency.

Usage: python remove_painted_checkerboard.py fake.png fixed.png
Requires Pillow (pip install pillow).

Works by flood-filling from the image border through light, neutral pixels.
It only reaches background that touches the border, so white areas enclosed by
the subject (eyes, teeth, a label) are kept. It can't separate a white or
light-gray subject edge from the grid, and it leaves a thin light rim on soft
edges.
"""
import sys
from collections import deque

from PIL import Image

src, dst = sys.argv[1], sys.argv[2]
im = Image.open(src).convert("RGBA")
w, h = im.size
px = im.load()


def is_grid(p):
    r, g, b, _ = p
    return max(r, g, b) - min(r, g, b) <= 14 and min(r, g, b) >= 170


seen = bytearray(w * h)
queue = deque()
for x in range(w):
    queue.append((x, 0))
    queue.append((x, h - 1))
for y in range(h):
    queue.append((0, y))
    queue.append((w - 1, y))

removed = 0
while queue:
    x, y = queue.popleft()
    i = y * w + x
    if seen[i]:
        continue
    seen[i] = 1
    if not is_grid(px[x, y]):
        continue
    px[x, y] = (0, 0, 0, 0)
    removed += 1
    if x > 0:
        queue.append((x - 1, y))
    if x < w - 1:
        queue.append((x + 1, y))
    if y > 0:
        queue.append((x, y - 1))
    if y < h - 1:
        queue.append((x, y + 1))

im.save(dst)
print(f"{removed / (w * h):.1%} of the pixels made transparent -> {dst}")

运行 python remove_painted_checkerboard.py fake.png fixed.png,再用检查脚本验一遍输出文件。在干净的合成样例上,两步的输出是:

76.0% of the pixels made transparent -> fixed.png
fixed.png: PNG, mode RGBA, 512x512
  alpha: 76.0% transparent, 0.0% partial, 24.0% opaque
  REAL: transparent pixels are present. Check the edges on a dark and a colored background next.

修复脚本在合成样例上的结果与失败边界

同样是 Pillow 画的合成图:512×512,红色主体,中间有一块被主体包住的白色标签,背景是白与浅灰交替的格子。把修复结果和原始的透明蒙版逐像素比对,得到:

合成样例背景被清除红色主体损失被包住的白色标签保留修复后复检
干净的棋盘格100.0%0%100%REAL
模糊、加噪点并经过 JPEG 压缩的棋盘格99.63%0%100%REAL
近白色主体直接贴着棋盘格不适用100%不适用主体整个消失

修复脚本在合成样例上的适用边界:红色主体和被包住的白标签修复后完整保留,近白色主体贴着格子时被整个清掉,头发、软阴影和柔和边缘无法重建

这组数字划出了脚本的适用范围,用之前对照一下自己的图:

  • 白色、浅灰的主体不能用。 第三行就是失败边界:主体颜色和格子落在同一个范围(三个通道相差不超过 14、最暗的通道不低于 170)并且挨着背景时,扩散会一路穿过去,测试里主体像素 100% 被清掉。白色 Logo、白衣服、白色产品、浅色描边都属于这一类。
  • 边缘是硬的。 修复后的文件里半透明像素为 0%,每个像素要么全透明要么全不透明。放大看是锯齿边;原图边缘如果是柔和过渡,会留下一圈细的浅色边。
  • 头发、玻璃、烟雾、软阴影救不回来。 这些地方需要半透明信息,而假透明图里已经没有这份信息了,脚本不会凭空重建。
  • 带噪点的图清不干净。 第二行还剩 0.37% 的背景像素没清掉,往往是零星的小点,叠到深色底上能看到。
  • 样例不是模型输出。 模型画的格子如果颜色偏深、带阴影或渐变,落在阈值之外的部分会原样留下。

超出这个范围时,按主体能不能变来选:

  1. 主体可以重画:回到生成那一步。API 带上 background 和 output_format 重新请求;ChatGPT 里开新对话重新生成。
  2. 主体必须保持不变,而且边缘复杂:把这张图当成普通的“有背景图片”去抠,用带选区或专门去底功能的工具处理,各类工具怎么选见透明底图片怎么做:按素材选方法,再确认真的透明。
  3. 不要让模型“只去掉格子”,原因前面说过:那是一次新的生成,主体可能被重画。

抠完或重做之后,都再跑一遍检查脚本,并叠到深色底上看边缘。

透明背景与棋盘格的几个相邻问题

GPT Image 不是不支持透明图吗?

“不支持”在 2026 年 8 月之前是对的,现在已经过时。2026 年 8 月之前,OpenAI 的文档写的是 gpt-image-2 不支持透明背景;2026 年 8 月起,API 里的 gpt-image-2 以预览形式开放了透明背景;快照日期为 2026-09-08 的两个 GPT Image 2.5 型号则直接支持,不带预览标注。遇到互相矛盾的说法,先看它的发布日期,再以 OpenAI 接口参考里 background 参数的当前说明为准。

2K、4K 会出棋盘格,换成 1K 才是真透明吗?

OpenAI 的接口参考里找不到这样的规定:background 的说明没有把透明和任何尺寸或质量档位挂钩,只要求输出格式是 png 或 webp。这个说法流传于 gpt-image-2 开放透明预览之前,当时的观察不能直接套到现在。想确认尺寸有没有影响,用同一组参数各生成一张,对文件跑检查脚本,比任何经验之谈都可靠。

gpt-image-2 和 GPT Image 2.5 在透明背景上要区别对待吗?

参数写法一样,稳定性的承诺不一样。两者都是 background 设为 transparent 加 png 或 webp,但 gpt-image-2 的透明支持标注为预览,2.5 的两个型号没有这个标注。新项目直接用 2.5;仍在用 gpt-image-2 的流程,更要对每一张输出做文件检查。

图片里出现细密的格子纹理,但我没要透明背景,是同一个问题吗?

不是。假透明的格子出现在主体之外的背景区域,是模型把“透明”画成了图案;普通不透明图片上铺满整张图的规律细网格、颗粒感,属于画质问题,处理思路完全不同,见 GPT Image 2.5 噪点、颗粒感:找到变脏的那一步再修。

2026 免费 AI 生图工具对比图
AI 图像生成

2026 免费 AI 生图工具推荐:什么才算真的免费

如果你想找一个注册后几天仍然能稳定使用的免费 AI 生图工具,先从 Gemini 开始。但如果你的任务是矢量设计、文字海报,或者你本来就接受公开作品沙盒,Recraft、Ideogram、Leonardo 会更对路。

15 分钟