I Kept Rewriting the Scene but the Reference Photo Was Getting Flagged
Repeated NSFW rejections came from one innocent reference photo, not the scene. Three isolation tests exposed the real cause.

nsfw came back again after I had already removed the blood, the bedroom, and anything that might read as aggression.
The image was one of the catalog covers for a project. It used two character references. When the first generation was rejected, I treated the scene as the problem.
That was the obvious reading. The rejection appeared on a job built from the scene prompt, so I started cleaning the scene prompt.
I took out the blood. It failed.
I moved the characters out of the bedroom. It failed.
I removed every gesture that might be interpreted as violent. I moved the whole scene outside, into the rain, with the two characters simply looking at each other.
It still failed.
Meanwhile, the other five images in the same batch passed on the first attempt. They used the same base prompt and the same texture clause. The repeated rejection did not fit the pattern, but I kept revising the part of the job that was easiest to blame.
Every rewrite cost time and credits. It also made the image less specific. I was not just failing to solve the rejection. I was slowly editing the scene away from what I wanted to tell.
The prompt was not the cause
After several increasingly conservative versions failed, the working theory had to change.
The problem was one of the two reference images.
It was an innocent studio portrait of a man wearing a gray T-shirt against a plain background. Nothing in the photograph looked like an obvious moderation risk. The image had also been in the project for years without causing a known problem.
That history gave me false confidence.
Until this job, the portrait had only been used as a reference for itself. I had no evidence that it would pass when used as an input to a new image generation. I had assumed that because the source image was ordinary and familiar, the system would treat it as ordinary too.
It did not.
The moderation system evaluates the inputs, not only the requested output. A harmless scene can still be rejected when one of its attached references is flagged. The error message points at the completed job, but it does not tell you which part of that job caused the rejection.
That distinction matters. The symptom appeared attached to the scene. The cause lived in an input image.
Three tests were enough
Once I stopped rewriting the scene, the diagnosis was simple. I kept the prompt fixed and changed only the references.
First, I ran the same prompt with no reference images.
It passed.
That result cleared the text. It also cleared the scene itself as the immediate cause. If the prompt worked without references, another rewrite would only introduce a new variable.
Second, I ran the same prompt with reference A by itself.
Third, I ran it again with reference B by itself.
One reference passed. The studio portrait failed on its own.
That was the answer. It took three controlled tests, not thirty softer versions of the scene.
The useful part of this method is that each test asks one narrow question. Does the text pass alone? Does reference A pass alone? Does reference B pass alone? There is no need to guess what the moderator disliked or to keep removing material until the prompt becomes generic.
Changing one input at a time gives the rejection somewhere specific to land.
I replaced the photograph, not the character
Once I had isolated the portrait, I replaced it with another photograph of the same character.
A different shot from the character’s own session still anchored the identity. I did not need to redesign the character or weaken the scene. I only needed a source image that the system would accept.
I also recorded why the original reference had been replaced.
That note matters because the rejected photograph did not look defective. Without an explanation, the next person reading the project could reasonably assume that the older portrait was the stronger identity reference and restore it. The same rejection would return, and the diagnosis would have to happen again.
A reference can be visually useful and still be operationally unusable.
That is the part I missed. I had been judging the portrait as an image maker. The moderation system was judging it as an input. Those are separate tests.
Repetition is evidence
The most expensive mistake was not the first rejection. It was continuing with the same explanation after the explanation had stopped fitting the evidence.
When the scene failed once, revising the text was reasonable.
When it failed after removing the blood, moving the location, removing aggressive gestures, and reducing the action to two people looking at each other in the rain, the text theory had run out of support.
At that point, another rewrite was not caution. It was repetition.
A rejection that survives very different scene descriptions tells me to change axes. I check the attached inputs instead of finding gentler synonyms for a prompt that may already be clean.
The rule I use now is simple: if moderation keeps rejecting different versions of the scene, I stop editing the scene and isolate every reference.
You can do that today with one rejected job. Keep its prompt unchanged, test it with no references, then test each reference alone. Replace the input that fails by itself, and record why it was removed.
Every fix in this article was paid for with a mistake first. Better on my film than on your brand.


