我不断改写场景,被拦截的却是参考照片
场景反复遭到 NSFW 审核拒绝,我一直改写提示词,最后才发现原因是一张普通参考照片。保持文本不变,3 次隔离测试就定位了问题。

我已经删掉了血迹、卧室,以及任何可能被理解为攻击行为的内容,结果仍然返回 nsfw。
这张图是项目的一张目录封面,用了 2 张角色参考图。第一次生成被拒后,我把问题归到了场景上。
这是最直观的理解。拒绝出现在由场景提示词创建的任务上,我便开始清理场景提示词。
我去掉了血迹。失败。
我把人物移出了卧室。失败。
我删掉了所有可能被理解为暴力的手势,把整个场景搬到室外雨中,让两个角色只是互相看着对方。
仍然失败。
与此同时,同一批的另外 5 张图都一次通过。它们用了相同的基础提示词和纹理描述条款。这次反复被拒,已经不符合其他结果呈现的规律,但我仍在修改任务中最容易被归咎的部分。
每次改写都耗费时间和积分,也让图片越来越不具体。我不仅没有解决拒绝问题,还在一点点把场景改得偏离了我想讲的内容。
原因不在提示词
几个越来越保守的版本都失败后,我必须改变排查假设了。
问题出在 2 张参考图中的一张。
那是一张普通的棚拍人像:一个男人穿着灰色 T 恤,站在纯色背景前。照片里没有什么看起来明显有审核风险的内容。它也已经在项目里放了几年,没有引发过已知问题。
这段历史让我产生了错误的信心。
在这次任务之前,这张人像一直只作为自身的参考使用。我没有任何证据证明,把它作为新图生成的输入时也能通过。我只是想当然地认为,原图普通又熟悉,系统也会把它当成普通照片。
结果并不是。
审核系统评估的不只是你要求输出的内容,还包括输入。一张附带参考图被标记,仍可能让一个无害场景遭到拒绝。错误信息对应的是已结束的任务,却不会告诉你任务中的哪一部分导致了拒绝。
这个区别很关键。症状看起来在场景上,原因却藏在一张输入图片里。
3 次测试就够了
停止改写场景后,诊断变得简单。我固定提示词,只更换参考图。
首先,我用相同提示词,不附任何参考图,运行了一次。
通过了。
这个结果排除了文本,也排除了场景本身作为直接原因的可能。如果不带参考图时提示词能通过,再改写一次只会引入新的变量。
第二次,我用相同提示词,只附参考图 A。
第三次,我再运行一次,只附参考图 B。
其中一张通过了。那张棚拍人像单独使用时也失败。
答案就是这样。需要的是 3 次控制变量的测试,不是 30 个越来越温和的场景版本。
这个方法有用,是因为每次测试只问一个具体问题。文本单独能通过吗?参考图 A 单独能通过吗?参考图 B 单独能通过吗?不必猜审核系统不喜欢什么,也不用一直删内容,直到提示词变得泛泛而谈。
每次只改变一个输入,才能把拒绝定位到具体来源。
我换了照片,没有换角色
定位到这张人像后,我换用了同一角色的另一张照片。
同一次角色拍摄中的另一张照片,仍能固定角色身份。我不需要重新设计角色,也不用削弱场景,只需要一张系统能接受的源图。
我还记录了原参考图为什么被替换。
这条记录很重要,因为被拒的照片看起来并没有缺陷。没有解释,下一个查看项目的人完全可能认为旧人像更适合固定角色身份,于是把它恢复。相同的拒绝就会重现,诊断也得再做一遍。
一张参考图可以在视觉上有用,却在实际流程中无法使用。
这正是我漏掉的部分。我从图像创作者的角度判断这张人像,审核系统则把它作为输入来判断。这是两种不同的检验。
重复出现本身就是证据
代价最大的错误不是第一次被拒,而是在原有解释已经不符合证据后,仍然沿着同一个解释继续做。
场景第一次失败时,修改文本是合理的。
但删了血迹、换了地点、去掉攻击性手势,甚至把动作缩减到两个人在雨中对视后仍然失败,“文本有问题”这个假设就已经没有依据了。
到了这一步,再改写不是谨慎,只是在重复。
差别很大的场景描述仍遭遇同样的拒绝,会提醒我换一个排查方向。我会检查附带的输入,而不是给一条可能早已没有问题的提示词寻找更温和的同义词。
我现在的规则很简单:如果审核持续拒绝不同版本的场景,我就停止修改场景,逐一隔离测试每张参考图。
今天就可以拿一个被拒的任务试试。保持提示词不变,先不加参考图测试,再把每张参考图单独测试。替换那张单独使用也失败的输入,并记录移除原因。
这篇文章里的每个解决办法,都是先犯了错才换来的。错在我的电影里,总比错在你的品牌上好。


