一个强制开,一个默认关:两条路线对标识的态度
学完你会在用任何新工具的第一天就去查它的标识默认值,并能在图上认出那个标记
上一节讲了法规要求两类标识。这一节讲一件更实际的事:你手上那个工具,默认给你加了哪一类?
答案可能会让你意外——两条主流路线在这件事上的默认值,方向恰好相反。
而最好的部分是:你在本课已经看过的几张图上,就能亲眼找到证据。
两家餐厅对"标注过敏原"的态度。
一家:默认全标,菜单上、餐盘边、后厨记录里都有,你想去掉还得专门申请。 另一家:默认不标,但如果你要求,他们可以给你标上。
两家都不违法(假设当地没有强制规定),但如果你是那个对花生过敏的人,你必须知道自己在哪一家吃饭。
出图工具就是这两家餐厅。而"你是不是过敏"这件事,由你要发布的地方决定,不由工具决定。
两条路线,两个默认值
Gemini / Nano Banana 这一路:隐式强制,显式可关。
官方文档的原话是:"所有生成的图像均包含 SynthID 水印。" SynthID 是隐式标识——肉眼看不见,写在图像数据里。这一条是强制的,你关不掉。
除此之外还有一个显式标记:据多来源公开报道,Gemini 会在生成图像的右下角加一个四角星形(✦)的可见水印。而这个可见水印现在可以由用户关掉(在法律要求保留的国家和地区除外);关掉之后,隐式的 SynthID 与 C2PA 元数据仍然保留。
⚠️ 口径说明:"SynthID 强制"来自官方文档原文;"可见水印可关闭"来自多来源公开报道,本课未取到官方页面原文。
通义万相这一路:显式有开关,而且默认是关的。
官方 API 文档里有一个参数 watermark,说明是"添加'AI 生成'水印标识",默认值 false。
也就是说:你不主动打开,画面上不会有"AI 生成"字样。
而官方 API 文档里没有关于隐式标识的说明。这门课原本就写到这里为止——记的是"本课在这份文档里没有查到"。
后来我们真去跑了一次,发现文档没写的那一半,其实一直都在。
🔬 实测:文档没写,不代表没有
2026-08-20,本课用 wan2.2-t2i-flash 跑了一批对照实验(12 张,固定种子,watermark=false——
也就是显式水印是关着的)。把生成的图用文本方式打开,在文件头部发现了这个:
xmlns:TC260="http://www.tc260.org.cn/ns/AIGC/1.0/"
TC260:AIGC={
"Label": "1",
"ContentProducer": "001191330106MA2CFLDG4R1…", ← 生产者标识
"ProduceID": "R-XBieZKWERLW-NyaePaIeCA", ← 每一张都不同
"ReservedCode1": "K-LBkc9peJ0GoxPECtYBct7…", ← 一段校验/签名串
"ContentPropagator": "001191330106MA2CFLDG4R1…", ← 传播者标识
"PropagateID": "R-XBieZKWERLW-NyaePaIeCA",
"ReservedCode2": "K-LBkc9peJ0GoxPECtYBct7…"
}
TC260 是全国网络安全标准化技术委员会。 这就是《标识办法》要求的隐式标识在这家工具上的
真实长相——一段按国家标准命名空间写进图片元数据的结构化信息。
12 张图全都有,而且每张的 ProduceID 各不相同(说明它是逐次生成写入的,不是一个固定的产品标记)。
三条结论:
-
🔴 "官方文档里没写"不等于"没有"。 本课上一版就停在"未查到",而实际它一直在。 查不到的时候,如实写"未查到"是对的;但别把"未查到"读成"不存在"。
-
显式与隐式确实是两套东西,这次是实测证实的。 整批请求的
watermark都是false——显式的"AI 生成"字样一个都没有,而隐式标识照样写进去了。 -
你可以自己验,但别把"没搜到"当成"没有"。 把图用文本编辑器或
strings命令打开, 在开头几百个字节里找TC260、AIGC、C2PA、SynthID这类字样。搜得到就是有。⚠️ 反过来不成立——这是本课在第二批实验里自己踩的坑:同一段标识,被某些工具存成 十六进制文本再压缩之后,
strings和grep一个字都搜不到,而它其实好好地在文件里。 当时本课的检测脚本因此漏报了 3 项,差点把错的结论写进课里。 所以:搜到 → 确认有;搜不到 → 只能记"未搜到",不能记"没有"。
那么它在裁剪、压缩、转格式之后还在不在? 当天本课又跑了第二批实验专门测这件事, 结论写在 h5.1 里,这里只提一句最反直觉的:截图之后画面一个像素都没变,标识却没了; 而压成 11KB 的小头像,标识还在。 决定它存亡的是最后保存文件的那个程序,不是你对画面做了什么。
⚠️ 仍然没有回答的:上传到微信、微博、抖音这些真实平台之后还在不在—— 那要用真账号实测才算数,本课没做,这一格仍然开放。
🔧 顺手做一次(2 分钟)
找一张你用国内工具生成过的图,在终端里跑:
strings 你的图.jpg | head -40
看看有没有 TC260 或 AIGC 字样。搜到 → 这张图带着国标隐式标识。
没搜到 → 只能记一行"未搜到",不能下"没有"的结论。 三种可能都存在:
被处理时抹掉了、那家工具本来就不写、或者它在文件里但被压缩过所以 strings 看不见(本课踩过这个坑)。
🔬 再实测一家:OpenAI 出的图,带的是另一套标识
2026-08-20 同日,本课又用 OpenAI 的 gpt-image-1 和 gpt-image-2 各出了图
(同一条"一只猫坐在窗台上",留档见 course-sources/ai-art/experiments/2026-08-20-c/)。
结果:三张图里 TC260 一个字都没有,但都带着另一样东西——C2PA。
C2PA(Content Credentials)是国际的内容来源标准。把清单抠出来是这样:
生成方 OpenAI Media Service API spec 2.2.0
软件 gpt-image pre-2.0 ← gpt-image-2 那张写的是 2.0
动作 c2pa.created, c2pa.converted
来源类型 trainedAlgorithmicMedia ← IPTC 标准里表示"AI 生成"的编码
内容绑定 内容哈希(sha256)
证书链 SSL.com C2PA 根证书 → 中间证书 → OpenAI OpCo, LLC
它比 TC260 那段说得多得多:不只说"这是 AI 生成的",还说了谁生成的、 什么软件、什么版本、什么时候、做过哪些动作,并且把内容哈希一起签进去了。
三条结论:
- 🔴 "有没有隐式标识"问错了,该问"带的是哪一套"。 国内工具走 TC260, 国际工具走 C2PA,查一套的检测器看不见另一套(详见 h5.1)。
- 🔴 C2PA 更挑工具。 同一套 19 项真实加工:TC260 活下来 12 项,C2PA 一项都没活下来 ——连会保留 TC260 的那两个工具也不保它。信息更全的代价是更容易丢。 (另外两项:原图不动是阳性对照;手工把标识块搬回去两者都"在",但那是搬过去的,不算存活。)
- 本课没验签。 看得到清单写了什么,判断不了它是真是假 —— 验签要用官方工具,本课没跑。别把"我看到清单了"说成"我验证过了"。
摆在一起看
| Gemini / Nano Banana | 通义万相 | OpenAI gpt-image | |
|---|---|---|---|
| 隐式标识 | 强制(官方文档:所有图像均含 SynthID) | 默认写入 TC260(本课实测) | 默认写入 C2PA(本课实测) |
| 走哪套体系 | SynthID(像素域)+ C2PA(据官方) | TC260 国标(元数据) | C2PA 国际标准(元数据) |
| 显式标识 | 右下角 ✦,现可关闭(据报道) | watermark 参数,默认 false | 本课未见画面上的可见水印 |
| 抗加工 | 本课无法检测,不评价 | 19 项真实加工存活 12 | 19 项真实加工存活 0 |
| 你要做的事 | 关掉可见水印前,想清楚发布地要不要 | 显式要主动打开;隐式不用管 | 别指望它活到发布,显式自己加 |
一个默认给你加到满,一个默认什么都不加,而第三个加的是另一套体系。 这就是那句"路线不同,态度也不同"的具体含义 —— 默认值不但会变,连"标的是什么"都不一样。
亲眼找证据:回到前面的图上
这是本节最实用的一个动作。回到本课前面出现过的这几张图,看它们的右下角:
- h1.1 那张石榴产品信息图
- h2.5 那张四个年龄段的人像
- h3.5 那张单色系影棚人像
它们的右下角都有一个淡淡的四角星形标记。
这就是显式水印在真实成品上的样子——小、淡、在角落,而且很容易被忽略。你现在知道它是什么了,以后在别处看到,你能一眼认出这张图的来路。
反过来这也说明一件事:同一批语料里,有些图有这个标记,有些没有。有没有那个星,取决于出图的人当时用的是哪个入口、开没开那个开关——而不取决于这张图是不是 AI 生成的。所以"没有可见水印"完全不能说明"这不是 AI 图"。
三条能立刻照做的
一、用一个新工具的第一天,查两件事:
- 它有没有可见水印?默认开还是关?在哪里改?
- 官方文档有没有提隐式标识?
查不到就记"未查到"——这本身就是有用的信息(h0.4 那张表的做法)。
二、别为了"好看"随手关掉可见水印。 关之前问一句:这张图要发到哪?那个地方要不要求显式标识? 如果要求,你关掉之后就得用别的方式补上(配文声明、自己加字)。
三、无论工具加没加,发布时自己声明一次。 这是 h5.1 那条:显式标识是你完全可控的那一环。 工具的默认值会变、开关会挪位置、你也可能忘了开——但你在发布页勾一下、在配文里写一句,这件事不依赖任何工具。
这个推理在两个方向上都是错的,而且都会带来实际后果。
方向一:看到一张没水印的图,以为它是真实拍摄的。 可见水印是可关的(Gemini 现在允许关),而通义万相默认就是关的。大量 AI 图从一开始就没有可见水印。 拿"有没有水印"判断真伪,基本等于没判断。
方向二:自己出的图没看到水印,以为不用声明。 你手上的工具可能默认不加显式标识,而《标识办法》要求的显式标识不会因为工具没加就不需要。工具的默认值不是你的合规状态。
那怎么判断一张图是不是 AI 生成的? 老实说,肉眼判断越来越不可靠——这正是隐式标识存在的理由:它是给机器看的。已经有厂商提供检测工具(比如 Google 的 SynthID 检测能力,据报道 Gemini 应用现在也能回答"这张图是不是 AI 生成的"),但它只能检测带有自家标识的内容,不是通用的 AI 检测器。
结论:别把"看起来像不像"当成判据。 你能控制的是自己那一侧——你发的图,你标。
🔧 动手做:查一次你的工具,并认一次那个标记(4 分钟)
- 认标记:回到 h1.1、h2.5、h3.5 那三张图,把它们放大,找右下角。找到那个四角星了吗?
- 查工具:打开你在用的出图工具,找水印/标识设置。填一张三行卡:
工具:______ 可见水印:〔默认开 / 默认关 / 未找到设置〕 隐式标识:〔官方文档有说明 / 未查到〕
- 做决定:如果可见水印默认是关的,决定一件事——你要不要打开它?
- 发布到公开平台、尤其是人像类 → 建议打开,或者在发布时声明。
- 只是自己看 → 随你。
- 把这张卡补进 h0.4 那张工具保质期卡里。
你会看到:第 1 步找那个星要费点眼力——它很淡。这就是"显式标识"在实践中的真实强度:它确实是"可感知"的,但只有你知道要找它的时候才容易看见。
为什么:这一节的价值不在于记住哪家默认开、哪家默认关(那会变),在于养成用新工具第一天就去查这两个默认值的习惯。默认值决定了你在不知情的情况下处于什么状态——而合规这件事上,不知情不是理由。
三句话收束这一节:
- 三家三个样,而且标的不是同一种东西:Gemini 隐式 SynthID 强制(官方文档)、可见 ✦ 据报道可关;
通义万相显式
watermark默认 false,隐式默认写 TC260 国标(本课实测); OpenAI 默认写的是 C2PA 国际标准,一点 TC260 都没有(本课实测)。 查一套的检测器看不见另一套。 - 在图上能亲眼找到证据——本课 h1.1、h2.5、h3.5 那三张图的右下角都有那个四角星;而同批语料里也有没有星的,说明"没水印"完全不能证明"不是 AI 图"。
- 三条照做:新工具第一天查两个默认值、关可见水印前先想发布地要不要、无论工具加没加,发布时自己声明一次。
下一节从"要不要标"转到"归不归你":AI 生成的图,有没有著作权? 这个问题在中国有一个已经生效的判决。
🔎 来源与核验· 9 条,点开核对
