我的作品 我的产品核心功能,`exiftool` 一行命令就能替代——那我到底在做什么

ASINCrate(Amy Chen) · 2026年07月28日 · 13 次阅读

先交代东西:https://disclosetag.com(中文 https://disclosetag.com/zh ) 给亚马逊卖家的:上传前给含 AI 生成人物的商品图写合规标签,并验证这个标签没被中途吃掉。纯浏览器本地处理,文件不上传,无登录无付费墙。

但我想聊的不是这个产品,是做它的过程中撞上的一个问题。

做到一半才承认的事

7 月 22 日亚马逊要求:商品图里出现完全由 AI 生成的写实人物,上传前必须把 contains-synthetic-performer 写进图片 XMP 的 dc:subject。背后是纽约州的法,首违 1000 刀,之后每次 5000 刀。

需求是真的,强制是真的,受影响的卖家很多。我开始写代码。

然后我不得不承认一件事:写这个元数据,exiftool 一行命令就完事了。Windows 右键属性能改,macOS 预览也能改,政策出来那几天媒体已经把这个当标准答案在教了。

我的核心功能,是一个零门槛动作。

这个认知很不舒服。它逼你回答一个问题:当你的功能能被一行命令替代的时候,你卖的是什么?

我见过的三种常见答案,我认为有两种是自欺:

  • 「我的 UI 更好」 —— 对不装命令行的运营确实有价值,但这是便利性溢价,薄,而且随时会有第二个人做一模一样的东西。
  • 「我加更多功能」 —— 在一个连主功能都没壁垒的地方堆功能,只是把薄摊得更大。
  • 「我知道一些别人不知道的事」 —— 这个才有复利。

我最后做的产品,其实是一张表

顺着第三条往下想,我发现真正值钱的不是「写标签」,是「标签还在不在」

因为亚马逊是在你上传那一刻去读那个字段的。中间任何一个环节把它吃掉,结果和你从来没打过标一模一样。而所有公开资料——平台公告、合规指南、咨询机构的文章——都停在同一句话上:

「某些系统会在导出时移除嵌入的元数据。」

从来没有一份说过是哪些。

那这就是我能占的位置。我用自己的读写代码当测量仪器,实测了一遍:能脚本化测的 8 个处理步骤里,没有一个能在 JPEG 和 PNG 上同时保住标签。5 个两种格式都丢,3 个 JPEG 活下来、PNG 死了。Pillow 打开再存一次就没了,不用裁剪不用压缩。ffmpeg 重编码没了。Squoosh 默认档没了。

有两条是我自己也没料到的:

  • Canva 不是删,是替换。导出文件里 XMP 还在——换成了 Canva 自己那份,描述的是 Canva 的文档,原本躺在 dc:subject 里的东西不在了。如果检查逻辑只是粗略问一句「这文件有没有元数据」,它能干干净净通过,而真正要读的字段已经空了。这直接决定了我的检查器必须报三态而不是两态:标签在 / 有元数据但没标签 / 什么都没有。中间那种才是坑。
  • 微信同一个动作,只差一个勾选框,结果完全相反。勾「原图」发送,SHA-256 与原文件一致;不勾(也就是默认),图被缩到 2293×1280、体积剩 41%,XMP 整块消失。所以判断任何一个环节,该问的不是「这是哪个 App」,而是它有没有重新编码这张图

写代码花了不到一天,这张表花的时间比代码长。但它才是这个站唯一有引用价值的东西,也是我认为将来能拿到自然外链的唯一理由。功能会被抄,一行命令就能抄;这张表要抄,得先自己去测一遍——而愿意去测的人本来就不多,这就是差距。

可信度不是形容词,是一串具体动作

如果结论是「我卖的是可信度」,那问题立刻变成:凭什么信我?

这里我踩了个大坑,值得单独说。

我的项目自带 5 个单元测试,全过,绿油油的。然后我发现:它们用我自己的 writer 写,再用我自己的 reader 读。

也就是说,如果我的写入格式从头到尾就是错的,这套测试会全程一路绿灯。事实上它确实错过——PNG 分支当时写的是 tEXt 块、keyword 用 Subject,而 XMP 存进 PNG 的标准做法是 iTXt 块、keyword 固定 XML:com.adobe.xmp我的测试证明的是「我和我自己一致」,不是「我是对的」。

定案:加一层交叉验证,用 Pillow(第三方解析器)去读我写出来的文件,检查文件能否打开、像素是否无损、EXIF 是否保留、dc:subject 是否读得出来。这个才是产品核心承诺的唯一证据。

同一条纪律后来救了我至少三次:

  • 实测表里放了一行「原样复制文件」当对照组。它要是也报「标签丢了」,说明测量方法本身有问题,那整张表当场作废。
  • 测 Squoosh 时下拉框显示已经切到 PNG 编码器,实际输出的还是 JPEG——那一轮等于拿 JPEG 冒充 PNG 测。后来改成以下载文件名的扩展名为判据,对不上就作废重跑。
  • 查 Google Trends 时某个词返回「数据不足」。先拿一个已知有量的锚点词去试,锚点返回了一模一样的报错,证明是限流不是没数据——那批读数全部作废。要是没做这一步,我会得出「这个词没人搜」的结论,然后可能直接把项目毙了。

我想说的是:在一个功能能被一行命令替代的赛道里,「我的数据是对的」这件事本身就是产品。而它不是靠嘴说的,是靠对照组、第三方交叉验证、锚点词这些具体动作堆出来的。这些动作没有一个能进 feature list,但它们是这个站唯一不能被一行命令复制的部分。

我没解决的部分

诚实说三个:

  • 判定层没做。「这张图到底需不需要打标」要视觉检测,是唯一有真护城河的一层,我完全没做。现在的产品只能验「标签在不在」,不能判「该不该有」。站上如实写了。
  • 视频不敢保证。亚马逊至今只公布了图片该写哪个字段,视频用什么字段从来没说过。我写的是容器标签,全站标了实验性。任何声称「视频已合规」的工具都该被问同一个问题。
  • 实测表覆盖有限。Photoshop、Lightroom、企业素材库要 GUI 或账号,没测。站上写了「没被测到不等于安全」——我不拿沉默当通过。

商业上还有个更根本的矛盾我没解开:打标会降低消费者信任和购买意愿,所以卖家真正想要的大概率是「少打」而不是「打得快」。一个帮你更高效做一件你其实不想做的事的工具,需求是罚款逼出来的不是欲望拉出来的,能不能付费我没把握。所以止损线先写死了:14 天内没有 20 次真实文件检测就停止扩建;30 天内没有 5 个批量试用或 1 个付费,就转成纯免费获客工具,不做复杂 SaaS。

想聊的

  1. 你在零护城河的赛道里,最后靠什么立住的?我现在押的是「独家数据 + 验证纪律」,但这是我自己的选择,很想听别的答案。
  2. 如果你是亚马逊卖家或做代运营:能帮我确认一下亚马逊自家 AI Creative Studio 生成的图,导出时自带不自带这个标签吗?我没有卖家账号验不了。如果答案是「不带」,那所有用亚马逊自家 AI 工具的卖家现在都在裸奔。
  3. 实测表有错欢迎直接拍。方法很简单:打标 → 过一遍处理 → 用两个独立读取器读回。
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号